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

在该项目中,我将向您展示如何使用8051微控制器生成PWM信号,以及使用微控制器的PWM基于DC电机速度控制。

介绍

在许多应用中控制DC电机的速度非常重要,其中精度和保护是必不可少的。在这里,我们将使用一种称为PWM(脉冲宽度调制)的技术来控制DC电机的速度。

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

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

早些时候,我们已经看到使用没有微控制器的PWM如何控制DC电机的速度。在这里,我们通过使用微控制器进行相同的实验。

为此,这里我们将使用8051控制器产生PWM波。通过改变PWM波的宽度来控制直流电动机的速度。在8051单片机中,利用定时器产生PWM波。

在本文中,我们将看到如何使用8051 mocrocontroller中的定时器生成PWM信号,以及如何使用Tthat PWM信号控制DC电机的速度。

基于PWM的基于单片机的直流电机速度控制电路原理

该项目的核心是8051微控制器。如果您已使用8051微控制器的任何变体,您可能会记住8051没有专用的PWM电路以启用PWM模式。因此,为了产生PWM信号,我们使用定时器使用定时器并打开和关闭I / O引脚。

在此项目中,我将在8051微控制器中使用Timer0以及定时器中断以产生PWM信号。

还阅读了相关的帖子 -步进电机驱动电路如何使用8051微控制器?

如何在8051微控制器中生成PWM?

大多数现代微控制器,如AVR(例如Arduino),ARM,PIC等具有专用的PWM硬件和引脚,以即时激活PWM模式。但是,8051微控制器没有此规定。那么,如何在8051微控制器中生成PWM?

为此,我们必须在8051微控制器中使用计时器和中断。8051的Timer0在MODE0中配置。通过仔细调整高电平,我们可以保持信号的恒定时期。

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

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

电路组件

  • 8051微控制器
  • 11.0592 MHz的水晶
  • 电容器 - 33pf x 2,10μf
  • 电阻 - 1kΩx4,10kΩx 2
  • 12V直流电动机
  • L298N电机驱动器
  • 按下按钮x 5
  • 1KΩ x 8上拉电阻包
  • 串行电缆
  • 12V电池或适配器
  • 连接电线

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

电路由一个8051微控制器(及其与振荡器相关的支撑电路)组成,L298N电机驱动器模块,DC电机和几个按钮。

12V直流电机在其OUT1和OUT2引脚连接到L298N电机驱动模块。电机驱动器的IN1和IN2引脚连接+5V (VCC)和GND。Motor驱动器的EN1引脚连接到Port0引脚P0.0。

四个按钮连接到PORT0引脚P0.4,P0.5,P0.6和P0.7。

通常,我们可以用两种配置接口切换到微控制器;一个是上拉配置,另一个是下拉配置。

上拉配置:在上拉配置中,微控制器引脚被拉到LOGIC 1,按钮连接到GND。当按下按钮时,单片机引脚接收到LOGIC 0

下拉配置:在下拉配置中,将微控制器引脚向下拉到逻辑0,并将按钮连接到VCC。按下按钮时,微控制器引脚接收逻辑1。

在我们的电路中,我们正在使用上拉配置。因此,我们需要检查逻辑0,以便知道按钮是否被按下。

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

代码

下面给出项目的代码。

如何操作电路?

  1. 将12V电池或适配器连接到开发板。
  2. 开关供应。
  3. 在程序员的帮助下将十六进制文件刻录到8051控制器。
  4. 按照电路图进行必要的连接。
  5. 现在打开电源并按开关1.您可以观察开始旋转,但容量仅为40%。
  6. 如果按下开关2,电机以略大于一半的速度运行(60%占空比)。
  7. 按压开关3将使电机以全速(100%占空比)旋转。
  8. 要停止电机,请按开关4。

好处

  • 使用此PWM方法,我们可以节省电量。

应用程序

  • 用于行业以控制电机速度。
  • 用于商场。
  • 我们可以使用这种概念来控制光强度。

留下一个回复

您的电子邮件地址不会被公开。必需的地方已做标记*