《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于PID算法在噴繪機小車控制系統的應用
基于PID算法在噴繪機小車控制系統的應用
2015年微型機與應用第8期
劉 晉,蘇 臣,金禹含,步亞男
(遼寧師范大學 計算機與信息技術學院,遼寧 大連 116081)
摘要: 選取STM32系列的STM32F103RBT6作為主控系統,以L6203作為直流電機的驅動;根據小車的位置通過PID算法調節小車的速度,對主控中高級定時器進行設計,通過UART顯示數據;觀測小車運行過程中能否消除慣性帶來的影響并立刻轉向,及PID算法是否可以應用在噴繪機小車的控制系統中。經過理論分析和軟硬件結合測試表明,該設計不但解決了直流電機中由于慣性大難以剎車的問題,并驗證了PID算法在噴繪機控制系統中的可行性和實用性。
Abstract:
Key words :

  摘  要: 選取STM32系列的STM32F103RBT6作為主控系統,以L6203作為直流電機的驅動;根據小車的位置通過PID算法調節小車的速度,對主控中高級定時器進行設計,通過UART顯示數據;觀測小車運行過程中能否消除慣性帶來的影響并立刻轉向,及PID算法是否可以應用在噴繪機小車的控制系統中。經過理論分析和軟硬件結合測試表明,該設計不但解決了直流電機中由于慣性大難以剎車的問題,并驗證了PID算法在噴繪機控制系統中的可行性和實用性。

  關鍵詞: STM32;L6203;PID算法;噴繪機

0 引言

  噴墨式噴繪機為保證噴繪出圖像精準細膩,小車上的噴頭每行掃描過程中按需進行噴墨,但是來自小車的平穩性以及在改變方向時小車的運動狀態,直接影響噴頭墨滴噴出的位置。如何在保證小車平穩運行前提下,根據提供的信號改變小車的運行狀態值得深入研究和探討。

1 系統設計理念

  攜帶噴頭的小車在噴繪軌道上來回運動,在需要的位置上(即像素點)噴頭進行噴墨。主控發控制信號給電機驅動模塊來控制電機,從而控制小車的方向和位置。電機可以是步進電機、位置控制方式的伺服電機和直流電機。步進電機啟動力矩大,易于精確控制位置,但很難達到高速,實際應用中使用較少。位置控制方式的伺服電機不但具有步進電機的優點,而且內置的控制器具有電子齒輪易改傳動比,實際應用中采用較多,但此電機非常昂貴,從實際的成本出發不易選用。綜合考慮,采用成本較低的普通直流電機,通過調整驅動電壓調整速度,但直流電機不能精確定位,必須為其配備精密的位置檢測機構以及伺服控制機構才能實現較精確的定位。由于攜帶噴頭的小車慣性很大,方向調整時很難瞬時根據控制信號來更改方向,總是在主控發送完調整方向信號后速度慢慢減到0,然后才能調整方向從0慢慢加速。由于機械特性增加了誤差,不少研發人員采用在改變方向前先加高占空比反相沖擊電壓,然后再調整適合的占空比,但實際應用過程中此方法并不完全合適。這是因為質量太大,高脈沖難以沖擊反相速度并調整方向。綜合不同的方法和經驗,借助STM32主控系統的優勢,通過理論研究和實際應用迅速調整方向,基本消除了物體質量過大帶來的慣性影響,而且小車在實際運行中通過PID算法[1]達到平穩。噴繪機的噴繪軌道是帶光柵的,小車實際運行過程中接收光柵編碼器的位置信號,從而計算小車的位置和運動速度。由于機械、系統成本、復雜性、實驗環境等多方面限制,本設計系統沒有真正采用噴繪系統的小車作為研究對象,但為了說明和解決實際問題,本設計系統采用同等系統的等效法進行實驗。設計系統等效法如下:在電機上固定噴頭和小車同等重量的物體(相當于小車攜帶噴頭的運動系統),并在物體上綁定多圈可調電位器(相當于光柵編碼器來傳送位置信號),電位器上綁定一定質量的擺,擺偏移設定點(相當于小車系統的原點)的角度記作位置(相當于小車偏移位置),通過PID算法調節擺的占空比(相當于小車的速度),擺在偏移點左右轉動時瞬間改變電機的方向(相當于小車方向調整)。通過系統等效法驗證了此設計方法在噴繪系統的實用性和可行性。

2 基于系統的硬件設計

001.jpg

002.jpg

  圖1、2為控制系統硬件結構架構,其中圖1是系統硬件的總體架構,圖2是電機的驅動電路。主控系統選取的是STM32系列的STM32F103RBT6,選此控制系統是因為主控不但使用方便、成本較低、通過高級定時器編程設計直接實現電機驅動的死區設置,并可適當地更改死區時間,而且普通定時器也具有編碼功能,可直接應用在噴繪機控制系統中的光柵編碼器,從而正交采集光柵信號檢測小車[2]的運行位置。PC與STM32主控交互,可通過J-Link向主控中的Flash下載程序或通過PC的串口工具接收單片機發送的信息等。設計中選取STM32為主控,選取支持死區模式的TIM1定時器的PWM輸出供給L6203信號。主控中集成的AD主要是為了采樣搖擺偏移原點的位置(相當于小車偏移位置),主控中的DMA主要是為了快速傳遞AD采樣信息。為實現嵌入式經典理論中前后臺系統設計,采用中斷方式(NVIC)來處理任務。主控中的RCC為系統需要的時鐘配置;GPIO為需要的引腳配置,既包括AD引腳的采樣輸入引腳,又包括定時器的PWM輸出引腳等;UART接口通過串口線和PC連接來顯示信息;Tim4定時顯示處理向PC發送電機的狀態信息;SysTick定時中斷處理不同角度下通過PID調整的占空比任務。

  L6230電機的驅動模塊是手動焊接且通過測試可正常工作的。之所以選擇以L6203為主芯片模塊,是因為此模塊可以提供最大電流4 A、最大電壓48 V,以便可以提供搖擺足夠大的速度,來觀察高速運動下通過設置死區能否克服物體由于質量大帶來的難以剎車問題,從而驗證此設計系統在噴繪領域的實用性。主控和L6203跳線時,為保護主控系統又要滿足主控和電機模塊的對地接入,L6203模塊在接入時的GND引腳先跳線到SEMSE引腳,然后再跳線到L6203 GND引腳,再接入到主控STM32的GND。此方法的主要作用是當系統中電流過大時,電流只會貫穿L6203,不會燒壞STM32主控,對主控起到保護作用。L6203的IN1和IN2為兩路PWM輸入,Vs和SEMSE接入穩壓電源的正負極,EN為主控提供使能信號,OUT1和OUT2供給普通直流電機的電壓。

3 基于系統的軟件設計

  整個軟件架構分別對串行通信、高級定時器、AD角度采樣、PID算法設計、主控狀態機切換等進行設計與研究,最后借助PC上的串口調試器人機交互來設置采樣位置和檢測系統的執行狀態,從而證明系統可行性。

  3.1 軟件中狀態機切換

003.jpg


  圖3為控制系統中狀態機間的切換。程序設計思想借助于嵌入式實時操作系統提出的前后臺系統理論。為避免后臺系統打斷前臺系統對任務的處理有影響,任務做在后臺中斷里,前臺的While()死循環(LOOP狀態)中沒有任務,后臺通過中斷信號來告知處理器,從而刺激中斷的發生。從狀態機的切換圖可以看出,INIT狀態是系統初始化過程,主要包括主控的定時器、輸入輸出引腳、AD以及DMA等時鐘初始化,定時器、AD轉化以及串口的輸入輸出引腳初始化,定時器、DMA、系統定時中斷的初始化以及DMA傳輸設置初始化。初始化時設置的PC.4(GPIO_Mode_AIN模式)即模擬輸入模式,當PC.4引腳的信號發生變化時,即位置傳感器傳入當前位置后進入ADC狀態。為提高AD轉化速度和程序處理能力,DMA初始化時借助DMA1的第12通道,直接把AD配置成從ADC1->DR的地址傳送到ad_sm地址,此時為DMA狀態。傳輸完數值后進入SMO狀態,此狀態下任務對傳遞的ad_sm做平滑處理,平滑處理次數越多值越精確,此處做了8次平滑處理。選擇8次處理,首先是因為經過實際應用知平滑處理過的AD數值誤差精度已達要求。其次,做8次平滑處理只需在數值累加時右移3位、結果中最后左移3位,相比于復雜的乘除運算,左右移操作不會占處理器太多處理時間,一定程度上提高了系統的效率,,否則需乘除法和借助浮點庫,加大了主控需求,給主控帶來了難度和挑戰。最后在SMO狀態(DMA中斷的處理程序)輸出處理后的位置采樣AD值ad_sm_new,并將此處的ad_sm_new設置為全局變量數據共享即可進入到Verify_Keep狀態。TIM4狀態中定時器設置為1 s中斷的方式采集ad_sm_new并通過串口發送給上位機,通過串口調試器顯示給程序員調試。為滿足調整的精度要求,系統初始化時設置系統定時器(滴答定時器),程序運行后處于Sys狀態,每10 ?滋s產生系統定時中斷對當前位置采集到的AD值(即ad_sm_new),根據當時的實際情形進行PID調試或PI調試狀態后進入PWM狀態,輸出調整PWM占空比(速度)。采集到的位置要改變方向時(即到達一方向的終點時,在Verify_Keep狀態下的判斷),進行Deal2處理進入Die狀態。由于在改變方向時直流電機不能立刻停下來改變方向,每次都是在原始的方向減小到0然后再改變方向,這種情況不滿足實際的工作狀態。此狀態下通過初始化時設置的高級定時器,設置死區加以控制小車方向的改變。控制系統需要更改位置初始點設置以及系統定時中斷時間等參數時,通過按鍵中斷促使發生,進入到Key狀態,此狀態下有相應的消抖處理,一旦確認特定的按鍵按下則進入到Change狀態,通過串口顯示信息提示來更改初始點位置以及系統中斷時間等參數。

  3.2 系統中PID算法的應用

004.jpg

  圖4為PID算法在程序中的應用。從程序框圖可知,在初始點處設Uk=0,每10 ?滋s后進入系統中斷采集位置AD值,然后計算出偏差err。若err大于設定的最大偏差,則需進行比例、積分、微分共同調節;若小于設定偏差,則只需比例、積分調節,最后通過偏差數值乘以設定的比例值算出需要的Templ,并把Uk進行累積(最后的Uk為TIM1定時器需要裝載的值)來更改占空比。若求出的偏差err>0則正向輸出PWM波形,否則反向輸出。

  PID程序設計重要的是調節適當的比例、積分、微分系數,本系統在PID調節過程中首先把微分、積分系數設為0,使之成為純比例調節。調節比例系數Kp由0增大,直至出現震蕩后,減小Kp使震蕩消失后記此比例系數Kp。比例系數確定后調節積分系數Ki,積分系數的時間常數設為較大的Ti,然后為較小Ti使之出現振蕩,然后再反過來增加Ti使振蕩消失后記此Ki。最后在微分調節時先觀察,若發現控制有明顯的滯后時,需對Kd進行調節到合適,否則不需調節Kd。通過此調節過程可知PID算法在此控制系統的簡單性和實用性。

  3.3 高級定時器在程序中的應用設置

005.jpg

  主控中的高級定時器TIM1能夠輸出兩路互補的PWM信號并能瞬時地關斷和接通,同時設置定時器中的CCxE和CCxNE位插入死區。設置適當的插入死區時間可以瞬間地調整搖擺(相當于噴繪機中的小車)的方向,不會因為慣性太大而難以剎車。設置時定時器的PA9和PB14引腳對應到OCx和OCxN。庫函數通過設置TIM_BDTRInitStructure.TIM_DeadTime值來改變插入的死區時間。系統上電初期,TIM1_BDTR寄存器中的MOE低即剎車功能禁止。方向調整需要更改時,調整TIM1_BDTR寄存器BKE位來使能剎車功能。當不需要調整方向而在一個方向上平穩運行時,通過位置檢測來調整需要的占空比。圖5為系統剎車時序圖,是搖擺調整方向時通過示波器測出的。圖中1通道引入的是定時器1的PA9引腳,2互補通道引入的是定時器1 PB14引腳,可看出兩條豎線間是插入的死區時間,從右邊黑圈內讀出兩豎線間的時間為300 ?滋s與高級定時器的設置相吻合。經實際操作驗證,此系統在此死區時間以及互補PWM信號設置下可瞬時改變方向,基本消除了機械上慣性帶來的干擾。

4 系統的測試

  結合系統總體架構的軟件和硬件平臺以及過程方法步驟的闡述,最后測試結果如圖6、圖7所示。其中圖6顯示了運動過程中的位置采樣信息,從圖可知,在COM1下、9 600 b/s傳輸率、8個數據位、1個停止位、無奇偶校驗下,第一時刻采集到的位置值為198。圖7是PID在此位置調試下的示波器截圖,顯示了此位置下通過PID調節后輸出的占空比PWM波形。從截圖黑圈中可看出,在平穩狀態下運行時的頻率為20 kHz,占空比為28%,滿足搖擺平穩的運行狀態與實際的設置相吻合。結合圖5、圖6、圖7可看出搖擺在調整方向時的剎車以及PID在搖擺平穩狀態下運行的可行性和實用性,證明此設計系統正確,可投放到應用領域。

5 結論

  隨著噴繪技術發展,對噴繪機中小車控制系統要求越來越高。本設計從簡單、方便、實用性考慮,將STM32作為主控制平臺、L6203作為電機驅動,系統結合軟件設計出噴繪機中小車的控制系統。通過實踐和理論研究證明此方案可行,系統不僅簡捷、方便,而且更改容易,且執行過程中一定程度上提高了系統的效率并解決了一定技術難題,達到了理想的預期效果。但此設計控制系統沒能真正地面向噴繪機中小車系統,只是采取了系統等效法進行了演示,一定還有不少缺陷和不足,需以后加以彌補和改正。也希望將來此設計系統可廣泛應用到噴繪機小車的控制系統中。

  參考文獻

  [1] 李博,馬訓鳴,霍建鋒.基于PID的變量馬達恒速控制系統研究[J].西安工程大學學報,2014,27(2):231-233.

  [2] 劉晉,劉卓.USB接口在噴繪機中的應用[J].航空計算技術,2007,37(2):62-65.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品久久久久久中文字幕网 | 五月婷婷丁香在线视频 | 午夜欧美成人久久久久久 | 日韩中文字幕在线不卡 | 婷婷性| 99热精品免费 | 欧美一级在线看 | 高清视频一区 | 亚洲伊人成综合成人网 | 激情五月婷婷色 | 亚洲激情偷拍 | 欧美淫视频| 久久综合给合久久狠狠狠色97 | 久久精品国产69国产精品亚洲 | 国产一级电影在线观看 | 日韩欧美视频一区二区三区 | 国产精品合集一区二区三区 | 99伊人 | 看全免费的一级毛片 | 91一区二区三区四区五区 | 亚洲精品aaa| 国产成人艳妇aa视频在线 | 五月天激情综合 | 日本a在线天堂 | 国产美女精品在线观看 | a级毛片在线免费观看 | 久久电影网午夜鲁丝片免费 | 国产自偷自拍 | 大色虫成人午夜在线观看 | 99视频精品全国在线观看 | 免费在线亚洲视频 | 狠狠久久久久久亚洲综合网 | 国产一区二区三区免费播放 | 午夜动作片 | 久久久久国产精品免费 | 免费a级毛片 | 国产精品网站在线观看 | 国产男女视频 | 看片网站推荐 | 精品国产_亚洲人成在线高清 | 久久久久久夜精品精品免费啦 |