前言:想要寫出一篇引人入勝的文章?我們特意為您整理了步進電機控制系統(tǒng)設(shè)計分析范文,希望能給你帶來靈感和參考,敬請閱讀。
關(guān)鍵詞:步進電機;STM32單片機;細分驅(qū)動
步進電機是一種通過脈沖信號控制角位移的器件,作為一種執(zhí)行機構(gòu)被廣泛應(yīng)用于數(shù)字控制系統(tǒng)、伺服系統(tǒng)及工業(yè)機器人等領(lǐng)域[1-2]。本文以兩相四線制混合式步進電機為研究對象,設(shè)計出一款基于微處理器的步進電機控制系統(tǒng)。系統(tǒng)通過按鍵和語音識別兩種方式向系統(tǒng)發(fā)出控制指令,提高了系統(tǒng)的交互性;通過采用指數(shù)型加速曲線,提高了步進電機連續(xù)運行頻率范圍;通過采用細分驅(qū)動方式控制步進電機,使系統(tǒng)具有步距角小、運行平穩(wěn)特點;同時系統(tǒng)在硬件和軟件設(shè)計上均采用了抗干擾設(shè)計,使系統(tǒng)運行更加可靠。該實踐項目結(jié)合工程實際,很好地奉行了基于項目、基于案例的教學(xué)方法和學(xué)習(xí)方法,可以較好地促進學(xué)生綜合實踐能力的提升,為學(xué)生創(chuàng)新設(shè)計打下基礎(chǔ)[3]。
1系統(tǒng)總體設(shè)計
如圖1所示,步進電機控制系統(tǒng)主要由微處理器模塊、步進電機驅(qū)動模塊、按鍵輸入模塊、語音模塊及顯示屏模塊組成。步進電機選取兩相混合式步進電機,型號為57BYG250。按鍵和語音輸入模塊向系統(tǒng)發(fā)出啟動和停止、加速和減速等控制指令,設(shè)置運行步數(shù)和運行頻率,改變步進電機運行模式、轉(zhuǎn)動方向、步距角等。微處理器模塊負責識別控制指令并進行信息處理,根據(jù)控制指令輸出一定頻率脈沖信號和控制信號,脈沖信號驅(qū)動步進電機轉(zhuǎn)動,控制信號改變電機轉(zhuǎn)動方向和步距角等。顯示屏模塊實時顯示當前系統(tǒng)運行的相關(guān)參數(shù),如電機轉(zhuǎn)動速度、轉(zhuǎn)動方向和運行模式等。步進電機驅(qū)動模塊負責接收控制信號和脈沖信號,對脈沖信號進行分配和功率放大,驅(qū)動電機轉(zhuǎn)動。
2系統(tǒng)硬件設(shè)計
如圖2所示,步進電機控制系統(tǒng)硬件電路主要由單片機最小系統(tǒng)、電源轉(zhuǎn)換、按鍵接口、顯示屏接口、語音模塊接口、光耦隔離、驅(qū)動芯片及外圍等電路組成。
2.1單片機最小系統(tǒng)
最小系統(tǒng)需要處理來自按鍵和語音控制命令并產(chǎn)生控制信號,因此要求系統(tǒng)具有IIC、SPI等串口通信外設(shè)和產(chǎn)生脈沖輸出功能。STM32F103系列單片機具有豐富的外設(shè)接口,性價比高,運行速度快等特點[4]。本文基于STM32F103C8T6設(shè)計的最小系統(tǒng),包括電源轉(zhuǎn)換電路、晶振電路、下載電路及復(fù)位電路。最小系統(tǒng)電路如圖3所示。晶振電路使用8M石英晶振作為芯片高速外部時鐘源,晶振兩端22pF起振電容接地,并聯(lián)1M電阻幫助起振。下載電路設(shè)計20針JTAG接口,使用單片機JTAG模式進行程序下載和在線調(diào)試。復(fù)位電路采用帶按鍵的RC復(fù)位電路。
2.2步進電機驅(qū)動電路
系統(tǒng)基于THB6064MQ芯片實現(xiàn)步進電機驅(qū)動電路設(shè)計。該芯片是一款大功率、高細分的集成功率驅(qū)動芯片,適合驅(qū)動57系列步進電機[5]。THB6064MQ芯片內(nèi)部集成了電流分配、雙H橋驅(qū)動、過流和溫度保護電路,需要設(shè)計相應(yīng)的外圍電路保證芯片正常工作。驅(qū)動電路設(shè)計如圖4所示。M1、M2、M3三個引腳通過光電隔離模塊同控制模塊連接,完成對細分數(shù)的控制。驅(qū)動芯片DCY1、DCY2兩個引腳通過撥碼開關(guān)設(shè)置不同衰減方式,改善芯片驅(qū)動效果,提高電機運行的平穩(wěn)性。在分壓電路中調(diào)節(jié)滑變阻R9,使VREF引腳電壓為1.8V,滿足步進電機額定驅(qū)動電流3A需求。在VREF和Down引腳之間串聯(lián)電阻R11,實現(xiàn)半流鎖定功能,在電機鎖定狀態(tài)下降低驅(qū)動電流,減少能量的損耗。RESTER引腳低電平時,芯片復(fù)位,RC自動復(fù)位電路中的二極管D1有利于電路斷開后,電容C2迅速放電,方便芯片下一次復(fù)位。ALERT引腳串聯(lián)LED燈,當芯片發(fā)熱嚴重時,ALERT輸出低電平,電路導(dǎo)通,LED燈發(fā)光,提醒操作員及時散熱,實現(xiàn)過流及溫度保護[6-7]。
2.3光耦隔離電路
步進電路驅(qū)動電路中,如果直接將控制信號引腳與驅(qū)動電路相連,則需要控制電路與驅(qū)動電路共地連接,驅(qū)動電路中的大電流有可能沿著地回路對控制電路的數(shù)字器件造成電磁干擾,甚至燒毀低工作電壓的芯片[8]。因此,設(shè)計光耦隔離模塊將控制電路和驅(qū)動電路進行電氣隔離。隔離信號包括高頻率的脈沖信號和低頻率的開關(guān)信號,使用6N137芯片隔離高頻信號,使用TP521芯片隔離開關(guān)信號,隔離電路設(shè)計如圖5所示。TP521隔離電路采用同相邏輯傳輸方案,限流電阻R23取330,防止導(dǎo)通時電流過大燒毀發(fā)光二極管,R17為3、4引腳內(nèi)部的光敏三極管上拉電阻。6N137隔離電路中2、3引腳之間為發(fā)光二極管,能使引腳7接高電平,R24為限流電阻,C5為去耦電容,可減少輸出端電源波動,R22和C6改善高頻傳輸時芯片的響應(yīng)時間。
2.4電源轉(zhuǎn)換電路
系統(tǒng)電源電路需要滿足控制電路和驅(qū)動電路兩部分需求??刂齐娐稴TM32F103C8T6和語音模塊等數(shù)字器件需要3.3V工作電壓,驅(qū)動芯片THB6064MQ內(nèi)部集成的H橋驅(qū)動電路需要4.5~42V輸入電壓,另外,芯片還需要5V的工作電壓,步進電機額定電流為3A。電源分配如下:使用電源適配器將220V市電轉(zhuǎn)換為5V直流電,使用AMS1117降壓芯片將5V電壓降低為3.3V供控制電路相關(guān)器件使用,使用開關(guān)電源將220V市電轉(zhuǎn)換為24V/3A直流為驅(qū)動電路供電,使用LM317芯片將24V轉(zhuǎn)換為5V供驅(qū)動芯片使用。降壓電路設(shè)計如圖6所示。AMS1117降壓電路中,輸入輸出濾波電容均選取220uF鉭電容和100nF無極性電容,分別濾除高頻和低頻干擾。LM317降壓電路中,C7、E5、E2為輸入濾波電容,電路中大電容均使用鋁電解電容,小電容使用陶瓷電容,使用R28和R30搭建分壓電路為ADJ引腳提供反饋電壓,R28和R30電阻值取1KΩ和3KΩ,設(shè)置輸出電平大小約為5V。
2.5其他模塊
顯示模塊采用OLED12864顯示屏,分辨率為128×64,可顯示4行漢字,每行最多8個。該模塊使用IIC通信協(xié)議,通過CK、SD引腳與單片機進行通訊。語音模塊采用LD3320語音識別模塊,該模塊集成優(yōu)化算法和語音識別處理器,不需要進行訓(xùn)練和錄音,只需將待識別詞語拼音寫入寄存器即可,模塊使用SPI通信協(xié)議與單片機進行通訊,IRQ中斷請求引腳與單片機外部中斷復(fù)用功能引腳相連,當語音模塊檢測聲音時,便會發(fā)出中斷請求[9]。顯示模塊和語音模塊實物圖如圖7所示。
3系統(tǒng)軟件設(shè)計
整個系統(tǒng)軟件設(shè)計包括:轉(zhuǎn)速控制子程序、按鍵掃描子程序、語音識別子程序、顯示子程序、主程序和中斷服務(wù)程序等。
3.1步進電機轉(zhuǎn)速控制
步進電機轉(zhuǎn)速與輸入脈沖頻率有關(guān),驅(qū)動電路每收到一個脈沖,電機繞組通電狀態(tài)發(fā)生一次改變,電機轉(zhuǎn)過一個步距角。系統(tǒng)使用STM32F103C8T6定時器2產(chǎn)生PWM方波,通過設(shè)置定時器PSC分頻值和ARR重裝載值得到PWM方波頻率。定時器按照72M工作頻率分頻后的頻率向上計數(shù),當計數(shù)值達到ARR值時清0重新計數(shù),設(shè)置PWM模式比較值為ARR的1/2,當計數(shù)值小于比較值時,輸出高電平,反之輸出低電平,由此,產(chǎn)生驅(qū)動步進電機轉(zhuǎn)動的脈沖。脈沖頻率與PSC、ARR關(guān)系如式(1)所示。本系統(tǒng)將PSC固定為3599,當設(shè)定步進電機運行頻率時,反向計算出ARR值,通過重新設(shè)置定時器ARR值,就可改變步進電機轉(zhuǎn)速。
3.2指數(shù)型加速曲線設(shè)計
步進電機由于繞組存在電感,當電機啟動頻率過大時,繞組電流短時間內(nèi)無法上升到驅(qū)動轉(zhuǎn)子轉(zhuǎn)動的大小,導(dǎo)致電機丟步或啟動失敗現(xiàn)象出現(xiàn)[10]。因此,本系統(tǒng)在電機啟動頻率高于1500Hz時,使用指數(shù)型加速曲線逐漸提高運行頻率,過渡時間不超過0.1s。同直線型加速曲線相比,指數(shù)型加速曲線更加符合步進電機的矩頻特性,加速曲線如式(2)所示[11]。其中,f0為初始頻率,設(shè)置為1500Hz,fh為待設(shè)置頻率,k1為頻率系數(shù),取值區(qū)間為0.90~0.98,f(k)為當前運行頻率。
3.3主程序設(shè)計
主程序功能主要是初始化驅(qū)動模塊、語音模塊及按鍵模塊的I/O口,進行中斷分組并設(shè)置搶占優(yōu)先級和響應(yīng)優(yōu)先級[12],初始化定時器中斷、外部中斷及看門狗中斷。開啟中斷,等待中斷發(fā)生。主程序設(shè)計流程圖如圖8所示。在主程序中為提高抗干擾性,引入窗口看門狗程序,在程序運行過程中,必須不停地在窗口時間內(nèi)進入喂狗中斷服務(wù)程序,如果程序跑飛而不能及時喂狗,芯片則會發(fā)生軟復(fù)位,系統(tǒng)重啟。
3.4中斷服務(wù)程序設(shè)計
中斷服務(wù)程序主要完成命令識別、控制和實時顯示步進電機運行狀態(tài)。進入中斷首先判斷是否發(fā)生定時中斷,如果是,運行一次語音識別,如果成功,讀取最佳識別結(jié)果,使用switch-case語句對識別結(jié)果進行判斷,執(zhí)行相應(yīng)程序;運行鍵盤掃描程序,確定鍵值,使用switch-case語句根據(jù)鍵值執(zhí)行相應(yīng)程序。中斷服務(wù)程序流程如圖9所示。
4結(jié)語
步進電機具有開環(huán)精度高、可靠性高優(yōu)點,被廣泛應(yīng)用于各種控制領(lǐng)域。本文設(shè)計的步進電機控制系統(tǒng)采用細分功率芯片設(shè)計驅(qū)動電路,性價比高,步進電機能以更小步距角轉(zhuǎn)動,運行更加平穩(wěn)。按鍵模塊和語音識別兩種輸入命令方式,極大提高了步進電機運用過程中的人機交互,在硬件和軟件上采用抗干擾設(shè)計,使系統(tǒng)運行更加可靠。
作者:呂淑平 趙斌韜 單位:哈爾濱工程大學(xué)