0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么单片机不能直接驱动电机

贸泽电子 来源:贸泽电子 2025-01-15 14:15 次阅读

单片机直连电机,你这样做过吗?单片机和电机能不能直连呢?本期贸泽科普实验室,我们就为大家来验证了——

上面视频里,实验表明单片机是可以直连驱动电机的。

是不是意味着单片机能直接驱动所有的电机呢?

当然不是。

不知道大家注意到没有,视频里的电机是非常迷你的,与我们在其他电子产品里常见到的电机相比,在体格上有非常大的差距。

这个小电机的额定电压是3.3V,额定电流4mA。想要让它转起来,首要条件就是单片机IO口的输出电压和电流要满足电机的额定电压和额定电流。

STM32F103单片机为例,在输出电压特性表可以看到,STM32F103的I/O输出高电平的电压在VDD-0.4V至VDD,以3.3V供电的话,那么I/O口的高电平电压在2.9V至3.3V之间。

69369afe-d2d5-11ef-9310-92fbcf53809c.png

图源:STM32F10xxx参考手册

而在STM32F103的输出驱动电流说明表中,可以看到I/O输出拉电流是8mA,输出灌电流是25mA,流经芯片的总电流不得超过150mA。

694e21ce-d2d5-11ef-9310-92fbcf53809c.png

6957c72e-d2d5-11ef-9310-92fbcf53809c.png

图源:STM32F10xxx参考手册

这样看来,STM32F103的IO口直连小电机,完全是没问题的!但是,问题来了——

小电机,也就是直流有刷电机是感性设备,在电机运转的过程中,会产生反电动势,用示波器测量,供电使用3.3V的话,产生的反电动势峰峰值达到了10V左右。这个反电动势会全部加在单片机的I/O口上。

69672214-d2d5-11ef-9310-92fbcf53809c.png

结合单片机的I/O结构来看,此时反电动势全部由保护二极管消耗,一旦保护二极管损坏,单片机的I/O也会直接玩完。

697d53fe-d2d5-11ef-9310-92fbcf53809c.png

所以,对于功率小的电机,虽然使用单片机I/O可以直接驱动,但用不了多长时间,单片机I/O就会损坏。而对于功率大的电机,单片机是无法直接驱动的。

那单片机应该如何正确的驱动电机呢?

不同的电机,驱动方式也是不同的,以我们常见的直流有刷电机、直流无刷电机、直流步进电机为例。

01

直流有刷电机的驱动

如果只是控制电机转动速度,不控制电机旋转方向,单片机+1个MOS管即可。单片机的的1个IO口,连接MOS管的G极,如下图:

69948dd0-d2d5-11ef-9310-92fbcf53809c.png

当MOS导通,电机旋转,当MOS关断,电机停转,电机产生的反电动势通过二极管D1消耗,起到保护电源的作用,当需要控制电机速度时,只需要单片机控制PWM的占空比就可以了。

如果既要控制方向,又要控制速度,就需要使用单片机+H桥。

69a5b1be-d2d5-11ef-9310-92fbcf53809c.png

单片机的4个IO口,即上图的PWM1,2,3,4,分别连接H桥4个MOS管的G极。通过控制单片机IO口输出电平,可以让4个MOS按照一定的顺序导通。当Q1和Q5导通,电机正转,当Q2和Q4导通时,电机反转。需要控制电机速度时,只需要单片机控制PWM信号的占空比就可以了。

02

直流无刷电机的驱动

直流无刷电机通常有2个重要组成部分,电机主体和驱动器。单个电机是无法运转的,直流无刷电机的定子绕组会做成三相对称星形接法,转子通常由n对磁极的永磁体构成,根据转子运转形式,有可以分为内转子和外转子。

直流无刷电机的驱动分三种情况:

第一种,驱动器和电机集成的。要想直流无刷电机运转,必须有驱动器。一些小型无刷电机,驱动器和电机是集成的,例如下面这种散热风扇,我们在使用的时候只需要连接电源就可以运转。

69bc9e42-d2d5-11ef-9310-92fbcf53809c.png

第二种,电子调速器,像无人机上常用的直流无刷电机,就需要外接电子调速器并且给控制信号才能工作。

69e97e6c-d2d5-11ef-9310-92fbcf53809c.png

第三种,使用闭环控制,通常在工业运动控制中使用,电机内部集成了3相霍尔传感器,用来检测转子位置和转速,同时,配套的驱动板也比较复杂,集成了很多信号采集和电机保护功能,可以控制直流无刷电机的转速、转矩、方向等。

03

步进电机的驱动

步进电机运转必须有步进电机驱动器,而步进电机驱动器种类是很多,对于功率比较小的步进电机,就可以使用单片机,外加ULN2003或者MX1508来驱动,这种驱动比较繁琐,每一相的脉冲信号时序都要自己去控制。

6a0d69f8-d2d5-11ef-9310-92fbcf53809c.png

还有一种就是使用集成驱动芯片设计的步进电机驱动器,例如TB6600、A4988等驱动芯片,这类驱动器驱动功率大、使用简单,控制只需提供速度、方向和使能信号,设定好驱动器参数,通过给定脉冲数量,就能使步进电机转动对应角度。

6a36d4be-d2d5-11ef-9310-92fbcf53809c.png

此外还有一种情况是驱动和电机一体的步进电机,这类步进电机还集成了编码器,一般应用在高精度的控制场合,这类步进电机可以通过串口通讯进行控制,也可以通过脉冲信号去控制。

6a4e0cf6-d2d5-11ef-9310-92fbcf53809c.png

关于电机驱动的问题,不是一篇文章就能说得完,由于篇幅有限,就介绍这么多了。总之,大家记住一点,单片机不能直接驱动电机,需要搭配合适的驱动电路才可以。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6041

    文章

    44616

    浏览量

    637431
  • 额定电流
    +关注

    关注

    1

    文章

    314

    浏览量

    16908
  • 驱动电机
    +关注

    关注

    9

    文章

    416

    浏览量

    30761
  • 有刷电机
    +关注

    关注

    3

    文章

    172

    浏览量

    13691

原文标题:贸泽科普实验室|为什么单片机不能直接驱动电机

文章出处:【微信号:贸泽电子,微信公众号:贸泽电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    相关推荐

    为什么单片机不能直接驱动继电器和电磁阀

    为什么单片机不能直接驱动继电器和电磁阀。继电器继电器就是个开关,这个开关是由它内部的线圈控制的。
    的头像 发表于 02-26 09:52 1.2w次阅读

    单片机引脚为什么无法直接控制电机或风扇?

      单片机引脚为什么无法直接控制电机或风扇?
    发表于 11-14 17:02 4839次阅读
    <b class='flag-5'>单片机</b>引脚为什么无法<b class='flag-5'>直接</b>控制<b class='flag-5'>电机</b>或风扇?

    请问单片机直接驱动电机吗?

    想问各位大侠,我想用51做一个模块,能不能用51单片机同时直接驱动两个5v的电机和一个5v的舵机呢? 担心功率不够把主芯片烧坏啊
    发表于 04-28 06:01

    使用Stellaris(群星)单片机驱动直流无刷电机

    使用Stellaris(群星)单片机驱动直流无刷电机 本文简介如何使用Stellaris(群星)单片机驱动直流无刷
    发表于 04-06 17:34 69次下载

    单片机驱动步进电机程序

    单片机驱动步进电机程序 NS-6型实验板驱动步进电机 控制输出为P1口 由
    发表于 03-18 15:36 1.2w次阅读

    基于AVR单片机的四相步进电机驱动设计

    基于AVR单片机的四相步进电机驱动设计。
    发表于 04-25 10:50 17次下载

    基于单片机和CPLD的步进电机细分驱动系统

    基于单片机和CPLD的步进电机细分驱动系统
    发表于 04-25 17:07 12次下载

    为什么单片机不能直接驱动继电器和电磁阀

    为什么单片机不能直接驱动继电器和电磁阀,感兴趣的小伙伴们可以看看。
    发表于 07-26 10:43 54次下载

    单片机驱动电机电路

    在这里介绍一下用51单片机驱动步进电机的方法。这款步进电机驱动电压12V,步进角为 7.5度 。 一圈 360 度 , 需要 48 个脉冲
    的头像 发表于 10-25 14:10 2.5w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>驱动</b><b class='flag-5'>电机</b>电路

    写给单片机初学者:为什么单片机不能直接驱动继电器和电磁阀?资料下载

    电子发烧友网为你提供写给单片机初学者:为什么单片机不能直接驱动继电器和电磁阀?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程
    发表于 04-24 08:43 38次下载
    写给<b class='flag-5'>单片机</b>初学者:为什么<b class='flag-5'>单片机</b><b class='flag-5'>不能</b><b class='flag-5'>直接</b><b class='flag-5'>驱动</b>继电器和电磁阀?资料下载

    简单实现51单片机步进电机驱动

    简单实现51单片机步进电机驱动说明:
    发表于 11-11 13:06 38次下载
    简单实现51<b class='flag-5'>单片机</b>步进<b class='flag-5'>电机</b>的<b class='flag-5'>驱动</b>

    STM32F103单片机使用ULN2003驱动步进电机

    最近整理东西,突然发现以前买的一个步进电机模块,以前使用5V单片机驱动的。突然想试试能不能用STM32F103单片机的3.3V
    发表于 11-18 18:51 55次下载
    STM32F103<b class='flag-5'>单片机</b>使用ULN2003<b class='flag-5'>驱动</b>步进<b class='flag-5'>电机</b>

    如何提高单片机的GPIO口驱动能力

    单片机是控制器件而不是驱动器件,因为输出电流很小,不足以驱动某些需要大电流的外设。 单片机的GPIO口驱动能力有限,
    的头像 发表于 03-24 15:36 9785次阅读
    如何提高<b class='flag-5'>单片机</b>的GPIO口<b class='flag-5'>驱动</b>能力

    l298n电机驱动模块驱动直流电机

    一、为什么不能直接单片机IO口驱动电机,要用电机驱动
    发表于 03-31 13:46 0次下载
    l298n<b class='flag-5'>电机</b><b class='flag-5'>驱动</b>模块<b class='flag-5'>驱动</b>直流<b class='flag-5'>电机</b>

    单片机引脚为什么无法直接控制电机或风扇?

    单片机引脚为什么无法直接控制电机或风扇? 单片机(Microcontroller)是一种现代化的电子器件,它可以用来控制各种电子设备,例如LED灯、传感器、LCD屏幕等等。然而,
    的头像 发表于 10-25 10:56 1455次阅读