直流電機優(yōu)化控制系統(tǒng)設計(四)
3.6 轉速及電流檢測
3.5.1 光電編碼器測速原理
本文使用的電機軸上自帶了增量式光電編碼器HEDS5500-100,當碼盤轉動時,它的輸出信號是相位差為90°的A相和B相脈沖號。從A,B兩個輸出信號的相位關系(超前或滯后)可判斷旋轉的方向。波形原理圖如圖3-10所示。
圖3-10 光電編碼器順時針旋轉時的輸出波形
順時針旋轉時,A相超前B相90°。逆時針旋轉時,B相超前A相90°。根據(jù)兩相相位關系即可判斷出電機的旋轉方向。查閱該光電編碼應用手冊可知道,光電編碼器軸旋轉一周時,各相均輸出100個脈沖,根據(jù)該特點,可在一定時間內(nèi)對編碼器輸出脈沖進行計數(shù),經(jīng)計算便可得到轉速。光電編碼器與ATmega16的接口如圖3-11所示。
轉向鑒別電路由D觸發(fā)器74LS74構成,當A超前B時,D觸發(fā)器輸出為高電平;當A滯后B時,D觸發(fā)器輸出低電平。根據(jù)D觸發(fā)器Q端的電平高低,即可判斷電機正轉和反轉。將A和B相中的一相脈沖(圖中為B相脈沖)送到ATmega16的T0定時/計數(shù)引腳進行計數(shù),采用定時器T2進行定時,從而計算出電機轉速。
圖3-11 轉向鑒別及轉速檢測電路
3.5.2 電流檢測
在H橋回路中串入采樣電阻,電流流過該電阻時產(chǎn)生壓降,通過檢測該電壓,即可計算出電機中的電流。若該電阻取得過大,則會影響H橋下臂的驅(qū)動電壓,取得過小,不利于提高檢測精度。這里我們?nèi)?.1Ω,當電機工作在額定狀態(tài)時,電流約為5A,此時,壓降為0.5V,再將該電壓放大5倍后,送入ATmega16的A/D轉換通道0。電流檢測電路如圖3-12所示。Vout接ATmega16的PA0腳即ADC0進行A/D轉換。電阻的功耗為:PR耗=I2R=52×0.1=2.5W。
選擇0.1Ω,5W的電阻即可滿足要求。R19與C20構成濾波電路。電機啟動時電流很大,此時運放輸入電壓也較大,為保護運放不受損壞,加入二極管D5與D6,對輸入電壓進行限幅。A/D檢測電壓V測與實際電流I關系為:V測=I×0.1×5(V)=0.5I(V)。
3.7 按鍵、顯示與通訊模塊
按鍵主要用來接收外部的命令和判斷門的位置。當有人經(jīng)過客車門時,按下“開門鍵”。當單片機檢測到有開門鍵按下時,將設定PWM波形占空比大于0.5,電機正轉,此時門開。當門開到極限位置時,安裝在門兩端的限位開關1閉合,單片機檢測到該信息后,禁止PWM輸出,電機停轉。當人經(jīng)過后,按下關門鍵,此時單片機將占空比設定為小于0.5,電機反轉,此時門開始關閉。在關門過程中,若遇到障礙物,則電機反轉,門打開。若未遇到障礙物,當門完全關閉時,限位開關2閉合,單片要檢測到該信息后,也禁止PWM輸出,電機停止,表明門已關閉。
液晶LCD1602主要用來實時顯示電機的轉速和電流。
ATmega16和PC機通訊采用RS-232接口,將電機運行過程中的各類參數(shù)如轉速、電流等發(fā)送到上位機,以便于分析電機的運行狀態(tài)。單片機TTL電平,而串行通訊采用RS-232電平,兩者電平不一致,需經(jīng)過電平轉換,由MAX232完成。電路如圖3-13所示。
圖 3-13 按鍵、顯示與通訊電路
4 系統(tǒng)軟件設計
以上主要介紹了系統(tǒng)的硬件組成與設計,軟件部分由別外一名同學完成,下面只對部分進行簡單說明。
4.1 AVR單片機開發(fā)環(huán)境簡介
常用的AVR開發(fā)軟件主要有:AVR Studio、GCCAVR(WinAVR)、ICC AVR、IAR AVR及CodeVision AVR等。由于ICC AVR集成了C編譯器,增加了軟件模塊,編譯環(huán)境簡潔,生成的代碼結構緊湊、效率高,支持并口下載。缺點是不支持仿真調(diào)試。這里我們選擇ICC AVR作為軟件編寫和編譯環(huán)境。
4.2 數(shù)據(jù)處理
4.2.1 轉速計算
由光電編碼盤型號HEDS5500-100,可知電機軸旋轉一周時輸出脈沖數(shù)為100。若電機轉速為n(r/min),則光電編碼器輸出脈沖頻率fop為:
(4-1)
電機額定轉速為3350r/min,此時光電編碼器輸出最高頻率為: 5583Hz,實際電壓為30V時,隨著轉速的上升,輸出頻率應該還要高出25%左右。
光電編碼盤的B相輸出送入ATmega16的T0進行計數(shù),而利用T2作定時器,產(chǎn)生20ms的定時時間。由于T0、T2均為8位。則T0所能測得最高頻率為。
(4-2)
覆蓋了最高頻率,因此定時器定時20ms時能測到最高轉速。
最小頻率(頻率分辨率)為
(4-3)
從而得到最小轉速分辨率為0.5r/s。[!--empirenews.page--]
4.2.2 轉速電流曲線的顯示
LCD1602實時顯示的轉速、電流的同時,ATmega16還將轉速和電流數(shù)據(jù)通過串口發(fā)送給PC機,利用PC機強大的數(shù)據(jù)處理和繪圖功能,顯示轉速和電流的曲線。ATmega16設置波特率為9600bps,在PC端利用串口調(diào)試助手接收數(shù)據(jù),再將數(shù)據(jù)在Matlab進行處理和曲線繪制。
4.3 軟件流程
軟件是本系統(tǒng)的核心部分。主要完成以下功能:處理按鍵信息、通過改變PWM占空比控制電機正反轉、執(zhí)行PID算法以實現(xiàn)穩(wěn)速功能、實時檢測電機轉速和電流、串口通訊。在此不作詳細說明。
5 系統(tǒng)測試與結果分析
5.1 系統(tǒng)測試
驅(qū)動電源穩(wěn)壓功能測試。將輸入電壓調(diào)到18V時,調(diào)節(jié)反饋電壓的反饋系數(shù)(改變反饋分壓電阻),使SG3525輸出占空比剛好達到最大。此時當輸入電壓升高時,由于處于閉環(huán)狀態(tài),SG3525輸出占空比將減小以維持輸出電壓恒定。
死區(qū)時間調(diào)整。調(diào)節(jié)RC充電回路中的電阻R值,從示波器上觀察延時,使死區(qū)時間為500ns。如圖5-1所示。
圖5-1 死區(qū)時間
雙極性PWM輸出測試。通過程序設置占空比,從示波器上觀察輸出占空比的變化范圍。實際測試時采用的方法是,在單片機中建一個頻率為50Hz的9位的正弦波表,每次PWM溢出中斷時,將波形表中的數(shù)據(jù)依次送出改變占空比,此時輸出雙極性的SPWM波,經(jīng)電感電容組成的л形濾波器濾波后就得到正弦波。實際效果如圖5-2、5-3所示。
圖5-2 雙極性SPWM波
圖5-3 經(jīng)л形濾波后的波形
表明PWM波形占空比范圍可以達到0-100%。
經(jīng)以上調(diào)試后。接入電機進行測試,未加PID時,電機轉速隨電壓變化而變化。加入PID調(diào)節(jié)后,電壓在18-30V變化時,轉速能穩(wěn)定在設定值。輸入電壓24V,設定轉速為20r/s時,調(diào)速曲線如圖5-4所示。
圖5-4 調(diào)速曲線
功能測試。按下“OPEN”鍵時,電機正轉;按下“XW1”,電機停止;按下“CLOSE”鍵,電機反轉,按下“XW2”,電機停止;按下“CLOSE”鍵,在電機反轉過程中,借助外力讓電機減速,電機稍作停頓后反轉(防夾)。測試表明系統(tǒng)實現(xiàn)了所要求的功能。
5.2 結果分析
由SPWM波形及其濾波后的結果可以看出,雙極性PWM波形完全符合要求,且波形占空比從0-100%可調(diào),精度9位,頻率15.6KHz。
從調(diào)速曲線上可以看出,電機轉速超調(diào)比較嚴重,可能與以下因素有關:
PID參數(shù)設置不合理。PID的參數(shù)的整定較繁瑣,當參數(shù)設定不合理時,可導致電機振蕩,超調(diào)過大等問題。
光電編碼器受到干擾,影響了轉速檢測精度。由自動控制原理知識可知,反饋環(huán)路的精度決定環(huán)路輸出精度。經(jīng)過多次實際測試,即便設定同一參數(shù),幾次測試的結果也不完全一樣,總的來講超調(diào)都比較嚴重,具體表現(xiàn)是在超調(diào)時出現(xiàn)很窄的尖脈沖,多次改變PID參數(shù)也不能完全改善。后來用示波器在編碼器的輸出端觀察到,電機在啟動瞬間光電編碼器的輸出端偶爾會出現(xiàn)較強的干擾,足以影響到轉速的準確檢測,因而給反饋系統(tǒng)帶來異常。