西華師范大學(xué)電子信息工程學(xué)院 彭子洳
基于RL78/G13MCU板(R5F100LEA)的風(fēng)力擺控制系統(tǒng)
西華師范大學(xué)電子信息工程學(xué)院彭子洳
本風(fēng)力擺控制系統(tǒng)由RL78/G13MCU板(R5F100LEA)單片機(jī)主控模塊、風(fēng)力擺模塊、角度傳感器模塊、液晶顯示模塊、按鍵模塊等組成。系統(tǒng)通過角度傳感器采集角度信息,用RL78/G13MCU板(R5F100LEA)處理姿態(tài)角數(shù)據(jù)后通過PID精確算法調(diào)節(jié)直流風(fēng)機(jī),并通過按鍵實(shí)現(xiàn)風(fēng)力擺工作模式的切換,LCD1602實(shí)時(shí)顯示當(dāng)前風(fēng)力擺的角度和距離,當(dāng)風(fēng)力擺運(yùn)動達(dá)到要求時(shí),LED燈點(diǎn)亮,用于提示功能完成。本系統(tǒng)實(shí)現(xiàn)了風(fēng)力擺在僅受直流風(fēng)機(jī)為動力控制下快速起擺、恢復(fù)靜止、距離和幅度可控等功能,達(dá)到了題目要求。
RL78/G13MCU板(R5F100LEA);角度傳感器;直流風(fēng)機(jī);PID算法
測量控制系統(tǒng)是當(dāng)今社會的一個(gè)主流,具有相當(dāng)大的優(yōu)勢。在如今社會信息化和移動計(jì)算機(jī)應(yīng)用的飛速發(fā)展的道路上,測量控制系統(tǒng)廣泛應(yīng)用于電子、電力、機(jī)械、冶金、化工、航海航天等各個(gè)學(xué)科領(lǐng)域。風(fēng)力擺控制系統(tǒng)就是基于風(fēng)力來控制物體運(yùn)動的自動控制系統(tǒng)。
1.1任務(wù)
一長約 60cm~70cm 的細(xì)管上端用萬向節(jié)固定在支架上,下方懸掛一組(2~4 只)直流風(fēng)機(jī),構(gòu)成一風(fēng)力擺,如圖1所示。風(fēng)力擺上安裝一向下的激光筆,靜止時(shí),激光筆的下端距地面不超過20cm。設(shè)計(jì)一測控系統(tǒng),控制驅(qū)動各風(fēng)機(jī)使風(fēng)力擺按照一定規(guī)律運(yùn)動,激光筆在地面畫出要求的軌跡。
1.2要求
(1)從靜止開始,15s 內(nèi)控制風(fēng)力擺做類似自由擺運(yùn)動,使激光筆穩(wěn)定地在地面畫出一條長度不短于 50cm 的直線段,其線性度偏差不大于±2.5cm,并且具有較好的重復(fù)性;
(2)從靜止開始,15s 內(nèi)完成幅度可控的擺動,畫出長度在30—60cm 間可設(shè)置,長度偏差不大于±2.5cm 的直線段,并且具有較好的重復(fù)性;
(3)可設(shè)定擺動方向,風(fēng)力擺從靜止開始,15s 內(nèi)按照設(shè)置的方向(角度)擺動,畫出不短于 20cm 的直線段;
(4)將風(fēng)力擺拉起一定角度(30°—45°)放開,5s 內(nèi)使風(fēng)力擺制動達(dá)到靜止?fàn)顟B(tài)。
2.1系統(tǒng)結(jié)構(gòu)
根據(jù)題目要求設(shè)計(jì)的系統(tǒng)總體框圖如圖1所示,本系統(tǒng)有主控制器(RL78/G13MCU板(R5F100LEA))、軸流風(fēng)機(jī)、角度傳感器、液晶顯示LCD1602、按鍵、激光頭、蜂鳴器等模塊構(gòu)成。
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
2.2風(fēng)力擺運(yùn)動控制方案論證
2.2.1主控模塊的選擇
方案一:STC89C51單片機(jī)作主控芯片,該芯片價(jià)格低廉,結(jié)構(gòu)簡單,但其運(yùn)算能力有限,無法達(dá)到較高的精度,需要外接大量外圍電路。
方案二:采用STM32單片機(jī)作主控芯片,該單片機(jī)可以采用模塊化程序設(shè)計(jì),編程相對較簡單,系統(tǒng)資源豐富,但是價(jià)格相對較高。
方案三:采用RL78/G13 MCU板(R5F100LEA)單片機(jī)作主控芯片,該單片機(jī)系統(tǒng)配置高,程序運(yùn)行快,使用方便,且模塊比STM32小,方便作品封裝。
通過比較,本系統(tǒng)要求及時(shí)迅速對運(yùn)動過程中風(fēng)力擺的姿態(tài)進(jìn)行獲取和運(yùn)算,所以采用方案三。
2.2.2風(fēng)力擺的選擇
方案一:采用2只直流風(fēng)機(jī)作為動力系統(tǒng)。采用2只直流風(fēng)機(jī)并排反向而立,分別位于擺桿兩側(cè),此方案難實(shí)現(xiàn)角度控制和畫圓功能。
方案二:采用3只直流風(fēng)機(jī)作為動力系統(tǒng)。三只風(fēng)機(jī)為等邊三角形。對于控制風(fēng)力擺轉(zhuǎn)動過程中狀態(tài)微調(diào)方面有提升,但由于相鄰風(fēng)機(jī)夾角為120度,比較大,不利于精確控制風(fēng)力擺的狀態(tài)。
方案三:采用4只直流風(fēng)機(jī)作為動力系統(tǒng)。用木板構(gòu)成十字架,從中間插入碳素纖維管,此方案風(fēng)力擺負(fù)載最重,但結(jié)構(gòu)穩(wěn)定,對于控制風(fēng)力擺狀態(tài)最為準(zhǔn)確,且動力十足。
綜合上述比較,考慮到風(fēng)力擺在做往返運(yùn)動中的實(shí)時(shí)性和精確性,本系統(tǒng)采用方案三。
2.2.3控制算法的選擇
方案一:采用模糊控制算法,模糊控制有許多良好的特性,它不需要事先知道對象的數(shù)學(xué)模型,系統(tǒng)響應(yīng)快、超調(diào)小、過渡過程短等優(yōu)點(diǎn),但編程復(fù)雜,數(shù)據(jù)處理量大,且難以用已有規(guī)律描述復(fù)雜系統(tǒng)。
方案二:采用PID算法,按照比例、積分、微分的函數(shù)關(guān)系,進(jìn)行運(yùn)算??刂凭雀?,且是應(yīng)用最為廣泛的一種自動控制器。它具有原理簡單,易于實(shí)現(xiàn),適用面廣,控制參數(shù)相互獨(dú)立,參數(shù)的選定比較簡單等優(yōu)點(diǎn)。
通過比較,PID算法能夠?qū)\(yùn)動過程中風(fēng)力擺的姿態(tài)進(jìn)行調(diào)整,所以本系統(tǒng)采用方案二。
2.2.4顯示模塊選擇
方案一:使用LED數(shù)碼管顯示,顯示亮度高,但顯示內(nèi)容較單一,一般只能顯示數(shù)字和簡單的字符。
方案二:LCD1602液晶顯示,可以顯示豐富的符號指示信息以及文字指示信息。
通過比較,設(shè)計(jì)選用方案二LCD1602液晶顯示模塊。
2.2.5角度傳感器的選擇
方案一:SCA60C單獨(dú)傾角傳感器,測量范圍+90度到-90度,單片機(jī)5V供電,比例電壓輸出,模擬0.5V到4.5V輸出,耗能低。
方案二:采用三維角速度傳感器MPU6050,MPU6050為整合性6軸運(yùn)動處理組件(三軸陀螺儀 + 三軸加速度),該傳感器可準(zhǔn)確追蹤快速與慢速動作,數(shù)據(jù)讀取快,通過計(jì)算得到三維角度值,方便對風(fēng)力擺進(jìn)行控制。
根據(jù)題目要求,鑒于三維角度和穩(wěn)定性的要求,選擇方案二來采集角度信息。
2.2.6電源模塊的論證與選擇
方案一:使用單電源接自制線性直流穩(wěn)壓源模塊。單電源同時(shí)給控制系統(tǒng)和風(fēng)機(jī)供電,方案簡單易操作。但風(fēng)機(jī)轉(zhuǎn)動過程中不僅會給電源帶來紋波,產(chǎn)生的反電壓容易燒毀單片機(jī),而且單電源工作負(fù)載大,耗電快。
方案二:采用雙電源供電。風(fēng)機(jī)驅(qū)動電源和控制電源分開,控制電機(jī)部分通過光耦隔離。電機(jī)使用12V鋰電池供電,單片機(jī)控制系統(tǒng)用另一塊電池接線性直流穩(wěn)壓源模塊供電。此方案可確保系統(tǒng)的穩(wěn)定性,且滿足了系統(tǒng)對供電的需求。
綜合上述比較,考慮系統(tǒng)的安全性、穩(wěn)定性以及可靠性,本系統(tǒng)采用方案二。
3.1風(fēng)力擺的狀態(tài)測量
采用高精度的陀螺加速度計(jì)MPU6050采集三維角度信息,MPU6050實(shí)時(shí)檢測風(fēng)擺姿態(tài),獲得其最大推力,幅度可控部分通過構(gòu)建數(shù)學(xué)模型,方程式為F=a(pith-mpith)2+mF,其中F為電機(jī)推力,pith為風(fēng)擺俯仰,mpith為目標(biāo)俯仰,mF為最大電機(jī)推力,通過函數(shù)模型,獲得到達(dá)指定目標(biāo)時(shí)的電機(jī)推力實(shí)現(xiàn)。在本系統(tǒng)單片機(jī)中通過一定的算法,計(jì)算出風(fēng)力擺的角度,然后根據(jù)動作要求控制風(fēng)機(jī)的轉(zhuǎn)速,控制四個(gè)風(fēng)機(jī)轉(zhuǎn)動完成相應(yīng)的功能。
3.2風(fēng)力擺的運(yùn)動控制
本系統(tǒng)采用PID算法來控制風(fēng)機(jī)轉(zhuǎn)動的速度。風(fēng)機(jī)開始工作后,姿態(tài)采集模塊不斷采集當(dāng)前風(fēng)力擺姿態(tài)角狀態(tài),并與之前的狀態(tài)比較,使得風(fēng)力擺的運(yùn)動狀態(tài)逐漸趨向平穩(wěn)。通過PID算法去控制各個(gè)風(fēng)機(jī)是否轉(zhuǎn)動以及轉(zhuǎn)動速度的大小。
3.2.1風(fēng)力擺的幅度控制
圖2 風(fēng)力擺結(jié)構(gòu)
當(dāng)風(fēng)力擺靜止時(shí),擺桿豎直向下,通過單片機(jī)程序控制風(fēng)機(jī)的轉(zhuǎn)動,使風(fēng)力擺起擺。由圖2可知,風(fēng)力擺通過激光筆在地面畫的直線段與擺桿頂端到地面的豎直距離始終成一個(gè)直角。設(shè)激光筆在地面畫的直線段為x ,擺桿的轉(zhuǎn)動頂端到地面的豎直距離為y, 擺桿擺動的角度為θ。x是我們需要在地面上畫的線性長度,y值可以通過直尺量出。則擺桿擺動的角度θ=arctan(x/y),通過程序設(shè)定角度,從而達(dá)到幅度擺動的控制。
圖3 畫圓示意圖
圖4 圓底示意圖
3.2.2風(fēng)力擺的圓周運(yùn)動控制
如圖3、圖4,四個(gè)軸流風(fēng)機(jī)A、B、C、D,A和C用來使風(fēng)力擺的擺桿與重力方向呈現(xiàn)設(shè)置夾角,B和D用來推動擺桿沿切線方向運(yùn)動,由于擺桿為剛體,同時(shí)擺桿頂部為萬向節(jié),事實(shí)上,只要我們調(diào)節(jié)好控制A和C電機(jī)的PID參數(shù)使擺桿穩(wěn)定到設(shè)定的角度,然后通過B和D推動擺桿,擺桿就會沿切線運(yùn)動,繪制出圓形軌跡。
3.2.3控制算法的理論分析
本系統(tǒng)幅度可控部分采用構(gòu)建函數(shù)模型實(shí)現(xiàn),角度可控、畫圓及快速恢復(fù)原狀態(tài)部分采用PID算法來控制各個(gè)風(fēng)機(jī)轉(zhuǎn)速。風(fēng)機(jī)開始工作后,姿態(tài)采集模塊不斷采集當(dāng)前風(fēng)力擺姿態(tài)角狀態(tài),并與之前的狀態(tài)比較,使得風(fēng)力擺的運(yùn)動狀態(tài)逐漸趨向于平穩(wěn)。PID算法控制器由風(fēng)力擺轉(zhuǎn)動角度比例P、角度誤差積分I和角度微分D組成。 其輸入e(t)與輸出U(t)的關(guān)系為:
風(fēng)力擺轉(zhuǎn)動角度比例P:對風(fēng)力擺角速度進(jìn)行比例調(diào)整,即對風(fēng)力擺轉(zhuǎn)動速度調(diào)整。比例越大,調(diào)節(jié)速度越快。但不能過大,過大可能造成四風(fēng)機(jī)因工作狀態(tài)突變使擺桿不穩(wěn)定。 角度誤差積分I:使系統(tǒng)消除穩(wěn)態(tài)誤差,提高無差度。加入積分調(diào)節(jié)可使系統(tǒng)穩(wěn)定性下降,動態(tài)響應(yīng)變慢。本系統(tǒng)追求更快更穩(wěn)完成對風(fēng)力擺的控制,因此,本系統(tǒng)對積分調(diào)節(jié)的需要就非常弱。即保證在不需要時(shí)系統(tǒng)不會受到影響。 角度微分D:微分作用反映風(fēng)力擺角度的變化率,即角速度。具有預(yù)見性,能預(yù)見偏差變化的趨勢因此能產(chǎn)生超前的控制作用,在偏差還沒有形成之前,已被微分調(diào)節(jié)作用消除。因此,可以改善系統(tǒng)的動態(tài)性能。在微分時(shí)間選擇合適情況下,減少調(diào)節(jié)時(shí)間。
4.1硬件設(shè)計(jì)
4.1.1主控制模塊
本設(shè)計(jì)的主控芯片選擇RL78/G13MCU板(R5F100LEA),通過RL78/G13MCU板(R5F100LEA)控制驅(qū)動部分,進(jìn)而控制軸流風(fēng)機(jī)的擺動,結(jié)構(gòu)圖如圖5所示。
圖5 主控制模塊
圖6 按鍵控制
4.1.2 按鍵模塊
本系統(tǒng)通過按鍵按下選擇風(fēng)力擺的工作模式,以實(shí)現(xiàn)設(shè)計(jì)的基本要求,當(dāng)風(fēng)力擺到達(dá)基本要求,蜂鳴器發(fā)出刺耳的聲音,LED燈亮給予提示。原理圖如圖6所示。
按鍵1到5控制模式1到模式5,即基本要求中的四項(xiàng)要求和發(fā)揮部分的第一的要求。按鍵6為確認(rèn)鍵,按鍵7加角度,按鍵8減角度。
4.2軟件設(shè)計(jì)
4.2.1編程控制
基本要求一:要實(shí)現(xiàn)風(fēng)力擺做自由擺運(yùn)動,通過單片機(jī)一個(gè)直流風(fēng)機(jī)的延時(shí),運(yùn)用蕩秋千的原理,實(shí)現(xiàn)擺動。
基本要求二:擺幅可控,可設(shè)計(jì)。每次在基本要求一的基礎(chǔ)上,在風(fēng)機(jī)換向的時(shí)候進(jìn)行PWM脈寬調(diào)節(jié)控制,進(jìn)行風(fēng)力的調(diào)節(jié)。
基本要求三:這一步主要是開始使用兩個(gè)方向的風(fēng)機(jī)進(jìn)行動力合成,從而實(shí)現(xiàn)擺動方向的改變,換向的時(shí)候兩組電機(jī)同時(shí)換向。方向可以通過矢量合成,通過查詢sin表格,進(jìn)行每個(gè)風(fēng)力計(jì)算。(在路勁規(guī)劃好的基礎(chǔ)上可以用陀螺儀進(jìn)行路徑修正)。
基本要求四:該要求的思路和基本要求一的思路正好反過來,需要有陀螺儀的輔助,給定陀螺儀反饋回來的角加速度,實(shí)現(xiàn)制動,在擺動角度比較小的時(shí)候再關(guān)閉電機(jī)即可。
4.2.2程序設(shè)計(jì)流程圖
圖7 主流程圖
5.1硬件測試
5.1.1測試儀器
測試使用的儀器設(shè)備如表1所示。
表1 測試使用儀器與設(shè)備
5.1.2測試方法
數(shù)值萬用表主要用來測試分立元件的電阻、壓降、漏電流、截止、導(dǎo)通等參數(shù)。
可編程線性直流電源用于檢測穩(wěn)壓電源模塊的輸出電壓和為其他模塊提供電源。
函數(shù)發(fā)生器在測試時(shí)提供PWM波,通過改變頻率和占空比,來調(diào)控電機(jī)的轉(zhuǎn)速。
直尺用來測量擺桿的長度,即擺動的距離,秒表用于驗(yàn)證擺動的時(shí)間。
5.1.3測試數(shù)據(jù)
(1)驅(qū)動風(fēng)力擺工作,使激光筆穩(wěn)定地在地面畫出一條長度不短于 50cm的直線段,來回五次,記錄其由靜止至開始自由擺時(shí)間及最大偏差距離。測試數(shù)據(jù)如表2所示。
表2 要求1測量數(shù)據(jù)
(2)從靜止開始,15s 內(nèi)完成幅度可控的擺動,畫出長度在30-60cm 間可設(shè)置,長度偏差不大于±2.5cm 的直線段,并且具有較好的重復(fù)性。測試數(shù)據(jù)如圖表3所示。
表3 要求2測量數(shù)據(jù)
(3)可設(shè)定擺動方向,風(fēng)力擺從靜止開始,15s 內(nèi)按照設(shè)置的方向(角度)擺動,畫出不短于 20cm 的直線段。測試數(shù)據(jù)如圖表4所示。
表4 要求3測量數(shù)據(jù)
(4) 將風(fēng)力擺拉起一定角度(30°—45°)放開,5s 內(nèi)使風(fēng)力擺制動達(dá)到靜
止?fàn)顟B(tài)。測試數(shù)據(jù)如圖表5所示。
表5 要求4測量數(shù)據(jù)
5.2誤差分析
本系統(tǒng)通過程序控制擺動角度,再通過反饋控制PWM波進(jìn)而控制風(fēng)機(jī)的轉(zhuǎn)速,實(shí)現(xiàn)在限定時(shí)間里擺動一定長度。角度的偏差,是由于空氣阻力和角度測量誤差的影響.題目限定的線性誤差不大于±2.5cm ,通過計(jì)算可知角度的偏差在1°左右。
本風(fēng)力擺控制系統(tǒng)由RL78/G13MCU板(R5F100LEA)單片機(jī)為控制核心,利用4個(gè)直流風(fēng)機(jī)組成風(fēng)力擺,用RL78/G13MCU板(R5F100LEA)處理姿態(tài)角數(shù)據(jù)后通過PID精確算法和PWM調(diào)速功能來調(diào)節(jié)直流風(fēng)機(jī),并通過按鍵實(shí)現(xiàn)風(fēng)力擺工作模式的切換,LCD1602實(shí)時(shí)顯示當(dāng)前風(fēng)力擺的角度和距離,當(dāng)風(fēng)力擺運(yùn)動達(dá)到要求時(shí),LED燈點(diǎn)亮,用于提示功能完成。本系統(tǒng)實(shí)現(xiàn)了風(fēng)力擺在僅受直流風(fēng)機(jī)為動力控制下快速起擺、恢復(fù)靜止、距離和幅度可控等功能,達(dá)到了題目要求。在測試時(shí)存在一定偏差,是由于手動制作外部結(jié)構(gòu),風(fēng)擺外形不夠規(guī)則、外力因素,程序等成為誤差的主要來源。所以風(fēng)力擺擺動角度控制不好,具體的控制算法有待進(jìn)一步優(yōu)化。
[1]張有志.全國大學(xué)生電子設(shè)計(jì)競賽培訓(xùn)教程[M].北京:清華大學(xué)出版社,2013.
[2]陳永真,陳之勃.全國大學(xué)生電子設(shè)計(jì)競賽硬件電路設(shè)計(jì)精解[M].北京:電子工業(yè)出版社,2011.
[3]楊莘,劉海濤.基于STM32的兩輪自平衡遙控小車[J].數(shù)字技術(shù)與應(yīng)用,天津:2014.
[4]常國權(quán),戴國強(qiáng).基于STM32的四軸飛行器飛控系統(tǒng)設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,北京:2015.
[5]汪玉成.流電機(jī)PWM調(diào)速系統(tǒng)設(shè)計(jì)[J].場現(xiàn)代化,2007.
[6]陳伯時(shí).電力拖動自動控制系統(tǒng)[M].北京:機(jī)械工業(yè)出版社,1996.