阮利程 曾德鵬 陳國棟 成新民
1.湖州市特種設(shè)備檢測研究院;2.湖州師范學院信息工程學院
設(shè)計了一種梯級鏈伸長量自動檢測儀,可以替代人工檢驗方式,采用非接觸測量方式精確檢測梯級鏈的伸長量。以STM32C8T6微處理器為核心,通過霍爾傳感器對鏈輪和鏈條上的定點進行信號采集,內(nèi)部定時器監(jiān)測信號得到兩次采集的間隔時間。經(jīng)過數(shù)據(jù)處理,以O(shè)LED屏幕顯示梯級鏈的伸長量,通過SIM800C四頻GSM/GPRS模塊與軟件平臺進行數(shù)據(jù)傳輸。系統(tǒng)經(jīng)過實際測試,能夠?qū)崟r精確測量出梯級鏈的伸長量,符合設(shè)計指標的要求。
目前國內(nèi)在自動扶梯與人行道的維護中,對鏈條伸長量的檢查基本以檢修工的經(jīng)驗和觀察為主,準確性差、效率低,易埋下安全隱患。本文研究的目的是設(shè)計一種梯級鏈伸長量自動檢測儀,以替代目前的人工檢查方式。通過對鏈輪轉(zhuǎn)速的檢測和鏈條上定點的運動時間的檢測獲得鏈條的伸長量??蓪χ黩?qū)動鏈條、梯級鏈條(踏板鏈條)和扶手帶驅(qū)動鏈條的伸長量進行在線實時檢測。
級鏈伸長量自動檢測儀包括信號采集部分、系統(tǒng)控制部分、顯示部分和數(shù)據(jù)傳輸部分。信號采集部分通過霍爾傳感器實現(xiàn)對定點的頻率檢測。系統(tǒng)控制部分以STM32C8T6最小系統(tǒng)為核心,監(jiān)測信號采集部分的信號輸入并進行處理。顯示部分梯級鏈伸長量等關(guān)鍵信息,數(shù)據(jù)通訊部分將數(shù)據(jù)傳輸?shù)綌?shù)據(jù)中心,將來方便進行集群的監(jiān)控和管理。
將主驅(qū)動鏈鏈盤和鏈條上設(shè)置兩個帶磁性的貼片作為標記。通過鏈盤的角速度,鏈條運行一周的時間和設(shè)備出廠時所記錄的鏈盤半徑參數(shù),計算得出鏈條的長度,與初始長度進行比較便得出梯級鏈的伸長量。系統(tǒng)通過內(nèi)部定時器的兩個通道分別對霍爾傳感器是否檢測到磁性貼片進行捕獲判斷。通過換算,得到兩次測量之間的時間間隔。系統(tǒng)控制部分對數(shù)據(jù)進行處理、計算。在顯示部分進行數(shù)據(jù)的顯示,數(shù)據(jù)采集一次完畢后,通過數(shù)據(jù)通訊部分將數(shù)據(jù)按照指定的數(shù)據(jù)通訊協(xié)議發(fā)送至數(shù)據(jù)中心。系統(tǒng)原理框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖Fig.1 System structure block diagram
采用的主控芯片是LQFP-48封裝的STM32C8T6。OSCIN,OSCOUT接外部8Mhz晶振,系統(tǒng)時鐘最高可以倍頻到72Mhz。BOOT0接地,從主閃存存儲器啟動。仿真硬件接口SWDIO,SWDCLK。PA6,PA7與霍爾傳感器的AO輸出口相連,同時也是TIM3的通道1和通道2[1]。串口的接收發(fā)送端與SIM800C模塊的發(fā)送接收端相連。PB8,PB9分別于OLED模塊的串行數(shù)據(jù)線,串行時鐘線相連。主控模塊原理圖如圖2所示。
圖2 主控模塊原理圖Fig.2 Schematic diagram of the main control module
采用非接觸測量方式替代傳統(tǒng)檢測方式[2],選用3144霍爾傳感器。霍爾傳感器經(jīng)常被用于電機測試/位置檢測等場合,AO口數(shù)字信號單路輸出。只要有磁場切割就有信號輸出。模塊無觸發(fā),輸出低電平;模塊有觸發(fā),輸出高電平[3]。選擇對信號的上升沿進行捕獲?;魻杺鞲衅髂K原理如圖3所示。
圖3 頻率信號采集模塊原理圖Fig.3 Schematic diagram of frequency signal acquisition module
采用0.96寸OLED顯示屏作為顯示模塊。OLED屏用于實時顯示鏈條伸長量、鏈盤轉(zhuǎn)速以及鏈條轉(zhuǎn)動一周時間。主控模塊通過IIC協(xié)議與顯示模塊進行通信。串行時鐘線,串行數(shù)據(jù)線與主控芯片的PB8,PB9相連。顯示包括字符串,浮點數(shù)。通過串行地址線和串行數(shù)據(jù)線軟件模擬IIC的起始與結(jié)束信號。
字符串顯示函數(shù)通過指針不斷調(diào)用字符顯示函數(shù)。在SRAM中開辟一塊128×8字節(jié)的空間用來保存所畫點的所有坐標。通過整屏刷新程序,將SRAM中的數(shù)據(jù)寫入OLED模塊的GRAM中。
顯示模塊原理圖如圖4所示。
圖4 顯示模塊原理圖Fig.4 Shows the schematic diagram of the module
數(shù)據(jù)傳輸采用正點原子的SIM800C物聯(lián)網(wǎng)模塊,可以直插SIM卡。通過V_IN和GND使用電源適配器供電方式,接收DV5V-18V的電源輸入。后續(xù)可以選擇更合適的電源,使模塊運行更穩(wěn)定。
主程序首先對系統(tǒng)以及模塊進行初始化,與此同時協(xié)調(diào)各個軟件模塊的正常運行。在定時器輸入捕獲結(jié)構(gòu)體中定義了捕獲開始與結(jié)束標志位,捕獲寄存器的值以及自動重裝載寄存器的更新標志并默認賦值為0。開啟定時器內(nèi)部時鐘,即內(nèi)部時鐘為72MHz。時基結(jié)構(gòu)體初始化,設(shè)置為65526微秒溢出一次。輸入捕獲結(jié)構(gòu)體初始化,配置輸入捕獲的通道選擇上升沿觸發(fā)、分頻系數(shù)等參數(shù)。在初始化之后,在中斷程序中第一次捕獲到信號時,取出此時捕獲寄存器的值記為CrrValue。通過判斷捕獲結(jié)束標志位是否為1,即是否第二次捕獲到信號。取出此時捕獲寄存器的值記為Date。Period為兩次信號捕獲期間定時器溢出的次數(shù)。兩次檢測間隔的時間為:
對另一個通道進行相同的操作,數(shù)據(jù)處理之后顯示數(shù)據(jù),調(diào)用通訊程序?qū)?shù)據(jù)發(fā)送到軟件平臺。主程序軟件流程圖如圖5所示。
圖5 主程序軟件流程圖Fig.5 The main program software flow chart
中斷服務(wù)程序主要對定時器的計數(shù)溢出和第一次和第二次捕獲到上升沿信號進行處理。若為溢出中斷,且在兩次捕獲之間,兩個通道的定時器溢出次數(shù)Period分別自增,之后清除溢出標志位。若不在兩次捕獲之間,直接清除溢出標志位。
若為捕獲中斷,判斷捕獲開始標志位是否為0,為0為第一次捕獲,1為第二次捕獲。第一次捕獲到信號時,自動重裝載寄存器更新標志清0,存取捕獲比較寄存器的值,同時開始捕獲標志置1,開始捕獲標志置0,捕獲完成標志置1。每次捕獲完成清空捕獲中斷標志位[4]。中斷服務(wù)程序流程圖如圖6所示。
圖6 中斷服務(wù)程序流程圖Fig.6 Interrupt service routine flowchart
主程序中已經(jīng)對OLED模塊進行了初始化并清屏。使用取模軟件生成16×16大小的漢字,將生成的字模復(fù)制到頭文件的數(shù)組中。對OLED的SRAM指定區(qū)域?qū)懭胱帜P畔?。主程序中取得的兩次捕獲間隔單位為微秒。將其轉(zhuǎn)換為單位為秒的浮點型,經(jīng)過springf函轉(zhuǎn)換為一個字符型的數(shù)組,在一個循環(huán)中顯示出來。當鏈條的兩處捕獲結(jié)束,刷新顯示鏈條的運動時間,鏈盤的轉(zhuǎn)速刷新顯示同理。通過設(shè)定的鏈盤半徑,梯級鏈出廠時的伸長量數(shù)據(jù),經(jīng)計算后刷新顯示梯級鏈的伸長量。顯示程序軟件流程圖如圖7所示。
圖7 顯示程序軟件流程圖Fig.7 Display program software flow chart
梯級鏈伸長量自動檢測儀的設(shè)計實現(xiàn)了梯級鏈的在線實時檢測。實際測試后滿足非接觸測量的精度要求以及數(shù)據(jù)實時性要求。該系統(tǒng)可以應(yīng)用于自動扶梯和人行道三處鏈條伸長量的高精度在線無接觸式檢測,可替代目前的人工檢查方式,實現(xiàn)檢測的實時化和自動化,提高檢測精確度。