基于PWM的直流電機速度控制使用微控制器
在這個項目中,我將向你展示如何使用8051單片機生成一個PWM信號,以及如何使用單片機進行基于PWM的直流電動機速度控制。
本文引用地址:http://2s4d.com/article/202306/447827.htm項目簡介
在許多應用中,控制直流電動機的速度是很重要的,在這些應用中,精度和保護是必不可少的。在這里我們將使用一種叫做PWM(脈沖寬度調(diào)制)的技術(shù)來控制直流電動機的速度。
我們可以使用機械或電氣技術(shù)來實現(xiàn)直流電動機的速度控制,但它們需要大尺寸的硬件來實現(xiàn),但基于微控制器的系統(tǒng)提供了一種簡單的方法來控制直流電動機的速度。
早些時候,我們已經(jīng)看到了如何在沒有微控制器的情況下使用PWM控制直流電動機的速度。在這里,我們通過使用單片機做同樣的實驗。
為了這個目的,我們將使用8051控制器來產(chǎn)生PWM波。通過改變這個PWM波的寬度,我們可以控制直流電機的速度。在8051微控制器中,定時器被用來產(chǎn)生PWM波。
在這篇文章中,我們將看到如何使用8051單片機中的定時器生成PWM信號,以及如何使用該PWM信號控制直流電機的速度。
使用單片機進行基于PWM的直流電動機速度控制的電路原理
這個項目的核心是8051單片機。如果你曾經(jīng)使用過8051微控制器的任何變體,你可能記得8051沒有專門的PWM電路來啟用PWM模式。因此,為了產(chǎn)生一個PWM信號,我們必須使用定時器,并使用定時器打開和關(guān)閉I/O引腳。
在這個項目中,我將利用8051微控制器中的定時器0和定時器中斷來產(chǎn)生PWM信號。
如何在8051單片機中產(chǎn)生PWM?
大多數(shù)現(xiàn)代微控制器,如AVR(例如Arduino),ARM,PIC等,都有專門的PWM硬件和引腳來即時激活PWM模式。然而,8051微控制器沒有這個規(guī)定。那么,如何在8051微控制器中產(chǎn)生PWM?
為此,我們必須使用8051微控制器的定時器和中斷。8051的定時器0被配置為模式0。通過仔細調(diào)整高電平和低電平,我們可以保持信號的恒定周期。
使用微控制器進行基于PWM的直流電動機速度控制的電路圖
電路元件
8051單片機
11.0592 MHz晶體
電容 - 33pF x 2, 10μF
電阻器 - 1KΩ x 4, 10KΩ x 2
12V直流電動機
L298N 電機驅(qū)動器
按鈕 x 5
1KΩ x 8 上拉電阻包
串行電纜
12V電池或適配器
連接線
使用微控制器進行基于PWM的直流電動機速度控制的電路設計
該電路由一個8051微控制器(及其與振蕩器和復位有關(guān)的支持電路)、L298N電機驅(qū)動模塊、一個直流電動機和幾個按鈕組成。
一個12V的直流電動機在L298N電機驅(qū)動模塊的OUT1和OUT2引腳上連接。電機驅(qū)動器的IN1和IN2引腳連接到+5V(VCC)和GND。電機驅(qū)動器的EN1引腳連接到端口0引腳P0.0。
四個按鈕被連接到Port0的P0.4、P0.5、P0.6和P0.7針腳。
一般來說,我們可以用兩種配置將開關(guān)連接到微控制器;一種是上拉配置,另一種是下拉配置。
上拉配置: 在上拉配置中,微控制器的引腳被拉高到LOGIC 1,按鈕被連接到GND。當按鈕被按下時,微控制器引腳收到LOGIC 0。
下拉配置: 在下拉配置中,單片機引腳下拉到LOGIC 0,按鈕連接到VCC。當按鈕被按下時,微控制器引腳接收LOGIC 1。
在我們的電路中,我們使用的是上拉配置。因此,我們需要檢查邏輯0,以便知道按鈕是否被按下。
如何操作該電路?
將12V電池或適配器連接到開發(fā)板上。
打開電源。
在編程器的幫助下,將hex文件刻錄到8051控制器上。
按照電路圖進行必要的連接。
現(xiàn)在打開電源,按下開關(guān)1。你可以觀察到開始旋轉(zhuǎn),但只有40%的能力。
如果你按下開關(guān)2,電機以略高于一半的速度運行(占空比為60%)。
按下開關(guān)3將使電機以全速旋轉(zhuǎn)(100%占空比)。
要停止電機,請按下開關(guān)4。
優(yōu)點
使用這種PWM方法,我們可以節(jié)省電力。
應用
在工業(yè)中用于控制電機的速度。
用于商場。
我們可以用這個概念來控制燈光的強度。
評論