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

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是如何调节直流电机转速的?电机正反转的原理又是怎样的?的更多相关文章

  1. Micropython Turnipbit 换挡风扇 旋转按钮控制直流电机转速

    学过物理学的我们都知道换挡风扇的原理,一般按钮控制电感分压或者电容分压,以达到控制电流的目的.那么我们可不可以使用Turnipbit模拟这个系统呢?其实是很简单的.类似于之前用Tpyboard做的智能 ...

  2. [MicroPython]TurnipBit开发板旋转按钮控制直流电机转速

    1.实验目的: 学习在PC机系统中扩展简单I/O 接口的方法 学习TurnipBit拼插编程 了解直流电机的工作原理 学习L298N的工作原理 学习TurnipBit扩展板L298N和按键模块的接线方 ...

  3. 24-ESP8266 SDK开发基础入门篇--Android TCP客户端.控制 Wi-Fi输出PWM的占空比,调节LED亮度

    https://www.cnblogs.com/yangfengwu/p/11204436.html 刚才有人说需要点鸡汤.... 我想想哈;我还没问关于哪方面的鸡汤呢!!! 我所一直走的路线 第一: ...

  4. 15-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,上位机程序编写

    https://www.cnblogs.com/yangfengwu/p/11104167.html 先说一下整体思路哈.. 咱滑动的时候 会进入这个,然后咱呢不直接从这个里面写发送 因为这样的话太快 ...

  5. 14-ESP8266 SDK开发基础入门篇--上位机串口控制 Wi-Fi输出PWM的占空比,调节LED亮度,8266程序编写

    https://www.cnblogs.com/yangfengwu/p/11102026.html 首先规定下协议  ,CRC16就不加了哈,最后我会附上CRC16的计算程序,大家有兴趣自己加上 上 ...

  6. MapReduce的map个数调节 与 Hadoop的FileInputFormat的任务切分原理

    在对日志等大表数据进行处理的时候需要人为地设置任务的map数,防止因map数过小导致集群资源被耗光.可根据大表的数据量大小设置每个split的大小. 例如设置每个split为500M: set map ...

  7. 用机智云做PWM占空比控制电机,物联网智能家居应用

      因为是新申请的博客,所以申请了总想往里面加点东西,所以把我之前在机智云写的帖子复制了过来 (各位抱歉,由于之前上传的文件可能有错误,之前上传的文件PWM不能用,那么我又重新上传了一个文件,这个文件 ...

  8. YASKAWA电机控制(2)---调试

    2015 5 23 基础调试—点动 上次接线由于没有接地,导致外壳带电,非常危险. 由于上次接线端子被弄坏,这次自己重做.由于没有压线钳,只用尖嘴钳把线压近端子,有可能会松动. 接线的时候Lc1.Lc ...

  9. 20135223/20135234/20135229小组——亚博 Arduino智能小车实践报告

    实验名称:Arduino智能小车组装和综合测试 实验小组成员:20135223何伟钦 20135234马启扬 20135229吕松鸿 实验日期:2015.10.27—2015.11.3 实验时长:24 ...

随机推荐

  1. TensorBoard:可视化学习

    数据序列化 TensorBoard 通过读取 TensorFlow 的事件文件来运行.TensorFlow 的事件文件包括了你会在 TensorFlow 运行中涉及到的主要数据.下面是 TensorB ...

  2. 《手把手教你》系列练习篇之5-python+ selenium自动化测试(详细教程)

    1.  简介 今天我们继续前边的练习,学习和练习一下:如何使用webdriver方法获取操作复选框-CheckBox.测试不同的分辨率.如何断言title.如何获取某一个元素的text属性值等等,这些 ...

  3. cesium定义线面

    面: var polygon = viewer.entities.add({ polygon : { hierarchy : { positions : null, holes : [{ positi ...

  4. JAVA中空指针异常报错的几种可能坑你的情况

    一.局部变量覆盖掉其他变量导致无法使用. 在做Java客户管理的项目的时候,eclipse报出了个空指针异常的错误,但反复检查也并没感觉出错误,调用的数组给它初始化而且赋值了,但是编译器很顽强的报了一 ...

  5. JGit----将 Git 嵌入你的应用

    如果你想在一个 Java 程序中使用 Git ,有一个功能齐全的 Git 库,那就是 JGit . JGit 是一个用 Java 写成的功能相对健全的 Git 的实现,它在 Java 社区中被广泛使用 ...

  6. 15 个优秀开源的 Spring Boot 学习项目,一网打尽!

    Spring Boot 算是目前 Java 领域最火的技术栈了,松哥年初出版的 <Spring Boot + Vue 全栈开发实战>迄今为止已经加印了 8 次,Spring Boot 的受 ...

  7. 用workspace管理工程,并解决多静态库依赖

    from:http://www.cnblogs.com/perryxiong/p/3759818.html   最近我在项目中遇到一些工程之间的管理问题. 模型: 其中 库A 是一个公共的基础静态库, ...

  8. [TimLinux] Django 信号

    1. 信号定义 django包含有一个“信号分发器”,在框架内任何时候,在任何地方,有动作发生时,用来帮助解耦应用之间获取通知.简言之,信号允许特定的发送者通知一系列接收者某一特定动作已经发生了.特别 ...

  9. [TimLinux] Python 模块

    1. 概念 模块是最高级别的程序组织单元,它将程序文件和数据封装起来以便重用.实际上,模块往往对应Python文件,每一个文件都是一个模块,并且模块导入其他模块之后就可以使用导入模块定义的变量,模块和 ...

  10. MacOS下制作linux启动盘

    在Windows下,我们经常使用软碟通来制作各种系统的启动盘,那么在MacOS下,如何做到呢?MacOS跟Linux的做法基本一致.如果你只想快速地制作好启动盘,请看下面的快速版 首先,你需要以下两样 ...