改造者:黃賢帥
?
基于STM32的風(fēng)力擺控制系統(tǒng)
改造者:黃賢帥
本系統(tǒng)以STM32 ARM單片機(jī)為控制核心,由功能按鍵選擇控制實(shí)現(xiàn)不同過(guò)程的切換,陀螺儀傳感器對(duì)擺桿的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)檢測(cè),形成單閉環(huán)的控制系統(tǒng)。STM32 ARM單片機(jī)對(duì)陀螺儀傳感器采集回來(lái)的數(shù)據(jù)進(jìn)行處理,得出的控制量通過(guò)脈寬調(diào)制方式作用于直流風(fēng)機(jī)驅(qū)動(dòng)電路實(shí)現(xiàn)對(duì)風(fēng)力擺的控制。本系統(tǒng)實(shí)現(xiàn)了風(fēng)力擺在只受軸流風(fēng)機(jī)為動(dòng)力控制下快速起擺、畫(huà)圓、恢復(fù)靜止的功能。
設(shè)計(jì)任務(wù)
設(shè)計(jì)并制作一長(zhǎng)約60~70cm的細(xì)管上端用萬(wàn)向節(jié)固定在支架上,下方懸掛一組(2~4只)直流風(fēng)機(jī),構(gòu)成一風(fēng)力擺,如圖1所示。風(fēng)力擺上安裝一向下的激光筆,靜止時(shí),激光筆的下端距地面不超過(guò)20cm。設(shè)計(jì)一測(cè)控系統(tǒng),控制各風(fēng)機(jī)使風(fēng)力擺按照一定規(guī)律運(yùn)動(dòng),激光筆在地面畫(huà)出要求的軌跡。
圖1 風(fēng)力擺結(jié)構(gòu)示意圖
設(shè)計(jì)要求
(1)從靜止開(kāi)始,15s內(nèi)控制風(fēng)力擺做類似自由擺運(yùn)動(dòng),使激光筆穩(wěn)定地在地面畫(huà)出一條長(zhǎng)度不短于50cm的直線段,其線性度偏差不大于±2.5cm,并且具有較好的重復(fù)性;
(2)從靜止開(kāi)始,15s內(nèi)完成幅度可控的擺動(dòng),畫(huà)出長(zhǎng)度在30-60cm間可設(shè)置,長(zhǎng)度偏差不大于±2.5cm的直線段,并且具有較好的重復(fù)性;
(3)可設(shè)定擺動(dòng)方向,風(fēng)力擺從靜止開(kāi)始,15s內(nèi)按照設(shè)置的方向(角度) 擺動(dòng),畫(huà)出不短于20cm的直線段;
(4)將風(fēng)力擺拉起一定角度(30~45°)放開(kāi),5s內(nèi)使風(fēng)力擺制動(dòng)達(dá)到靜止?fàn)顟B(tài);
(5)以風(fēng)力擺靜止時(shí)激光筆的光點(diǎn)為圓心,驅(qū)動(dòng)風(fēng)力擺用激光筆在地面畫(huà)圓,30s內(nèi)需重復(fù)3次;圓半徑可在15~35cm范圍內(nèi)設(shè)置,激光筆畫(huà)出的軌跡應(yīng)落在指定半徑±2.5cm的圓環(huán)內(nèi)。
本系統(tǒng)的機(jī)械結(jié)構(gòu)采用單臂梁結(jié)構(gòu),萬(wàn)向節(jié)固定在伸出的臂桿上,自由擺桿與萬(wàn)向節(jié)鑲嵌起來(lái),自由擺的狀態(tài)是垂直向下。在自由擺桿的下方把四個(gè)軸流風(fēng)機(jī)呈十字形分布,使得風(fēng)向分別朝向前后左右,形成起擺動(dòng)力。擺桿是用鋁合金制作,陀螺儀平放在軸流風(fēng)機(jī)的上方,很好地檢測(cè)運(yùn)動(dòng)狀態(tài)。同時(shí)把激光筆安裝在自由擺下方垂直向下。
本系統(tǒng)要求能夠精確控制各風(fēng)機(jī)使風(fēng)力擺按照一定規(guī)律運(yùn)動(dòng),故使用陀螺儀傳感器、直流風(fēng)機(jī)驅(qū)動(dòng)模塊、STM32 ARM單片機(jī)等模塊實(shí)現(xiàn)符合系統(tǒng)要求的設(shè)計(jì),下面分別論證對(duì)于這幾個(gè)模塊的選擇。
角度測(cè)量方案的論證與選擇
方案一:選用雙軸傾角傳感器模塊LE-60-OEMLE-60-OEM,測(cè)量重力加速度變化,轉(zhuǎn)為傾角變化,可測(cè)量雙向。具有穩(wěn)定性高、低功耗、結(jié)構(gòu)簡(jiǎn)單等優(yōu)點(diǎn)。響應(yīng)速度為5Hz。它可以測(cè)量平衡板與水平方向的夾角,x,y方向可以測(cè),但z軸不可測(cè)。且操作復(fù)雜,軟件處理難度大。
方案二: 采用陀螺儀MPU6050模塊,MPU6050為全球首例整合性6軸運(yùn)動(dòng)處理組件,相較于多組件方案,免除了組合陀螺儀與加速器時(shí)之軸間差的問(wèn)題,減少了大量的封裝空間。并且以串口模式向MCU輸出MPU6050的測(cè)量數(shù)據(jù)。經(jīng)過(guò)軟件濾波后可以得到較為精準(zhǔn)的測(cè)量值。此方案優(yōu)點(diǎn)是該模塊體積小,無(wú)需復(fù)雜的機(jī)械結(jié)構(gòu)輔助。且與MUC連接僅需要2個(gè)I/O口。
基于上述理論分析和實(shí)際情況,故采用方案二。
直流風(fēng)機(jī)驅(qū)動(dòng)模塊的論證與選擇
方案一 : 采用L298N芯片構(gòu)成的驅(qū)動(dòng)模塊,L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片。該芯片采用15腳封裝。工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A,采用標(biāo)準(zhǔn)邏輯電平信號(hào)控制。此方案可以通過(guò)PWM信號(hào)控制輸出電壓,但是持續(xù)工作電流為2A,無(wú)法滿足大電流風(fēng)機(jī)的需求。
方案二 : 采用雙BTN7971構(gòu)成H橋的驅(qū)動(dòng)模塊,BTN7971芯片是應(yīng)用于電機(jī)驅(qū)動(dòng)的大電流半橋高集成芯片,最高工作電壓為24V,驅(qū)動(dòng)電流最高為70A。集成的驅(qū)動(dòng)IC具有邏輯電平輸入、電流診斷、斜率調(diào)節(jié)、死區(qū)時(shí)間產(chǎn)生和過(guò)溫、過(guò)壓、欠壓、過(guò)流及短路保護(hù)的功能。此方案優(yōu)點(diǎn)是驅(qū)動(dòng)模塊工作頻率高,響應(yīng)時(shí)間短,能夠在較短的時(shí)間里快速調(diào)節(jié)風(fēng)機(jī)轉(zhuǎn)速。
基于上述理論分析和實(shí)際情況,故采用方案二。
控制系統(tǒng)的論證與選擇
方案一:采用STC12C5A60S2單片機(jī)作為主控芯片,STC12C5A60S2是一款增強(qiáng)型51內(nèi)核的8位單片機(jī),與傳統(tǒng)51單片機(jī)相比具有程序執(zhí)行速度較快、 A/ D 數(shù)據(jù)處理便捷、PWM輸出方便等優(yōu)點(diǎn),但是其僅僅集成兩路外部中斷和三路定時(shí)器,對(duì)外部輸入信號(hào)的處理能力略顯不足。
方案二:采用嵌入式系統(tǒng)STMF103ZET6的ARM單片機(jī)作為控制核心。STMF103ZET6是基于cortex-M3的32位控制器,具有運(yùn)行速度快,外圍器件簡(jiǎn)單,功耗低等特點(diǎn)。
本系統(tǒng)控制算法涉及單閉環(huán),需要采集陀螺儀的實(shí)時(shí)信號(hào),并且多通道輸出PWM調(diào)制,為保證輸入信號(hào)和輸出控制快速與精確地處理,根據(jù)實(shí)用、高效的原則,綜合比較以上兩種方案,故采用方案二。
風(fēng)力擺在起擺過(guò)程中,包含了嚴(yán)重的非線性特性,不僅要求風(fēng)力擺起擺速度快, 而且還要考慮線性度特性。由于風(fēng)力擺要擺上一定的角度值,只對(duì)左右的兩個(gè)軸流風(fēng)機(jī)進(jìn)行風(fēng)速控制,可以讓風(fēng)力擺起擺,但是在要求快速起擺時(shí),會(huì)產(chǎn)生一定的線性偏差,通過(guò)陀螺儀的反饋量進(jìn)行調(diào)整控制前后的風(fēng)機(jī)進(jìn)行誤差消除,可以滿足系統(tǒng)要求。
電路的設(shè)計(jì)
系統(tǒng)總體框圖如圖2所示。
按鍵模塊設(shè)計(jì)
通過(guò)74ls148芯片構(gòu)成中斷式鍵盤(pán),74ls148是一款8線-3線的編碼芯片,其輸入輸出均為低電平有效。對(duì)其外接8個(gè)機(jī)械按鍵經(jīng)過(guò)編碼后,通過(guò)MCU的中斷程序處理得到鍵值。此方案不需要程序一直執(zhí)行鍵盤(pán)掃描程序,只有當(dāng)輸入有效時(shí)才進(jìn)入中斷處理得到鍵值,有效地提高程序的執(zhí)行效率,按鍵模塊電路原理圖如圖3所示。
圖2 系統(tǒng)總體框圖
圖3 按鍵模塊電路原理圖
程序的設(shè)計(jì)
系統(tǒng)一開(kāi)始就進(jìn)行初始化設(shè)計(jì),通過(guò)按下指定的按鍵進(jìn)行功能的選擇。系統(tǒng)程序流程圖如圖4所示。
測(cè)試方案
調(diào)試軸流風(fēng)機(jī)和陀螺儀等各個(gè)模塊分別能夠正常工作,之后將各個(gè)模塊組裝在一起,燒入程序逐漸調(diào)試整個(gè)系統(tǒng)正常工作。
圖4 系統(tǒng)程序流程圖
測(cè)試條件與儀器
測(cè)試條件:多長(zhǎng)檢查硬件電路,確保硬件電路無(wú)虛焊,并且連線無(wú)誤。
測(cè)試儀器:數(shù)字萬(wàn)用表、量角器、刻度尺、卷尺、秒表。
測(cè)試結(jié)果
根據(jù)系統(tǒng)設(shè)計(jì)要求進(jìn)行逐項(xiàng)測(cè)試,設(shè)計(jì)要求(1)的測(cè)試結(jié)果如表1所示,設(shè)計(jì)要求(2)的測(cè)試結(jié)果如表2所示,設(shè)計(jì)要求(3)的測(cè)試結(jié)果如表3所示,設(shè)計(jì)要求(4)的測(cè)試結(jié)果如表4所示,設(shè)計(jì)要求(5)的測(cè)試結(jié)果如表5所示,設(shè)計(jì)要求(6)的測(cè)試結(jié)果如表6所示。統(tǒng)誤差;
表1 設(shè)計(jì)要求(1)的測(cè)試結(jié)果
表2 設(shè)計(jì)要求(2)的測(cè)試結(jié)果
表3 設(shè)計(jì)要求(3)的測(cè)試結(jié)果
表4 設(shè)計(jì)要求(4)的測(cè)試結(jié)果
(2)風(fēng)力擺擺動(dòng)角度由陀螺儀傳感器采集數(shù)據(jù),經(jīng)處理器計(jì)算控制直流風(fēng)機(jī)轉(zhuǎn)動(dòng)的過(guò)程需要消耗一定的時(shí)間。在這一定的時(shí)間之內(nèi)風(fēng)力擺又?jǐn)[動(dòng)了一定的角度。因此,電機(jī)的轉(zhuǎn)動(dòng)總是晚于風(fēng)力擺當(dāng)時(shí)的角度產(chǎn)生誤差。
根據(jù)上述測(cè)試數(shù)據(jù),可以得出以下結(jié)論:
(1)從靜止開(kāi)始,15s內(nèi)風(fēng)力擺做類似自由擺運(yùn)動(dòng),使激光筆穩(wěn)定地在地面畫(huà)出一條長(zhǎng)度不短于50cm的直線段,其線性度偏差不大于±2.5cm,并且具有較好的重復(fù)性;
(2)從靜止開(kāi)始,15s內(nèi)完成幅度可控的擺動(dòng),畫(huà)出長(zhǎng)度在30~60cm間可設(shè)置,長(zhǎng)度偏差不大于±2.5cm的直線段,并且具有較好的重復(fù)性;
(3)可設(shè)定擺動(dòng)方向,風(fēng)力擺從靜止開(kāi)始,15s內(nèi)按照設(shè)置的方向(角度) 擺動(dòng),畫(huà)出不短于20cm的直線段;
(4)將風(fēng)力擺拉起一定角度(30~45°)放開(kāi),5s內(nèi)風(fēng)力擺制動(dòng)達(dá)到靜止?fàn)顟B(tài);
(5)以風(fēng)力擺靜止時(shí)激光筆的光點(diǎn)為圓心,驅(qū)動(dòng)風(fēng)力擺用激光筆在地面畫(huà) 圓,30s內(nèi)需重復(fù)3次;圓半徑可在15~35cm范圍內(nèi)設(shè)置,激光筆畫(huà)出的軌跡落在指定半徑±2.5cm的圓環(huán)內(nèi)。
綜上所述,本系統(tǒng)達(dá)到設(shè)計(jì)要求。
表5 設(shè)計(jì)要求(5)的測(cè)試結(jié)果
測(cè)試結(jié)果分析
誤差分析:
(1)風(fēng)力擺無(wú)法避免阻尼和前后擺動(dòng)造成相應(yīng)的系
黃賢帥
華南理工大學(xué)廣州學(xué)院
黃賢帥(1987-)男,廣東廣州人,本科生,助理工程師,主要研究方向?yàn)榍度胧较到y(tǒng)、單片機(jī)應(yīng)用。
10.3969/j.issn.1001-8972.2016.01.027