新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于PWM的直流电机速度控制使用微控制器

基于PWM的直流电机速度控制使用微控制器

作者:时间:2023-06-20来源:电子产品世界收藏

在这个项目中,我将向你展示如何使用8051单片机生成一个信号,以及如何使用单片机进行基于的直流电动机速度控制。

本文引用地址:http://www.amcfsurvey.com/article/202306/447827.htm

项目简介

在许多应用中,控制直流电动机的速度是很重要的,在这些应用中,精度和保护是必不可少的。在这里我们将使用一种叫做(脉冲宽度调制)的技术来控制直流电动机的速度。

我们可以使用机械或电气技术来实现直流电动机的速度控制,但它们需要大尺寸的硬件来实现,但基于的系统提供了一种简单的方法来控制直流电动机的速度。

PWM Based DC Motor Speed Control using Microcontroller Image 1

早些时候,我们已经看到了如何在没有的情况下使用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的直流电动机速度控制的电路图

PWM Based DC Motor Speed Control using Microcontroller Circuit Diagram

电路元件

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,以便知道按钮是否被按下。

PWM Based DC Motor Speed Control using Microcontroller Image 2

如何操作该电路?

将12V电池或适配器连接到开发板上。

打开电源。

在编程器的帮助下,将hex文件刻录到8051控制器上。

按照电路图进行必要的连接。

现在打开电源,按下开关1。你可以观察到开始旋转,但只有40%的能力。

如果你按下开关2,电机以略高于一半的速度运行(占空比为60%)。

按下开关3将使电机以全速旋转(100%占空比)。

要停止电机,请按下开关4。

优点

使用这种PWM方法,我们可以节省电力。

应用

在工业中用于控制电机的速度。

用于商场。

我们可以用这个概念来控制灯光的强度。



评论


相关推荐

技术专区

关闭