基于AVR單片機(jī)電風(fēng)扇360度內(nèi)搖頭角度自由調(diào)節(jié)裝置的實現(xiàn)
市場上大多數(shù)落地電風(fēng)扇的搖頭角度一般都在90度左右,而且搖頭速度不可調(diào)節(jié),人們在不同的環(huán)境和場合,常常根據(jù)實際情況希望能調(diào)節(jié)風(fēng)扇的搖頭角度和搖頭的速度。在各類機(jī)電系統(tǒng)中,由于直流電機(jī)具有良好的起動、制動和調(diào)速性能,直流調(diào)速技術(shù)已廣泛運(yùn)用于工業(yè)領(lǐng)域,最常用的直流調(diào)速技術(shù)是脈寬調(diào)制 (PWM) 直流調(diào)速技術(shù),它具有調(diào)速精度高、響應(yīng)速度快、調(diào)速范圍寬和耗損低等特點。本文介紹了基于新型AVR單片機(jī)169、旋轉(zhuǎn)編碼器AS5040及3966控制的直流電機(jī)構(gòu)成的電風(fēng)扇調(diào)節(jié)裝置,能實現(xiàn)落地電風(fēng)扇360度內(nèi)搖頭自由角度調(diào)節(jié)和搖頭速度調(diào)節(jié)。
1 360度內(nèi)搖頭角度調(diào)節(jié)裝置硬件設(shè)計
1.1 系統(tǒng)設(shè)計與工作原理
AVR169單片機(jī)是新一代RISC結(jié)構(gòu)微控制器,具有高性能、低功耗、非易失性和CMOS技術(shù)等特點,AVR169還具有32個寄存器和豐富的指令集,帶有四路8/9/10位PWM功能的16位定時器,8道的10位ADC,16KB可編程Flash,1KBSRAM,可以擦寫10000次,接近 1MIPS/MHZ的運(yùn)行速度。
AS5040是Austria microsystems公司推出的世界上最小的10位多輸出旋轉(zhuǎn)磁性編碼器, 是將現(xiàn)場傳感霍爾(Hall)元件、A/D轉(zhuǎn)換、數(shù)字信號處理和輸出接口集成到單個芯片的系統(tǒng)級芯片(SoC),利用其包含的小磁體,可通過磁體的360 度旋轉(zhuǎn)探測1024個絕對位置,即每360度提供10位分辨率的1024 個絕對位置,同時提供了積分A/B、單通道和U-V-W交換等三種不同的增量輸出模式,既可根據(jù)用戶的特定要求設(shè)置,也可設(shè)置為脈寬調(diào)制(PWM)輸出信號。PWM 數(shù)字輸出所需外部元件最少,使用方便簡單。本裝置采用了AS5040旋轉(zhuǎn)編碼器PWM_LSB端輸出PWM脈沖,計算出電風(fēng)扇搖頭偏離初始位置的角度,其控制系統(tǒng)工作原理如圖1 所示。
圖1 系統(tǒng)的工作原理
控制電風(fēng)扇搖頭速度以及使其角度在一定范圍內(nèi)搖動,其工作原理為:把AS5040傳感器裝在電風(fēng)扇搖頭的轉(zhuǎn)軸上,就能感應(yīng)出電扇轉(zhuǎn)過的角度與初始位置的夾角,計算出當(dāng)前風(fēng)扇搖頭的速度,在下一個采樣周期到來時,AS5040旋轉(zhuǎn)編碼器測得的速度信號及電機(jī)位置反饋信號通過AS5040接口反饋到 AVR單片機(jī)169,單片機(jī)再根據(jù)給定的運(yùn)動速度與速度的反饋信號相減,得出偏差,給定的位置信號與電機(jī)目前的位置信號進(jìn)行比較,經(jīng)過防積分飽和的控制算法得出控制量,單片機(jī)最終將控制量以PWM的形式輸出,經(jīng)過3966功率放大,驅(qū)動直流電機(jī),進(jìn)入下一個采樣周期,實現(xiàn)根據(jù)設(shè)定值的調(diào)節(jié),使電風(fēng)扇以一定的速度并且搖頭角度在設(shè)定值范圍內(nèi)轉(zhuǎn)動。
1.2 旋轉(zhuǎn)編碼器AS5040接口電路設(shè)計
AS5040旋轉(zhuǎn)編碼器把圓周分成1024份,當(dāng)轉(zhuǎn)離初始位置后,PWM_LSB端輸出PWM脈沖。在0位置處,對應(yīng)高電平寬度為1us,位置每加 1,PWM高電平脈寬相應(yīng)增加1us。通過對電機(jī)PWM的控制可以控制電機(jī)的轉(zhuǎn)動,而AS5040旋轉(zhuǎn)編碼器隨電機(jī)轉(zhuǎn)軸轉(zhuǎn)動,可以根據(jù)LSB端口輸出脈沖計數(shù)得出電風(fēng)扇搖頭的速度變化,通過檢測PWM_LSB輸出脈沖可以得出此時刻轉(zhuǎn)動的位置。AS5040引腳B_Dir_V可以直接檢測出電機(jī)的正轉(zhuǎn)和反轉(zhuǎn)(輸出1為順時針,0為逆時針轉(zhuǎn)動)。根據(jù)編碼器工作原理,設(shè)計編碼器硬件電路如下圖2所示:
圖2 旋轉(zhuǎn)編碼器接口電路
電機(jī)的轉(zhuǎn)速ω為:
ω= c ×ΔN×(終止角-起始角) ÷360 ÷Ts (1)
式中 C為標(biāo)度變換系數(shù), 可根據(jù)轉(zhuǎn)速的量綱來選擇,ΔN 為一個采樣周期中的一次從起始到終止角的計數(shù)值,加上PWM輸出值,再與1024比值,Ts 為采樣周期。
1.3 3966 驅(qū)動接口電路設(shè)計
AVR 單片機(jī)169 輸出的脈寬調(diào)制( PWM) 信號需經(jīng)過功率放大才能驅(qū)動電機(jī),調(diào)速控制系統(tǒng)采用的是3966 驅(qū)動芯片, 雙極性工作方式是指在一個PWM 周期內(nèi)電機(jī)電樞兩端的電壓呈正負(fù)變化,系統(tǒng)采用的雙極性PWM控制,采用PI控制算法進(jìn)行速度調(diào)節(jié)。驅(qū)動接口電路如圖3 所示。單片機(jī)PWM引腳PF7直接接電機(jī)的ENABLE端,它控制著電機(jī)的轉(zhuǎn)速的大小。
圖3 電機(jī)接口電路
2 360度內(nèi)搖頭角度調(diào)節(jié)裝置軟件設(shè)計
2.1 主程序模塊化設(shè)計
在主程序的循環(huán)中,單片機(jī)系統(tǒng)自行給定, 獲得電機(jī)轉(zhuǎn)動的命令字,包括控制電機(jī)的速度和轉(zhuǎn)動方向及轉(zhuǎn)動位置。調(diào)用讀旋轉(zhuǎn)編碼器模塊,獲得電機(jī)的實際轉(zhuǎn)速和轉(zhuǎn)動位置,把給定速度與實際速度作差,得出控制量偏差;把給定的位置與實際位置進(jìn)行比較作差,得出位置偏差。然后,調(diào)用PI控制算法模塊控制電風(fēng)扇的轉(zhuǎn)速。若定時到了,調(diào)用PWM 驅(qū)動模塊,驅(qū)動電機(jī),形成控制系統(tǒng)的速度閉環(huán)。
讀編碼器模塊程序原理:AS5040的PWM_LSB端輸出PWM脈沖,高電平1us對應(yīng)0位置,位置加1,PWM高電平脈寬增加1us,所以高電平脈寬可以表示出此時電機(jī)轉(zhuǎn)動的位置。由(1) 式可以計算出電機(jī)的轉(zhuǎn)速。系統(tǒng)軟件采用模塊化設(shè)計方法,主程序模塊化設(shè)計框圖如圖4所示。
2.2 PI控制算法模塊設(shè)計
在主程序中得到速度的偏差信號和電機(jī)轉(zhuǎn)動的位置偏差信號,輸入到控制算法模塊。系統(tǒng)在每一次采得速度信號的同時也獲得風(fēng)扇轉(zhuǎn)動的位置信息,系統(tǒng)根據(jù)輸入的位置信號與系統(tǒng)的運(yùn)行狀態(tài)判斷是否反向運(yùn)行。對于電機(jī)轉(zhuǎn)動的速度偏差,系統(tǒng)通過軟件對轉(zhuǎn)速進(jìn)行防飽和的PI調(diào)節(jié)方法,算得PWM脈寬。PI控制算法模塊框圖如5所示。
其中Kp 為比例系數(shù),Ki 為積分系數(shù), Ui 為給定值; Uk 是第k 次采樣的測量值; Qk 相當(dāng)于校正量中的積分部分,初始值可取Qk= 0。在數(shù)字PI 控制系統(tǒng)中,當(dāng)系統(tǒng)啟、?;虼蠓茸儎咏o定值時,系統(tǒng)輸出會出現(xiàn)較大的偏差,經(jīng)過積分項累積后,可能會出現(xiàn)積分飽和,從而增加了系統(tǒng)的調(diào)整時間和超調(diào)量, 影響控制效果。所以,在PI 算法中加入了防止積分飽和措施,即在速度偏差較大時(即E(k)>Emax)采用比例調(diào)節(jié)方式,這樣調(diào)節(jié)速度很快,且防止積分飽和,當(dāng)速度偏差較小時(即E(k)Emax)時比例作用較弱,采用比例積分調(diào)節(jié)方法。
3 調(diào)節(jié)裝置功能實現(xiàn)
1、打開開始按鈕,若起始角度,終止角度都處于非零(A終止>A起始)則電扇開始搖頭。(注:A終止和A起始都為零,A終止A起始,不搖頭)
2、可以設(shè)置定時搖頭時間,改變在面板上按向上向下鍵改變搖頭速度。
3、若搖頭過程中,需改變搖頭角度,需重新輸入起始終止角后按確認(rèn)鍵后搖頭角度更新。
4 結(jié)束語
針對市場上的落地電風(fēng)扇的搖頭角度都在90度左右,不能進(jìn)行調(diào)節(jié)搖頭速度,和搖頭角度,本文創(chuàng)新點是采用了AVR新型單片機(jī)169為微控制器,加上了AS5040旋轉(zhuǎn)編碼器及3966驅(qū)動,構(gòu)成對直流電機(jī)控制,實現(xiàn)了電風(fēng)扇360度內(nèi)搖頭角度自由調(diào)節(jié)的功能。
圖4 系統(tǒng)程序總的控制流程圖
圖5 PI控制算法模塊框圖
參考文獻(xiàn)
[1] 朱欣華,姚天忠,鄒麗新,智能儀器原理與設(shè)計[M],北京:中國計量出版社,2002
[2] 金春林,邱慧芳,張皆喜,AVR 系列單片機(jī)C語言編程與應(yīng)用實例[M],北京:清華大學(xué)出版社,2003
[3] 耿德根,宋建國,AVR 高速嵌入式單片機(jī)原理與應(yīng)用(修訂版)[M] 北京:北京航空航天大學(xué)出版社 2002.10
[4]宋紹民,何繼江,廖代文,AVR單片機(jī)在腐蝕性介質(zhì)溫度動態(tài)測量中的應(yīng)用[J],微計算機(jī)信息, 2004年第12期
pwm相關(guān)文章:pwm是什么
加速度計相關(guān)文章:加速度計原理 脈寬調(diào)制相關(guān)文章:脈寬調(diào)制原理
評論