顧雯雯 王 丹
南京市特種設備安全監督檢驗研究院 南京 210019
起重機械在建筑運輸領域起著重要的作用,主要用于在一定范圍內垂直提升和水平搬運重物。由于吊臂與起重機主枝處為支點連接,當出現超載作業、基礎不穩等情況下在支點上會產生較大力矩,故起重機傾覆事故時有發生,從而帶來嚴重的人員傷亡后果[1]。本文設計了一種基于嵌入式的高精度雙軸傾角傳感器智能監控系統,以解決該問題。
該裝置在硬件設計方面以處理器STM32F103為核心,選取的高精度傾角傳感器SCA100T-D01最高精度可達0.001°,工作量程為±30°,操作溫度為-40℃~125℃[2]。考慮到起重機為室外作業機械,在對檢測數據處理時增加了溫度補償算法,從而可提高測量值的準確性。在軟件設計方面主要為處理器移植實時操作系統FreeRTOS,以便進行數據的處理和管理系統各硬件資源,最終采用RS485通信模式實現數據與控制指令的傳輸,當起重機吊臂傾斜角超過預設值時,裝置會及時報警并提醒操作人員,從而能有效預防起重機覆事故的發生。
系統主要由負責傾角檢測的傳感器模塊,負責進行數據處理的處理器模塊和數據通信傳輸模塊等組成。總體結構如圖1所示。

圖1 系統硬件總體結構圖
本裝置選用的傾角傳感器SCA100T-D01是SCA100T系列中基于3D-MEMS技術的傳感器,具有體積小、采集數據分辨率高和穩定性好的特點。在數據傳輸方式上,該傳感器可通過自帶的SPI接口輸出采集的數字量,通過該方式可使后期的數據處理過程更為方便[2]。除此之外,該傳感器還可通過自帶的串口OUT_1、OUT_2與處理器進行串口通信,將傳感器采集的模擬量進行串口傳輸,本設計中,傳感器與處理器之間的硬件連接如圖2所示,考慮到起重機室外作業受溫度影響較大的特點,因此選用串口傳輸方式進行傾角采集數據的輸出,該方式需要在處理器STM32F103處理器內進行 24 位的 A/ D 轉換,再利用芯片內部集成的溫度傳感器,將測得的溫度值則通過 SPI 接口輸出數字量給處理器,因此可在數據處理時再進行溫度補償計算,從而進一步提高傾角測量的精確,最后將補償后的角度值通過 RS485 串行通信。

圖2 傳感器與處理器硬件連接圖
本設計選用STM32F103 芯片是由ST公司生產的基于Cortex-M3 架構的具有高性能、高集成度、低功耗的微控制器產品,工作頻率最高可達 72 MHz、并具有 32 位的 CPU、512 k字節的 Flash 存儲器和 64 k 的SRAM,除此之外芯片還集成定時器Timer、CAN、ADC、SPI、I2C、USB和UART等多種外設功能[4]。本裝置會用到其高速、全雙工、同步的 SPI 協議,在SPI通信時傳感器作為主設備,通過片選CS端來使能從設備,利用MOSI、MISO 和 SCK 3 根線來進行數據傳輸,傳感器的溫度數據寄存器是 150 μs更新 1 次,因此處理器則必須至少每隔 150 μs向傳感器發送 1 次讀寫寄存器指令,傳輸的數據格式為 MSB(高位)在前LSB(低位)在后。
RS485協議采用平衡驅動器和差分接收器組合的形式,不僅數據傳輸抗干擾能力強,而且其傳輸速率相對于RS232協議也更快,更符合起重機工業傾角檢測領域[3]。本設計在該協議硬件上選擇低功耗收發器MAX3483E模塊,該模塊設計簡單、穩定性好、可實現最高為250 kB/ s 的無差錯數據傳輸,通過串口通信實現與處理器STM32F103的連接。
RS485 串行通信角度輸出選用16進制代碼雙極性方式輸出,數據長度為7個字節,其中Byte1和Byte2為起始位,Byte3和Byte4 為X軸數值,Byte5和Byte 6為Y軸值,Byte3和Byte5 分別為輸出數據的高 8 位,Byte4和Byte6分別為輸出數據的高 8 位,Byte7為校驗位,輸出命令格式如表1所示。

表1 傳輸數據輸出格式
在處理器內部將采集到的模擬量轉化為角度

式中:Vout為傳感器輸出的模擬量,V0°為傳感器在傾角為0°時輸出的電壓值(2.5 V),Sensitivity為傳感器的靈敏度(SCA100T-D01為4 v/g)。
當傳感器的采集角度接近0°時,則可以采用簡化式進行計算

式中:Sensitivity取70 mV/°。
在用四線同步串口SPI讀取溫度數據時,處理器STM32F103作為主設備,負責提供時鐘,并通過片選端CSB來控制通信的通斷,而從設備SCA100T通過串行時鐘端口SCK來接收主設備提供的SPI時鐘,采集數據則是通過三線接口來傳輸,分別是串行數據輸入線MOSI、串行數據輸出線MISO和串行時鐘SCK。傳感器SCA100T的溫度數據寄存器為150 μs更新一次,因此處理器則必須至少每隔150 μs發送一次讀寫寄存器指令,具體流程為:在STM32F103寄存器內設置其最大SPI時鐘頻率為500 kHz,CSB為低時開始傳送數據,變高時結束傳輸,傳輸指令或數據時,MSB(高位)首先發送,LSB(低位)在后發送,每個輸出數據通過MISO線在SCK下降沿被改變,每一Bit采樣是通過MOSI線在SCK的上升沿開始。從CSB下降沿開始,被選中的設備開始進行8-bit的指令傳輸。通過CSB 的上升沿結束所有的數據傳輸并且重新設定內部的計數器和指令寄存器[5]。如果一個無效的命令被收到,MISO將呈現高阻態并且鎖定芯片內的數據,直到CSB呈現下降沿,系統再重新初始化串行通信,系統軟件工作流程如圖3所示。

圖3 系統軟件工作流程圖
處理器讀取的是一個8比特的數據(0-255),采集數據通過式來進行轉換

式中:Counts為讀取的溫度數據,T為采集的溫度。
為得到更高精度的傾角值,當處理器接收到傳感器傳輸來的溫度值時,可以通過對offset和sensitivity值進行溫度補償,補償后的值分別用OFFSETcom和SENScomp來表示,其溫度補償公式為

式中:T為傳感器測得溫度,offcorr為平均角度溫度曲線結果。

式中:offset為未經過校正的實際度數,OFFSETcom為經過校正后的度數。

式中:Scorr為平均靈敏度曲線結果,SENS為沒有校正前的靈敏度(4/g),SENScomp為經過校正的靈敏度。
為了驗證系統測量數據的精確度,可以利用正弦規測量儀來進行驗證,正弦規依據三角函數中正弦定律而設計的,一般用于測量小于45°的角度,在測量小于30°的角度時,精確度可達3″~5″。結構由一鋼制且兩側帶擋板的長方體和固定在長方體兩端的2個直徑相同的圓柱體組成,結構如圖4所示。

圖4 正弦規工作示意圖
具體驗證方法為:先將正弦規放在精密平臺上,然后再將該裝置的定位面平靠在測量擋板上,在圓柱體下端放置量塊,已知量塊高度H和2圓柱體的軸心線距離L,再利用正弦公式即可求出正弦角,通過選用不同高度的量塊即可驗證系統測量數據的準確性。
因起重機吊臂傾斜角度不易檢測,經常依靠操作人員目測感覺的方法來進行判斷,準確性不高且容易發生傾覆事故,本文設計的起重機傾角檢測裝置,解決這一問題。隨著傾角傳感器和嵌入式技術的發展,將二者結合設計出一款適用于工業實際檢測要求的起重機傾角檢測系統,以達到高精度且實用性高的設計目的。首先利用高精度雙軸傾角傳感器檢測吊臂的傾角,將采集的模擬量通過串口傳輸到處理器STM32F103,再利用傳感器自帶的溫度采集芯片,將采集的數字量通過SPI總線與處理器通信,同時利用采集的溫度值對測量傾角進行溫度補償,結合RS485通信技術再將處理后的傾角值傳輸至上位機進行實時的監測。最后經過實驗該系統測量結果與參考數據吻合較好,符合實驗精度要求,具有較好的應用前景。