单片机实现直流电机控制的应用实例
直流电机的单向控制
直流电机的单向控制较为简单,可以通过开关的通断来接通和断开直流电源,实现电机的启动与停止控制,开关控制直流电机如图9-2所示。也可以通过三极管、场效应管、继电器等对直流电机的通断进行控制,采用三极管控制直流电机的电路如图9-3所示,图中的二极管为续流二极管,起到保护三极管的作用。
图9-2 开关控制直流电机电路图
图9-3 三极管控制直流电机电路图
提示
单片机控制直流电机的实际应用电路中,为了降低电机运行对单片机电源的影响,往往会采用光电耦合器件进行光电隔离。
【例9-1】 通过按键实现直流电机的停启控制按键控制直流电机停启的电路如图9-4所示,通过P3.6口按键触发启动直流电机,P3.7口的按键触发停止直流电机的运行。由图9-4可知,当P1.0输出高电平“1”时,NPN型三极管导通,直流电机得电转动;当P1.0输出低电平“0”时,NPN型三极管截止,直流电机停止转动。
图9-4 按键控制直流电机停启电路图
C51程序如下:
直流电机的双向控制
直流电机的双向控制原理就是使加在直流电机两端的电源电压的极性可以实现切换。通常采用H桥电路进行控制。H桥控制的示意如图9-5所示,有1~4四个开关的不同状态实现电机的停止、正转、反转控制。
当四个开关均断开时,直流电机不得电,处于停止状态。
当开关1与4接通,开关2与3断开时,电流由左向右流过直流电机,电机处于正转状态。
当开关2与3接通,开关1与4断开时,电流由右向左流过直流电机,电机处于反转状态。
图9-5 H桥实现直流电机双向控制的示意图
【例9-2】 通过按键实现直流电机的正反转及停止控制
通过按键控制直流电机正反转及停止控制的电路如图9-6所示。由S1键的触发实现电机的正转运行,S2键的触发实现电机的反转运行,S3键的触发实现电机的停止控制。
通过对图9-6进行分析,可知通过对单片机的P1.0、P1.1口的控制即可实现电机的停止、正转和反转控制,P1.0、P1.1在不同状态下电路各部分的工作状态及电机状态如表9-1所示。
图9-6 按键控制直流电机正反转及停止控制的电路图
表9-1 P1.0、P1.1口控制过程及电路状态表
C51程序如下:
51单片机直流电机测速Proteus仿真
今天准备分享的仿真是基于51单片机的直流电机测速Proteus仿真。仿真是在Proteus7.7软件下创建的,有需要的小伙伴下载后可以使用比7.7高的版本打开仿真源文件。
接下来上仿真静态图。
仿真电路图
老规矩首先还是分析一下电路。该仿真使用L298来驱动直流电机。L298N是专用驱动集成电路,属于H桥集成电路,与L293D的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。L298N的实物图是长这个样子的。
L298N
从仿真中具有电机驱动芯片可以看出来,这个仿真不但可以测速,还可以控制电机的转速。那剩下的部分就是人机交互接口了。显示部分使用的是PG160128A,液晶显示点阵是160X128的,可以显示更加丰富的内容。仿真中的输入设备为4X4矩阵键盘。剩下的就是虚拟示波器等测量工具。仿真电路很简单,接下来运行仿真看一下动态效果。
动态仿真
上电以后显示屏上介绍了该如何操作仿真进行测量。
显示器显示内容
仿真驱动部分
仿真可以控制电机正反转及PWM调速。这一部分使用的是单片机的P1.0和P1.1引脚。其中P1.0引脚主要作用是控制直流电机的正反转。仿真中P1.0引脚与L298的一个输入端口相连,同时该引脚经过反相器后去另外一个输入引脚相连,与输入引脚相对应的输出引脚直接与电机的电源相连,这样通过改变P1.0的状态就可以实现直流电机正反转的控制。而P1.1脚L298的A通道使能端口相连,该仿真中通过对P1.1引脚进行通断控制实现直流电机的调速。
仿真中将直流电机的脉冲输出端口与单片机的P3.4引脚相连,该引脚是定时器0的外部输入引脚。显示软件部分是使用定时器0完成的计数功能。仿真测得的转速与实际转速还是比较接近的。整理来说仿真效果还是不错的,仿真运行也是比较流畅的。
最后贴一下程序截图。程序使用的是KEIL C51UV2创建的工程,可以使用高一点的版本打开。主要包括两个部分,一个是主程序部分,一个是显示驱动部分。程序比较简单,不复杂,但是注释部分较少,有需要的小伙伴可以下载参考。
部分程序
如果有需要该仿真和程序的朋友可私信。该仿真源于网络。
相关问答
51单片机直流电机 接线方法?五一单片机要接直流减速电机,需要在中间接电机驱动芯片,例如l298。51单片机有5V和3.3V工作电压的,如果是5V工作电压,那么选5V直流电压供电。如果是3.3V,最...
这是为 51单片机 驱动 直流电机 所做的三极管电流放大驱动电路,请教各位大神,这个电路的详细原理是什么?R3电阻,限制电流用的D10反向稳压管,钳制电压为3.7VQ1,Q2三极管,一个NPN型,一个PNP型IN4007二极管,限制电流反向流动当PORT端加电压时,Q1首先导通,然后Q2导...
51单片机 pwm 直流电机 怎么调速?最简单的做法是选用stc单片机,用它的pwm引脚驱动h全桥,再由全桥驱动直流电机。编程时用单片机内部的pwm寄存器,输出不同占空比的脉冲就可以实现电机调速。将p...
proteus8.6中 直流电机 正反转?1.Proteus8.6中的直流电机可以实现正反转。2.这是因为Proteus8.6是一款电子电路仿真软件,其中包含了直流电机模块,可以模拟直流电机的正反转操作。用户可...
怎样用 51单片机 驱动ULN2003来带动5V 直流电机 ?你的接法是没问题的,ULN2003能够驱动5V电机的,那就是你程序的原因了,看看你程序吧。你的接法是没问题的,ULN2003能够驱动5V电机的,那就是你程序的原因了,看看...
IGBT如何驱动 直流 电动机? 单片机控制 ?1,简单的开关控制,用单片机引脚输出高低电平,控制MOS管驱动电路。2,正反转控制,需要两个单片机引脚,一个控制正反转,一个控制启动与否。3,需要控制速度...1...
用 单片机 和一路继电器 控制直流电机 正反转,接了继电器,不知道怎么把直流电机和继电器接一起?单片机控制直流电机正反转,最简单的方法是两个I/O口控制两个继电器(一组常开、常闭)的就可以,电机两个极接两个继电器的动触点,两个继电器的常开点...
关于 单片机 驱动3-6v 直流电机 的問題-ZOL问答在驱动直流电机时,三极管S8050和S8550的功率稍显不足。这种情况下,可能会导致三极管烧毁。为了解决这个问题,建议使用D882和B772型号的三极管来替代S8050和S8...
哪位老铁,十万火急! 直流 无刷 电机 用哪种 单片机 最好?价格和功能与性能成正比,功能:比如说芯片存储的容量;性能:比如说内部时钟的精准度。一般来说,如果实验用的话可以用AVR的ATTINY2313价格100元左右,...
单片机控制 伺服 电机 的原理?单片机实现对伺服电机控制的一种方案,能实现对伺服电机变速、匀速运动的平稳控制。伺服电机属于一类控制电机,分为直流伺服电机和交流伺服电机两种。由于交...