国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于STM32的風力擺控制系統(tǒng)設(shè)計

2021-01-14 00:47:20畢濤葛寶川劉迪楊莉莉
現(xiàn)代信息科技 2021年14期

畢濤 葛寶川 劉迪 楊莉莉

摘 ?要:本系統(tǒng)以STM32為核心控制芯片,由姿態(tài)采集模塊、風力擺模塊、人機交互模塊及機械結(jié)構(gòu)組成閉環(huán)控制系統(tǒng)。姿態(tài)采集模塊采用六軸加速度陀螺儀MPU6050,采集姿態(tài)數(shù)據(jù)后通過內(nèi)部集成的DMP處理單元進行姿態(tài)角的解算。STM32根據(jù)解算得到的角度計算風力擺的狀態(tài),通過調(diào)節(jié)各狀態(tài)量PID參數(shù)實現(xiàn)對風力擺擺動幅度和線性度的控制,將輸出量和輸入量進行線性分解,控制風力擺完成按指定軌跡運動。本系統(tǒng)受到外部干擾后能快速恢復到指定狀態(tài)。

關(guān)鍵詞:風力擺;STM32;MPU6050;PID

中圖分類號:TP273 ? ? 文獻標識碼:A文章編號:2096-4706(2021)14-0068-04

Abstract: This system takes STM32 as the core control chip, and consists of attitude acquisition module, wind pendulum module, human-computer interaction module and mechanical structure, forming a closed-loop control system. Six axis acceleration gyroscope MPU6050 is used in the attitude acquisition module. After collecting the attitude data, the attitude angle is calculated through the internal integrated DMP processing unit. STM32 calculates the state of the wind pendulum according to the angle obtained by the solution,controls the swing amplitude and linearity of the wind pendulum by adjusting the PID parameters of each state quantity, linearly decomposes the volume of output and input, and controls the wind pendulum to move according to the specified track. The system can quickly recover to the specified state after external interference.

Keywords: wind pendulum; STM32; MPU6050; PID

0 ?引 ?言

風力擺控制系統(tǒng)是一種利用風力作為動力對物體進行位置控制的擺動裝置控制系統(tǒng)。在工業(yè)自動化生產(chǎn)、飛行控制系統(tǒng)、娛樂場所、自動控制教學領(lǐng)域中,風力擺系統(tǒng)有很高的實用價值。目前的普遍問題是風力擺系統(tǒng)的自動控制水平不高。本文主要介紹風力擺控制系統(tǒng)的整體結(jié)構(gòu)、硬件的選取、運動控制算法的分析、軟件實施方案及實驗結(jié)果的分析,讀者可以結(jié)合所學的自動控制原理相關(guān)知識,設(shè)計風力擺系統(tǒng)并加以改進。

1 ?系統(tǒng)結(jié)構(gòu)

本系統(tǒng)整體結(jié)構(gòu)如圖1所示,具體要求如下:

首先,控制風力擺做自由擺運動,在15秒內(nèi)使激光筆在地面畫出一條直線段,長度不短于50厘米,誤差小于2.5厘米;其次,讓風力擺以一定角度(30°~45°)擺動,5秒內(nèi)使風力擺靜止;最后,驅(qū)動風力擺用激光筆在地面畫圓,圓的半徑可在15~35厘米范圍內(nèi)可調(diào),誤差小于2.5厘米。

主控模塊負責外部輸入信號的處理和產(chǎn)生所需的輸出信號;人機交互模塊主要完成參數(shù)的設(shè)定和顯示功能;傾角采集模塊主要負責將風力擺的實時角度信息進行采集并轉(zhuǎn)換為數(shù)字信號,傳送給CPU進行處理;風機驅(qū)動模塊負責產(chǎn)生PWM脈沖驅(qū)動風機轉(zhuǎn)動;供電電源模塊主要提供整個系統(tǒng)中所需的12 V和5 V電源。風力擺的系統(tǒng)結(jié)構(gòu)如圖2所示。

2 ?系統(tǒng)硬件方案設(shè)計

2.1 ?主控模塊

采用STM32作為核心控制芯片。STM32F4支持J-link仿真調(diào)試,調(diào)試方便;資源豐富,有16個中斷源、51個快速IO口;運行速度快,頻率最高可達到72 MHz,完全能勝任題目任務要求。STM32不僅內(nèi)含硬件IIC電路,可以實現(xiàn)較高速率的采樣,并且可以直接設(shè)置輸出PWM波。STM32中FPU可以專門進行浮點運算,大部分浮點運算可以在一個指令周期內(nèi)完成。

2.2 ?姿態(tài)采集模塊

采用MPU6050六軸傳感器。MPU6050集成了陀螺儀和加速度傳感器,可以測量三軸加速度和三軸角速度。MPU6050具有較高的精度,可測量1%的運動變化。同時MPU6050內(nèi)部集成了DMP處理單元,可以獨立完成姿態(tài)融合的解算,運算速度快且誤差小。MPU6050可使用最高400 kHZ的IIC或最高20 MHz的SPI,符合系統(tǒng)要求。

2.3 ?風機控制模塊

采用12 V、0.65 A的軸流風機。該風機重量較小,滿轉(zhuǎn)時可產(chǎn)生11.52 m/s的風速,能夠?qū)崿F(xiàn)系統(tǒng)要求。

采用L298為雙全橋步進電機專用驅(qū)動芯片,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相和四相步進電機的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進電機,可直接輸出PWM信號控制風機轉(zhuǎn)動,電路簡單,如圖3所示。

2.4 ?人機交互模塊的設(shè)計

采用12864OLED進行顯示。OLED12864具有厚度薄、質(zhì)量輕、響應速度快、可視角度大、發(fā)光效率高、成本低、控制簡單等優(yōu)點。

采用紅外遙控器進行輸入。紅外遙控占用資源少、使用方便、按鍵可靠,并且可以實現(xiàn)10 MB內(nèi)的無線遙控。

3 ?運動控制算法的分析

3.1 ?風力擺運動狀態(tài)的測量

MPU6050是整合型六軸處理組件,組合了陀螺儀和加速度傳感器。測得的數(shù)據(jù)通過MPU6050內(nèi)部集成的DMP數(shù)字運動處理器進行姿態(tài)角解算,DMP可以進行復雜的姿態(tài)融合解算,減輕核心控制器的負擔。MPU6050和控制器之間采用400 kHz的IIC通信,實現(xiàn)較高的采樣速率。但由于MPU6050有噪聲干擾,控制器接受到數(shù)據(jù)后還需要進行簡化的卡爾曼濾波,這樣獲得的姿態(tài)角、加速度有較高的精確度。

3.2 ?控制量的計算

對激光筆劃線距離的控制L可以轉(zhuǎn)化為對風力擺一個周期內(nèi)最大角度θmax的控制:

但是在一個擺動周期內(nèi)只能采集一次θmax,無法進行精準的控制。由于風力擺做近似自由擺的運動,所以風力擺能擺到的角度取決于系統(tǒng)所具有的機械能。通過測量數(shù)據(jù)計算風力擺所具有的機械能,對機械能進行PID控制就可以得到較為精確的結(jié)果。

根據(jù)物理知識可知:

但是ω的噪聲較大且精度較低。再通過圓周運動法向加速度公式:

Az=ω2l

經(jīng)過簡化后公式變?yōu)椋?/p>

以為變量進行控制便可實現(xiàn)較為精準的控制。

3.3 ?PID算法的分析

本系統(tǒng)采用PID算法對變量進行控制,MPU6050實時采集姿態(tài)數(shù)據(jù),控制器接受到后進行計算并與設(shè)定值進行比較。使得風機擺動的角度和激光筆劃線的長度逐漸趨近于設(shè)定值。PID控制包括3個參數(shù):

比例系數(shù)Kp:對與設(shè)定值的誤差進行比例控制,比例系數(shù)越大,調(diào)節(jié)速度越快,但比例系數(shù)過大會使系統(tǒng)震蕩較大,影響控制精度。

微分系數(shù)Kd:對的前后兩次測量值的相對誤差進行控制,即的變化率。微分可以改善系統(tǒng)的動態(tài)特性,縮短調(diào)節(jié)時間。但微分系數(shù)無論過大過小都會使超調(diào)量增大。

積分系數(shù)Ki:對的累積誤差進行控制。積分作用會消除系統(tǒng)的穩(wěn)態(tài)誤差,但積分作用會降低系統(tǒng)的穩(wěn)定性,所以要對積分作用進行簡單的限幅。

PID控制的輸入e(t)與輸出U(t)的關(guān)系為:

其傳遞函數(shù)為:

3.4 ?電機的控制

對電機采用脈寬調(diào)制(PWM)的控制方式。脈寬調(diào)制是利用控制器的數(shù)字輸出對模擬電路進行控制的一種非常有效的方式。再測定電機對控制量的最大作用量?max,然后根據(jù)?max對計算的輸出量進行歸一化處理,得到PWM的占空比。

3.5 ?對擺動線性度的控制

由于機械安裝、外部干擾、風力發(fā)散等原因,線性度不可避免地有所偏差。為達到任務中線性度的要求,我們通過MPU6050測得的ωi進行簡單的PD控制。若ωi≠0,則對控制側(cè)向電機使其恢復到平衡位置。

3.6 ?全向擺動的控制

風力擺的自由擺運動可以被正交分解為兩個與電機方向相同的自由擺運動。通過對兩個方向獨立的運動控制便可實現(xiàn)風力擺在水平面上的全方位運動??刂苾蓚€方向運動的相位差β,可以改變運動的離心率e=sin(β)(e=1為圓,e=0為直線);控制兩個風機轉(zhuǎn)速的相對大小,可以改變運動的角度;控制風機轉(zhuǎn)速的絕對大小,可以改變運動的幅度。

4 ?系統(tǒng)軟件設(shè)計和實驗結(jié)果

4.1 ?系統(tǒng)軟件實施流程

系統(tǒng)啟動后,依次初始化陀螺儀,定時器,遙控器,配置中斷和引腳模式。然后顯示主界面,提示用戶選擇要執(zhí)行的任務,本系統(tǒng)采用紅外遙控器輸入各種命令和參數(shù)。遙控器采用NEC編碼方式。由于STM32芯片的定時器數(shù)量達到14個,因此我們可以方便地把每一個控制任務分別放入一個定時器中斷中,各定時器中斷服務程序不會相互影響,大大降低了程序結(jié)構(gòu)的復雜性,同時提高了程序的可靠性。我們在定時器的中斷服務函數(shù)中完成對三軸加速度,角速度的測量和姿態(tài)的解算,這樣可以方便地控制系統(tǒng)的采樣速率。達到任務要求后會有提示,還可以通過遙控器進行必要的參數(shù)輸入,測量結(jié)束后按返回鍵可回到主界面。程序流程圖如圖4所示。

4.2 ?定幅擺動測試

利用紅外遙控器設(shè)置激光在地面劃線的長度,對擺線長度、線性度以及所需時間進行測量??梢缘玫揭韵碌臏y試結(jié)果,如表1所示。

結(jié)論分析:風力擺運動誤差隨著設(shè)置長度的增加有所增加,所需時間在8~10 s。

4.3 ?定向擺動測試

利用紅外遙控器設(shè)置風力擺的擺動角度,對擺動角度的誤差和線性度進行測量,如表2所示。

4.4 ?圓周運動測試

設(shè)置風力擺所畫圓的半徑,對擺動的最大誤差和旋轉(zhuǎn)3次所需時間進行測量,如表3所示。

結(jié)論分析:風力擺運動最大誤差和所需時間會隨設(shè)置半徑的增加而增大,但誤差和所需時間均滿足要求。

5 ?結(jié) ?論

本系統(tǒng)設(shè)計的關(guān)鍵是直線擺動距離控制、直線擺動角度控制、圓周擺動半徑控制以及具備一定的抗干擾能力。根據(jù)這些要求,主要包括主控模塊、傾角采集模塊、風機控制模塊、人機交互模塊以及供電電源模塊等,其中在硬件上最關(guān)鍵的是傾角采集和風機控制模塊,在軟件上則是擺動控制算法。本系統(tǒng)架構(gòu)設(shè)計合理,各項指標均能達到要求。系統(tǒng)穩(wěn)定性較好可靠性高、人機界面清晰友好,功能切換和參數(shù)輸入均能通過紅外遙控器實現(xiàn)??赏ㄟ^藍牙模塊和手機互聯(lián),實現(xiàn)物聯(lián)網(wǎng)功能。風力擺控制系統(tǒng)在工業(yè)生產(chǎn)、飛行控制系統(tǒng)、娛樂場所、自動控制教學領(lǐng)域中有著廣泛的應用。

參考文獻:

[1] 王平,張新東.基于智能儀表的數(shù)據(jù)采集系統(tǒng)設(shè)計 [J].自動化與儀表,2009,24(4):9-10+18.

[2] 王云飛,張凱,田亞芳,等.基于STM32的簡易多功能液體容器的設(shè)計與制作 [J].電子制作,2020(19):21-24.

[3] 杜里,張其善.電子裝備自動測試系統(tǒng)發(fā)展綜述 [J].計算機測量與控制,2009,17(6):1019-1021.

[4] 邢蘭昌,祁雨,劉昌嶺,等.電-聲-熱多參數(shù)聯(lián)合測試系統(tǒng)開發(fā) [J].實驗技術(shù)與管理,2017,34(11):78-85.

[5] 李惠,徐小川,于學偉,等.基于STM32的智能發(fā)電機電參量測量裝置的設(shè)計 [J].電測與儀表,2016,53(2):125-128.

[6] 康婷霞,牟麗霞.基于STC8A8K的智能LED燈條檢測儀設(shè)計 [J].電子測試,2020(6):24-26.

[7] 武慧挺.基于STC8A8K單片機的智能水泵控制器設(shè)計 [J].集成電路應用,2019,36(10):100-101.

[8] 張星宇,郭金剛,胡全義,等.基于STC8的戶外儀器加熱器及其控制系統(tǒng)設(shè)計 [J].工業(yè)控制計算機,2019,32(9):151-152+156.

[9] 李虹靜,李升輝.基于STC8系列單片機的繼電器控制電路設(shè)計 [J].科技與創(chuàng)新,2019(13):37-38.

[10] 孟慶生,徐中干.基于無線傳感器網(wǎng)絡的電參數(shù)測量系統(tǒng)設(shè)計 [J].數(shù)字技術(shù)與應用,2019,37(1):195-196+198.

[11] 陸翔,劉邦經(jīng).基于STM32的嵌入式綜合實驗開發(fā)平臺研究 [J].實驗室研究與探索,2017,36(10):57-60.

[12] 王建莉,田成元,張總.一種簡易多功能液體容器測量裝置的設(shè)計 [J].電子世界,2019(20):139-140.

[13] 楊旭.傳感器技術(shù)在機電技術(shù)中的應用 [J].當代化工研究,2020(22):73-74.

作者簡介:畢濤(1986—),男,漢族,山東煙臺人,講師,碩士研究生,研究方向:控制工程。

芜湖县| 禄劝| 淮阳县| 隆安县| 沙洋县| 齐齐哈尔市| 福安市| 右玉县| 武山县| 东海县| 车致| 靖安县| 乐都县| 泰宁县| 醴陵市| 攀枝花市| 北辰区| 西丰县| 佛坪县| 彝良县| 银川市| 天镇县| 承德市| 集安市| 酉阳| 礼泉县| 百色市| 诸城市| 舒城县| 抚宁县| 永平县| 南城县| 洛浦县| 项城市| 遵化市| 洪江市| 黄骅市| 登封市| 汝城县| 新津县| 拉孜县|