技术文档

电动机的单片机控制.pdf 单片机实现直流电机控制的应用实例

小编 2024-11-25 技术文档 23 0

单片机实现直流电机控制的应用实例

直流电机的单向控制

直流电机的单向控制较为简单,可以通过开关的通断来接通和断开直流电源,实现电机的启动与停止控制,开关控制直流电机如图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程序如下:

清华大学55页PPT讲解步进电机的单片机控制

私信“资料”二字,即可领取该资料完整版

相关问答

步进电机如何用 单片机控制 ?

步进电机的驱动是需要驱动器的,驱动器的种类不同,单片机控制的方式也不同,是不能用单片机来直接控制步进电机的。可以选用现成的驱动器,也可以自己做启动器...

单片机 是如何 控制 步进电机扎旋转的?

结合按键程序,我们设计这样一个功能程序:按数字键1~9,控制电机转过1~9圈;配合上下键改变转动方向,按向上键后正向转1~9圈,向下键则反向转1~9圈...voidKe...

让51 单片机控制 一个220V的电机应该怎么做 需要哪些模块 - xu...

只是控制电机的启动与停止吗?还是还有别的控制思路,如果只是控制电机启停控制,很简单的。两个I\o口作为输入控制端。一个i\o口作为输出控制继电器动...

单片机 如何测电机相序?

单片机可以通过读取电机的三个相的电压值,然后分析它们的相位差来确定电机的相序。具体的方法是使用单片机内置的模拟转换器将电机三个相的电压转换成数字信号...

如何用 单片机 驱动继电器 控制 交流电机正反转?

单片机输出端接光电耦合器,加上三极管、继电器组合的电路。2、看继电器对应的是多大电压驱动,继电器有一端要接上这个电压,另一端接三极管。3...控制方法:1...

单片机控制 两个步进电机,控制传动系统实现X?

可以根据输入步进电机的方波频率调速,算下转动的角度和圈数再乘以轮子的周长,就知道前进了多少距离。每个方向都知道走了多少距离就可以知道X、Y地址了。编程...

电机 控制 什么学?

就业方向:可在机电设备制造行业从事电机与电器设备的设计、开发、生产、营销和管理工作,亦可在电力、化工、机械、交通等行业从事电机与电器设备的运行、控制...

在座的盆友 给推荐推荐! 单片机 如何 控制 直流无刷电机?

[回答]必要用个2个三极管就可以掌控了啊。用H型的电路就可以掌控它的正翻转,至于速度就看你给的电压了,你网际网路搜下H型电路,一大把的。。。。。。。。...

单片机 问题,怎么设置一个 控制 马达快慢的程序?

不知道是什么马达,一般而言,马达的速度有控制马达的信号频率决定的,所以你改变控制信号的频率就可以了。不知道是什么马达,一般而言,马达的速度有控制马达的...

想用c语言编一个用 单片机 定时器 控制 直流电机转动时间的程序...

#include#defineuchrunsignedchar#defineuintunsignedintsbitzh0=P2^0;sbitzh1=P2^1;//定义两个端口uintt;//变量Tv...

猜你喜欢