資源描述:
《pwm直流調速系統(tǒng)項目設計--畢業(yè)論文》由會員上傳分享,免費在線閱讀,更多相關內容在學術論文-天天文庫。
1、PWM直流調速系統(tǒng)設計27PWM直流調速系統(tǒng)設計(電氣工程學院)摘要:根據直流電機調速的相關知識,以及PWM基本原理和實現方法,本文介紹了一種基于單片機的直流電機調速系統(tǒng),選擇STM32單片機作為系統(tǒng)的控制核心,利用軟件產生PWM信號,采用位置式PID算法控制直流電機的速度調節(jié),提高了調速系統(tǒng)的精度,增強了對直流電機速度的可控性。關鍵詞:STM32單片機、直流電機、調速在各類機電設備中,直流電動機以其良好的調速特性、啟動和制動性能。在輕工、冶金、石油、機械制造等現代工業(yè)部門中得到廣泛應用。本文所設計的直流電機調速系統(tǒng),是以ST
2、M32單片機作為電機調速系統(tǒng)的核心控制器,使用PWM信號來控制直流電機的速度等方面來實現的。一、緒論1、項目過程概述單片機直流調速系統(tǒng)可實現對直流電動機的平滑調速。PWM是通過控制固定電壓的直流電源開關頻率,從而改變負載兩端的電壓,進而達到控制要求的一種電壓調整方法。通過改變PWM“占空比”來改變平均電壓的大小,從而控制電動機的轉速。本系統(tǒng)以STM32為核心,通過單片機控制,C語言編程實現對直流電機的平滑調速。272、項目目的1)掌握PWM直流調速系統(tǒng)的設計原理和具體設計方案;2)掌握元器件的選型依據與原則;3)掌握AutoC
3、AD軟件的使用和原理框圖的繪制方法;4)掌握AltiumDsigner軟件的使用及PCD原理圖的繪制方法;5)學會至少運用一種編程軟件;6)掌握所設計系統(tǒng)的安裝與調試;3、主要元器件名稱數量名稱數量導線若干整流橋1個排針1排驅動1個保險座1個電容2個保險管1個穩(wěn)壓器2個電阻2個12v測速電機1個開發(fā)板1個電位器1個電源線1根仿真器1個電木板1個萬用板2個4*4矩陣鍵盤1個開關1個二、主要內容1、電源部分:27交流電源220V通過變壓器將電壓降為30V和15V后,在經過整流橋變?yōu)橹绷麟妷?,之后經過兩個穩(wěn)壓管,分別提供12V和5V
4、的直流電壓。原理圖如下所示。2、驅動部分:驅動部分處于控制與執(zhí)行之間,電機驅動芯片驅動電機,一款H橋元件的直流電機驅動芯片,其中四個二極管對芯片起保護作用。芯片可連續(xù)提供5A的電流,驅動負載能力較強。芯片通過信號INl~IN4控制H橋的輸入端(本項目只用到IN1和IN2),該芯片的兩個輸出端引腳直接接小功率直流電機兩端后就可以控制電機正反轉,調整電動機轉速。其中輸出腳用來連接電流檢測電阻,Vss接邏輯控制的電源。3、按鍵部分:27根據設計需求,本系統(tǒng)中使用了16個獨立按鍵用以實現對電機正反轉的設定以及對電機啟動、停止、加速、減
5、速等的控制。4、顯示屏部分:1602LCD采用標準的16腳接口,各引腳說明如下表所示:5、編碼器部分:27系統(tǒng)中運用轉速反饋通過偏差進行PID運算,因此需要速度采集電路。本次設計中應用了比較常見的光電測速方法來實現,其具體做法是將電機軸上固定一圓盤,且其邊緣上有N個等分凹槽,在圓盤的一側固定一個發(fā)光二極管,其位置對準凹槽處,在另一側和發(fā)光二極光平行的位置上固定一光敏三極管,如果電動機轉到凹槽處時,發(fā)光二極管通過縫隙將光照射到光敏三極管上,三極管導通,反之三極管截止,電機每轉一圈在脈沖的輸出端就會產生N個低電平。這樣就可根據低電
6、平的數量來計算電機此時轉速了。三、總電路框圖設計1、系統(tǒng)整體控制方案的分析:本直流電機調速系統(tǒng)以單片機系統(tǒng)為依托,根據PWM調速的基本原理,以直流電機電樞上電壓的占空比來改變平均電壓的大小,從而控制電動機的轉速為依據,實現對直流電動機的平滑調速,并通過單片機控制速度的變化。光電編碼器將測得的電機轉速信號變成電信號反饋給STM32單片機。單片機系統(tǒng)自行給定轉速(內給定),或者從占空比輸入電路獲得電機給定轉速(外給定)。系統(tǒng)根據給定的電機轉速信號與反饋速度信號比較,得出偏差,經過增量式PID運算得出控制變量改變PWM波占空比,也就
7、是改變了直流電機電樞兩端的平均電壓,進而調節(jié)的電機的轉速,實現了STM32單片機對直流電機的PWM閉環(huán)調速。2、系統(tǒng)整體接線圖及原理圖27光電編碼器四、軟件設計本系統(tǒng)編程部分工作在keil4開發(fā)環(huán)境下完成,采用模塊化的設計方法,與各子程序作為實現各部分功能和過程的入口,完成PWM脈寬調速的控制。1、按鍵配置程序#include"key.h"intTarget_Speed=0;//設定速度控制的目標速度為50個脈沖每10msfloatEncoder_Speed=0;//左右編碼器的脈沖速度intMoto1=0;floatKp=0
8、.35,Ki=0.8,Kd=0.4;u8keyval=0;27staticu16temp1;/*********************************************************************名稱:Keyscan()*功能:實現按鍵的讀