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

?

基于STM32的直流電機(jī)PID調(diào)速系統(tǒng)設(shè)計(jì)

2016-05-14 01:22雷慧杰
現(xiàn)代電子技術(shù) 2016年8期
關(guān)鍵詞:直流電機(jī)

雷慧杰

摘 要: 設(shè)計(jì)一種基于單片機(jī)的直流電機(jī)調(diào)速系統(tǒng),該系統(tǒng)以基于ARM Cortex?M3內(nèi)核的STM32微控制器為核心,利用軟件產(chǎn)生PWM控制信號,采用增量式PID算法控制直流電機(jī)的起動(dòng)、制動(dòng)、正反轉(zhuǎn)和速度調(diào)節(jié),簡單友好的上位機(jī)界面可實(shí)時(shí)監(jiān)測電機(jī)的各種運(yùn)行信息。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)具有穩(wěn)態(tài)誤差小,控制精度高,響應(yīng)速度快,能耗低、效率高等優(yōu)點(diǎn),對上肢康復(fù)機(jī)器人的研究具有一定的借鑒價(jià)值。

關(guān)鍵詞: STM32; 直流電機(jī); PID; 調(diào)速系統(tǒng)

中圖分類號: TN710?34; TM921; TP29 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號: 1004?373X(2016)08?0165?03

Design of STM32?based PID speed control system for DC motors

LEI Huijie

(College of Electronic Information and Electrical Engineering, Anyang Institute of Technology, Anyang 455000, China)

Abstract: The DC motor speed control system based on MCU was designed. The system takes the microcontroller STM32 based on ARM Cortex?M3 as its core. Its PWM control signal is generated with software. The incremental PID algorithm is adopted to control starting, braking, positive inversion and speed regulation of DC motors. The running information of the motors can be monitored in real time on the simple and friendly interface of the upper computer. Practical result shows that the system has small steady state error, high control precision, fast response, low energy consumption and high efficiency, and has a certain reference for the research of upper limb rehabilitation robot.

Keywords: STM32; DC motor; PID; speed control system

直流調(diào)速系統(tǒng)廣泛應(yīng)用于低轉(zhuǎn)速、高精度等各領(lǐng)域,如精密辦公設(shè)備(噴墨打印機(jī)、激光打印機(jī)),自動(dòng)售貨機(jī),家用電器、機(jī)器人和玩具設(shè)備等。其發(fā)展得力于微電子技術(shù)、電力電子技術(shù)、傳感器技術(shù)、永磁材料技術(shù)、自動(dòng)控制技術(shù)和微機(jī)應(yīng)用技術(shù)的最新發(fā)展成就[1]。順應(yīng)調(diào)速系統(tǒng)智能化、簡單化的發(fā)展趨勢,本設(shè)計(jì)采用一款性價(jià)比高、功耗低的基于ARM Cortex?M3內(nèi)核的STM32 單片機(jī)[2?3]為控制核心,結(jié)合PID控制技術(shù),實(shí)現(xiàn)了直流電機(jī)范圍大、精度高的調(diào)速性能。

1 系統(tǒng)的總體設(shè)計(jì)

該調(diào)速系統(tǒng)能夠?qū)崿F(xiàn)對電機(jī)的啟動(dòng)、制動(dòng)、正反轉(zhuǎn)調(diào)速、測速和數(shù)據(jù)上傳等功能,可方便地實(shí)現(xiàn)直流電機(jī)的四象限運(yùn)行。本系統(tǒng)的性能指標(biāo)為:調(diào)速精度高達(dá)到1 r/min;調(diào)速穩(wěn)態(tài)誤差不超過0.5%;調(diào)速范圍為-500~500 r/min;串口指令控制方式;驅(qū)動(dòng)電路導(dǎo)通阻抗低,能耗少;運(yùn)行穩(wěn)定可靠。系統(tǒng)由電源、上位機(jī)、通信接口、控制電路、電機(jī)驅(qū)動(dòng)電路、電機(jī)與負(fù)載和測速裝置等模塊組成,結(jié)構(gòu)框圖如圖1所示。

2 硬件設(shè)計(jì)

2.1 控制電路設(shè)計(jì)

控制電路負(fù)責(zé)接收控制指令,并產(chǎn)生相應(yīng)的控制信號,同時(shí)返回電機(jī)速度數(shù)據(jù)和電機(jī)運(yùn)行狀態(tài)數(shù)據(jù)等。為了保證電路工作穩(wěn)定可靠,控制電路應(yīng)具有較高的運(yùn)行速度、高度可靠的穩(wěn)定性能、開發(fā)容易、高性價(jià)比,產(chǎn)生的PWM控制信號應(yīng)具有死區(qū)延時(shí)、互補(bǔ)輸出、緊急剎車等功能。STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應(yīng)用專門設(shè)計(jì)的ARM Cortex?M3內(nèi)核[4],本系統(tǒng)采用STM32F103作為核心控制器??刂齐娐芬許TM32F103為核心的最小系統(tǒng)包括STM32主芯片、時(shí)鐘電路、復(fù)位電路、UART?USB轉(zhuǎn)換電路、JTAG調(diào)試接口電路、電源等,其原理圖如圖2所示。

2.2 驅(qū)動(dòng)電路設(shè)計(jì)

根據(jù)系統(tǒng)正反轉(zhuǎn)的控制要求,采用H橋驅(qū)動(dòng)電路,由MOS管構(gòu)成的H橋驅(qū)動(dòng)電路原理圖如圖3所示。

MOSFET是電壓控制型器件,具有開關(guān)速度快、輸入阻抗高、驅(qū)動(dòng)方便等優(yōu)點(diǎn)[5]。本系統(tǒng)采用IRF9630和IRF630對管,組成H橋,上橋臂均使用PMOS,下橋臂均使用NMOS,兩種MOS管基本特性如表1所示。

控制電路的輸出信號為DC 3.3 V信號,需要與驅(qū)動(dòng)電路隔離,采用了LTV352光電耦合隔離器?;パa(bǔ)PWM輸入信號經(jīng)過光耦隔離作用到MOSFET柵極,從而控制OUTA,OUTB之間的電壓。MOSFET中G,S兩極之間使用了雙向TVS管抑制瞬態(tài)電壓,防止MOSFET損壞。由于采用了PMOS,NMOS對管電路, MOSFET柵極電壓是由輸入電壓進(jìn)行分壓得到,因此不需要采用額外的高電壓信號源。

互補(bǔ)PWM輸入信號中,PWMA控制V1,V4橋臂,PWMB信號控制V2,V3橋臂。當(dāng)占空比為50%的PWM輸入信號時(shí),OUTA,OUTB之間輸出電壓是0 V,電機(jī)處于停止?fàn)顟B(tài)時(shí),由于電機(jī)電樞中仍存在高頻微震電流,從而消除了正反向轉(zhuǎn)動(dòng)時(shí)的靜摩擦死區(qū),起著動(dòng)力潤滑作用[6]。

2.3 速度反饋裝置設(shè)計(jì)

本系統(tǒng)采用高達(dá)888線AB相光電編碼器,兩相脈沖相差90°,通過測量某相的周期T可以得到電機(jī)運(yùn)行速度,通過測量兩相的上升沿時(shí)刻可以得到電機(jī)運(yùn)行方向。

3 系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)的軟件設(shè)計(jì)主要完成硬件和數(shù)據(jù)初始化功能,然后進(jìn)入標(biāo)志位循環(huán)掃描狀態(tài),一旦中斷發(fā)生便處理中斷程序,在中斷程序中有相關(guān)標(biāo)志位置位(包括上位機(jī)發(fā)送來的、通信異常處理、電機(jī)停轉(zhuǎn)處理),有則處理,無則繼續(xù)進(jìn)行中斷等待[7]。系統(tǒng)軟件主程序流程如圖4所示。

中斷源分為USART中斷、PWM剎車中斷、EXTI、TIMER中斷。

USART中斷是由于與上位機(jī)的數(shù)據(jù)交換過程中產(chǎn)生的,在中斷程序中需要對接收到的數(shù)據(jù)包進(jìn)行解析,并更新通信超時(shí)計(jì)數(shù)器。

PWM剎車中斷是由于PWM剎車輸入信號產(chǎn)生的,代表電機(jī)控制現(xiàn)場產(chǎn)生了緊急停車的請求。

EXTI中斷由AB相編碼器產(chǎn)生的光電編碼脈沖產(chǎn)生,需要在中斷服務(wù)歷程中計(jì)算電機(jī)運(yùn)行速度和方向,同時(shí)更新測速超時(shí)計(jì)數(shù)器。

TIMER中斷為1 ms定時(shí)中斷,這個(gè)中斷源的存在是為了系統(tǒng)通信超時(shí)檢測、電機(jī)停轉(zhuǎn)檢測使用,在中斷中需要對通信超時(shí)計(jì)數(shù)器和測速超時(shí)計(jì)數(shù)器進(jìn)行自減處理,如果到零則發(fā)出響應(yīng)信號通知系統(tǒng)。

由于中斷源的多樣性,STM32自帶有可嵌套的中斷向量控制器(NVIC)[8],因此中斷處理程序?qū)嶋H上是相互獨(dú)立的。

3.1 PID算法設(shè)計(jì)

PID控制器將給定轉(zhuǎn)速和反饋測得轉(zhuǎn)速相比較后,經(jīng)計(jì)算得出一個(gè)輸出信號,將此輸出信號量化為PWM的占空比,最終作用在電機(jī)的驅(qū)動(dòng)電路上來控制電機(jī)。本系統(tǒng)中采用增量式PID算法[9?10],增量式數(shù)字PID表達(dá)式為:

[Δuk=Aek-Bek-1+Cek-2]

式中:[A=KP1+TTI+TDT],[B=KP1+2TDT],[C=KPTDT],[KP]為比例系數(shù);[TI]為積分項(xiàng)積分時(shí)間常數(shù);[TD]為微分時(shí)間常數(shù)。由上式可以得出增量式PID算法程序如下:

#define KP 0.15

#define TI 0.95

#define TD 0

#define T 0.001

#define EMIN 0.01

#define A (KP*(1+T/TI+TD/T))

#define B (KP*(1+2*TD/T))

#define C (KP*TD/T)

float PIDCompute(float r,float y)

{ static float e0 = 0.0;

static float e1 = 0.0;

float e = 0.0;

float delta;

e = r - y;

delta = A*e-B*e1+C*e0;

e0 = e1;

e1 = e;

return delta; }

3.2 測速軟件設(shè)計(jì)

測速軟件需要完成測量電機(jī)轉(zhuǎn)速與測量電機(jī)運(yùn)行方向兩部分內(nèi)容。光電測速編碼器輸出的888線AB相脈沖分別連接到STM32的PA0,PA1上。

將B相信號輸入至PA1(EXTI1)之上,編程使EXTI1的上升沿和下降沿均要觸發(fā)中斷,電機(jī)轉(zhuǎn)動(dòng)一柵格的時(shí)間內(nèi)要觸發(fā)2次中斷。每次中斷之間的時(shí)間差假定為T,則電機(jī)瞬時(shí)轉(zhuǎn)速n=[1888T r/s],對最近4次所測量到的瞬時(shí)轉(zhuǎn)速進(jìn)行加權(quán)求和,就可得到當(dāng)前電機(jī)轉(zhuǎn)動(dòng)速度。

測速在STM32上的編程實(shí)現(xiàn)過程如下:

(1) 配置EXTI1上升沿、下降沿均觸發(fā)中斷;

(2) 配置端口與TIM2,TIM3;

(3) 開啟中斷;

(4) EXTI中斷程序中讀取TIM2 CNT中的數(shù)據(jù)并記錄,清空TIM2 CNT寄存器中的數(shù)據(jù)并重新啟動(dòng)計(jì)數(shù);

(5) 根據(jù)記錄的數(shù)據(jù)進(jìn)行瞬時(shí)速度計(jì)算;

(6) 當(dāng)若干個(gè)時(shí)基中斷發(fā)生且期間無測速中斷請求則宣告電機(jī)轉(zhuǎn)速為0。

將A相信號輸入至PA0(EXTI0)之上,編程使得EXTI0上升沿中斷。在中斷例程里讀取B相信號,根據(jù)AB相脈沖時(shí)序可以判斷電機(jī)轉(zhuǎn)動(dòng)方向,即B=1,電機(jī)反轉(zhuǎn);B=0,電機(jī)正轉(zhuǎn)。

4 系統(tǒng)驗(yàn)證

本系統(tǒng)經(jīng)過原理圖和PCB設(shè)計(jì)、焊接制板、硬件測試、模塊程序編寫、模塊程序功能測試、連接各個(gè)子模塊程序、PID參數(shù)整定,最后通過反復(fù)的調(diào)試,系統(tǒng)完全滿足預(yù)期要求,能夠?qū)崿F(xiàn)-500~500 r/min之間任意速度控制(以順時(shí)針方向?yàn)檎较颍?,控制精度達(dá)1 r/min,穩(wěn)態(tài)誤差不超過0.5%。在正常工作環(huán)境下,電機(jī)空載運(yùn)行時(shí),此時(shí)系統(tǒng)測試參數(shù)見表2,上位機(jī)界面如圖5所示。

5 結(jié) 論

本文設(shè)計(jì)了一種基于ARM Cortex?M3內(nèi)核的STM32微控制器的直流電機(jī)PID調(diào)速系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)具有穩(wěn)態(tài)誤差小,控制精度高,響應(yīng)速度快,能耗低、效率高等優(yōu)點(diǎn),對上肢康復(fù)機(jī)器人的研究具有一定的借鑒價(jià)值。

圖5 上位機(jī)界面

參考文獻(xiàn)

[1] 楊耕,羅應(yīng)立.電機(jī)與運(yùn)動(dòng)控制系統(tǒng)[M].北京:清華大學(xué)出版社,2014.

[2] 劉慧勇,楊虹.基于STM32的智能電風(fēng)扇設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(21):108?110.

[3] 蔡光昭,洪遠(yuǎn)泉,周永明.基于STM32的超聲波測速測距系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2014,37(24):87?89.

[4] 宋勐翔,陳蘭嵐.基于ADS1298和STM32F407的心電采集與顯示系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(13):141?144.

[5] 王兆安,劉進(jìn)軍.電力電子技術(shù)[M].北京:機(jī)械工業(yè)出版社,2009.

[6] 郭榮祥,崔桂梅.電力電子應(yīng)用技術(shù)[M].北京:高等教育出版社,2013.

[7] 潘新民,王燕芳.微型計(jì)算機(jī)控制技術(shù)[M].北京:電子工業(yè)出版社,2006.

[8] 陳志旺.STM32嵌入式微控制器快速上手[M].北京:電子工業(yè)出版社,2012.

[9] 田苗,史玉琴.基于PID 技術(shù)的工業(yè)自動(dòng)控制系統(tǒng)的優(yōu)化改進(jìn)研究[J].現(xiàn)代電子技術(shù),2015,38(13):132?133.

[10] 朱貴國,汪黨.基于STM32單片機(jī)的直流電機(jī)調(diào)速系統(tǒng)設(shè)計(jì)[J].數(shù)字技術(shù)與應(yīng)用,2013(5):2?3.

猜你喜歡
直流電機(jī)
基于模糊PID的無刷直流電機(jī)速度控制系統(tǒng)的設(shè)計(jì)與仿真
基于FPGA的雙繞組無刷直流電機(jī)軟件設(shè)計(jì)
基于模糊神經(jīng)網(wǎng)絡(luò)PID的無刷直流電機(jī)控制系統(tǒng)研究
一種改進(jìn)的無刷直流電機(jī)控制方法
长垣县| 静乐县| 商河县| 阳曲县| 呼图壁县| 邵武市| 曲水县| 东兰县| 乌海市| 保康县| 炎陵县| 揭东县| 汶川县| 平乡县| 游戏| 雅安市| 兴宁市| 安徽省| 平顺县| 久治县| 永昌县| 宜君县| 兴国县| 乌什县| 西平县| 德江县| 宣化县| 卢氏县| 金阳县| 卓尼县| 兴城市| 苍山县| 肥城市| 封开县| 乐业县| 屯门区| 兰州市| 洛川县| 尉氏县| 承德市| 丁青县|