林 丹,王楠楠
(1.河北工程大學(xué) 信息與電氣工程學(xué)院,邯鄲 056038;2.邯鄲學(xué)院 軟件學(xué)院,邯鄲 056038)
隨著控制科學(xué)、計算機科學(xué)、網(wǎng)絡(luò)及通信技術(shù)的發(fā)展和交叉滲透,運動控制系統(tǒng)經(jīng)歷了從直流到交流,從開環(huán)到閉環(huán),從模擬到數(shù)字,直到基于網(wǎng)絡(luò)的運動控制的發(fā)展過程[1]。通過網(wǎng)絡(luò)實現(xiàn)電機遠程控制及控制系統(tǒng)的指令和參數(shù)透明傳輸,已經(jīng)成為電機遠程運動控制系統(tǒng)的研究方向之一。本系統(tǒng)采用STM32微處理器為控制器核心設(shè)計具有高抗干擾能力的數(shù)字式直流電機驅(qū)動模塊;采用先進數(shù)字電流傳感器及溫度傳感器實現(xiàn)故障診斷及保護功能、電機精確控制及事后數(shù)據(jù)可靠分析;采用RS485總線網(wǎng)絡(luò)實現(xiàn)驅(qū)動模塊與上位機之間數(shù)據(jù)交換,最終實現(xiàn)分布式遠程控制。
模塊由主控芯片、電源電路、電流采樣電路、編碼器信號倍頻鑒相電路、H橋控制電路及485通信模塊等部分組成[2]。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)框圖
模塊主控芯片選擇ST公司32位增強型系列微控制器STM32F103C8T6。
控制器基于Cortex-M3內(nèi)核,最高工作頻率可達72MHz,單周期乘法和自帶硬件除法器,運算能力大幅提高;控制器內(nèi)定時器強大的邊沿捕獲能力及PWM功能均為電機高精度控制提供保證。片上集成溫度傳感器、USART接口等資源,大大簡化硬件設(shè)計,系統(tǒng)總體功耗降低。
雙閉環(huán)控制參數(shù)易于調(diào)整,抗負(fù)載擾動及抗電網(wǎng)電壓擾動性能均有提高。上位機對模塊發(fā)送命令,控制電機運轉(zhuǎn)采用電流速度雙閉環(huán)PID控制方法。如果上位機沒有發(fā)送命令,則默認(rèn)轉(zhuǎn)速為0rpm。數(shù)字化PID差分方程表達式為:
本系統(tǒng)設(shè)計基于網(wǎng)絡(luò)的直流電機運行驅(qū)動模塊,利用RS485總線網(wǎng)絡(luò)實現(xiàn)驅(qū)動模塊與上位機之間數(shù)據(jù)網(wǎng)絡(luò)化傳輸[3]。RS485總線支持多點對多點通信,實現(xiàn)聯(lián)網(wǎng)功能;標(biāo)準(zhǔn)采用平衡發(fā)送、差分接收方式,共模干擾抑制能力強;可以達到1200m遠距離傳輸,保證實現(xiàn)上位機對現(xiàn)場設(shè)備遠程控制。
驅(qū)動模塊的電源電路包括兩部分:給主控芯片STM32微處理器供電電源3.3Vd、給通信接口及觸發(fā)器供電電源5Vd;給光電耦合器電路供電5Va、給電流傳感器供電12Va等。模擬電源和數(shù)字電源均由24V蓄電池供電,兩路電源實現(xiàn)模數(shù)隔離,防止主回路影響控制電路。電源電路如圖2所示。
圖2 數(shù)字、模擬電源電路
首先,24V電源通過LM2576系列開關(guān)型穩(wěn)壓芯片LM2576-5、LM2576-12生成數(shù)字電路電源5Vd、模擬電路電源12Va。主控芯片電源3.3Vd由5Vd經(jīng)三端線性穩(wěn)壓芯片LM1117-3.3生成。12Va經(jīng)芯片MC34063生成5Va。電路所用芯片功耗低,內(nèi)部保護電路完善,且輸出電壓穩(wěn)定,為模塊穩(wěn)定工作提供保證。
現(xiàn)代多節(jié)點工業(yè)現(xiàn)場中,節(jié)點之間共模電壓很高,RS485總線網(wǎng)絡(luò)差分傳輸方式無法完全抑制共模干擾。模塊設(shè)計帶隔離RS485電路,如圖3所示。
圖3 通信接口電路
收發(fā)器MAX1487與主控制器電源不共地,同時采用光電耦合器可保證在維持信號聯(lián)系前提下實現(xiàn)收發(fā)器與主控制器電路電氣隔離,有效抑制現(xiàn)場多節(jié)點之間的共模電壓,提高現(xiàn)場通信穩(wěn)定性。R21為匹配電阻,便于實現(xiàn)遠距離傳輸。
模塊采用光電式旋轉(zhuǎn)編碼器實現(xiàn)對電機高精度、強分辨能力的數(shù)字測速。利用構(gòu)造簡單的增量式編碼器、觸發(fā)器以及或非門電路實現(xiàn)對電機運行的倍頻鑒相功能。電路如圖4所示。
圖4 倍頻鑒相電路
為了取得檢測信號,編碼器與電機之間距離較近,導(dǎo)致增量式編碼器使用過程中會因抖動使輸出波形夾雜毛刺。模塊設(shè)計采用施密特觸發(fā)器對編碼器輸出A、B端信號進行調(diào)節(jié),施密特觸發(fā)器兩個閥值電壓調(diào)節(jié)檢測信號成為標(biāo)準(zhǔn)脈沖信號。兩路施密特觸發(fā)器輸出信號一方面作為D觸發(fā)器輸入端與時鐘信號,然后D觸發(fā)器輸出端接主控芯片引腳用于判斷電機轉(zhuǎn)向;一方面作為或非門電路輸入端,與主控芯片上、下邊沿捕獲功能結(jié)合,從而獲得4倍頻原始信號脈沖數(shù),提高測速精度。
模塊H橋由MOSFET搭建,由驅(qū)動芯片控制MOSFET的開通、關(guān)斷,進而控制電機運行。通過電流檢測電路,在電機過載時,主控芯片關(guān)閉PWM輸出信號,實現(xiàn)對電機保護[4]。驅(qū)動及保護電路如圖5所示。
圖5 驅(qū)動及保護電路
模塊驅(qū)動半橋控制芯片采用集成IR2130控制MOS管,芯片自帶過電流保護等,方便對被驅(qū)動的MOS管進行保護,同時采用光電耦合器加強系統(tǒng)工作穩(wěn)定性。電機電流經(jīng)過一個阻值很小的采樣電阻,電阻兩端電壓由IR2171芯片轉(zhuǎn)化為PWM波形;電壓值由PWM占空比來反映,電壓值過大時,通過程序控制電機停止運行,達到保護功能。
系統(tǒng)軟件采用模塊化方法設(shè)計,包括數(shù)字控制模塊、系統(tǒng)保護模塊、通信模塊。編程時,應(yīng)用STM32固件函數(shù)庫,可以大大降低編寫程序的時間,降低成本。
數(shù)字控制模塊完成對速度、電流調(diào)節(jié)的PID算法編程實現(xiàn)。保護模塊通過傳感器采集數(shù)據(jù)與上位機設(shè)定的限制值比較,在異常情況時控制模塊控制電機停轉(zhuǎn),同時輸出報警信號,完成保護。
系統(tǒng)程序流程圖如圖6所示。
圖6 主程序流程圖
通信模塊采用MODBUS協(xié)議完成與上位機之間通信,該協(xié)議是工控領(lǐng)域中一種標(biāo)準(zhǔn)通信協(xié)議,不同廠商生產(chǎn)的設(shè)備通過該協(xié)議連接成工業(yè)網(wǎng)絡(luò),實現(xiàn)集散控制。
標(biāo)準(zhǔn)MODBUS協(xié)議有兩種工作模式:ASCII模式和RTU模式[5]。相對于ASCII模式,在相同波特率下,RTU模式能夠傳送更多數(shù)據(jù),因此控制器采用RTU模式來實現(xiàn)MODBUS通信協(xié)議。
RTU消息幀典型格式如表1所示。采用RTU模式通信時,消息發(fā)送至少要以3.5個字符時間的停頓間隔開始。在最后一個傳輸字符之后,一個至少3.5個字符時間的停頓標(biāo)定消息的結(jié)束。
表1 RTU消息幀
實驗時,上位機軟件在LabVIEW環(huán)境下編寫,用于監(jiān)控驅(qū)動模塊運行情況,以及對目標(biāo)速度的改變。過程中,對驅(qū)動模塊施以不同類型干擾如外部電源的電壓突變、負(fù)載轉(zhuǎn)矩的突變等。實驗證明,模塊可以快速、準(zhǔn)確并穩(wěn)定達到要求。模塊驅(qū)動電機從0rpm加速到2000rpm時監(jiān)控界面如圖7所示。
圖7 上位機監(jiān)控界面
驅(qū)動模塊采用高性能STM32微處理器與電流傳感器結(jié)合,通過電路模、數(shù)隔離,實現(xiàn)對直流電機數(shù)字化、安全、可靠驅(qū)動。通過RS485網(wǎng)絡(luò),實現(xiàn)上位機對現(xiàn)場多個節(jié)點遠程控制。
[1]閆曉娟,劉景林.嵌入式無刷直流電機網(wǎng)絡(luò)控制系統(tǒng)[J].計算機測量與控制,2010,18(6):1335-1338.
[2]孫環(huán)陽,黃筱調(diào),洪榮晶.全數(shù)字永磁同步電機運動控制系統(tǒng)的設(shè)計[J].微電機,2010,43(7):50-80.
[3]呂金華.基于DSP控制的無刷直流電機網(wǎng)絡(luò)控制方法的研究[J].武漢船舶職業(yè)技術(shù)學(xué)院學(xué)報,2006(4):60-62.
[4]商麗娜,張榮標(biāo).基于ARM的無刷直流電動機網(wǎng)絡(luò)控制研究[J].微電機,2007,40(7):86-89.
[5]汪義旺,崔鳴,祁春清.RS-485/Modbus在FFU控制系統(tǒng)中的應(yīng)用[J].自動化儀表,2010,31(6):39-44.