唐晨光
摘要:文章介紹了風(fēng)力擺控制系統(tǒng)的設(shè)計(jì)與制作。系統(tǒng)以STM32為主控芯片,通過角度傳感器MPU6050將三維數(shù)據(jù)傳給單片機(jī),單片機(jī)輸出相應(yīng)的PWM方波,通過電機(jī)驅(qū)動模塊BTN7961控制軸流風(fēng)機(jī)的風(fēng)力大小,從而實(shí)現(xiàn)對風(fēng)力擺控制系統(tǒng)的控制。根據(jù)風(fēng)力擺的數(shù)學(xué)模型分析,確定了萬向節(jié)和擺桿之間的PID控制算法,并在實(shí)驗(yàn)中優(yōu)化控制參數(shù)。經(jīng)反復(fù)試驗(yàn),證明該系統(tǒng)實(shí)現(xiàn)了設(shè)計(jì)的要求。
關(guān)鍵詞:STM32F103RCT6;角度傳感器;電機(jī)驅(qū)動模塊BTN7961;軸流風(fēng)機(jī)
1 總體設(shè)計(jì)方案
1.1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)硬件包括主控芯片STM32、角度傳感器MPU6050、電機(jī)驅(qū)動模塊BTN7961、擺桿、萬向節(jié)及支架。該系統(tǒng)采用STM32開發(fā)板作為主控模塊,STM32單片機(jī)通過讀取角度傳感器MPU8060的三維角度數(shù)據(jù)從而判斷擺桿的偏擺方向和角度,通過PID控制算法計(jì)算后,輸出相應(yīng)的PWM控制信號給電機(jī)驅(qū)動模塊,控制軸流風(fēng)機(jī)風(fēng)速,從而使擺桿達(dá)到相應(yīng)的運(yùn)動狀態(tài)和位置。
1.2 主控芯片的選擇
方案1:采用入門級51或者AVR、PIC等流行已久的8位MCU作主控。價(jià)格低廉,資料眾多,但功能有限,計(jì)算能力有限。
方案2:采用STM32系列的STM32F103RCT6。風(fēng)力擺控制系統(tǒng)要求處理器具有足夠的內(nèi)存、閃存和快速的信號采集能力,因此,本文選用手頭現(xiàn)有的集成仿真器,方便軟件仿真調(diào)試,板上為STM32F103RCT6單片機(jī),該單片機(jī)超低功耗,運(yùn)算速度快,性價(jià)比高。
1.3 電機(jī)驅(qū)動器的選擇
本設(shè)計(jì)采用BTN796IB集成專用驅(qū)動模塊。BTS7960是專門針對電機(jī)驅(qū)動的,具有大電流輸出的半橋式驅(qū)動芯片,它內(nèi)部自帶一個P型的高邊MOSFET,同時(shí)自帶N型的低邊MOSFET,外加一個獨(dú)立驅(qū)動的集成芯片。P型的MOSFET因?yàn)樽詭ч_關(guān)而省略了電荷泵電路,故大幅度減小了EMI。內(nèi)部自帶的驅(qū)動電路具有電流診斷、邏輯電平輸入、死區(qū)產(chǎn)生電路、斜率調(diào)整電路,同時(shí)具備過溫度、過電壓、欠電壓、過電流和故障短路保護(hù)的功能。其內(nèi)部2個MOSFET且有低至16mQ通態(tài)電阻,最大驅(qū)動電流高達(dá)43A。
故綜上所述,考慮經(jīng)濟(jì)以及驅(qū)動電流在4A以上等綜合因素,本文選擇使用BTN796IB模塊驅(qū)動。
1.4 角度傳感器的選擇
這里,本文采用角度檢測專用芯片MPU6050。它具備角速度的全格感測,范圍可達(dá)±250°/sec,±500°/sec,±1000°/sec和±2000°/sec,這種精確度可保證其準(zhǔn)確跟蹤快速和慢速的轉(zhuǎn)動。此外,可自編程控制的加速器亦具備全格感測,范圍可達(dá)±2g,±4g,±8g及±16g。該產(chǎn)品的信號傳輸可穿透最高達(dá)400kHz的厚膜集成電路,以及最高達(dá)20M的SPI。MPU6050可工作于不同電壓下(2.7-5.5V),其VDD端可接受2.5V,3.Ov或3.3V(±5%)的供電電壓,10邏輯接口的供電電壓為1.8V±5%(MPU6050僅使用VDD)。MPU6050的封裝尺寸為4X4X0.9mm(QFN),這在業(yè)內(nèi)是具備極強(qiáng)競爭力的尺寸。除此之外,它還包含以下主要特征:內(nèi)置的溫度感測器,工作環(huán)境中頻率只有±1%波動的內(nèi)部振蕩器。不僅如此,尺寸小,精度高,功耗低,經(jīng)濟(jì)實(shí)惠,運(yùn)用成熟。
結(jié)合所學(xué)的知識點(diǎn)和經(jīng)濟(jì)實(shí)惠的角度,以及平常對MPU6050角度傳感器接觸較多,本文最終選用了MPU6050。
1.5 控制算法的選取
眾所周知,PID控制算法是針對過程控制的被控變量的,其規(guī)律是按偏差或偏差率的比例、積分和微分進(jìn)行控制的一種調(diào)節(jié)器(簡稱PID調(diào)節(jié)器),它是工程中應(yīng)用最為廣泛的一種控制算法。這種算法原理簡單,方便實(shí)現(xiàn),適用對象廣,控制參數(shù)不需要解耦,控制參數(shù)的設(shè)定相對簡單等。而且通過理論足以證明,對于過程控制中典型的一階滯后+純滯后對象、二階滯后+純滯后對象,PID控制算法屬于最優(yōu)控制算法。PID調(diào)節(jié)器是針對單變量連續(xù)系統(tǒng)的動態(tài)品質(zhì)而采取的—種有效的校正方法,具有參數(shù)整定方式簡單、參數(shù)(PI,PD)改變靈活的特點(diǎn)。
由于筆者對PID比較熟悉,運(yùn)用比較多,故選擇了PID控制算法。
2 理論分析計(jì)算
2.1 電動機(jī)選型
方案1:選用臺灣三巨電機(jī)有限公司的SJ8025HD2,12V的直流電機(jī),輸入電流0.4A,轉(zhuǎn)速3000轉(zhuǎn)(r/min)。風(fēng)力強(qiáng)勁,性價(jià)比高,市場使用普遍,資料較多,使用方便,便于購買。
方案2:選用臺達(dá)9038 12V 4.5A 9CM暴力大風(fēng)量增壓機(jī)箱風(fēng)扇,轉(zhuǎn)速高達(dá)7900轉(zhuǎn),電機(jī)工作電壓:10.8-13V,電機(jī)標(biāo)稱電流:4.5A,電機(jī)功率:54W,耐電壓:匯漏電流0.5mA500/lmin。性價(jià)比極高,方便購買,資料充足。
因此綜上所述,本文選擇了臺達(dá)的9038。電壓、尺寸都滿足要求,輸出電流大,風(fēng)力強(qiáng)勁,質(zhì)量較輕。
2.2 擺桿狀態(tài)檢測
在本設(shè)計(jì)中,擺桿的角度測量所用的部件為角度傳感器MPU6050。擺桿的一端固定在萬向節(jié)上,另一端固定在軸流風(fēng)機(jī)上。將角度傳感器放在軸流風(fēng)機(jī)上方,可隨擺桿的擺動而擺動,其可調(diào)端輸出電壓也會隨之而變化。將角度傳感器測得的三維數(shù)據(jù)傳回單片機(jī)進(jìn)行處理,從而得到擺動的角度。
2.3 控制算法
PID算法是比例微分、積分、控制器控制的過程。
2.3.1 比例系數(shù)Kp
比例系數(shù)Kp的值數(shù)決定了調(diào)節(jié)器調(diào)節(jié)過程的快慢,實(shí)際中Kp不易過大,不然容易導(dǎo)致控制系統(tǒng)的超調(diào)或振蕩現(xiàn)象,Kp過小又起不到調(diào)節(jié)作用,比例控制無法消除余差。
2.3.2 積分調(diào)節(jié)系數(shù)Ti
積分作用可消除控制偏差,積分常數(shù)Ti的大小決定了積分作用強(qiáng)弱程度,積分作用通常使系統(tǒng)的穩(wěn)定性下降。因此,積分常數(shù)Ti大小的選擇要得當(dāng)。
2.3.3 微分調(diào)節(jié)系數(shù)D
當(dāng)偏差e瞬間波動過快時(shí),微分調(diào)節(jié)器立即產(chǎn)生響應(yīng),抑制偏差的變化,使系統(tǒng)更趨于穩(wěn)定,改善系統(tǒng)的動態(tài)性能。
3 硬件電路與程序設(shè)計(jì)
3.1 電源電設(shè)計(jì)
本文采用SDD-IOO開關(guān)電源,交流輸入:220V±20%,直流輸出5V/13A,12V/2A,-5V/IA,-12V。
3.2 電機(jī)驅(qū)動電路設(shè)計(jì)
在這個模塊設(shè)計(jì)時(shí),本文采用BTN796IB集成專用驅(qū)動模塊。BTS7960是專門針對電機(jī)驅(qū)動的、具有大電流輸出的半橋式驅(qū)動芯片,它內(nèi)部自帶一個P型的高邊MOSFET,同時(shí)自帶N型的低邊MOSFET,外加一個獨(dú)立驅(qū)動的集成芯片。P型的MOSFET因?yàn)樽詭ч_關(guān)而省略了電荷泵電路,故大幅度減小了EMI。內(nèi)部自帶的驅(qū)動電路具有電流診斷、邏輯電平輸入、死區(qū)產(chǎn)生電路、斜率調(diào)整電路等功能,同時(shí)具備過溫度、過電壓、欠電壓、過電流和故障短路保護(hù)的功能。其內(nèi)部2個MOSFET具有低至16mQ通態(tài)電阻,最大驅(qū)動電流高達(dá)43A。BTS7960的Is引腳具有電流自動檢測功能,當(dāng)其工作在正常模式下,從該引腳檢測到的電流與流經(jīng)高邊MOSFET的電流成正比,若Ris-lkQ,則Vis=lload/8.5;在故障條件下,從Is引腳流出的電流等于IIS (lim)(約4.5mA),最后的結(jié)果是:Is為高電平。
3.3 程序流程圖(見圖1)
4 測試與分析
本文采取如下方法對系統(tǒng)進(jìn)行測試。測試針對設(shè)計(jì)任務(wù)中的每一個要求都進(jìn)行測試,每個要求都測試5次,取其平均值最為最終數(shù)值。
(l)從靜止開始,15s內(nèi)控制風(fēng)力擺做類似自由擺運(yùn)動,使激光筆穩(wěn)定地在地面畫出一條長度不短于50cm的直線段,其線性度偏差不大于±2.5cm。如表1所示。
(2)從靜止開始,15s內(nèi)完成幅度可控的擺動,畫出長度在30-60cm間可設(shè)置,長度偏差不大于±2.5cm的直線段,并且具有較好的重復(fù)性。如表2所示。
(3)設(shè)定擺動方向,風(fēng)力擺從靜止開始,15s內(nèi)按照設(shè)置的方向(角度)擺動,畫出不短于20cm的直線段。如表3所示。
(4)將風(fēng)力擺拉起一定角度(30°~45°)放開,5s內(nèi)使風(fēng)力擺制動達(dá)到靜止?fàn)顟B(tài)。如表4所示。