<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 一種基于STM32的PID直流電機(jī)控制系統(tǒng)

          一種基于STM32的PID直流電機(jī)控制系統(tǒng)

          作者:龔茂林,張鳳(國(guó)網(wǎng)四川省供電公司德陽供電公司,四川德陽 618000) 時(shí)間:2022-03-01 來源:電子產(chǎn)品世界 收藏
          編者按:本文是以PID(比例、積分、微分)算法為核心,基于STM32控制芯片的直流電機(jī)控制系統(tǒng)研究,硬件模塊包括L298N電機(jī)驅(qū)動(dòng)模塊、編碼器測(cè)速、PWM(脈沖寬度調(diào)制,Pulse Width Modulation)輸出等,軟件部分以Keil MDK(混合開發(fā)工具,Mix Development Kit)為開發(fā)環(huán)境,實(shí)現(xiàn)調(diào)速系統(tǒng)各子模塊功能,并對(duì)結(jié)果進(jìn)行分析。此次研究搭建的系統(tǒng)實(shí)現(xiàn)使直流電機(jī)的穩(wěn)態(tài)誤差始終保持在0.49%以下,直流電機(jī)速度精度控制在95%以上。在額定轉(zhuǎn)速時(shí),其穩(wěn)態(tài)誤差為0.25%。隨著設(shè)定電機(jī)轉(zhuǎn)速

          摘 要:本文是以(比例、積分、微分)算法[2]為核心,基于控制芯片的直流電機(jī)控制系統(tǒng)研究,硬件模塊包括L298N電機(jī)驅(qū)動(dòng)模塊、編碼器測(cè)速、(脈沖寬度調(diào)制,Pulse Width Modulation)輸出等,軟件部分以Keil MDK(混合開發(fā)工具,Mix Development Kit)為開發(fā)環(huán)境,實(shí)現(xiàn)調(diào)速系統(tǒng)各子模塊功能,并對(duì)結(jié)果進(jìn)行分析。此次研究搭建的系統(tǒng)實(shí)現(xiàn)使直流電機(jī)的穩(wěn)態(tài)誤差始終保持在0.49%以下,直流電機(jī)速度精度控制在95%以上。在額定轉(zhuǎn)速時(shí),其穩(wěn)態(tài)誤差為0.25%。隨著設(shè)定電機(jī)轉(zhuǎn)速增大,穩(wěn)態(tài)轉(zhuǎn)速的誤差率總體呈減小趨勢(shì),實(shí)物系統(tǒng)有較好的穩(wěn)態(tài)性能和控制精度。

          本文引用地址:http://www.ex-cimer.com/article/202203/431568.htm

          關(guān)鍵詞;;

          近年來,隨著微機(jī)控制技術(shù)、電力電子技術(shù)等迅速發(fā)展,直流電機(jī)因?yàn)槠湔{(diào)速性能好、起動(dòng)性能好,被廣泛應(yīng)用在高精度、可調(diào)速的場(chǎng)合,如航天、工業(yè)自動(dòng)化、數(shù)字化控制、工業(yè)機(jī)器人、醫(yī)療設(shè)備等。

          1   增量式算法與位置式PID算法對(duì)比

          PID 控制是指比例、積分、微分控制。將系統(tǒng)的輸出經(jīng)過比例、積分、微分三種運(yùn)算后,疊加至輸入中,達(dá)到控制調(diào)速目的。由于其原理簡(jiǎn)單、易于實(shí)現(xiàn)等優(yōu)點(diǎn),被應(yīng)用于多種領(lǐng)域。

          1.1 位置式PID算法

          位置式PID 算法的表達(dá)式為

          image.png

          其中Kp 為比例放大系數(shù),Ti 為積分時(shí)間常量,Td為微分時(shí)間常量。

          位置式PID 算法是根據(jù)當(dāng)前實(shí)際位置與要達(dá)到的預(yù)期位置的偏差,進(jìn)行PID 控制。將每一次的誤差進(jìn)行累加作為積分,其運(yùn)算量大,每次輸出均與過去的狀態(tài)相關(guān),缺點(diǎn)是可能會(huì)引起大幅度超調(diào)。

          1.2 增量式PID算法

          增量式PID 算法的表達(dá)式為

          1646119560686832.png

          增量式PID 算法的控制量是對(duì)應(yīng)的最近3 次的位置誤差的增量,只對(duì)當(dāng)前誤差積分,運(yùn)算量較小,沒有誤差累加。所以增量式PID 容易通過加權(quán)處理獲得比較好的控制效果,相較于位置式PID 算法,在程序?qū)崿F(xiàn)時(shí)更簡(jiǎn)潔有效,運(yùn)行時(shí)更加穩(wěn)定,運(yùn)算速度更快。

          1646119588252017.png

          圖1 PID控制系統(tǒng)圖

          2   硬件系統(tǒng)整體流程

          此系統(tǒng)由單片機(jī)F103 輸出[1],同時(shí)接收編碼器計(jì)數(shù),經(jīng)處理達(dá)到控制調(diào)速目的,獨(dú)立鍵盤進(jìn)行速度的增減,LCD(液晶顯示,liquid crystal display)模塊進(jìn)行設(shè)定值和實(shí)時(shí)速度的顯示,選擇L298N 模塊作為直流電機(jī)驅(qū)動(dòng)給電機(jī)供電。所有模塊形成一個(gè)完整的速度閉環(huán)系統(tǒng),能對(duì)直流電機(jī)快速精準(zhǔn)調(diào)速。

          1646119686926624.png

          圖2 硬件系統(tǒng)整體流程圖

          2.1 電機(jī)驅(qū)動(dòng)模塊L298N

          本文選用L298N 為驅(qū)動(dòng)模塊,其電路中包含有兩個(gè)H 橋的高電壓大電流雙橋式驅(qū)動(dòng)器。在使用中,STM32F103 配置的PWM 輸出引腳直接給該模塊提供變占空比的信號(hào),方便控制。

          其控制狀態(tài)表見表1。L298N 電機(jī)驅(qū)動(dòng)模塊可以實(shí)現(xiàn)電機(jī)的調(diào)速與正反轉(zhuǎn),此次研究只使用其驅(qū)動(dòng)一臺(tái)二相直流電機(jī)構(gòu)成閉環(huán)調(diào)速系統(tǒng),根據(jù)表1 配置IN1(輸入)與IN2,對(duì)使能端輸出PWM 脈沖,即可實(shí)現(xiàn)變占空比調(diào)速。

          表1 L298N驅(qū)動(dòng)直流電機(jī)狀態(tài)表

          1646119775646817.png

          2.2 編碼器測(cè)速模塊

          編碼器為AB 相增量式霍爾編碼器,輸出標(biāo)準(zhǔn)的方波,STM32F103 自帶的編碼器模式可直接讀取脈沖信號(hào),AB 相編碼器的A 相、B 相互相延遲四分之一周期輸出脈沖。如圖3 為編碼器的輸出波形,取A 相、B 相的上升沿和下降沿都作為脈沖,可以取得二倍頻或四倍頻。四倍頻采樣可提高系統(tǒng)運(yùn)算時(shí)的精確性。通過每10 ms 讀取處理一次編碼器脈沖,可以測(cè)得電機(jī)速度和處理控制,此次使用四倍頻采樣,有提高系統(tǒng)運(yùn)算精確性的優(yōu)勢(shì)。

          image.png

          圖3 編碼器輸出脈沖波形

          2.3 PWM

          配置脈沖計(jì)數(shù)器TIMx_CNT 為向上計(jì)數(shù)模式,而重載寄存器TIMx_ARR 被配置為ARR(自動(dòng)重裝載寄存器),比較值為CCRx,在t 時(shí)刻對(duì)計(jì)數(shù)器值與比較值進(jìn)行比較。如果此時(shí)計(jì)數(shù)器值小于CCRx 值,輸出低電平;如果此時(shí)計(jì)數(shù)器值大于CCRx 值,輸出高電平,從而調(diào)節(jié)占空比。

          3   軟件整體流程

          此次研究以Keil MDK 作為編譯開發(fā)環(huán)境,軟件部分的重點(diǎn)是PID 控制的處理。流程圖如圖4,主要包括主程序、PID 處理、外部中斷、定時(shí)中斷、PWM 的輸出和編碼器的脈沖計(jì)數(shù)。

          image.png

          圖4 調(diào)速系統(tǒng)軟件流程圖

          3.1 調(diào)速系統(tǒng)主程序[3]

          主程序包括對(duì)各模塊初始化和各常量、變量的聲明。包括中斷外部函數(shù)的初始化、定時(shí)中斷循環(huán)的初始化、獨(dú)立按鍵配置、編碼器配置初始化、顯示模塊初始化、PWM 配置初始化。初始化后觸發(fā)由定時(shí)器6 的定時(shí)中斷的循環(huán),每隔10 ms 對(duì)系統(tǒng)進(jìn)行一次編碼器測(cè)速與PID 運(yùn)算和PWM 的控制輸出。期間獨(dú)立按鍵可以觸發(fā)外部中斷對(duì)調(diào)速系統(tǒng)的設(shè)定速度值進(jìn)行增加與減少。

          定時(shí)中斷循環(huán)實(shí)現(xiàn)功能包括:編碼器脈沖讀取,脈沖數(shù)量轉(zhuǎn)化為速度顯示在LCD 屏幕,進(jìn)行PID 運(yùn)算,更新PWM 占空比。

          3.2 PID算法處理與PWM輸出

          PID 控制在系統(tǒng)中采用增量式PID 算法,經(jīng)調(diào)試其比例常數(shù)為0.5、積分常數(shù)為0.0025、微分常數(shù)為0。PID 模塊根據(jù)設(shè)定值與得到的編碼器脈沖值經(jīng)公式運(yùn)算后返回增量值。PWM 的輸出由定時(shí)器1 實(shí)現(xiàn),指定PA8 作為PWM 輸出端子。在連接硬件時(shí),需要連接兩個(gè)端子才能實(shí)現(xiàn)驅(qū)動(dòng),另一個(gè)端子起參考電位的作用。PWM 模塊根據(jù)得到的增量值更新PWM 占空比,從而實(shí)現(xiàn)實(shí)時(shí)、穩(wěn)定、精確地控制調(diào)速系統(tǒng)。

          4   實(shí)驗(yàn)數(shù)據(jù)及分析

          實(shí)物系統(tǒng)主要包括STM32F103 開發(fā)板[7]、帶AB相霍爾式編碼器的直流電機(jī)、L298N 驅(qū)動(dòng)模塊、STLINK、7.2 V 電源等。其中系統(tǒng)實(shí)物搭建圖如圖5。

          1646120041662276.png

          圖5 系統(tǒng)硬件搭建圖

          經(jīng)過調(diào)試,在代碼調(diào)試中,按照先整定Kp 再整定Ti 的順序進(jìn)行調(diào)整,最終得出在Kp = 0.5 和Ti = 200 時(shí),系統(tǒng)的調(diào)速響應(yīng)快,調(diào)速的范圍可達(dá)170 rpm~440 rpm(圈每分鐘)。通過基于STM32 的PID 直流電機(jī)控制系統(tǒng)對(duì)電機(jī)的輸出軸分別進(jìn)行轉(zhuǎn)速設(shè)定[13],分別設(shè)定了190 rpm、220 rpm、250 rpm、280 rpm、310 rpm、340 rpm、370 rpm、400 rpm、410 rpm、420 rpm、430 rpm,實(shí)際測(cè)量結(jié)果如表2,數(shù)據(jù)進(jìn)行了誤差計(jì)算。

          表2 轉(zhuǎn)速數(shù)據(jù)采集及誤差計(jì)算

          1646120127244928.png

          由表2 可知,直流電機(jī)的穩(wěn)態(tài)誤差始終保持在0.49% 以下,其超調(diào)性很小。在額定轉(zhuǎn)速時(shí),其穩(wěn)態(tài)誤差為0.25% 。隨著設(shè)定電機(jī)轉(zhuǎn)速增大,穩(wěn)態(tài)轉(zhuǎn)速的誤差率總體呈減小趨勢(shì),實(shí)物系統(tǒng)有較好的穩(wěn)態(tài)性能和控制精度。

          參考文獻(xiàn)

          [1] 焦玉朋.基于51單片機(jī)的PWM系統(tǒng)[D].呼和浩特:內(nèi)蒙古大學(xué),2013.

          [2] 雷慧杰.基于STM32的直流電機(jī)PID調(diào)速系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2016,39(8):165-167,170.

          [3] 司開波,黃健,呂林濤.基于STM32的新方法[J].宇航計(jì)測(cè)技術(shù),2018,38(02):87-91.

          [4] 劉松斌,王海星,李碩恒.基于STM32的直流電機(jī)PWM調(diào)速系統(tǒng)[J].化工自動(dòng)化及儀表,2016,43(8):834-837.

          [5] 王國(guó)宇.基于STM32的無刷直流電機(jī)控制系統(tǒng)設(shè)計(jì)及仿真研究[D].桂林:廣西師范大學(xué),2016.

          [6] 張才勇,王庭有,李馳骎.基于單片機(jī)的直流電機(jī)調(diào)速控制[J].化工自動(dòng)化及儀表,2019,46(11):885-890,916.

          [7] 李勇.直流電動(dòng)機(jī)拖動(dòng)系統(tǒng)的電氣調(diào)速方法[J].四川水力發(fā)電,2000(03):90-92.

          [8] 李鵬輝.淺談直流電動(dòng)機(jī)調(diào)速[J].生物技術(shù)世界,2014(1):174.

          [9] 牛麗婕.直流電機(jī)的調(diào)速方法[J].無線互聯(lián)科技,2013(3):72.

          [10] 阮毅,楊影,陳伯時(shí).電力拖動(dòng)自動(dòng)控制—運(yùn)動(dòng)控制系統(tǒng)[M].北京:機(jī)械工業(yè)出版社:2016.

          [11] 熊東海.兩輪電動(dòng)車用直流無刷電機(jī)調(diào)速系統(tǒng)的設(shè)計(jì)[D].廣州:廣東工業(yè)大學(xué),2018.

          [12] 張宏衛(wèi),曹志剛.基于Simulink的智能車用微型電機(jī)閉環(huán)系統(tǒng)的仿真研究[J].電氣傳動(dòng)自動(dòng)化,2011,33(1):30-32.

          [13] 王祎晨.增量式PID和位置式PID算法的整定比較與研究[J].工業(yè)控制計(jì)算機(jī),2018,31(5):123-124.

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

          (本文來源于《電子產(chǎn)品世界》雜志2022年2月期)



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();