国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于STM32F407的畜牧車(chē)配料稱(chēng)重儀表的設(shè)計(jì)

2019-07-11 07:09劉澤玲周智榮
自動(dòng)化與儀表 2019年6期
關(guān)鍵詞:配料校驗(yàn)儀表

劉澤玲,周智榮,張 偉

(中航電測(cè)儀器股份有限公司,西安710100)

在畜牧養(yǎng)殖行業(yè),常需要對(duì)多種飼料按科學(xué)的比例進(jìn)行配料,而在大型牧場(chǎng),若采用傳統(tǒng)的人工稱(chēng)量配料,會(huì)耗費(fèi)大量的時(shí)間。近年來(lái),隨著畜牧養(yǎng)殖業(yè)的發(fā)展,為了提高養(yǎng)殖效能,許多畜牧養(yǎng)殖場(chǎng)對(duì)精準(zhǔn)車(chē)載配料系統(tǒng)的需求越來(lái)越多[1],將配料稱(chēng)重顯示儀配備在飼養(yǎng)車(chē)上,可以在飼養(yǎng)車(chē)輛行進(jìn)過(guò)程中邊配料邊喂養(yǎng),從而節(jié)省很多時(shí)間,為此要求配料稱(chēng)重儀表具有高的可靠性和高的配料精度。在此,選用ARM 單片機(jī)STM32F407,設(shè)計(jì)了一款能夠在飼養(yǎng)車(chē)行進(jìn)中輸出精準(zhǔn)重量的車(chē)載配料稱(chēng)重顯示儀。

1 車(chē)載配料稱(chēng)重顯示儀硬件設(shè)計(jì)

STM32F407 單片機(jī)是ST 公司基于ARM Cortex M4 內(nèi)核的微控制器,主頻可達(dá)168 MHz;片內(nèi)集成了先進(jìn)的外設(shè),其可配置的GPIO 多達(dá)114 個(gè),通訊接口有15 種:I2C,SPI,串行接口、CAN 接口、外存接口等,內(nèi)部的Flash 存儲(chǔ)器可用于非易失性數(shù)據(jù)存儲(chǔ)[2]。故在此選用STM32F407 作為控制核心,用于接收來(lái)自?xún)?nèi)置信號(hào)采集模塊或外置數(shù)字傳感器的數(shù)據(jù),檢測(cè)儀表按鍵組的狀態(tài),實(shí)現(xiàn)各種參數(shù)的設(shè)置、工作模式的設(shè)置、多界面的切換等,并驅(qū)動(dòng)5位數(shù)碼管顯示。

該儀表結(jié)構(gòu)框圖如圖1所示。STM32F407 通過(guò)CAN 總線(xiàn)接收重量數(shù)據(jù),通過(guò)按鍵組接收用戶(hù)的操作信號(hào),其片內(nèi)Flash 用于存儲(chǔ)儀表參數(shù),LED 數(shù)碼管用于重量顯示及狀態(tài)提示,聲光提醒模塊用于配料提醒及故障提醒,485 接口用于驅(qū)動(dòng)點(diǎn)陣式LED大顯示屏,USART 接口可用于程序升級(jí),WiFi 模塊可用于與管理平臺(tái)通訊。

圖1 儀表結(jié)構(gòu)框圖Fig.1 Instrument structure block diagram

儀表內(nèi)置的信號(hào)采集模塊,用于采集處理模擬傳感器的信號(hào),其結(jié)構(gòu)框圖如圖2所示,包含信號(hào)調(diào)理電路、A/D 轉(zhuǎn)換電路、MCU 處理及CAN 接口電路。信號(hào)調(diào)理電路將模擬傳感器的mV 級(jí)信號(hào)進(jìn)行調(diào)理放大,A/D 轉(zhuǎn)換電路將調(diào)理放大后的信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),并將轉(zhuǎn)換結(jié)果輸出給采集模塊MCU進(jìn)行處理,該MCU 將此數(shù)字值轉(zhuǎn)換成重量值,通過(guò)CAN 接口傳輸給STM32F407。

圖2 信號(hào)采集模塊結(jié)構(gòu)框圖Fig.2 Structure block diagram of signal acquisition module

若儀表外采用數(shù)字傳感器,則不需要信號(hào)采集模塊的處理,STM32F407 通過(guò)CAN 接口接收數(shù)據(jù)即可。CAN 收發(fā)器的電路原理如圖3所示。

圖3 CAN 收發(fā)器的電路原理Fig.3 Circuit schematic of CAN transceiver

電源調(diào)理模塊用于給儀表內(nèi)各模塊及元器件供電。

采用GPIO 端口接收來(lái)自按鍵組的用戶(hù)操作信號(hào)。按鍵組含有1 個(gè)電源開(kāi)關(guān)鍵、5 個(gè)功能鍵。其中電源開(kāi)關(guān)鍵可實(shí)現(xiàn)儀表的一鍵開(kāi)關(guān)機(jī);功能鍵可單獨(dú)使用,也可組合使用,用于儀表參數(shù)設(shè)置、標(biāo)定、稱(chēng)重模式設(shè)置、多界面的切換及各流程的狀態(tài)切換等。

采用GPIO 端口輸出開(kāi)關(guān)量信號(hào),驅(qū)動(dòng)聲光提醒模塊,用于在配料過(guò)程中,配料重量接近設(shè)置范圍時(shí)給配料人員提供聲音提示或燈光提醒。當(dāng)儀表出現(xiàn)故障時(shí),STM32F407 也會(huì)驅(qū)動(dòng)聲光報(bào)警。

STM32F407 通過(guò)SPI 接口控制LED 顯示驅(qū)動(dòng)芯片,驅(qū)動(dòng)LED 數(shù)碼管顯示,用于顯示稱(chēng)重模式下的重量,同時(shí)在各界面的流程控制中進(jìn)行相應(yīng)狀態(tài)提示。

儀表的485 接口電路用于STM32F407 與點(diǎn)陣式LED 大顯示屏的通訊。通過(guò)大顯示屏顯示相關(guān)信息。

USART 接口用于ISP 程序升級(jí)。

WiFi 模塊可用于將重量上傳至系統(tǒng)管理平臺(tái),管理平臺(tái)也可向儀表發(fā)送廣播信息等。當(dāng)儀表檢測(cè)到故障時(shí),可將故障碼通過(guò)WiFi 發(fā)送至平臺(tái)。

2 軟件設(shè)計(jì)

2.1 總體流程

總體流程如圖4所示。儀表在上電對(duì)各外設(shè)初始化后,讀出Flash 內(nèi)的參數(shù),并使能一鍵開(kāi)關(guān)機(jī)電路的電源驅(qū)動(dòng),通過(guò)CAN 接口讀取采集模塊的關(guān)鍵參數(shù),然后進(jìn)入主界面稱(chēng)重界面,顯示重量/超載等信息。同時(shí),開(kāi)啟定時(shí)器中斷、CAN 中斷,在定時(shí)器中斷中每250 ms 發(fā)送1 次讀取采集模塊重量的CAN 指令,在CAN 中斷中接收來(lái)自采集模塊的數(shù)據(jù)。開(kāi)啟各按鍵端口的外部中斷,在外部中斷中對(duì)按下的功能鍵進(jìn)行消抖,消抖后對(duì)按鍵標(biāo)志置1,此時(shí)STM32F407 結(jié)合功能鍵的狀態(tài)執(zhí)行功能操作或狀態(tài)切換,并進(jìn)行各狀態(tài)下的顯示;若檢測(cè)到開(kāi)關(guān)機(jī)鍵長(zhǎng)按下,則斷電關(guān)機(jī);若未檢測(cè)到開(kāi)關(guān)機(jī)鍵按下,則在各界面一直循環(huán)下去。

在稱(chēng)重界面下,模式0 或模式1 時(shí),結(jié)合Flash存儲(chǔ)的參數(shù)對(duì)重量修正,將重量/超載等信息進(jìn)行顯示,并結(jié)合功能鍵執(zhí)行相應(yīng)的功能操作或狀態(tài)切換,也可由功能鍵進(jìn)入設(shè)置界面。

圖4 總體流程Fig.4 Total flow chart

在設(shè)置界面下,可進(jìn)入多參數(shù)設(shè)置、滿(mǎn)程目標(biāo)值設(shè)置、標(biāo)定、修正設(shè)定、超載門(mén)限設(shè)定、工作模式設(shè)定、稱(chēng)重單位設(shè)定等二級(jí)界面。首先進(jìn)入菜單選擇界面,此時(shí)結(jié)合按鍵可進(jìn)行二級(jí)界面的選擇;在各二級(jí)界面下,可結(jié)合功能鍵執(zhí)行相應(yīng)的狀態(tài)切換,也可由功能鍵退出設(shè)置界面,進(jìn)入稱(chēng)重界面。同時(shí),在各界面流程控制中,驅(qū)動(dòng)數(shù)碼管進(jìn)行實(shí)時(shí)狀態(tài)顯示。

2.2 CAN 接口編程

由于CAN 總線(xiàn)具有可靠性高、功能完善、成本較低等諸多優(yōu)點(diǎn),目前已廣泛應(yīng)用于汽車(chē)工業(yè)、工業(yè)控制等領(lǐng)域[3]。考慮到其具有可靠的錯(cuò)誤檢測(cè)和出錯(cuò)處理功能,在此采用CAN 接口實(shí)現(xiàn)STM32F407與采集模塊的數(shù)據(jù)傳輸,波特率采用500 kb/s。

CAN2 接口發(fā)送1 幀數(shù)據(jù)的程序代碼如下:

另外,在數(shù)據(jù)幀中均增加了校驗(yàn)數(shù)據(jù),接收方收到數(shù)據(jù)幀進(jìn)行解析時(shí)按照約定的格式計(jì)算校驗(yàn)值,若該校驗(yàn)結(jié)果與數(shù)據(jù)幀中的校驗(yàn)數(shù)據(jù)一致,則做出相應(yīng)的回復(fù)或處理,否則不予處理。

數(shù)據(jù)幀中的數(shù)據(jù)約定格式見(jiàn)表1,其中含有幀頭、幀尾、數(shù)據(jù)、校驗(yàn)等信息。

2.3 流程控制操作錯(cuò)誤保護(hù)

在各一級(jí)界面、二級(jí)界面的流程控制中,各狀態(tài)的切換以輸入條件和當(dāng)前狀態(tài)為依據(jù),輸入條件主要是各功能鍵的狀態(tài),另外在不同界面中還包括其他對(duì)應(yīng)條件。

具體工作過(guò)程為:判斷當(dāng)前外界輸入條件是否滿(mǎn)足當(dāng)前界面、當(dāng)前狀態(tài)下的輸入條件,若滿(mǎn)足則狀態(tài)轉(zhuǎn)換為下一狀態(tài);否則停留在當(dāng)前狀態(tài)。

表1 編幀格式Tab.1 Frame format

2.4 參數(shù)存儲(chǔ)保護(hù)

為防止Flash 內(nèi)部的參數(shù)丟失,采用備份的方式,將數(shù)據(jù)分別存儲(chǔ)于2 個(gè)不同的扇區(qū)。

在對(duì)參數(shù)進(jìn)行存儲(chǔ)時(shí),首先對(duì)待存儲(chǔ)數(shù)據(jù)進(jìn)行CRC16 校驗(yàn),將數(shù)據(jù)和校驗(yàn)值存入后,再將數(shù)據(jù)讀出進(jìn)行CRC16 校驗(yàn),將計(jì)算所得校驗(yàn)值與讀出的校驗(yàn)值進(jìn)行比對(duì)。若相等,說(shuō)明存儲(chǔ)正確,否則將再次存儲(chǔ)原始參數(shù),重復(fù)以上步驟;重復(fù)存儲(chǔ)3 次仍不能正確存儲(chǔ),則顯示“Err”提示。

在每次讀取時(shí),先讀出存儲(chǔ)扇區(qū)的數(shù)據(jù)進(jìn)行CRC16 校驗(yàn),若計(jì)算所得校驗(yàn)值與讀出的校驗(yàn)值相等,說(shuō)明參數(shù)正確;否則參數(shù)錯(cuò)誤,則將備份扇區(qū)的數(shù)據(jù)讀出進(jìn)行判斷,若參數(shù)正確則采用該備份數(shù)據(jù),并將該數(shù)據(jù)再次存儲(chǔ);若參數(shù)仍錯(cuò)誤,則采用程序中預(yù)先定義的數(shù)組[4]中的出廠默認(rèn)參數(shù)。

3 測(cè)試試驗(yàn)

3.1 采集精度測(cè)試

該儀表在正式使用前分別接模擬傳感器、比率校準(zhǔn)器進(jìn)行全面的精度測(cè)試,試驗(yàn)結(jié)果見(jiàn)表2。在常溫下,信號(hào)源為模擬傳感器時(shí),系統(tǒng)綜合精度為2.2×10-4;在-30~70 ℃溫度范圍內(nèi),系統(tǒng)綜合精度為5×10-4,完全可滿(mǎn)足牧場(chǎng)配料的精度要求。

表2 精度測(cè)試結(jié)果Tab.2 Accuracy test results

3.2 振動(dòng)試驗(yàn)

在振動(dòng)試驗(yàn)機(jī)上,采用表3所列的振動(dòng)頻率、功率譜密度和加速度進(jìn)行32 h 的振動(dòng)試驗(yàn),其振動(dòng)頻譜如圖5所示。振動(dòng)停止后,儀表仍能正常工作,表明振動(dòng)對(duì)儀表性能無(wú)明顯影響。

表3 振動(dòng)頻率和能量譜密度Tab.3 Vibration frequency and energy spectral density

圖5 振動(dòng)頻譜Fig.5 Vibration frequency

4 結(jié)語(yǔ)

采用單片機(jī)STM32F407 實(shí)現(xiàn)儀表的多界面流程控制和CAN 通訊采集,不僅具有較高的可靠性,而且編程采用標(biāo)準(zhǔn)C 語(yǔ)言,便于程序的修改與優(yōu)化。所設(shè)計(jì)的畜牧車(chē)配料稱(chēng)重儀表具有可靠性高、可操作性強(qiáng)、配料精度高等優(yōu)點(diǎn)。該設(shè)備操作方便,實(shí)現(xiàn)了人機(jī)對(duì)話(huà),目前已在河南某牧場(chǎng)中投入使用。經(jīng)試驗(yàn)證明:該儀表工作穩(wěn)定,可以滿(mǎn)足牧場(chǎng)配料控制的要求。

猜你喜歡
配料校驗(yàn)儀表
丟失的配料
通過(guò)優(yōu)化配料方案來(lái)提高熟料質(zhì)量及降低配料成本
使用Excel朗讀功能校驗(yàn)工作表中的數(shù)據(jù)
浙江中控自動(dòng)化儀表有限公司
浙江中控自動(dòng)化儀表有限公司
特殊的配料
Task 2
智能電能表的現(xiàn)場(chǎng)快速校驗(yàn)方法探討
電子式互感器校驗(yàn)方式研究
奔馳E260車(chē)行駛過(guò)程中儀表燈熄滅
哈尔滨市| 沧州市| 宝丰县| 宁乡县| 将乐县| 清苑县| 仙游县| 礼泉县| 锡林郭勒盟| 大英县| 刚察县| 阿巴嘎旗| 聂荣县| 聂拉木县| 乌鲁木齐市| 彰化市| 从江县| 扶绥县| 依安县| 乌拉特后旗| 普洱| 沾化县| 微博| 麻城市| 肥西县| 原平市| 咸阳市| 利津县| 苏尼特右旗| 盱眙县| 科技| 江安县| 馆陶县| 平原县| 剑川县| 文化| 西峡县| 旺苍县| 汝城县| 嘉祥县| 青州市|