基于PWM的直流电机速度控制使用微控制器
在这个项目中,我将向你展示如何使用8051单片机生成一个PWM信号,以及如何使用单片机进行基于PWM的直流电动机速度控制。
项目简介
在许多应用中,控制直流电动机的速度是很重要的,在这些应用中,精度和保护是必不可少的。在这里我们将使用一种叫做PWM(脉冲宽度调制)的技术来控制直流电动机的速度。
我们可以使用机械或电气技术来实现直流电动机的速度控制,但它们需要大尺寸的硬件来实现,但基于微控制器的系统提供了一种简单的方法来控制直流电动机的速度。
早些时候,我们已经看到了如何在没有微控制器的情况下使用PWM控制直流电动机的速度。在这里,我们通过使用单片机做同样的实验。
为了这个目的,我们将使用8051控制器来产生PWM波。通过改变这个PWM波的宽度,我们可以控制直流电机的速度。在8051微控制器中,定时器被用来产生PWM波。
在这篇文章中,我们将看到如何使用8051单片机中的定时器生成PWM信号,以及如何使用该PWM信号控制直流电机的速度。
使用单片机进行基于PWM的直流电动机速度控制的电路原理
这个项目的核心是8051单片机。如果你曾经使用过8051微控制器的任何变体,你可能记得8051没有专门的PWM电路来启用PWM模式。因此,为了产生一个PWM信号,我们必须使用定时器,并使用定时器打开和关闭I/O引脚。
在这个项目中,我将利用8051微控制器中的定时器0和定时器中断来产生PWM信号。
如何在8051单片机中产生PWM?
大多数现代微控制器,如AVR(例如Arduino),ARM,PIC等,都有专门的PWM硬件和引脚来即时激活PWM模式。然而,8051微控制器没有这个规定。那么,如何在8051微控制器中产生PWM?
为此,我们必须使用8051微控制器的定时器和中断。8051的定时器0被配置为模式0。通过仔细调整高电平和低电平,我们可以保持信号的恒定周期。
使用微控制器进行基于PWM的直流电动机速度控制的电路图
电路元件
8051单片机
11.0592 MHz晶体
电容 - 33pF x 2, 10µF
电阻器 - 1KΩ x 4, 10KΩ x 2
12V直流电动机
L298N 电机驱动器
按钮 x 5
1KΩ x 8 上拉电阻包
串行电缆
12V电池或适配器
连接线
使用微控制器进行基于PWM的直流电动机速度控制的电路设计
该电路由一个8051微控制器(及其与振荡器和复位有关的支持电路)、L298N电机驱动模块、一个直流电动机和几个按钮组成。
一个12V的直流电动机在L298N电机驱动模块的OUT1和OUT2引脚上连接。电机驱动器的IN1和IN2引脚连接到+5V(VCC)和GND。电机驱动器的EN1引脚连接到端口0引脚P0.0。
四个按钮被连接到Port0的P0.4、P0.5、P0.6和P0.7针脚。
一般来说,我们可以用两种配置将开关连接到微控制器;一种是上拉配置,另一种是下拉配置。
上拉配置: 在上拉配置中,微控制器的引脚被拉高到LOGIC 1,按钮被连接到GND。当按钮被按下时,微控制器引脚收到LOGIC 0。
下拉配置: 在下拉配置中,单片机引脚下拉到LOGIC 0,按钮连接到VCC。当按钮被按下时,微控制器引脚接收LOGIC 1。
在我们的电路中,我们使用的是上拉配置。因此,我们需要检查逻辑0,以便知道按钮是否被按下。
如何操作该电路?
将12V电池或适配器连接到开发板上。
打开电源。
在编程器的帮助下,将hex文件刻录到8051控制器上。
按照电路图进行必要的连接。
现在打开电源,按下开关1。你可以观察到开始旋转,但只有40%的能力。
如果你按下开关2,电机以略高于一半的速度运行(占空比为60%)。
按下开关3将使电机以全速旋转(100%占空比)。
要停止电机,请按下开关4。
优点
使用这种PWM方法,我们可以节省电力。
应用
在工业中用于控制电机的速度。
用于商场。
我们可以用这个概念来控制灯光的强度。
加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码