技术热线: 4007-888-234

基于单片机开发的控制电动机运转速度的方法

更新时间: 2019-11-01
阅读量:3940

在许多对精度和安全生产有重要要求应用中,控制直流电动机的运转速度非常重要。比如无人机等,有什么基于单片机控制电机转速又比较节电的方法?在本文中,英锐恩单片机开发工程师们将使用一种称为PWM(脉冲宽度调制)的技术来控制直流电动机的速度。

QQ截图20191101151521.png

该方案使用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。

PWM-Based.png

如上图,四个按钮连接到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。


以上就是英锐恩单片机开发工程师分享的基于单片机开发的控制电动机运转速度的方法。