PWM是如何调节直流电机转速的?电机正反转的原理又是怎样的?
电机是重要的执行机构,可以将电转转化为机械能,从而驱动北控设备的转动或者移动,在我们的生活中应用非常广泛。例如,应用在电动工具、电动平衡车、电动园林工具、儿童玩具中。直流电机的实物图如下图所示。

1-直流电机实物图
对于普通的直流电机,在其两个电极上接上合适的直流电源后,电机就可以满速转动,电源反接后,电机就反向转动。但是在实际应用中,我们需要电机工作在不同的转速下,该如何操作呢?
1 直流电机的调速原理
我们可以做这样的实验,以24V直流电机为例,在电机两端接上24V的直流电源,电机会以满速转动,如果将24V电压降至2/3即16V,那么电机就会以满速的2/3转速运转。由此可知,想要调节电机的转速,只需要控制电机两端的电压即可。
以三极管作为驱动器件驱动小功率的电机,其电路原理图如下图所示。电机作为负载接在三极管的集电极上,基极由单片机控制。

2-直流电机调速原理图
当单片机输出高电平时,三极管导通,使得电机得电,从而满速运行;当单片机输出低电平时,三极管截止,电机两端没有电压,电机停止转动。那如何使电机两端的电压发生变化,进而控制电机的转速呢?
只要单片机输出占空比可调的方波,即PWM信号即可控制电机两端的电压发生变化,从而实现电机转速的控制。
2 PWM信号调速的原理
所谓PWM,就是脉冲宽度调制技术,其具有两个很重要的参数:频率和占空比。频率,就是周期的倒数;占空比,就是高电平在一个周期内所占的比例。PWM方波的示意图如下图所示。

3-PWM的基本参数
在上图中,频率F的值为1/(T1+T2),占空比D的值为T1/(T1+T2)。通过改变单位时间内脉冲的个数可以实现调频;通过改变占空比可以实现调压。占空比越大,所得到的平均电压也就越大,幅值也就越大;占空比越小,所得到的平均电压也就越小,幅值也就越小。动图演示如图4所示。

4-PWM调压演示
通过以上原理就可以知道,只要改变PWM信号的占空比,就可以改变直流电机两端的平均电压,从而实现直流电机的调速。
前文说过,改变电机两端的电源极性可以改变电机的转速,那么电路如何实现电机的正反转调速呢?这需要通过H桥电路来实现。H桥的电路原理如下图所示。

5-H桥驱动电机电路
H桥电路由四个功率电子开关构成,可以是晶体管也可以是MOS管。电子开关两两构成桥臂,在同一时刻只要对角的两个电子开关导通,另外两个截止,且每个桥臂的上下管不能同时导通。通过这个电路就可以实现电机的正反转调速。
3 PWM如何实现电机的正转调速
要实现电机的正转只需要做如下设置即可:
A控制端:高电平,控制三极管Q4导通;
B控制端:高电平,控制三极管Q3截止;
C控制端:低电平,控制三极管Q1导通;
D控制端:低电平,控制三极管Q2截止;
通过以上操作,即实现三极管Q2和Q3截止,三极管Q1和Q4导通,电流的流向如下:
VCC→Q1→电机→Q4→GND,实现了电机的正转。

6-H桥驱动电机正转调速电路
在这种情况下要实现电机转速的调节,只需要给Q4的基极加载PWM信号即可。
4 PWM如何实现电机的反转调速
要实现电机的反转只需要做如下设置即可:
A控制端:低电平,控制三极管Q4截止;
B控制端:低电平,控制三极管Q3导通;
C控制端:高电平,控制三极管Q1截止;
D控制端:高电平,控制三极管Q2导通;
通过以上操作,即实现三极管Q1和Q4截止,三极管Q2和Q3导通,电流的流向如下:
VCC→Q3→电机→Q2→GND,实现了电机的反转。

7-H桥驱动电机反转调速电路
在这种情况下要实现电机转速的调节,只需要给Q2的基极加载PWM信号即可。
5 电机专用驱动IC和分离元器件电路的对比
目前有很多电机专用驱动IC,体积小、控制简单,比用分离元器件所搭建的电路占有更大的优势。
专用IC优势之一:死区控制更容易
使用分离元器件时,必须要严格控制死区时间,也就是绝对不能让每个桥臂上的电子开关同时导通,这样容易导致电源短路,电流过大把两个电子开关烧坏。而专用的驱动IC都有死区控制,比分离元器件电路更安全。

8-电机专用驱动IC
专用IC优势之二:器件体积更小
分离元器件所搭建的驱动电路,所使用的元器件数目较多,体积较大。而专用驱动IC只需要一颗芯片即可,大大减小了体积、节省了PCB空间,使电路调试更容易。
本文转自小平头电子技术社区:https://www.xiaopingtou.cn/article-104206.html
PWM是如何调节直流电机转速的?电机正反转的原理又是怎样的?的更多相关文章
- Micropython Turnipbit 换挡风扇 旋转按钮控制直流电机转速
学过物理学的我们都知道换挡风扇的原理,一般按钮控制电感分压或者电容分压,以达到控制电流的目的.那么我们可不可以使用Turnipbit模拟这个系统呢?其实是很简单的.类似于之前用Tpyboard做的智能 ...
- [MicroPython]TurnipBit开发板旋转按钮控制直流电机转速
1.实验目的: 学习在PC机系统中扩展简单I/O 接口的方法 学习TurnipBit拼插编程 了解直流电机的工作原理 学习L298N的工作原理 学习TurnipBit扩展板L298N和按键模块的接线方 ...
- 24-ESP8266 SDK开发基础入门篇--Android TCP客户端.控制 Wi-Fi输出PWM的占空比,调节LED亮度
https://www.cnblogs.com/yangfengwu/p/11204436.html 刚才有人说需要点鸡汤.... 我想想哈;我还没问关于哪方面的鸡汤呢!!! 我所一直走的路线 第一: ...
- 15-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,上位机程序编写
https://www.cnblogs.com/yangfengwu/p/11104167.html 先说一下整体思路哈.. 咱滑动的时候 会进入这个,然后咱呢不直接从这个里面写发送 因为这样的话太快 ...
- 14-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,8266程序编写
https://www.cnblogs.com/yangfengwu/p/11102026.html 首先规定下协议 ,CRC16就不加了哈,最后我会附上CRC16的计算程序,大家有兴趣自己加上 上 ...
- MapReduce的map个数调节 与 Hadoop的FileInputFormat的任务切分原理
在对日志等大表数据进行处理的时候需要人为地设置任务的map数,防止因map数过小导致集群资源被耗光.可根据大表的数据量大小设置每个split的大小. 例如设置每个split为500M: set map ...
- 用机智云做PWM占空比控制电机,物联网智能家居应用
因为是新申请的博客,所以申请了总想往里面加点东西,所以把我之前在机智云写的帖子复制了过来 (各位抱歉,由于之前上传的文件可能有错误,之前上传的文件PWM不能用,那么我又重新上传了一个文件,这个文件 ...
- YASKAWA电机控制(2)---调试
2015 5 23 基础调试—点动 上次接线由于没有接地,导致外壳带电,非常危险. 由于上次接线端子被弄坏,这次自己重做.由于没有压线钳,只用尖嘴钳把线压近端子,有可能会松动. 接线的时候Lc1.Lc ...
- 20135223/20135234/20135229小组——亚博 Arduino智能小车实践报告
实验名称:Arduino智能小车组装和综合测试 实验小组成员:20135223何伟钦 20135234马启扬 20135229吕松鸿 实验日期:2015.10.27—2015.11.3 实验时长:24 ...
随机推荐
- 删除节点(removeChild())
remoceChild():方法将从一个给定元素里删除一个子节点: reference = element.removeChild(node); 这个方法的返回值是一个指向已经被删除的子节点的引用指针 ...
- python排序算法之一:冒泡排序(及其优化)
相信冒泡排序已经被大家所熟知,今天看了一篇文章,大致是说在面试时end在了冒泡排序上,主要原因是不能给出冒泡排序的优化. 所以,今天就写一下python的冒泡排序算法,以及给出一个相应的优化.OK,前 ...
- java 运算符&表达式
1. java中,模运算符%可以获取整数除法的余数,同样适用于浮点类型数据.double y = 23.56; y%5;(即y mod 5 =3.56) [c/c++中,要求%两侧均为整数数据.] 2 ...
- Chapter 01—Introduction to R
1.getwd():list the current working directory. (即获得当前工作路径) 2.setwd("mydirectory"):change th ...
- 2019-2020-7 20199317《Linux内核原理与分析》第七周作业
第6章 进程的描述和进程的创建 1 进程的描述 操作系统内核实现操作系统的三大管理功能,即进程管理.内存管理和文件系统.其中,操作系统内核中最核心的功能是进程管理.为了管理进程,内核要 ...
- 2019-2020-4 20199317《Linux内核原理与分析》第四周作业
第3章 MenuOS的构造 1 Linux内核源代码简介 计算机的“3大法宝”:存储程序计算机.函数调用堆栈和中断. 操作系统的“两把宝剑”:一把是中断上下文的切换——保存现场和恢复 ...
- JS的静态类型检测,有内味儿了
我们知道 TypeScript 2.3 以后的版本支持使用--checkJs对.js文件进行类型检查和错误提示. 但是由于 JavaScript 是弱类型语言,在编写代码的时候,是无法检测变量的类型的 ...
- 不使用cookie记录用户信息
cookie是什么: cookie是由web服务器保存在用户浏览器(客户端)上的小文件,它可以包含用户信息,用户操作信息等等,无论何时访问服务器,只要同源,就能携带到服务端 常见方式 一般:请求一个接 ...
- [TimLinux] JavaScript 获取元素节点的5种方法
1. getElementById document.getElementById("id_value") # 返回值为Node对象,没有元素时,返回 == undefined值( ...
- HDU2767 Proving Equivalences(加边变为强联通图)
Proving Equivalences Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...