单片机学习笔记---直流电机驱动(PWM)

直流电机介绍

直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转

直流电机主要由永磁体(定子)、线圈(转子)和换向器组成

除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等

电机驱动电路

因为电机是一种功率比较大的负载,如果把它直接接在单片机IO口上,那它肯定是驱动不了的,而且可能会损坏单片机的IO口。所以我们需要在单片机的IO口和电机之间加一个驱动电路。

常见的驱动电路总结成两种驱动方式:

大功率器件直接驱动这种方式的特点是驱动这个电机只能朝一个方向转,因为这种电路不具备调换电机正反方向的功能。

H桥驱动这种方式可以控制电机正反转。

大功率器件直接驱动

先看一下大功率器件直接驱动的这种方式:

为什么要加一个续流二极管呢?

因为电机是感性负载元件,驱动的时候要注意它的感性值,它会感应出很高的电压。

电感有个特性:保证流过电感的电流不会突变,这会造成什么后果呢?就是如果我们把电路断开(再IN端输入高电平),在断开的瞬间,电感要求电流不能变,这个时候就会产生对抗,对抗的过程中就会感应出很高的电压,使电感有电流,如果电感值很大,那三极管就会被击穿,或者通过IN端击穿IO口,就会影响电路的稳定性。但是如果我们加了这个续流二极管,在电路断开的一瞬间,电感电流正好可以通过这个二极管形成一个循环把它释放掉,这样的话就不会感应出一个高电压。

(如果一个电路里面有感性元件,则它的电压可能超过电源电压,甚至会超过很多,会产生危险)

之前蜂鸣器那一篇博客讲过ULN2003芯片的内部结构

如果要将这个芯片接上电感的话,续流二极管需要接到V电源上

如果将电源断开的话,电流就可以通过续流二极管得到释放

看一下原理图

H桥驱动

然后看H桥驱动这种方式:

由于这种方式中电流可以往左也可以往右,我们没办法加续流二极管,那么就要求驱动的这个晶体管或者MOS管具有很强的耐压特性,能够扛得住感应出来的高电压。

那么下一个问题就是电机调速问题,如果将电机保持在中间速度呢?这就需要用到PWM进行调速

PWM介绍

PWM(Pulse Width Modulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、开关电源等领域

PWM重要参数:

频率 = 1 / TS 占空比 = TON / TS 精度 = 占空比变化步距

Ton的时间长Toff时间短电机会快,Ton的时间短Toff时间长电机会慢

我们一般会保证一个周期的时间是一样的

以上就是本篇内容,下一篇开始代码演示!

相关推荐
我先去打把游戏先20 分钟前
ESP32学习笔记(基于IDF):ESP32连接MQTT服务器
服务器·笔记·单片机·嵌入式硬件·学习·esp32
deng-c-f3 小时前
Linux C/C++ 学习日记(29):IO密集型与CPU密集型、CPU的调度与线程切换
linux·学习·线程·cpu·io密集·cpu密集
四谎真好看5 小时前
Java 黑马程序员学习笔记(进阶篇18)
java·笔记·学习·学习笔记
洋洋的笔记5 小时前
银行测试学习计划
学习
CiLerLinux6 小时前
第一章 FreeRTOS简介
单片机·嵌入式硬件·物联网·gnu
Allan_20256 小时前
数据库学习
数据库·学习
报错小能手6 小时前
linux学习笔记(43)网络编程——HTTPS (补充)
linux·网络·学习
报错小能手6 小时前
linux学习笔记(45)git详解
linux·笔记·学习
百锦再7 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
Larry_Yanan7 小时前
QML学习笔记(四十四)QML与C++交互:对QML对象设置objectName
开发语言·c++·笔记·qt·学习·ui·交互