安徽財經大學管理科學與工程學院 賀小龍安徽財經大學金融學院 孫慧宇
?
基于STC12C5A60S2芯片的風力擺控制系統設計
安徽財經大學管理科學與工程學院賀小龍
安徽財經大學金融學院孫慧宇
【摘要】本文利用陀螺儀采集風力擺姿態角,單片機在接收姿態角數據并處理后,通過控制PWM(脈沖寬度調制)波占空比來調節風機的轉速,從而實現了風力擺在僅受直流風機為動力控制下快速起擺、畫線、恢復靜止的功能,并能準確畫圓,且受阻風力影響后能夠恢復畫圓狀態。經過測試表明該系統具有良好的穩定性和適應性。
【關鍵詞】風力擺;陀螺儀;STC12C5A60S2;PWM
隨著現代測控技術的飛速發展,形成了新一代的微控系統,系統采用微型計算機作為測控系統代替傳統的常規電子電路。風力擺控制系統是基于風力來控制物體運動的測控系統,它在原有的基礎控制類型中加入新型控制力量風,利用幾個流風機組合成風力擺,利用流風機轉動帶動扇葉形成風,利用空氣的流動性和作用力與反作用力定律實現運動。本系統采用STC公司的STC12C5A60S2單片機為控制核心,輔以角速度傳感器、直流風機、鍵盤、LCD顯示、電源等模塊組成一測控系統,實現風力擺的運動。
我們根據現實需要設計一個風力擺系統該。系統可以驅動各風機使風力擺按照一定規律運動,同時,激光筆在地面上畫出相應的軌跡。該系統是一個典型的運動控制系統,系統應該包括檢測單元、控制單元、執行單元、人機交互單元組成。其中檢測單元主要為擺桿擺動角度的檢測,即所謂的角速度傳感器模塊;將檢測到的角度信息送到控制單元進行進行AD轉換與數據處理后形成控制命令發送至執行單元;執行單元主要完成對直流風機轉速的調整來控制風速的大小。系統中還加入了人機互交模塊,有鍵盤輸入、液晶顯示輸出使系統更加人性化,更易于操作。系統結構如圖1所示。
下面分別論證主控、角度傳感、風力擺、電源和人機交互等模塊的選擇。

圖1 系統結構
1.1風力擺模塊的比較與選擇
方案一:采用2只直流風機作為動力系統。采用2只風機并排同向而立,分別位于擺桿兩側,通過控制風機轉速控制風力擺使激光筆畫線畫圓。此方案風力擺負載輕,但風力擺擺動過程中狀態微調和快速靜止不易實現。
方案二:采用三個小型可調速的直流電機組合:將三個直流風機組合成空間三角臺,可根據軟件的編寫實現控制三個直流風機轉速的不同從而實現風力擺不同方向的擺動,三個直流風機的特點是體積小重量輕,有利于風力擺的擺動。
方案三:采用四個小型可調速的直流電機組合:四個直流風機組合的正方體形體,可輕易實現各個方向的轉動,轉動兩個背對的風機可以實現擺的直線擺動,四個風機的配合可實現指定角度的擺動,組合的缺點是重量大。
方案選擇:綜合以上方案,最終確定方案三。
1.2角速度傳感器模塊的比較與選擇
方案一:只測量風力擺關于靜止狀態時的偏轉角。采用二維平面內角位移傳感器測量風力擺轉動時關于靜止狀態時的偏轉角,通過控制該偏轉角實現對流風機的控制。該方案軟件處理繁瑣,且二維平面內的角位移傳感器不利于測量風力擺的空間位置,不利于實現對風力擺的精確控制。
方案二:選用雙軸傾角傳感器模塊LE-60-OEMLE-60-OEM,測量重力加速度變化,轉為傾角變化,可測量雙向。具有穩定性高、低功耗、結構簡單等優點。響應速度為5Hz。它可以測量平衡板與水平方向的夾角,x,y方向可以測,但z軸不可測。且操作復雜,軟件處理難度大。
方案三:采用三維角度傳感器。用三維角度傳感器時刻測量風力擺當前姿態,通過處理采集的姿態角數據控制風機帶動風力擺運動。此方案可精確測量風力擺當前姿態,實現對風力擺的精確控制。
方案選擇:綜合比較以上方案,本系統選擇方案三。
1.3主控模塊的比較與選擇
方案一:51系列單片機。STC公司STC12C5A60S2/ AD/PWM系列單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,速度快8-12倍。內部集成2路PWM,8路高速10位A/D轉換可實現對風力擺的控制,基于對該單片機較為熟悉,軟件操作起來更加便捷。
方案二:AVR系列的單片機。該系列單片機較于早期的51單片機,片內資源更豐富,接口也更強大,同時采用的是RISC精簡指令集,在運行速度上較與51有絕對的優勢。而價格低廉的優勢也同樣存在。
方案三:ARM處理器。ARM處理器主要應用于嵌入式系統的開發,支持Thumb(16位)/ARM(32位)雙指令集,兼容性好,大量使用寄存器執行速度快。單從性能上講,AMR絕對強與AVR與51,但其價格昂貴,并不是很適合本次設計。
方案選擇:綜合比較以上方案,最終確定方案一。
2.1陀螺儀測風力擺姿態
采用高精度的陀螺加速度計MPU6050不斷采集風力擺狀態角數據。MPU6050集成了3軸MEMS陀螺儀,3軸MEMS加速度計,以及一個可擴展的數字運動處理器DMP。MPU6050和所有設備寄存器之間的通信采用400kHz的I2C接口,實現高速通信。且內置的可編程卡爾曼濾波器,采用最優化自回歸數據處理算法精確測量風力擺當前狀態角。MPU6050對陀螺儀和加速度計分別用了三個16位的ADC,將其測量的模擬量轉化為可輸出的數字量,通過DMP處理器讀取測量數據然后通過串口輸出。根據輸出的角度θ和加速度a判斷風力擺狀態。陀螺儀原理圖如圖2所示。

圖2 陀螺儀原理圖
(1)當θ=0,a=0時風力擺處于原始位置的靜止狀態;
(2)當θ達到最大,a=0時風力擺處于擺角最大的靜止狀態;
(3)當θ=0,a最大時風力擺處于原始位置的加速狀態。
2.2風力擺運動控制方法
風力擺采用4只45W的直流風機為動力驅動系統。姿態采集模塊采集風力擺當前姿態角,單片機處理姿態角信息調節輸出PWM的占空比,控制四只風機的工作狀態,從而實現對風力擺的控制。
2.3風力擺畫直線運動控制方法
四個風機畫直線的方法是,吹動相對面的兩個風機,吹起其中一個風機到達一定角度后停止,再啟動另外一個風機使風力擺完成來回的擺動,讓激光筆在地面上畫出直線段。如圖3所示,設物體的質量為G,角度傳感器反饋值為θ,風力擺框架的高度為y,所需畫線的長度為x。

由牛頓第二定律可知:

所以要達到畫線的長度x,可算出風力擺需要達到的角度θ,隨即可知風力擺需要提供的動力F,通過軟件PWM調節占空比,使風機的轉速達到一定程度即可是風機吹出的風力達到F。
2.4風力擺畫圓運動控制方法
風力擺畫圓運動需要四個風機的配合,兩個風機的風力提供畫圓的向心力,其他風機配合提供線速度需要的力,如圖4所示,F1和T的合力提供向心力,F2提供做圓周運動的水平力。利用PID算法配合控制PWM波的占空比可實現對風力擺的控制。風機開始工作后,姿態采集模塊不斷采集當前風力擺姿態角狀態,并與之前的狀態比較,使得風力擺的運動狀態逐漸趨向于平穩。PID算法控制器由舵機轉動角度比例P、角度誤差積分I和角度微分D組成。
其輸入e (t)與輸出U (t)的關系為:

它的傳遞函數為:


圖3
根據方案論證采取的方案,該測控系統由STC12C5A60S2單片機做控制芯片,WWD35D4導電塑料電位器作為角度傳感器,四個直流吹風機做風力擺,12864為顯示屏。系統總框圖如圖3所示。
通過角度傳感器將采集到的信息反饋給單片機,融合PID算法和PWM調速功能,精確控制直流風機的運動實現畫直線、畫圓功能。該系統較好的完成了設計要求,并且具有精確度高、穩定性強的特點,整個系統從軟件到硬件都體現優良簡約的風格;系統主要具有采用高精度的陀螺儀,提高精確度;程序算法優良,易于誤差處理,風機控制更穩定LCD液晶顯示,界面友好等特點。
參考文獻
[1]郭天祥.新概念51單片機C 語言教程.入門、提高、開發[M].北京:電子工業出版社,2009.
[2]汪玉成.流電機PWM凋速系統設計[J].場現代化,2007.
[3]高吉祥,朝京.全國大學生電子設計競賽培訓系列教程(電子儀器儀表設計)[M].北京:電子工業出版社,2011.
[4]張明,洪志和,于飛.2011年瑞薩杯2011全國大學生電子設計競賽論文[R].011.
[5]李真,張玉兵,韓晶晶等.基于自由擺的平板控制系統[J].傳感器世界,2012(1):13-16.
[6]冀海燕.高精度慣性陀螺儀誤差系數的快速目標定方法研究[J].工程與試驗,2009,49(1):28-30.
[7]劉金星,李洪文.基于高速單片機的液晶顯示模塊控制[J].液晶與顯示,2011,26(1):88-91.