单片机实现直流电机控制的应用实例
直流电机的单向控制
直流电机的单向控制较为简单,可以通过开关的通断来接通和断开直流电源,实现电机的启动与停止控制,开关控制直流电机如图9-2所示。也可以通过三极管、场效应管、继电器等对直流电机的通断进行控制,采用三极管控制直流电机的电路如图9-3所示,图中的二极管为续流二极管,起到保护三极管的作用。
图9-2 开关控制直流电机电路图
图9-3 三极管控制直流电机电路图
提示
单片机控制直流电机的实际应用电路中,为了降低电机运行对单片机电源的影响,往往会采用光电耦合器件进行光电隔离。
按键控制直流电机停启的电路如图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单片机 pwm 直流电机 怎么调速?最简单的做法是选用stc单片机,用它的pwm引脚驱动h全桥,再由全桥驱动直流电机。编程时用单片机内部的pwm寄存器,输出不同占空比的脉冲就可以实现电机调速。将p...
怎么使用 单片机 驱动 直流 有刷 电机 ?-ZOL问答我买的就是这个单片机,我想控制电机应该用什么线接在哪?我只要电机正反转就好了~讨论回答(4)我觉得你应该上传的是开发板的原理图,而不是这个。直流有刷电机...
IGBT如何驱动 直流 电动机? 单片机控制 ?1,简单的开关控制,用单片机引脚输出高低电平,控制MOS管驱动电路。2,正反转控制,需要两个单片机引脚,一个控制正反转,一个控制启动与否。3,需要控制速度...1...
童鞋们 有没有谁了解!! 直流 无刷 电机 用哪种 单片机 最好?[回答]几大系单片机都有,如atmelAVR的MEGA8/168系列,英飞凌的xc800系列(8051核),微芯PIC18系列,ST的stm32(ARMCortex-M)系列,新唐的mini51(AR...
如果自制 直流 12V可调 电机控制 电路?你这个要求用单片机控制“步进电机”非常容易实现,运动距离可以做到很精确。你这个要求用单片机控制“步进电机”非常容易实现,运动距离可以做到很精确。
c 51单片机 接的是 直流 还是交流?51单片机有5V和3.3V工作电压的,如果是5V工作电压,那么选5V直流电压供电。如果是3.3V,最好选3.3V直流电压供电,也可以选5V直流电压供电,内部加一个3.3V稳压...
有人知道么:stm32 单片机 连接电调 控制 无刷 电机 问题?普通的单片机编译器的时候,会自动加到一个头文件51.h类似于的东西,这个时候就是初始化寄存器了。冷启动的时候一般都没问题,但是如果是电源张开类似...
低压 直流电机 怎么自动调电流?调节电流时,输出端子必须设置成短路。为避免电源故障,请首先将电压降低至大约2V(但是不应将其降低为0,否则将不输出电流),然后将电源的输出端子短路。此时,...
51 系列 单片机 怎样才能提供 直流 稳压电源的基准电压?单片机是可以提供基准电压的,一般单片机端口电压5V,你可以设对其定义输出高低值,用按键控制给与不给单片机是可以提供基准电压的,一般单片机端口电压5V,你可...
单片机 ,的电源是 直流 还是交流?不只单片机的工作电源一定要是直流而绝大多数电子产品的工作电源都要求是直流才可工作的了,单片机现可有用多种不直流电压值的,最常用的是5V直流,还有较多的较...