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