?

一種基于施密特觸發器原理的直流電機位置控制及消抖算法

2021-01-15 06:00
微電機 2020年12期
關鍵詞:觸發器施密特直流電機

黃 峰

(臺州技師學院(籌),浙江 臺州 318000)

0 引 言

有刷直流電機由于轉速高、結構及控制簡單、成本低廉等優點,在家用、工業甚至航天等領域都得到了廣泛應用。有刷直流電機應用中除了速度控制,在很多場景中也需要位置控制,例如機器人、閥門的轉動角度控制、數控設備、雷達或火炮的隨動系統等[1]。這些系統一般要求直流電機具有響應速度快、執行效率高、位置調節精確等特性。

由于直流電機內部參數時變、非線性的特點,使得直流電機位置伺服控制系統設計較為復雜。經典的直流電機伺服控制策略有反饋線性化、自適應魯棒和滑模變等控制算法。反饋線性法在實際中常遇到數學模型難以建立的困難,自適應魯棒法容易受強干擾影響導致系統跟蹤性能變差,滑模變控制算法可能存在抖動現象[2-3]?;谏鲜鲆蛩?,本文提出一種基于施密特觸發原理的直流有刷電機位置控制及消抖算法,該方法已在實際產品中得以運用。據觀測,本算法具有響應速度快、位置控制精度高、硬件要求低等優點。

1 控制系統硬件電路

1.1 硬件選型

本控制系統采用旋轉角度傳感器、微控制器、等硬件,其型號及元件參數如表1所示。

表1 有刷直流電機控制系統硬件主要清單

1.2 系統硬件框架圖

經產品內部設計,直流有刷電機通過旋轉軸帶動產品內部齒輪箱,以促使電動閥門進行開關動作。旋轉角度傳感器(電位器)與齒輪箱輸出軸連接,因此旋轉角度傳感器的輸出電壓代表了電動閥門的位置。微控制器高速采集該電壓并換算成真實位置,同時根據系統的輸入量得到目標位置,再通過內部算法處理輸出對應的PWM至電機驅動芯片以促使有刷直流電機工作,系統的工作原理框架見圖1。

圖1 有刷直流電機位置控制系統硬件框架圖

2 有刷直流電機位置控制算法

2.1 有刷直流電機位置控制抖動的危害

有刷直流電機在位置控制中最常見的問題就是抖動,當檢測到目標位置和實際位置存在差異時,必須控制電機往目標位置進行偏轉。但由于位置采樣誤差(如采用編碼器該項誤差可避免)、電機控制誤差(尤其是電機轉動慣量導致的誤差)等因素,往往不能一次性將電機位置帶動到目標位置。有刷直流電機位置控制如果存在抖動,不僅影響產品的使用體驗,也會造成過度使用內部的碳刷導致電機使用壽命銳減,其啟停沖擊電流對電路電源可靠性也會造成威脅。

2.2 施密特觸發器工作原理

施密特觸發器(Schmitt trigger)是一種電壓比較器電路。正向閾值和負向閾值不相等,當輸入電壓高于正向閾值電壓,輸出為低;當輸入電壓低于負向閾值電壓,輸出為高。當輸入在正負向閾值電壓之間,輸出不改變[4]?;谑┟芴赜|發器原理的有刷直流電機位置控制算法不存在如PID算法的積分誤差問題。

圖2 施密特觸發器輸入和輸出遲滯現象工作原理圖

2.3 算法工作流程

記電機真實位置為X,電機目標位置為Y,計算得到位置誤差為S,設系統允許誤差絕對值為W。本系統的控制算法為

(1)當S的絕對值與W相差較大時,根據目標方向系統輸出滿額度PWM控制電機進行轉動。

(2)當S的絕對值與W相差小于臨界值(可據系統行程及轉動慣量等特性設定)后,根據目標方向系統減小PWM輸出控制電機進行轉動,以減小電機的轉動慣量。

(3)當電機繼續轉動,一直到S的絕對值小于等于W時,系統關閉PWM輸出,保持電機處于靜止狀態。

(4)理想情況下,電機轉動到系統認為的目標位置后,保持停止就可以了。但由于位置采樣誤差(模擬傳感器不可避免),難免會造成檢測位置與目標位置超出偏差,從而造成電機轉動和抖動。為消除這種抖動,在上述算法基礎上增加基于施密特觸發原理的消抖算法,并設定觸發界限。當電機首次停止后,記錄電機的檢測位置為R,若后續檢測的電機位置與R的誤差小于觸發界限時,可認為是系統存在的干擾,可不予理會;當后續檢測的電機位置與R的誤差大于觸發界限時,認為首次停止的并非誤差允許范圍內的目標位置,需要進一步進行調整。經過實測,該算法在執行中運算效率高,硬件要求低,系統響應和位置控制精度都較高。

該算法的流程圖如圖3所示。

圖3 有刷直流電機位置控制系統算法流程圖

2.4 參考核心程序(C語言版)

u8 SchmitFilter(u16 RealPos,u16 AimPos){

int PosMinus=0,SchmitPosMinus=0;

PosMinus=AimVoltage-RealVoltg;

if((fabs(PosMinus)<=PermissiveError)&&(StateBit==0)){

StateBit=1;

PreAimPos=RealPos;

return 1;}

SchmitPosMinus=RealPos-PreAimPos;

if(fabs(SchmitPosMinus)<=SchmitPermissiveError){

return 1;}

StateBit=0;

return 0;

}

3 算法實測及改進想法

根據產品設計需求,需完成電動閥門0至180度之間的任意轉動角度位置調節。通過使用該算法,將控制信號(4~20 mA電流)完整周期內與電機轉動角度之間的數據進行記錄,測得電機控制的最大角度誤差為1.5度,即最大線性誤差為0.8%,同時測得該控制系統的重復性誤差約正負1度??刂菩盘柵c電機角度之間的對應關系制成圖標,如圖4所示。

圖4 控制信號輸入(電流mA)與電動閥門角度(度)輸出關系曲線

實踐證明本算法可在常規有刷直流電機位置控制中進行采用。針對本算法的進一步改進,有如下思考:①調節過程中增加電流監測,實現軟啟動。②建立常用電機的狀態模型,進行不同負載和速度之間的數據測試,以匹配不同應用場景的速度調節、系統允許誤差及誤差觸發界限等參數。③在此基礎上,探究實現更高位置控制精度的可能性。

4 結 語

本文從實踐應用需求出發,在學習有刷直流電機位置控制經典算法的基礎上,提出了一種新型的控制算法。經過實測及產品級應用,表明該算法具有響應速度快、程序編寫較為簡易、硬件支持要求低、調節精度較高、不會出現抖動的特點,可供相關行業人士借鑒參考。同時本文對該算法的后續改進提出了思考。

猜你喜歡
觸發器施密特直流電機
基于模糊PID的無刷直流電機速度控制系統的設計與仿真
基于模糊自適應ADRC的無刷直流電機控制技術
配置觸發器有條件啟動Windows服務
單程票傳送機構中直流電機的驅動設計
觸發器在酒店管理系統中的應用
基于FPGA的雙繞組無刷直流電機軟件設計
帶著GPS去流浪
幾種常見觸發器工作方式的討論
帶著gps去流浪
基于電路原理的觸發器波形分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合