你的位置:首頁(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)換器和專門的數(shù)學(xué)功能,常常被忽視。
 
本文將快速回顧高效的基于單片機(jī)的閉環(huán)控制系統(tǒng)的一些關(guān)鍵要求。提高效率的常用技術(shù)將使用一些例子說明 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)。例如,汽車的自動(dòng)巡航控制就是這樣一個(gè)系統(tǒng),在這個(gè)系統(tǒng)中,汽車的速度設(shè)定在一個(gè)期望的水平上,即使汽車碰到山坡,控制器也能保持車速不變??刂扑俣鹊乃惴ㄊ褂靡粋€(gè)控制環(huán),它應(yīng)用一個(gè)輸入(油門上的壓力),測(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ò)誤來修改系統(tǒng)輸入,使系統(tǒng)輸出更接近參考輸入。系統(tǒng)控制器需要足夠智能,以避免由于不正確管理的控制系統(tǒng)引起的振蕩和其他問題。假設(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ì)算、控制各種輸入和輸出,都在非常高的性能水平(特別是在高利率就像汽車機(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í)間過長(zhǎng)與系統(tǒng)動(dòng)力學(xué)(受控系統(tǒng)的時(shí)變特性)相關(guān),那么很難不可能有效地控制系統(tǒng)輸出。振蕩和失控的錯(cuò)誤會(huì)累積,使系統(tǒng)處于失敗的危險(xiǎn)中,也許是一個(gè)非常戲劇性的性質(zhì)。一般來說,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ù)器周圍有用控制回路實(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è)有用的功能是從外部來源,通過左邊的圖的 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è)正交解碼器塊,可以用于類似的測(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è)來從大功率 CPU 和程序內(nèi)存塊中卸載處理。如果外圍設(shè)備可以獨(dú)立于 CPU 操作,這就允許 CPU 執(zhí)行其他更復(fù)雜的處理任務(wù),甚至可以在低功耗狀態(tài)下等待,直到需要進(jìn)行處理。一些先進(jìn)的 MCU 具有特殊的外圍控制系統(tǒng),可以用來連接外圍設(shè)備一起從 CPU 沒有干預(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 種類型的事件信號(hào)可以連接到外圍設(shè)備以啟動(dòng)轉(zhuǎn)換、啟動(dòng)計(jì)時(shí)器,并開始 DMA 或 DTC 傳輸或任何其他所需的外圍設(shè)備。當(dāng)已設(shè)置為觸發(fā)器的事件發(fā)生時(shí),將啟動(dòng)所選模塊的操作集。
 
可以啟動(dòng)多個(gè)操作的鏈,以便在沒有 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 處理過程中,時(shí)鐘振蕩器可以自動(dòng)切換到更快的模式。采用 ELC 發(fā)揮到了極致,很多的傳感功能中常見的控制回路的要求可以非常迅速和有效地使它容易實(shí)現(xiàn)快速循環(huán)次數(shù)的同時(shí)保持功率最小。
 
高效的計(jì)算
 
正如我們所看到的,使用智能和自主計(jì)數(shù)器 / 定時(shí)器和外圍設(shè)備可以改善環(huán)路時(shí)間和降低功耗——這是控制系統(tǒng)設(shè)計(jì)中的兩個(gè)重要方面。通常,每一個(gè)主要控制系統(tǒng)塊都需要計(jì)算來處理在檢測(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 類使用 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è)德克薩斯樂器協(xié)奏曲的單片機(jī),如 f28m35h52,兼具 ARMCortex-M332 位 CPU 和德克薩斯文書中的 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 之間的這種類型化是很重要的。如果你需要更多的處理能力為一個(gè)單一的算法或需要雙 CPU 步調(diào)一致的高可靠性,均勻的雙 CPU,具有相同的處理子系統(tǒng),如德克薩斯儀器 cortex-r4 大力神 RM4ARMMCU 可能是更好的選擇。高可靠性應(yīng)用的閉環(huán)控制系統(tǒng)可以使用異構(gòu)雙 CPU 實(shí)現(xiàn)的內(nèi)置冗余來提高效率和健壯性。
 
結(jié)論
 
在基于 MCU 的設(shè)計(jì)中,有效地關(guān)閉控制回路不必充滿嘗試和錯(cuò)誤的方法來尋找最佳實(shí)現(xiàn)。更系統(tǒng)的方法,采用現(xiàn)代先進(jìn)的功能正確,MCU 可以幫助你創(chuàng)建更高效,更快,更低的功耗,更有效的控制系統(tǒng)解決方案。
 
 
推薦閱讀:
晶振大佬也得看,如何設(shè)計(jì)PCB晶振
PCB板極限溫度測(cè)試方法分析
開關(guān)電源中的PFC功率因素校正理解,讀這一篇就明白啦
DC-DC開關(guān)電源管理芯片設(shè)計(jì)(下)
DC-DC開關(guān)電源管理芯片設(shè)計(jì)(上)
要采購(gòu)開關(guān)么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉