你的位置:首頁(yè) > 電路保護(hù) > 正文

控制回路任務(wù)不可避免,基于單片機(jī)如何設(shè)計(jì)閉環(huán)控制系統(tǒng)?

發(fā)布時(shí)間:2020-02-11 責(zé)任編輯:lina

【導(dǎo)讀】控制回路是許多基于 MCU 的設(shè)計(jì)所執(zhí)行的最基本的任務(wù)之一。通常這些設(shè)計(jì)中未充分利用的關(guān)鍵特征和外圍設(shè)備在現(xiàn)代單片機(jī)最有效地實(shí)現(xiàn)閉環(huán)控制系統(tǒng)。
   
控制回路是許多基于 MCU 的設(shè)計(jì)所執(zhí)行的最基本的任務(wù)之一。通常這些設(shè)計(jì)中未充分利用的關(guān)鍵特征和外圍設(shè)備在現(xiàn)代單片機(jī)最有效地實(shí)現(xiàn)閉環(huán)控制系統(tǒng)。定時(shí)器和中斷控制器在這些系統(tǒng)中經(jīng)常使用,但在實(shí)現(xiàn)控制系統(tǒng)時(shí),許多其他功能,如 DMA、高級(jí)模數(shù)轉(zhuǎn)換器和專門(mén)的數(shù)學(xué)功能,常常被忽視。
 
本文將快速回顧高效的基于單片機(jī)的閉環(huán)控制系統(tǒng)的一些關(guān)鍵要求。提高效率的常用技術(shù)將使用一些例子說(shuō)明 MCUs。一旦您了解了一些提高效率的常用技術(shù),您就可以更好地尋找實(shí)現(xiàn)最佳關(guān)閉下一個(gè)控制循環(huán)設(shè)計(jì)的實(shí)現(xiàn)。
 
控制環(huán)基礎(chǔ)
 
控制環(huán)是控制動(dòng)態(tài)系統(tǒng)的關(guān)鍵元素。一個(gè)動(dòng)態(tài)系統(tǒng)可以是任何機(jī)械或電氣系統(tǒng)之間的關(guān)系(通常建模為輸入和輸出之間的線性關(guān)系)。輸出通常需要以這樣的方式控制,以保持在期望的操作“頻帶”內(nèi)。例如,汽車(chē)的自動(dòng)巡航控制就是這樣一個(gè)系統(tǒng),在這個(gè)系統(tǒng)中,汽車(chē)的速度設(shè)定在一個(gè)期望的水平上,即使汽車(chē)碰到山坡,控制器也能保持車(chē)速不變。控制速度的算法使用一個(gè)控制環(huán),它應(yīng)用一個(gè)輸入(油門(mén)上的壓力),測(cè)量結(jié)果(速度)并根據(jù)需要調(diào)整輸入以保持速度達(dá)到所需的水平。一個(gè)簡(jiǎn)單的單輸入單輸出控制系統(tǒng)的框圖,帶有控制回路,如圖 1 所示。
 
 控制回路任務(wù)不可避免,基于單片機(jī)如何設(shè)計(jì)閉環(huán)控制系統(tǒng)?
圖 1:一個(gè)簡(jiǎn)單的動(dòng)態(tài)控制系統(tǒng)控制回路框圖。
 
在上面的方框圖中,對(duì)動(dòng)態(tài)系統(tǒng)的輸入產(chǎn)生一個(gè)輸出。輸出由反饋傳感器測(cè)量,并將測(cè)量的輸出與參考(期望)輸入進(jìn)行比較。如果存在差異,系統(tǒng)控制器會(huì)使用所產(chǎn)生的錯(cuò)誤來(lái)修改系統(tǒng)輸入,使系統(tǒng)輸出更接近參考輸入。系統(tǒng)控制器需要足夠智能,以避免由于不正確管理的控制系統(tǒng)引起的振蕩和其他問(wèn)題。假設(shè)動(dòng)態(tài)系統(tǒng)是線性的(輸出與輸入成比例)并不像你想的那樣有限制,因?yàn)樵S多機(jī)械和電氣系統(tǒng)是以線性方式運(yùn)行的,或者很容易“偏置”,在更復(fù)雜的傳遞函數(shù)的線性區(qū)域內(nèi)工作。
 
利用單片機(jī)實(shí)現(xiàn)控制回路
 
這是很容易看到為什么 MCU 實(shí)現(xiàn)控制系統(tǒng)的主力。與意識(shí)、能力計(jì)算、控制各種輸入和輸出,都在非常高的性能水平(特別是在高利率就像汽車(chē)機(jī)械系統(tǒng))是一個(gè)自然的控制單元 MCU。除了 CPU 的能力,在單片機(jī)的智能外設(shè)有許多讓你閉環(huán)控制簡(jiǎn)單有效。
 
控制回路通常在動(dòng)態(tài)系統(tǒng)的每次調(diào)整之間有定時(shí)關(guān)系。這個(gè)“循環(huán)時(shí)間”決定了調(diào)整的速度。如果循環(huán)時(shí)間過(guò)長(zhǎng)與系統(tǒng)動(dòng)力學(xué)(受控系統(tǒng)的時(shí)變特性)相關(guān),那么很難不可能有效地控制系統(tǒng)輸出。振蕩和失控的錯(cuò)誤會(huì)累積,使系統(tǒng)處于失敗的危險(xiǎn)中,也許是一個(gè)非常戲劇性的性質(zhì)。一般來(lái)說(shuō),MCU 可以更快地關(guān)閉循環(huán)(處理輸出傳感器,確定任何參考錯(cuò)誤,并調(diào)整系統(tǒng)輸入),更好。
 
 
有效的定時(shí)和計(jì)數(shù)因此關(guān)鍵功能所需要的最佳關(guān)閉控制回路和 MCU 的先進(jìn)外設(shè)可以實(shí)現(xiàn)控制回路的最佳時(shí)機(jī)。例如,SiliconLabsefm32lg360f64g-e-csp81 單片機(jī)定時(shí) / 計(jì)數(shù)器周?chē)杏每刂苹芈穼?shí)現(xiàn)的幾個(gè)特點(diǎn)。除了閉環(huán)控制器的主回路定時(shí)器外,還需要定時(shí)和計(jì)數(shù)功能。讓我們更詳細(xì)的 EFM32LG 計(jì)數(shù)器 / 定時(shí)器外設(shè)的框圖(圖 2)看,看它如何能幫助控制回路系統(tǒng)如圖 1 所示的實(shí)施等常用功能。
 
控制回路任務(wù)不可避免,基于單片機(jī)如何設(shè)計(jì)閉環(huán)控制系統(tǒng)?
圖 2:SiliconLabsEFM32LG 單片機(jī)的定時(shí)器 / 計(jì)數(shù)器框圖。
 
的定時(shí)器 / 計(jì)數(shù)器,一個(gè)有用的功能是從外部來(lái)源,通過(guò)左邊的圖的 timn_ccn 引腳數(shù)轉(zhuǎn)換的能力。當(dāng)觀察基于動(dòng)態(tài)系統(tǒng)的測(cè)量輸出時(shí)產(chǎn)生轉(zhuǎn)換的傳感器時(shí),這些輸入是有幫助的。例如,基于位置測(cè)量的旋轉(zhuǎn)測(cè)量常常在每次旋轉(zhuǎn)時(shí)產(chǎn)生轉(zhuǎn)換。還注意到在圖的上中間有一個(gè)正交解碼器塊,可以用于類(lèi)似的測(cè)量。記錄的數(shù)量的計(jì)數(shù),當(dāng)達(dá)到存儲(chǔ)在 TImern_top 終端值可用于觸發(fā)中斷,立即行動(dòng)或可存儲(chǔ)供以后處理。
 
定時(shí)器 / 計(jì)數(shù)器的輸出,圖中右側(cè) TImn_ccn 引腳,可以使用脈沖寬度調(diào)制(PWM)控制動(dòng)態(tài)系統(tǒng)輸入常用方案。在這些系統(tǒng)中,信號(hào)活動(dòng)的時(shí)間與控制所需的電壓或電流電平有關(guān)。對(duì)信號(hào)周期、信號(hào)高時(shí)間和邊緣轉(zhuǎn)換點(diǎn)的精確控制都是關(guān)鍵的,并且可以有效地控制在定時(shí)器 / 計(jì)數(shù)器的 PWM 特性中。有三個(gè)單獨(dú)的 PWM 輸出也便于普通電機(jī)控制應(yīng)用,其中三個(gè)單獨(dú)的繞組用于改變與旋轉(zhuǎn)電機(jī)相關(guān)的磁場(chǎng)。
 
智能外設(shè)控制
 
實(shí)現(xiàn)快速而有效的環(huán)路反饋時(shí)間通常需要使用智能外設(shè)來(lái)從大功率 CPU 和程序內(nèi)存塊中卸載處理。如果外圍設(shè)備可以獨(dú)立于 CPU 操作,這就允許 CPU 執(zhí)行其他更復(fù)雜的處理任務(wù),甚至可以在低功耗狀態(tài)下等待,直到需要進(jìn)行處理。一些先進(jìn)的 MCU 具有特殊的外圍控制系統(tǒng),可以用來(lái)連接外圍設(shè)備一起從 CPU 沒(méi)有干預(yù)的需要配置自主操作。例如,瑞薩 MCU 的單片機(jī) r5f52108cdfm,rx210 集團(tuán)的一員,有一個(gè)事件鏈接控制器(ELC)連接和控制外設(shè)輸出為自主操作的外設(shè)輸入。在 ELC 的框圖如圖 3 所示。
 
控制回路任務(wù)不可避免,基于單片機(jī)如何設(shè)計(jì)閉環(huán)控制系統(tǒng)?
圖 3:瑞薩單片機(jī) rx210 組事件鏈接控制器框圖。
 
圖左邊的內(nèi)部外圍總線用于連接外圍設(shè)備,如圖右側(cè)所示。所有外設(shè),包括 DMA 控制器、數(shù)據(jù)傳輸控制器(DTC)和中斷控制器(ICU)都可以與專用控件連接,自主地基于中斷、計(jì)時(shí)器比較結(jié)果或 PIN 轉(zhuǎn)換激活外設(shè)。多達(dá) 59 種類(lèi)型的事件信號(hào)可以連接到外圍設(shè)備以啟動(dòng)轉(zhuǎn)換、啟動(dòng)計(jì)時(shí)器,并開(kāi)始 DMA 或 DTC 傳輸或任何其他所需的外圍設(shè)備。當(dāng)已設(shè)置為觸發(fā)器的事件發(fā)生時(shí),將啟動(dòng)所選模塊的操作集。
 
可以啟動(dòng)多個(gè)操作的鏈,以便在沒(méi)有 CPU 干預(yù)的情況下完成復(fù)雜的操作。例如,計(jì)時(shí)器可以啟動(dòng)存儲(chǔ)在內(nèi)存中的模數(shù)轉(zhuǎn)換和轉(zhuǎn)換值。計(jì)數(shù)器可以跟蹤轉(zhuǎn)換的數(shù)量,并且在計(jì)數(shù)表明可以處理完整數(shù)據(jù)集時(shí) CPU 可以被中斷。在 CPU 處理過(guò)程中,時(shí)鐘振蕩器可以自動(dòng)切換到更快的模式。采用 ELC 發(fā)揮到了極致,很多的傳感功能中常見(jiàn)的控制回路的要求可以非常迅速和有效地使它容易實(shí)現(xiàn)快速循環(huán)次數(shù)的同時(shí)保持功率最小。
 
高效的計(jì)算
 
正如我們所看到的,使用智能和自主計(jì)數(shù)器 / 定時(shí)器和外圍設(shè)備可以改善環(huán)路時(shí)間和降低功耗——這是控制系統(tǒng)設(shè)計(jì)中的兩個(gè)重要方面。通常,每一個(gè)主要控制系統(tǒng)塊都需要計(jì)算來(lái)處理在檢測(cè)、比較、控制和操作被控制系統(tǒng)時(shí)所需的數(shù)據(jù)。事實(shí)上,隨著控制系統(tǒng)的效率、精度和長(zhǎng)的使用壽命,計(jì)算需求急劇增加,已成為重要的系統(tǒng)需求。實(shí)現(xiàn)控制回路的高級(jí)算法現(xiàn)在使用比例積分微分算法,浮點(diǎn)運(yùn)算通常需要提高精度。如果硬件中不支持高級(jí)計(jì)算,則在所需頻率下控制環(huán)路閉合變得非常困難。
 
MCU 廠商了解先進(jìn)的加工能力的需要,包括數(shù)值處理能力,即使在低端 MCU 可以加快復(fù)雜的閉環(huán)控制設(shè)計(jì)所需的計(jì)算。高端機(jī)通常包括專用硬件加速浮點(diǎn)計(jì)算最精確的控制應(yīng)用的要求。飛思卡爾 KineTIsK60 單片機(jī) mk61fn1m0vmd15mk61fn1m0vm 類(lèi)使用 32 位 ARMCortex-M 處理器與 DSP 指令和單精度浮點(diǎn)運(yùn)算單元的速度為最復(fù)雜的控制算法,需要先進(jìn)的計(jì)算。DSP 指令包括擴(kuò)展單周期多累積(MAC)指令,用于高精度信號(hào)的快速處理,以及單指令多數(shù)據(jù)(SIMD)指令,以便更快地處理低分辨率信號(hào)。硬件分割塊只運(yùn)行 2 到 12 個(gè)周期,加快了普通的縮放操作。
 
為了獲得更高的性能,可以使用雙核 CPU,以便并行處理任務(wù)。例如,一個(gè)德克薩斯樂(lè)器協(xié)奏曲的單片機(jī),如 f28m35h52,兼具 ARMCortex-M332 位 CPU 和德克薩斯文書(shū)中的 32 位 CPU 浮點(diǎn)能力 TMS320C28X 處理器。下面的圖 4 顯示了這種雙核 MCU 的框圖。
 
 控制回路任務(wù)不可避免,基于單片機(jī)如何設(shè)計(jì)閉環(huán)控制系統(tǒng)?
圖 4:德克薩斯儀器 f28m35x 協(xié)奏曲 MCU 框圖。
 
基于 ARM 的 MCU,在圖的上部,可用于管理外圍設(shè)備,而協(xié)奏曲 CPU 可用于處理數(shù)據(jù)和管理受控制的系統(tǒng)。請(qǐng)注意,PWM 定時(shí)器與協(xié)奏曲子系統(tǒng)緊密相連,因此很容易產(chǎn)生由控制系統(tǒng)輸入所需的復(fù)雜波形。當(dāng)應(yīng)用程序有容易分離的算法時(shí),雙核 CPU 之間的這種類(lèi)型化是很重要的。如果你需要更多的處理能力為一個(gè)單一的算法或需要雙 CPU 步調(diào)一致的高可靠性,均勻的雙 CPU,具有相同的處理子系統(tǒng),如德克薩斯儀器 cortex-r4 大力神 RM4ARMMCU 可能是更好的選擇。高可靠性應(yīng)用的閉環(huán)控制系統(tǒng)可以使用異構(gòu)雙 CPU 實(shí)現(xiàn)的內(nèi)置冗余來(lái)提高效率和健壯性。
 
結(jié)論
 
在基于 MCU 的設(shè)計(jì)中,有效地關(guān)閉控制回路不必充滿嘗試和錯(cuò)誤的方法來(lái)尋找最佳實(shí)現(xiàn)。更系統(tǒng)的方法,采用現(xiàn)代先進(jìn)的功能正確,MCU 可以幫助你創(chuàng)建更高效,更快,更低的功耗,更有效的控制系統(tǒng)解決方案。
 
 
推薦閱讀:
晶振大佬也得看,如何設(shè)計(jì)PCB晶振
PCB板極限溫度測(cè)試方法分析
開(kāi)關(guān)電源中的PFC功率因素校正理解,讀這一篇就明白啦
DC-DC開(kāi)關(guān)電源管理芯片設(shè)計(jì)(下)
DC-DC開(kāi)關(guān)電源管理芯片設(shè)計(jì)(上)
要采購(gòu)開(kāi)關(guān)么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉