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