娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

基于STM32的直流電機PID調速系統設計與實現

發布者:JoyfulMelody最新更新時間:2024-09-13 來源: elecfans關鍵字:STM32  直流電機  PID  調速系統 手機看文章 掃描二維碼
隨時隨地手機看文章

直流調速系統廣泛應用于低轉速、高精度等各領域,如精密辦公設備(噴墨打印機、激光打印機),自動售貨機,家用電器、機器人和玩具設備等。其發展得力于微電子技術電力電子技術、傳感器技術、永磁材料技術、自動控制技術和微機應用技術的最新發展成就。順應調速系統智能化、簡單化的發展趨勢,本設計采用一款性價比高、功耗低的基于ARMCortex?M3內核的STM32單片機為控制核心,結合PID控制技術,實現了直流電機范圍大、精度高的調速性能。


1、系統的總體設計

該調速系統能夠實現對電機的啟動、制動、正反轉調速、測速和數據上傳等功能,可方便地實現直流電機的四象限運行。本系統的性能指標為:調速精度高達到1r/min;調速穩態誤差不超過0.5%;調速范圍為-500~500r/min;串口指令控制方式;驅動電路導通阻抗低,能耗少;運行穩定可靠。系統由電源、上位機、通信接口、控制電路、電機驅動電路、電機與負載和測速裝置等模塊組成,結構框圖如圖1所示。

基于STM32的直流電機PID調速系統設計與實現

圖1  系統結構框圖


2、硬件設計

2.1、控制電路設計

控制電路負責接收控制指令,并產生相應的控制信號,同時返回電機速度數據和電機運行狀態數據等。為了保證電路工作穩定可靠,控制電路應具有較高的運行速度、高度可靠的穩定性能、開發容易、高性價比,產生的PWM控制信號應具有死區延時、互補輸出、緊急剎車等功能。STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARMCortex?M3內核,本系統采用STM32F103作為核心控制器。控制電路以STM32F103為核心的最小系統包括STM32主芯片、時鐘電路、復位電路、UART?USB轉換電路、JTAG調試接口電路、電源等,其原理圖如圖2所示。

基于STM32的直流電機PID調速系統設計與實現

圖2  以STM32F103為核心的控制電路原理圖


2.2、驅動電路設計

根據系統正反轉的控制要求,采用H橋驅動電路,由MOS管構成的H橋驅動電路原理圖如圖3所示。

基于STM32的直流電機PID調速系統設計與實現

圖3 由MOS管構成的H橋驅動電路原理圖

MOSFET是電壓控制型器件,具有開關速度快、輸入阻抗高、驅動方便等優點[5]。本系統采用IRF9630和IRF630對管,組成H橋,上橋臂均使用PMOS,下橋臂均使用NMOS,兩種MOS管基本特性如表1所示。

表1H橋MOSFET主要參數表

基于STM32的直流電機PID調速系統設計與實現

控制電路的輸出信號為DC3.3V信號,需要與驅動電路隔離,采用了LTV352光電耦合隔離器?;パaPWM輸入信號經過光耦隔離作用到MOSFET柵極,從而控制OUTA,OUTB之間的電壓。MOSFET中G,S兩極之間使用了雙向TVS管抑制瞬態電壓,防止MOSFET損壞。由于采用了PMOS,NMOS對管電路,MOSFET柵極電壓是由輸入電壓進行分壓得到,因此不需要采用額外的高電壓信號源。

互補PWM輸入信號中,PWMA控制V1,V4橋臂,PWMB信號控制V2,V3橋臂。當占空比為50%的PWM輸入信號時,OUTA,OUTB之間輸出電壓是0V,電機處于停止狀態時,由于電機電樞中仍存在高頻微震電流,從而消除了正反向轉動時的靜摩擦死區,起著動力潤滑作用。


2.3、速度反饋裝置設計

本系統采用高達888線AB相光電編碼器,兩相脈沖相差90°,通過測量某相的周期T可以得到電機運行速度,通過測量兩相的上升沿時刻可以得到電機運行方向。


3、系統軟件設計

系統的軟件設計主要完成硬件和數據初始化功能,然后進入標志位循環掃描狀態,一旦中斷發生便處理中斷程序,在中斷程序中有相關標志位置位(包括上位機發送來的、通信異常處理、電機停轉處理),有則處理,無則繼續進行中斷等待。系統軟件主程序流程如圖4所示。

基于STM32的直流電機PID調速系統設計與實現

圖4  主程序流程圖


中斷源分為USART中斷、PWM剎車中斷、EXTI、TIMER中斷。

USART中斷是由于與上位機的數據交換過程中產生的,在中斷程序中需要對接收到的數據包進行解析,并更新通信超時計數器。

PWM剎車中斷是由于PWM剎車輸入信號產生的,代表電機控制現場產生了緊急停車的請求。

EXTI中斷由AB相編碼器產生的光電編碼脈沖產生,需要在中斷服務歷程中計算電機運行速度和方向,同時更新測速超時計數器。

TIMER中斷為1ms定時中斷,這個中斷源的存在是為了系統通信超時檢測、電機停轉檢測使用,在中斷中需要對通信超時計數器和測速超時計數器進行自減處理,如果到零則發出響應信號通知系統。

由于中斷源的多樣性,STM32自帶有可嵌套的中斷向量控制器(NVIC),因此中斷處理程序實際上是相互獨立的。


3.1、PID算法設計

PID控制器將給定轉速和反饋測得轉速相比較后,經計算得出一個輸出信號,將此輸出信號量化為PWM的占空比,最終作用在電機的驅動電路上來控制電機。本系統中采用增量式PID算法[9?10],增量式數字PID表達式為:

基于STM32的直流電機PID調速系統設計與實現

KP為比例系數;TI為積分項積分時間常數;TD為微分時間常數。由上式可以得出增量式PID算法程序如下:

#defineKP0.15

#defineTI0.95

#defineTD0

#defineT0.001

#defineEMIN0.01

#defineA(KP*(1+T/TI+TD/T))

#defineB(KP*(1+2*TD/T))

#defineC(KP*TD/T)

floatPIDCompute(floatr,floaty)

{staticfloate0=0.0;

staticfloate1=0.0;

floate=0.0;

floatdelta;

e=r-y;

delta=A*e-B*e1+C*e0;

e0=e1;

e1=e;

returndelta;}


3.2、測速軟件設計

測速軟件需要完成測量電機轉速與測量電機運行方向兩部分內容。光電測速編碼器輸出的888線AB相脈沖分別連接到STM32的PA0,PA1上。

測速在STM32上的編程實現過程如下:

(1)配置EXTI1上升沿、下降沿均觸發中斷;

(2)配置端口與TIM2,TIM3;

(3)開啟中斷;

(4)EXTI中斷程序中讀取TIM2CNT中的數據并記錄,清空TIM2CNT寄存器中的數據并重新啟動計數;

(5)根據記錄的數據進行瞬時速度計算;

(6)當若干個時基中斷發生且期間無測速中斷請求則宣告電機轉速為0。

將A相信號輸入至PA0(EXTI0)之上,編程使得EXTI0上升沿中斷。在中斷例程里讀取B相信號,根據AB相脈沖時序可以判斷電機轉動方向,即B=1,電機反轉;B=0,電機正轉。


4、系統驗證

本系統經過原理圖和PCB設計、焊接制板、硬件測試、模塊程序編寫、模塊程序功能測試、連接各個子模塊程序、PID參數整定,最后通過反復的調試,系統完全滿足預期要求,能夠實現-500~500r/min之間任意速度控制(以順時針方向為正方向),控制精度達1r/min,穩態誤差不超過0.5%。在正常工作環境下,電機空載運行時,此時系統測試參數見表2,上位機界面如圖5所示。

基于STM32的直流電機PID調速系統設計與實現

圖5  上位機界面

表2  系統特性參數表

基于STM32的直流電機PID調速系統設計與實現

5、結論

本文設計了一種基于ARMCortex?M3內核的STM32微控制器的直流電機PID調速系統。實驗結果表明,該系統具有穩態誤差小,控制精度高,響應速度快,能耗低、效率高等優點,對上肢康復機器人的研究具有一定的借鑒價值。


關鍵字:STM32  直流電機  PID  調速系統 引用地址:基于STM32的直流電機PID調速系統設計與實現

上一篇:基于stm32單片機的通用定時器配置
下一篇:基于STM32F417的物聯網嵌入式網關的設計

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 兰西县| 海晏县| 儋州市| 博客| 和静县| 济宁市| 固原市| 苏尼特右旗| 邢台县| 孝感市| 纳雍县| 保德县| 湖口县| 遂溪县| 三原县| 河间市| 闵行区| 金寨县| 内黄县| 随州市| 蓬安县| 双柏县| 仲巴县| 平凉市| 海林市| 丰城市| 莱西市| 双峰县| 新化县| 祁门县| 平邑县| 长岛县| 普陀区| 新宾| 夏河县| 沿河| 饶平县| 象州县| 石门县| 远安县| 连江县|