在許多對精度和安全生產有重要要求應用中,控制直流電動機的運轉速度非常重要。比如無人機等,有什么基于單片機控制電機轉速又比較節電的方法?在本文中,英銳恩單片機開發工程師們將使用一種稱為PWM(脈沖寬度調制)的技術來控制直流電動機的速度。
該方案使用8051單片機作為開發用MCU,如果你曾經使用過8051單片機,那么你可能會記得8051單片機并沒有專用的PWM電路來啟用PWM模式。因此,為了生成PWM信號,我們得額外使用定時器,并使用定時器將I/O引腳切換為ON和OFF。
一、如何在8051單片機中生成PWM?
大多數目前市場上的單片機,例如AVR(例如Arduino)、ARM、PIC等,都有專用的PWM硬件和引腳來立即激活PWM模式。但是,8051單片機并沒有。那么,如何在8051單片機中產生PWM?
為此,必須使用8051單片機中的定時器和中斷。8051的Timer0在模式0中配置。通過仔細調整高電平和低電平,我們可以保持恒定的信號周期。
二、所需的電路元件
(1)一顆8051單片機;
(2)一顆11.0592MHz晶振;
(3)電容器33pFx2、10uF;
(4)電阻1KΩx4,10KΩx2;
(5)12V直流電動機;
(6)L298N電機驅動器;
(7)按鈕x5;
(8)1KΩx8上拉電阻器套件;
(9)串口線若干;
(10)12V電池或適配器;
(11)連接線若干。
三、基于單片機開發的控制電動機運轉速度的方法
該電路包括一顆8051單片機(及其與振蕩器和復位有關的支持電路),L298N電動機驅動器模塊,一個直流電動機和一些按鈕。
L298N電動機驅動器模塊的OUT1和OUT2引腳連接了12V直流電動機。電機驅動器的IN1和IN2引腳連接到+5V(VCC)和GND。電機驅動器的EN1引腳連接到Port0引腳P0.0。
如上圖,四個按鈕連接到Port0引腳P0.4,P0.5,P0.6和P0.7。
通常,我們可以通過兩種配置將開關連接到單片機:一種是上拉配置,另一種是下拉配置。
(1)上拉配置:在上拉配置中,單片機引腳被拉高至LOGIC1,且按鈕連接至GND。按下按鈕時,單片機引腳接收邏輯0
(2)下拉配置:在下拉配置中,單片機引腳下拉至LOGIC0,按鈕連接至VCC。當按下按鈕時,單片機引腳接收到邏輯1。
在該電路中,我們使用上拉配置。因此,我們需要檢查邏輯0才能知道按鈕是否被按下。
四、如何操作電路?
1.將12V電池或適配器連接到開發板上。
2.接通電源。
3.將十六進制文件燒錄到8051單片機。
4.按照電路圖進行必要的連接。
5.打開電源,然后按開關1。你可以觀察到啟動器旋轉,但容量只有40%。
6.如果按開關2,則電動機的運行速度略大于速度的一半(占空比為60%)。
7.按下開關3將使電動機全速旋轉(占空比為100%)。
8.要停止電動機,請按開關4。
以上就是英銳恩單片機開發工程師分享的基于單片機開發的控制電動機運轉速度的方法。