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

?

基于STM32的多點電流采集與監(jiān)視系統(tǒng)設(shè)計

2022-04-13 11:37
關(guān)鍵詞:電流值串口單片機(jī)

孫 濤

(安徽糧食工程職業(yè)學(xué)院, 安徽 合肥 230011)

MSXF-240RS2型大米色選機(jī)的電源供電端、交流伺服電機(jī)供電端、PLC電源端、光電轉(zhuǎn)換電路供電端組件需在合適的電流下工作,電流過低會影響組件的工作效率,而電流過高會導(dǎo)致組件過流或過熱,機(jī)器受損[1-6],同時交流伺服電機(jī)又需進(jìn)行電流閉環(huán)控制。因此,急需研制一種多點電流檢測設(shè)備,以觀測各部件工作電流變化趨勢,并兼容多點電路電流采集以及為閉環(huán)控制算法或故障診斷算法提供必要的電流數(shù)據(jù)等。目前,對電流檢測、器件保護(hù)、與電流控制技術(shù)的研究越來越多[7-11]。石砦等[12]提出一種基于混沌信號時域波形包絡(luò)特征的觸電電流混沌檢測方法,解決了某些電流保護(hù)裝置觸電電流信號難提取的問題,結(jié)果表明,提出的混沌判據(jù)可準(zhǔn)確判斷系統(tǒng)周期狀態(tài)和混沌狀態(tài),能夠在較小檢測誤差情況下(4.64%)檢測出總剩余電流中的電流信號。李捷等[13]設(shè)計了基于CAN總線的對脈沖電源模塊充放電以及數(shù)據(jù)采集的分布式控制及在線電流檢測裝置,解決了高重頻脈沖功率電源放電異常等問題,利用Linux操作系統(tǒng)實現(xiàn)對多個脈沖電源模塊的快速控制與故障診斷。龍小麗等[14]認(rèn)為在科學(xué)研究的多個領(lǐng)域中都需要進(jìn)行微弱電流信號的檢測,并提出了一種基于STM32+FPGA的微弱電流檢測系統(tǒng),提出檢測系統(tǒng)可經(jīng)由信號轉(zhuǎn)換放大濾波電路模塊、信號采集電路、STM32、FPGA、上位計算機(jī)等組成,其論述為多種傳感器數(shù)據(jù)采集與檢測設(shè)備提供了設(shè)計思路。目前針對多點電流檢測系統(tǒng)的設(shè)計方案和傳感器熱插拔研究很少,且沒有較友好的多點電流采集上位機(jī)解決方案。市場上主流的檢測設(shè)備處理器包括51單片機(jī)、STC系列單片機(jī)、STM32高端處理器、DSP數(shù)據(jù)處理器、FPGA可編程門陣列等,通過某種傳感單元將數(shù)據(jù)轉(zhuǎn)換為數(shù)字量或電壓模擬量,經(jīng)過處理器對數(shù)據(jù)進(jìn)行處理,并通過某些界面設(shè)計環(huán)境進(jìn)行人機(jī)界面設(shè)計[15],如李明等[7]為增加酒精傳感器測量點數(shù),基于UCOS操作系統(tǒng)和STM32F4單片機(jī),設(shè)計實現(xiàn)了一種可用于多種酒精檢測場合的酒精檢測裝置,基于STemWin設(shè)計制作了系統(tǒng)圖形化界面,并通過LCD觸摸屏實現(xiàn)人機(jī)交互。

筆者基于STM32F4單片機(jī),研制了一種9路電流采集與實時檢測系統(tǒng),通過單片機(jī)的ADC功能將9路WCS1800霍爾電流傳感器傳回的電流數(shù)據(jù)轉(zhuǎn)換為數(shù)字量。通過CH340G串口轉(zhuǎn)換芯片實現(xiàn)串口通信協(xié)議向USB通信協(xié)議的轉(zhuǎn)換,以實現(xiàn)終端機(jī)與上位機(jī)的數(shù)據(jù)傳輸。在電流數(shù)據(jù)的末尾拼接字符串“A1”~“A9”區(qū)分1~9路電流數(shù)據(jù)。通過MATLABGUI開發(fā)環(huán)境,進(jìn)行人機(jī)界面的設(shè)計。

1 硬件設(shè)計

1.1 整體組成

圖1所示系統(tǒng)的整體組成包括:STM32F 429型單片機(jī)、USB電源、穩(wěn)壓與降壓電路、電源接通LED指示燈、串口轉(zhuǎn)換電路、上位機(jī)、傳感器組(WCS1800-1-WCS1800-9)、復(fù)位電路、晶振電路、LED指示燈、按鍵模組等。單片機(jī)選擇為STM32F429系列,該系列單片機(jī)集成了ARM的Cortex-M7內(nèi)核,具有DSP指令和浮點運(yùn)算單元,工作頻率最大可配置為180 MHz,集成了3個12位的獨立ADC,可以提供24個輸入通道。因此,可為多點電流采集系統(tǒng)的設(shè)計提供強(qiáng)有力的硬件保障。

圖1 系統(tǒng)整體組成

USB電源使用標(biāo)準(zhǔn)的USB線為終端機(jī)提供電源,由于STM32的工作電壓為3.3 V,需使用穩(wěn)壓與降壓芯片實現(xiàn)USB的標(biāo)準(zhǔn)5V電壓到3.3 V電壓的轉(zhuǎn)換。電源LED用于在電源接通時點亮,以表明系統(tǒng)電源接通,單片機(jī)可在正常電壓下工作。傳感器組采用WCS1800霍爾電流傳感器,共9路(WCS1800-1~WCS1800-9),傳感器的電壓模擬量輸出口(DOUT引腳)分別與單片機(jī)的GPIOA1-GPIOA9引腳連接。上位機(jī)在MATLABGUI環(huán)境下設(shè)計,界面功能包括串口配置、當(dāng)前數(shù)據(jù)顯示、電流曲線顯示和關(guān)于產(chǎn)品等。復(fù)位電路用于在系統(tǒng)工作出現(xiàn)異常時復(fù)位系統(tǒng);晶振電路用于為單片機(jī)提供具有固定頻率的晶振信號;按鍵模組用于終端機(jī)與上位機(jī)通信,以判斷串口配置是否正常;LED指示燈用于指示當(dāng)前的工作傳感器,共9個,分別對應(yīng)9路(WCS1800-1~WCS1800-9)霍爾電流傳感器。

1.2 穩(wěn)壓降壓電路

使用LM1086-3.3芯片實現(xiàn)5~3.3 V的降壓與穩(wěn)壓調(diào)節(jié)。電源LED指示燈通過1 kΩ限流電阻與電源的高電平連接,電壓高電平從LM1086-3.3芯片的2號OUT引腳輸出(圖2)。

圖2 穩(wěn)壓降壓電路

1.3 CH340G電路

如圖3所示,采用CH340G芯片實現(xiàn)串口通信協(xié)議到USB通信協(xié)議的轉(zhuǎn)換,二者在數(shù)據(jù)通信時可兼容使用。芯片的TXD和RXD引腳分別與單片機(jī)的PA10和PA9連接;UD-和UD+分別與標(biāo)準(zhǔn)四線的USB接口D-和D+連接,USB接口采用標(biāo)準(zhǔn)的5V電源供電。芯片的XI和XO引腳連接其工作晶振,設(shè)計芯片的工作晶振頻率為12 MHz。

圖3 3USB轉(zhuǎn)串口CH340G電路

1.4 WCS1800霍爾電流傳感器

選擇使用WCS1800型霍爾電流傳感器檢測模塊,兼具精確性和經(jīng)濟(jì)實用性,在模塊上集成了LM393運(yùn)放電路,工作電壓為USB供電5 V電壓。模塊的電流檢測范圍寬直流35 A和交流25 A,過流信號設(shè)置分辨率為1.5 A,模塊輸出信號為一路模擬信號和一路高電平信號。對于直流電路,檢測電流大小為

(1)

式中:V0為傳感器模塊輸出電壓;Vcc為參考電壓,5V;K為傳感器線性度,60 mV/A;正負(fù)號±為電流流入傳感器反、正方向符號。

1.5 按鍵模組

按鍵模組包括4個機(jī)械按鍵,分別與單片機(jī)的PI4~PI7連接,當(dāng)PI4~PI7按鍵按下時,單片機(jī)向串口發(fā)送字符串“I0.2”“I4.2”“I20.2”“I111.2”,通過字符串首字母“I”判斷為電流數(shù)據(jù),首字母“I”后的浮點數(shù)據(jù)代表電流值的大小(并非實際電流值),從小數(shù)位到百數(shù)位逐漸變化。通過上位機(jī)的串口接收數(shù)據(jù)本框查看單片機(jī)向上位機(jī)發(fā)送的數(shù)據(jù)是否正確。

2 軟件設(shè)計

2.1 系統(tǒng)整體程序流程

系統(tǒng)整體程序流程經(jīng)過一系列的初始化后再進(jìn)行操作系統(tǒng)UCOSIII的初始化(圖4),在UCOSIII操作系統(tǒng)打開后可創(chuàng)建系統(tǒng)任務(wù)啟動函數(shù)AppTaskStart,在該任務(wù)函數(shù)中進(jìn)行電流測量任務(wù):傳感器1任務(wù)—傳感器9任務(wù),任務(wù)啟動后自動進(jìn)入對應(yīng)的傳感器1任務(wù)循環(huán)—傳感器9任務(wù)循環(huán),此時STM32的PC指針將在這9個任務(wù)間切換。在傳感器的任務(wù)循環(huán)中,經(jīng)同一條串口總線將檢測得到的電流數(shù)據(jù)發(fā)送至上位機(jī),為了區(qū)分到底是哪一路傳感器傳回的數(shù)據(jù),采用在電流數(shù)據(jù)的末尾拼接字符串“A1”~“A9”的方法區(qū)分傳感器1~傳感器9的電流數(shù)據(jù),因此可實現(xiàn)傳感器的熱插拔操作。將系統(tǒng)任務(wù)設(shè)置為10個,包括:創(chuàng)建起始任務(wù)和9個傳感器任務(wù),設(shè)置起始任務(wù)的優(yōu)先級為6,任務(wù)的堆棧容量為128 B,時間片長度為0 ms;9個傳感器任務(wù)的優(yōu)先級相同,均為5,任務(wù)的堆棧容量均為512 B,時間片長度為20 ms。

圖4 系統(tǒng)整他程序流程

2.2 ADC初始化程序

以傳感器1任務(wù)的使用的ADC為例(圖5),進(jìn)入初始化函數(shù)后首先進(jìn)行GPIO的初始化,傳感器1的ADC對應(yīng)單片機(jī)引腳PA1,在引腳配置時需將PA1配置為模擬量輸入模式,并設(shè)置ADC的工作模式為連續(xù)轉(zhuǎn)換和禁止掃描采集的獨立模式,將ADC轉(zhuǎn)換頻率設(shè)置為12 MHz;最后進(jìn)行中斷配置,將中斷分組設(shè)置在1組,設(shè)置響應(yīng)優(yōu)先級為1,子優(yōu)先級為1,簡稱“111”模式。

圖5 ADC初始化程序

2.3 電流測量任務(wù)

9路電流測量任務(wù)的函數(shù)體基本相同,其測量任務(wù)如圖6所示。

圖6 電流測量任務(wù)

函數(shù)變量err用于操作系統(tǒng)出現(xiàn)故障時存儲故障信息。函數(shù)變量cycle為for循環(huán)變量,用于循環(huán)cycle次對電流數(shù)據(jù)的采集,循環(huán)cycle次后自動退出for循環(huán)。函數(shù)變量sumADC_Current為循環(huán)cycle次后的電流數(shù)據(jù)總和,用于計算電流數(shù)據(jù)平均值使用。函數(shù)變量ADC_Current_Vol為電流數(shù)據(jù)值,在任務(wù)函數(shù)中兩次使用,一次是保存?zhèn)鞲衅鞑杉碾娏鲾?shù)據(jù),另一次為計算電流數(shù)據(jù)平均值使用。函數(shù)變量current_Vol為電流值變量,用于存儲經(jīng)轉(zhuǎn)換公式轉(zhuǎn)換后的電流值,該數(shù)據(jù)為最終的電流值。任務(wù)函數(shù)通過串口通信方式向上位機(jī)發(fā)送電流數(shù)據(jù),函數(shù)最后對其堆棧中的變量進(jìn)行清零操作。

2.4 上位機(jī)界面設(shè)計

上位機(jī)檢測界面如圖7所示,其界面包括“打開串口”按鈕,串口調(diào)試窗口、9個電流數(shù)據(jù)曲線顯示窗口、9個當(dāng)前電流值顯示文本框(在無電流數(shù)據(jù)時顯示為NULL1—NULL9)、“啟動”按鈕、關(guān)于系統(tǒng)文本框。

圖7 上位機(jī)界面

打開系統(tǒng)界面后,通過“啟動”按鈕啟動系統(tǒng),此時“啟動”按鈕文本更改顯示為“關(guān)閉”。系統(tǒng)啟動后將自動掃描電流采集系統(tǒng)終端機(jī)發(fā)送的信號,一旦接收到信號后,系統(tǒng)提示是否打開串口(圖8),用戶可通過“Yes”“No”和“Cancel”按鈕進(jìn)行選擇,選擇后用戶通過“打開串口”按鈕打開終端機(jī)所連接的串口,并將串口號顯示在“串口號”文本框中。通過按下并松開按鈕模組,向上位機(jī)發(fā)送串口數(shù)據(jù),按鈕按下瞬間進(jìn)行按鈕狀態(tài)的讀取,但不立刻向上位機(jī)發(fā)送數(shù)據(jù),在上位機(jī)中的串口調(diào)試窗口顯示終端機(jī)向上位機(jī)發(fā)送的串口數(shù)據(jù),從而判斷串口連接及串口數(shù)據(jù)傳輸是否正常。

圖8 串口檢測與詢問窗口

9個當(dāng)前電流值顯示文本框用于顯示9路電流傳感器傳回的9路電流值,在未檢測到電流值或傳感器未連接時顯示NULLi(i=1,2,…,9),當(dāng)有電流值時,對應(yīng)的電流值文本顯示框?qū)崟r顯示當(dāng)前采集到的電流值。9個電流數(shù)據(jù)曲線顯示窗口用于以實時曲線的方式顯示9路電流傳感器傳回的電流值,用戶可根據(jù)曲線顯示結(jié)果觀測電流值歷史變化情況。因此,該上位機(jī)界面可為用戶提供當(dāng)前電流值讀取接口和電流值歷史變化情況,通過對比觀測更加充分地了解電流變化過程。

2.5 系統(tǒng)調(diào)試

對大米色選機(jī)的工業(yè)電源供電端、交流伺服電機(jī)供電端、PLC電源端、光電轉(zhuǎn)換電路供電端的4個重要電路進(jìn)行電流采集,并將傳感器連接在系統(tǒng)的第1,3,5和7通道上,在產(chǎn)品正常工作的情況下,得到電流值的變化過程見圖9??芍ǖ?、通道3、通道5、通道7,均檢測出了電流值,在產(chǎn)品正常工作情況下,測得第1通道電流為1.3 A左右,變化幅值不超過0.02 A;測得第3通道電流為1.7 A,變化幅值不超過0.01 A;測得第5通道電流為0.6 A,變化幅值不超過0.02 A;測得第7通道電流為1.0 A,變化幅值不超過0.02 A,可知系統(tǒng)得到了較穩(wěn)定電流測量值。

圖9 電流變化過程

對第1通道進(jìn)行短路連接測試,并在電路中加裝繼電器保護(hù)開關(guān),用于在短路電流過大時及時斷開電源,得到電流值的變化情況(圖10)??芍陂_始階段電流基本穩(wěn)定在1.3 A,變化幅值不超過0.02 A。在采集點為500時,將電路進(jìn)行短路連接,得到的電流值瞬間增大。當(dāng)電流值最大達(dá)500 A時,說明傳感器已不再正常工作。此時繼電器開關(guān)打開,電流值又瞬間變化到0 A,變化幅值不超過0.01 A。因此,可通過加裝繼電器開關(guān)保護(hù)裝置等對產(chǎn)品的關(guān)鍵電路進(jìn)行過電流保護(hù),以避免短路情況發(fā)生時燒壞產(chǎn)品。

圖10 短路測試

3 結(jié) 語

筆者研制了一種多點電流采集與監(jiān)視系統(tǒng),介紹了系統(tǒng)的硬件組成與軟件設(shè)計。采用霍爾型電流傳感器對電流值進(jìn)行采集,使用單片機(jī)的ADC功能對數(shù)據(jù)進(jìn)行模數(shù)轉(zhuǎn)換,使用串口轉(zhuǎn)換芯片將數(shù)據(jù)發(fā)送至使用MATLAB GUI開發(fā)的上位機(jī)界面中。通過電流檢測和過電流短路試驗驗證了系統(tǒng)的工作穩(wěn)定可靠,可應(yīng)用于多種需電流測量的生產(chǎn)現(xiàn)場。

猜你喜歡
電流值串口單片機(jī)
制冷劑與潤滑油混合物對空調(diào)器泄漏電流影響分析及研究
放療中CT管電流值對放療胸部患者勾畫靶區(qū)的影響
基于NPORT的地面綜合氣象觀測系統(tǒng)通信測試方法及故障處理
基于API函數(shù)庫實現(xiàn)串口數(shù)據(jù)通信的分析與設(shè)計
變壓器差動斜率保護(hù)計算方法
基于EM9000工控板高性能雙串口通信模型設(shè)計與實現(xiàn)
基于單片機(jī)的SPWM控制逆變器的設(shè)計與實現(xiàn)
基于單片機(jī)的層次漸變暖燈的研究
基于單片機(jī)的多功能智能插排
基于單片機(jī)的便捷式LCF測量儀