單片機直流電機的pwm調速與控制設計

2021-01-08 電子工程世界

設計一個直流伺服電機電機控制系統,控制功能要求實現電機的啟動、停止控制、正轉、反轉、加速、減速共六種功能,為了能實現人機互動,需要用到按鍵和數碼管。


具體要求如下:K0為啟動/停止控制、K1正轉、K2反轉;K3加速,K4減速,用3個發光二極體顯示狀態:正轉時紅燈亮,反轉時黃燈亮,不轉時綠燈亮。並利用4位LED數碼管顯示電機轉速。


要求分析:

按鍵K1用來控制電機反轉,若電機正在停止或正轉狀態,當按下k1時,電機開始反轉;若電機處於反轉狀態,電機不響應按鍵命令。


按鍵K2用來控制電機正轉,若電機正在停止或反轉狀態,當按下k2時,電機開始正轉;若電機處於正轉狀態,電機不響應按鍵命令。


按鍵K3用來控制電機加速,當電機處於運行狀態時,如果電機尚未達到最大轉速,當按下按鍵K3時,電機會加速,每按一次,電機加速一個節拍,若需要一直加速,則需要多次按下按鍵K3,當電機到達最大速度時,電機將保持在最大速度運行,不再響應按鍵命令。


按鍵K4用來控制電機減速,當電機處於運行狀態時,如果電機尚未達到最小轉速,即停止狀態,當按下按鍵K4時,電機會減速,每按一次,電機減速一個節拍,若需要一直減速,則需要多次按下按鍵K4,當電機到達最小速度時,即電機處於停止狀態,電機將保持停止,不再響應按鍵命令。


為了知道電機是否按控制要求工作,需要知道電機的轉速,這裡用到了4位數碼管來顯示,最高位顯示轉動方向,正轉顯示「0」,反轉顯示「-」。後3位用來顯示轉速的數值大小。

此外,設置三個發光二極體,來顯示電機的運行狀態。當電機停止時,綠燈亮,當電機正轉時,紅燈亮,當電機反轉時,黃燈亮。


2. 控制方案設計

因為直流電機的工作電壓和電流與控制電路的電壓和電流不匹配,所以需要設計接口電路,用來把控制電路的指令轉化為電機的工作信號,這種接口電路稱為直流電機的驅動電路。直流電機的驅動電路有多種不同的設計方案,這裡著重介紹了用分立元件構成的驅動電路和用集成晶片構成的驅動電路。


2.1用分立元件構成直流電機的驅動電路

利用電晶體,電阻等分立元件,來組成直流電機的全橋驅動電路。因為電機的工作電流較大,而一個三極體的電流放大能力有限,所以採用達林頓組成全橋(H橋)驅動電路控制電機,以滿足電機工作的需要。如圖1所示。圖中的Q1~Q4是功率三極體,其中Q1和Q2組成一個橋臂,其中Q3和Q4組成一個橋臂。每個功率三極體旁邊有一個續流二極體。當Q1和Q4打開時,直流電機的控制電流從A流向B,此時直流電機正轉;當Q2和Q3打開時,直流電機的控制電流從B流向A,此時直流電機反轉。這樣,通過Q1~Q4的控制就可以控制直流電機的轉向了。

圖1 直流電機全橋控制原理圖


2.2用電機驅動晶片來構成直流電機的驅動電路

這裡所用的驅動晶片是L298,L298起到方大電流的作用。L298有4路輸入,4路輸出,2個使能端。用L298構成的驅動電路如圖2所示。


其工作原理為:L298晶片中,IN1對應OU1,IN2對應OUT2,IN3對應OU3,IN4對應OUT4,使能端ENA對應IN1和IN2,使能端ENB對應IN3和IN4。在使能端為高電平的狀態下,當IN1輸入高電平IN2輸入低電平時,電機正轉,當IN1輸入低電平IN2輸入高電平時,電機反轉,當IN1和IN2輸入電平相等時,電機不轉。如果使能端為低電平,那麼電機不受控制,而處於停止狀態。

圖2直流電機驅動電路圖

L298的工作電壓範圍在7V~50V之間,輸出電流可達2A,能夠滿足直流電機的控制需要。


2.3.方案選擇

以上所給的兩種直流電機的驅動方案都能滿足要求,現在來對它們進行分析比較,選出合適的方案。


用分立元件構成的直流電機驅動電路,其優點是:電路由分立元件組成,通過分析電路,能直觀的了解驅動電路的工作原理,對於理論學習是非常有幫助的。其缺點是:電路過於複雜,在製作實物時容易出錯,另一方面,分立元件過多,其可靠性很難保證。


用集成晶片構成的直流電機驅動電路,其優點是,電路簡單,元件減少,電路的可靠性高,製作實物時相對較容易。其缺點是,對於初學者很難知道期內的工作原理,只能簡單的用。


通過上面的分析,我決定選用集成晶片L298來構成直流電機的驅動電路,這樣實現起來較為容易。


2.4.總體方案設計

控制系統的核心控制晶片是AT89C51單片機,單片機作為整個系統的大腦,協調各個部件的工作。首先,當按鍵發出的控制指令時,單片機利用外部中斷採集控制指令,並對控制指令進行處理,之後輸出信號控制直流電機的驅動電路。與此同時,單片機要計算直流電機的轉速,並且要把電機的轉速在數碼管上顯示出來。直流電機的調速是通過單片機控制輸出PWM的佔空比實現的,為了提高單片機的工作效率,對按鍵的掃描採用中斷方式。其原理框圖如圖3:


圖3控制系統原理框圖


3.硬體電路設計

3.1單片機最小工作系統

單片機最小工作系統指單片機能正常工作的最少配置,包括電源、時鐘電路、復位電路和一塊51單片機。


(1)89C51

AT89C51是一種帶4K字節FLASH字節存儲器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機。如圖4所示。

圖4 AT89C51

(2)時鐘電路

MCS-51單片機的時鐘有兩種工作方式:一種是內部振蕩方式,它是利用單片機內部的振蕩電路,產生時鐘信號,這種方式單片機的時鐘引腳上接石英晶體和振蕩電容;另外一種是外部振蕩方式,它是把外部已有的時鐘引入單片機。下面來介紹較為常用的內部振蕩方式:


如圖5,單片機內部有一個用於構成振蕩器的高增益反相放大器,它的輸入端為XTAL1引腳,輸出端為XTAL2引腳,分別是8051單片機的19腳和18腳,其頻率範圍為fOSC=0~12MHZ。

圖5 內部振蕩方式時鐘電路圖


(3)復位電路

往單片機的復位引腳上輸入24個時鐘周期以上的高電平,即執行復位操作。在此次課設中我用的是按鍵復位,電路如圖6所示,系統在運行時,按下復位按鍵,就能在RST引腳產生一段時間的高電平,使系統復位。此處,取12MHZ的晶振,電容取30pF。

圖6 按鍵復位電路


3.2數碼管顯示電路

LED數碼管是由a、b、c、d、e、f、g、h這8段發光二極體組成的「8」字形顯示器件。LED數碼管分為共陽極和共陰極兩種,如圖7所示,如果每段的陽極接在一起則為共陽極LED,如果每段的陰極接在一起則為共陰極LED。此次課設中,我所用的數碼管為共陰極的。

圖7  LED數碼管


這裡用到了4位數碼管,如圖8所示,段選端接單片機的P0口,因為P0口內部沒有上拉電阻,為高阻態,不能正常的輸出高/低電平,所以這裡需要上拉電阻。為了電路的簡化,這裡使用了排阻。數碼管的位選端接單片機的P1.0~P1.3,當輸出低電平時,表示該位數碼管被選中。

圖8數碼管電路


3.3直流電機驅動電路

L298是一款高電壓、高電流型的全橋驅動電路,輸入為TTL電平,用來驅動如繼電器、直流電機或步進電機等感性負載。兩個獨立的使能端,可以獨立的控制兩組四個輸入。


直流電機的驅動電路由L298構成,51單片機通過P1.5~P1.7口控制L298的使能埠和輸入埠,而驅動晶片則輸出被放大的控制信號,用以控制電機運行。驅動電路如圖9所示,圖中所加4個二極體是起到保護作用。

圖9直流電機驅動電路


3.4按鍵控制電路

單片機檢測按鍵的原理是:單片機的I/O口既可作為輸出也可以作為輸入使用,當檢測按鍵時用的是它的輸入功能,我們把按鍵的一端接地,另一端與單片機的某個I/O口相連,開始時先給該I/O口賦一個高電平,然後讓單片機不斷的檢測該I/O口是否變為低電平,當按鍵閉合時,即相當於該I/O口通過按鍵與地相連,變成低電平,程序一旦檢測到I/O變為低電平則說明按鍵被按下,然後執行相應的指令。


這種按鍵在按下和鬆開時都會有抖動現象,可以採用硬體或者軟體的方式來消除抖動,為了節約成本,採用軟體延時的方式來消除抖動的影響。


為了提高單片機的工作效率,本次設計將5個按鍵通過一個與門連至單片機的外部中斷輸入口。當有按鍵按下時,單片機停下正在做的工作,轉而執行按鍵掃描程序,然後執行相應指令。按鍵控制電路如圖10所示:

圖10按鍵控制電路


4.軟體設計

4.1 主程序設計

當程序開始運行時,不斷採集直流電機的轉速並顯示。其流程圖如圖11所示:

圖11主程序流程圖


4.2定時器0控制產生PWM波形

直流電機調速一般運用PWM原理來進行。對於直流電機來說,如果加在電樞兩端的電壓為脈動電壓,可以看出,在T不變的情況下,改變t1和t2的寬度,電壓將發生變化。

                        

式中,是常數。

利用PWM調速的原理,也就是通過改變佔空比來改變加在電機兩端的電壓,從而改變電機的轉速,其流程圖如圖12所示。

圖12  PWM波形控制流程圖


直流電機在進行調速時,通過

[

1

] [

2

] [

3

] [

4

]

關鍵字:單片機  直流電機  pwm  調速與控制 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/ic482687.html

推薦閱讀

51單片機學習實踐:用NTC電阻測溫並顯示在TM1637數碼管

STC15單片機實驗名稱:使用NTC電阻測量溫度實驗內容:        使用NTC電阻測量溫度並顯示在數碼管上        讀取DS18B20模塊測量溫度作為參考實驗器材:        STC15W408AS_DIP16 x1        DS18B20  x1        TM1637數碼管 x1

發表於 2020-12-17

一款51單片機電子鐘製作(C語言)

/*一款電子鐘程序,此電子鐘是四位電子鐘數碼管組成的,功能分別有走時、響鬧、走時間調整、鬧鐘時間調整等功能!調整部分分別由三個按鍵實現,一個功能鍵,一個+(加)鍵,另一個為-(減)鍵,其它功能鍵是復用功能!*/硬鍵介紹:數碼管個位.十位.百位.千位.小數點分別接P0.0 P0.1 P0.2 P0.3 P0.4。蜂鳴器接P3.5腳,功能按鍵接P3.2 加按鍵接P3.3 減按鍵接P3.4以下是兩張圖片!!!#include <reg52.h>//頭文件#define uchar unsigned char//宏定義#define uint unsigned int//宏定義uchar shi,fen,nshi,nfen,ma

發表於 2020-12-17

51單片機+1602+DS18B20的溫度報警程序

51單片機做的溫度顯示,溫度顯示在LCD1602液晶屏上。然後按鍵可以調整溫度閾值,溫度高於或低於所設溫度,蜂鳴器就會響……單片機源程序如下:/***************************************************************************************                              基於單片機的實時溫度報警系統設計        &nbsp

發表於 2020-12-17

簡易星三角啟動電機 單片機C51程序

當電機較大時,啟動是個必須注意的問題。比較簡單且用的很多的是星三角啟動,這裡寫出了星三角啟動的核心部分。每一個IO口接上繼電器,再控制交流接觸器,就OK了。但,要注意,星、角交流接觸器一定要互鎖,否則一旦某個交流接觸器粘連,就造成短路了。#include <reg51.h>sbit K1=P3^1;  //按鍵1,控制第1個繼電器啟動sbit K2=P3^2;  //按鍵2,控制第2個繼電器啟動sbit J1=P1^5;  //星接繼電器sbit J2=P1^6;  //星點繼電器sbit J3=P1^7;  //角繼電器void Delay_1ms(unsigned i

發表於 2020-12-16

紅外熱釋電傳感器單片機設計

、技術性能穩定等特點而受到廣大用戶和專業人士的歡迎。而本設計的電路包括硬體和軟體兩個部分。硬體部分包括紅外感應部分與單片機控制部分。整個系統電路可劃分為:電源部分、傳感器模塊部分、單片機控制電路,而單片機控制由最小系統和指示燈電路、報警電路等子模塊組成。主要工作由熱釋電紅外感應器完成信息採集、處理、數據傳送經過單片機功能設定到達報警模塊這一過程。就此設計的核心模塊來說,單片機就是設計的中心單元。單片機應用系統也是由硬體和軟體組成。硬體包括單片機、輸入/輸出設備、以及外圍應用電路等組成的系統,軟體是主要是工作的程序通過編寫程序來控制輸入的信號。二、設計任務分析1.該設計包括硬體和軟體設計兩個部分。模塊劃分為數據採集、按鍵設定、報警

發表於 2020-12-16

STC15F104W單片機四路按鍵循環開關程序

用一個按鍵控制四個繼電器循環導通,程序由51單片機的程序改到STC15F104W上,第一次按鍵,第一個繼電器吸合,第二次按鍵,第二個繼電器吸合,第一個繼電器釋放,以此類推。最初的想法就是實現電風扇,三檔開關,程序裡面可以修改埠。#include<reg52.h>sbit key = P3^4; //定義按鍵void delayms(void);                         //延時void led_refresh(unsigned char

發表於 2020-12-16

相關焦點

  • 直流電機驅動電路設計
    直流電機的基本構成與直流電機驅動電路的設計圖解 直流電機的基本構成 直流電機由定子和轉子兩部分組成,其間有一定的氣隙。 一、 直流電機驅動電路的設計目標 在直流電機驅動電路的設計中,主要考慮一下幾點: 1. 功能:電機是單向還是雙向轉動?
  • 變頻器控制電機,可以調到多大的頻率?
    使用變頻器的另一個作用就是對電機進行調速,很多場合需要控制電機的轉速以獲得更好的生產效率,而變頻器調速一直是它最大的亮點,變頻器通過改變電源的頻率以達到控制電機轉速的目的。變頻器控制方式都有哪些?另外,其機械特性終究沒有直流電動機硬,動態轉矩能力和靜態調速性能都還不盡如人意,且系統性能不高、控制曲線會隨負載的變化而變化,轉矩響應慢、電機轉矩利用率不高,低速時因定子電阻和逆變器死區效應的存在而性能下降,穩定性變差等。因此人們又研究出矢量控制變頻調速。
  • 變頻器控制電機轉速的方法
    變頻器主要由整流(交流變直流)、濾波、再次整流(直流變交流)、制動單元、驅動單元、檢測單元微處理單元等組成的。    電機旋轉速度單位:r/min每分鐘旋轉次數,也可表示為rpm.由於該極數值不是一個連續的數值(為2的倍數,例如極數為2,4,6),所以一般不適合通過改變該值來調整電機的速度。   另外,頻率能夠在電機的外面調節後再供給電機,這樣電機的旋轉速度就可以被自由的控制。   因此,以控制頻率為目的的變頻器,是做為電機調速設備的優選設備。
  • 基於單片機的選頻表自動變步長的設計實現
    現在有的數位化設備上已經實現此功能,但轉輪必須配合步長鍵來使用,即用戶只能先設置合適的步長,然後轉動轉輪才能達到合適的變化量,在大頻率的調節當中用戶覺得很不方便, 我們在設計中實現了轉動轉輪時能夠根據轉輪的轉動速度自動調節步長功能:速度越快,頻率變化的步長越大;速度越慢,則頻率變化的步長越小。這樣在調節頻率時,須大範圍變化時可快速轉動轉輪,而細調時則慢慢的轉動轉輪,達到微調效果。
  • 無刷直流電機控制漫談,控制較為複雜,但精度高
    在微型直流電機應用中,有刷直流電機和無刷直流電機各佔據了半壁江山,有刷直流電機以低成本、控制簡單、扭矩大為特點,被廣泛應用,而無刷直流電機一直被認為成本高、控制複雜,那麼無刷直流電機控制到底有多複雜呢?下面天孚微電機來聊一聊無刷直流電機的控制。
  • 變頻器控制電機頻率調到多大合適?英傑職業教育
    《1》矢量控制(VC)方式矢量控制變頻調速的做法是將異步電動機在三相坐標系下的定子電流Ia、Ib、Ic、通過三相-二相變換,等效成兩相靜止坐標系下的交流電流Ia1Ib1,再通過按轉子磁場定向旋轉變換,等效成同步旋轉坐標系下的直流電流Im1、It1(Im1相當於直流電動機的勵磁電流;It1相當於與轉矩成正比的電樞電流),然後模仿直流電動機的控制方法,求得直流電動機的控制量,
  • 圖解直流電機,直流電機電機結構模型與縱向剖視圖圖解
    直流電動機是將直流電能轉換為機械能的電動機。因其良好的調速性能而在電力拖動中得到廣泛應用。直流電動機按勵磁方式分為永磁、他勵和自勵3類,其中自勵又分為並勵、串勵和復勵3種。它是能實現直流電能和機械能互相轉換的電機。當它作電動機運行時是直流電動機,將電能轉換為機械能;作發電機運行時是直流發電機,將機械能轉換為電能。
  • 電機原理基礎知識
    2、無刷直流電動機  無刷直流電動機就是變頻技術與直流電機相結合的產物,其具有效率高、噪音低、調速精度高、振動小、調速範圍寬、壽命長等特點。因此,無刷直流電機必須有轉子位置信號輸出給電機的控制電路,電機的控制電路根據轉子位置信號來控制相應的功率開關管的導通與關斷,從而控制相應繞組的電流方向、導通與關斷。定子繞組若按一定的通電順序進行切換,就可以形成一個與轉子位置對應的旋轉磁場,使電機按要求的旋轉方向旋轉。相對磁鋼的某一磁極而言,每個時刻與它對應的電樞磁場是固定的,即繞組的電流方向是固定的,這與有刷直流電機類似。
  • 北京電容啟動單相異步電機公司_北京嘉時捷電機製造有限公司
    相異步電機(-)是感應電動機的一種,是靠同時接入相交流電流(相位差度)供電的一類電動機,由於相異步電動機的轉子與定子旋轉磁場以相同的方向、不同的轉速成旋轉,存在轉差率,所以叫相異步電動機。相異步電機編輯該方法適用於中、小功率,要求平滑動、短時低速運行的生產機械。耦合器調速液力耦合器是一種液力傳動裝置,一般由泵輪和渦輪組成,它們統稱工作輪,放在密封殼體中。
  • 變頻器是怎樣控制電機轉速的
    另外,頻率能夠在電機的外面調節後再供給電機,這樣電機的旋轉速度就可以被自由的控制。因此,以控制頻率為目的的變頻器,是做為電機調速設備的優選設備。n=60f/pn:同步速度f:電源頻率p:電機極對數結論:改變頻率和電壓是最優的電機控制方法如果僅改變頻率而不改變電壓,頻率降低時會使電機出於過電壓(過勵磁),導致電機可能被燒壞。因此變頻器在改變頻率的同時必須要同時改變電壓。輸出頻率在額定頻率以上時,電壓卻不可以繼續增加,最高只能是等於電機的額定電壓。
  • 豐臺調速電機安裝_北京順奇軒盛商貿中心
    豐臺調速電機安裝,北京順奇軒盛商貿中心,通過儀器,觀察從設備潤滑油中收集到的磨損顆粒,實現磨損狀態監測的簡易方法是磁塞法。豐臺調速電機安裝, 變頻電機外殼帶電。這種故障應先檢查一下是否為調速電機保護接地不良或相線有破損處,並與外殼相碰引起的。如是,應把破損電線包好,並接好地線。調速電機電流增大、噪聲也大。
  • 解讀採用DSP工業電機控制系統電路
    詳述了其關鍵部分的功能與實現方法,設計了電路原理圖,完成了系統軟、硬體設計和系統的安裝;並對樣機系統的各項性能進行了測試。很好地實現了系統的調速範圍寬、定位精度高的要求,增強了產品的市場競爭力。傳統的工業縫紉機,主軸驅動大多採用離合器電機,縫製過程中的動作都靠機械和人工配合完成,存在效率低、體積大、調速範圍窄、位置控制難、自動化程度低。
  • 水下航行器模擬平臺智能小車的設計
    PID參數的智能化控制,具有遠距離數據傳輸能力和遠程控制能力。1 系統的總體架構 整個系統由四部分組成:無線部分,數據採集處理部分,電機驅動部分和供電部分,每部分由單獨單片機作為主控晶片,各部分間利用CAN總線交互數據。
  • 萬用表如何檢測電機的好壞
    一、迅速判斷電機好壞的方法: 1、用萬用表測量電機三相繞組的直流電阻,三次測量的結果越接近越好,在2%以內繞組電阻合格,相差10%以上時,電阻小的一相可能發生了匝間短路。 2、用500v絕緣搖表測量三相繞組相間絕緣電阻和對地(對機殼)絕緣電阻,長期存放的電機各項絕緣電阻要0.5兆歐以上為好電機,可以使用。
  • 三相六線電機接線電路圖
    主要用途   1、伺服電動機   伺服電動機廣泛應用於各種控制系統中,能將輸入的電壓信號轉換為電機軸上的機械輸出量,拖動被控制元件,從而達到控制目的。   伺服電動機有直流和交流之分,最早的伺服電動機是一般的直流電動機,在控制精度不高的情況下,才採用一般的直流電機做伺服電動機。
  • 永磁無刷直流電機基本結構及工作原理
    伴隨著電子控制技術和永磁材料技術的迅速發展,永磁無刷直流電機逐漸發展成熟。由於它作為在電動車的驅動電機使用時,能較好地滿足電動車的各種性能要求,價格優勢明顯,所以很快成為了理想的電動車用驅動電機。如圖1所示為電動車上常用的永磁無刷直流電機,圖2所示為永磁無刷直流電機驅動的電動車。
  • 直流無刷電機(BLDC)方波驅動
    本文主要介紹BLDC電機方波驅動方式,它是根據轉子的位置給對應的繞組通電,在每一個時刻只給定子繞組中的兩相通電,這樣每相繞組導通120電角度。在一個電角度(360度)周期可實現六種不同的激勵組合,故而被稱為方波驅動或六步換相控制。
  • 直流電機結構示意圖
    直流電機結構示意圖   直流電機的結構可分為靜止和轉動兩部分,靜止部分稱為定子,旋轉部分稱為轉子(也稱電樞)。   大的直流電機在極靴上開槽,槽內嵌放補償繞組,與電樞繞組串聯,用以抵消極靴範圍內的電樞反應磁動勢,從而減少氣隙磁場的畸變,改善換向,提高電機運行可靠性。   2、換向極   也稱附加極,用於改善直流電機的換向性能。換向極由換向極鐵芯和換向極繞組組成。其鐵心一般也用1mm~1.5mm厚的低碳鋼薄板衝片疊壓而成。
  • 直流無刷電動機工作原理與控制方法
    序言本文引用地址:http://www.eepw.com.cn/article/163362.htm  由於直流無刷電動機既具有交流電動機的結構簡單、運行可靠、維護方便等一系列優點,又具備直流電動機的運行效率高、無勵磁損耗以及調速性能好等諸多優點