谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

基於STM32F407的畜牧車配料稱重儀表的設計

發布時間:2020-10-21 10:45:32 |來源:網絡轉載

在畜牧養殖行業常需要對多種飼料按科學的比例進行配料而在大型牧場若采用傳統的人工稱量配料會耗費大量的時間近年來隨著畜牧養殖業的發展為了提高養殖效能許多畜牧養殖場對精準車載配料係統的需求越來越多[1]將配料稱重顯示儀配備在飼養車上可以在飼養車輛行進過程中邊配料邊喂養從而節省很多時間為此要求配料稱重儀表具有高的可靠性和高的配料精度在此選用ARM單片機STM32F407設計了一款能夠在飼養車行進中輸出精準重量的車載配料稱重顯示儀。

1車載配料稱重顯示儀硬件設計
STM32F407單片機是ST公司基於ARMCor鄄texM4內核的微控製器主頻可達168MHz片內集成了先進的外設其可配置的GPIO多達114個通訊接口有15種院I2CSPI串行接口CAN接口外存接口等內部的Flash存儲器可用於非易失性數據存儲[2]故在此選用STM32F407作為控製核心用於接收來自內置信號采集模塊或外置數字傳感器的數據檢測儀表按鍵組的狀態實現各種參數的設置工作模式的設置多界麵的切換並驅動5位數碼管顯示。
該儀表結構框圖如圖1所示STM32F407通過CAN總線接收重量數據通過按鍵組接收用戶的操作信號其片內Flash用於存儲儀表參數LED數碼管用於重量顯示及狀態提示聲光提醒模塊用於配料提醒及故障提醒485接口用於驅動點陣式LED大顯示屏USART接口可用於程序升級WiFi模塊可用於與管理平台通訊。

儀表結構框圖

儀表內置的信號采集模塊用於采集處理模擬傳感器的信號其結構框圖如圖2所示包含信號調理電路AD轉換電路MCU處理及CAN接口電路信號調理電路將模擬傳感器的mV級信號進行調理放大AD轉換電路將調理放大後的信號轉換為數字信號並將轉換結果輸出給采集模塊MCU進行處理該MCU將此數字值轉換成重量值通過CAN接口傳輸給STM32F407。

采集處理模擬傳感器的信號其結構框圖

若儀表外采用數字傳感器則不需要信號采集模塊的處理STM32F407通過CAN接口接收數據即可CAN收發器的電路原理如圖3所示

CAN收發器的電路原理圖

電源調理模塊用於給儀表內各模塊及元器件供電采用GPIO端口接收來自按鍵組的用戶操作信號按鍵組含有1個電源開關鍵5個功能鍵其中電源開關鍵可實現儀表的一鍵開關機功能鍵可單獨使用也可組合使用用於儀表參數設置標定稱重模式設置多界麵的切換及各流程的狀態切換等采用GPIO端口輸出開關量信號驅動聲光提醒模塊用於在配料過程中配料重量接近設置範圍時給配料人員提供聲音提示或燈光提醒當儀表出現故障時STM32F407也會驅動聲光報警。
STM32F407通過SPI接口控製LED顯示驅動芯片驅動LED數碼管顯示用於顯示稱重模式下的重量同時在各界麵的流程控製中進行相應狀態提示。
儀表的485接口電路用於STM32F407與點陣式LED大顯示屏的通訊通過大顯示屏顯示相關信息
USART接口用於ISP程序升級
WiFi模塊可用於將重量上傳至係統管理平台管理平台也可向儀表發送廣播信息等當儀表檢測到故障時可將故障碼通過WiFi發送至平台。
2軟件設計
2.1總體流程
總體流程如圖4所示儀表在上電對各外設初始化後讀出Flash內的參數並使能一鍵開關機電路的電源驅動通過CAN接口讀取采集模塊的關鍵參數然後進入主界麵稱重界麵顯示重量超載等信息同時開啟定時器中斷CAN中斷在定時器中斷中每250ms發送1次讀取采集模塊重量的CAN指令在CAN中斷中接收來自采集模塊的數據開啟各按鍵端口的外部中斷在外部中斷中對按下的功能鍵進行消抖消抖後對按鍵標誌置1此時STM32F407結合功能鍵的狀態執行功能操作或狀態切換並進行各狀態下的顯示若檢測到開關機鍵長按下則斷電關機若未檢測到開關機鍵按下則在各界麵一直循環下去。
在稱重界麵下模式0或模式1時結合Flash存儲的參數對重量修正將重量超載等信息進行顯示並結合功能鍵執行相應的功能操作或狀態切換也可由功能鍵進入設置界麵,在設置界麵下可進入多參數設置滿程目標值設置標定修正設定超載門限設定工作模式,設定稱重單位設定等二級界麵首先進入菜單選擇界麵此時結合按鍵可進行二級界麵的選擇在各二級界麵下可結合功能鍵執行相應的狀態切換也可由功能鍵退出設置界麵進入稱重界麵同時在各界麵流程控製中驅動數碼管進行實時狀態顯示。

儀表總體流程圖

2.2CAN接口編程
由於CAN總線具有可靠性高功能完善成本較低等諸多優點目前已廣泛應用於汽車工業工業控製等領域[3]考慮到其具有可靠的錯誤檢測和出錯處理功能在此采用CAN接口實現STM32F407與采集模塊的數據傳輸波特率采用500kb/s
CAN2接口發送1幀數據的程序代碼如下

CAN2接口發送1幀數據的程序代碼如圖

另外在數據幀中均增加了校驗數據接收方收到數據幀進行解析時按照約定的格式計算校驗值若該校驗結果與數據幀中的校驗數據一致則做出相應的回複或處理否則不予處理。
數據幀中的數據約定格式見表1其中含有幀頭幀尾數據校驗等信息。
2.3流程控製操作錯誤保護
在各一級界麵二級界麵的流程控製中各狀態的切換以輸入條件和當前狀態為依據輸入條件主要是各功能鍵的狀態另外在不同界麵中還包括其他對應條件
具體工作過程為院判斷當前外界輸入條件是否滿足當前界麵當前狀態下的輸入條件若滿足則狀態轉換為下一狀態否則停留在當前狀態。

2.4參數存儲保護
為防止Flash內部的參數丟失采用備份的方式將數據分別存儲於2個不同的扇區。
在對參數進行存儲時首先對待存儲數據進行CRC16校驗將數據和校驗值存入後再將數據讀出進行CRC16校驗將計算所得校驗值與讀出的校驗值進行比對若相等說明存儲正確否則將再次存儲原始參數重複以上步驟重複存儲3次仍不能正確存儲則顯示野Err冶提示。
在每次讀取時先讀出存儲扇區的數據進行CRC16校驗若計算所得校驗值與讀出的校驗值相等說明參數正確否則參數錯誤則將備份扇區的數據讀出進行判斷若參數正確則采用該備份數據並將該數據再次存儲若參數仍錯誤則采用程序中預先定義的數組[4]中的出廠默認參數。
3測試試驗
3.1采集精度測試
該儀表在正式使用前分別接模擬傳感器比率校準器進行全麵的精度測試試驗結果見表2在常溫下信號源為模擬傳感器時係統綜合精度為2.2伊10-4在-30耀70益溫度範圍內係統綜合精度為5伊10-4完全可滿足牧場配料的精度要求。

精度測試結果表

3.2振動試驗
在振動試驗機上采用表3所列的振動頻率功率譜密度和加速度進行32h的振動停止後儀表仍能正常工作表明振動對儀表性能無明顯影響。

振動頻率功率譜

4結語
采用單片機STM32F407實現儀表的多界麵流程控製和CAN通訊采集不僅具有較高的可靠性而且編程采用標準C語言便於程序的修改與優化所設計的畜牧車配料稱重儀表具有可靠性高可操作性強配料精度高等優點該設備操作方便實現了人機對話目前已在河南某牧場中投入使用經試驗證明院該儀表工作穩定可以滿足牧場配料控製的要求。

 

文章來源於網絡轉載,侵刪

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8凱發K8