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