L9110S电机驱动模块实战指南:从原理到智能小车应用

1. 从零认识L9110S:你的第一个电机“指挥官”

如果你玩过智能小车或者机器人,肯定对电机不陌生。但光有电机可不行,它就像一匹野马,你得有个“缰绳”和“马鞭”来控制它跑多快、往哪跑。L9110S电机驱动模块,就是这样一个给直流电机准备的“智能缰绳”。我自己在带学生做智能车项目时,L9110S几乎是入门必选的模块,因为它实在太“友好”了——价格便宜、接线简单、原理直观,特别适合新手来建立对电机控制的第一个感性认识。

简单来说,单片机(比如STM32、Arduino)的GPIO引脚输出能力很弱,电流只有几十毫安,根本带不动需要几百毫安甚至上安培电流的电机。强行连接,要么电机纹丝不动,要么单片机直接烧掉。L9110S模块的作用,就是充当一个“电流放大器”和“开关指挥官”。它接收来自单片机微弱的控制信号(比如“正转”、“反转”、“停”),然后用自己的电路,从外部电源(比如电池)取电,输出足够强的电流去驱动电机执行动作。你可以把它想象成一个听令于单片机(大脑)的强力执行官(肌肉)。

市面上常见的L9110S模块,通常集成了两颗L9110S芯片,所以能独立控制两个直流电机,或者一个四线两相步进电机。模块板子很小巧,比一枚硬币大不了多少,上面有绿色的接线端子,用杜邦线一插就行,非常方便。它的工作电压范围是2.5V到12V,这意味着你可以用3.7V的锂电池、7.4V的航模电池或者9V的方块电池给它供电,驱动相应电压的小型电机。不过要注意,它的持续输出电流能力大约在800mA左右,所以适合驱动那种小型TT马达(就是黄色齿轮箱那种)、小风扇或者小型水泵,驱动大功率的电机就得换更猛的驱动芯片了。

我第一次用L9110S的时候,就被它的简洁逻辑吸引了。控制一个电机,只需要两个信号引脚:IA和IB。它的真值表特别好记,我总结成一个口诀:“同高同低都不转,一高一低才能转;IA高来IB低,电机正转跑得急;IA低来IB高,反转方向就调好”。也就是说,给IA高电平(3.3V或5V)、IB低电平(0V),电机正转;反过来,IA低、IB高,电机就反转;如果IA和IB都是高或者都是低,电机就刹车停止。这种逻辑清晰明了,编程时用digitalWrite或者HAL_GPIO_WritePin函数设置两个引脚电平就能轻松搞定方向,完全不需要复杂的时序。

2. 核心原理拆解:PWM如何让电机“听话”地变速

搞定了电机的正反转,下一个问题就是速度。总不能让小车只有“狂奔”和“停止”两种状态吧?我们得让它能慢速巡逻、中速巡航、高速冲刺。这就轮到PWM(脉冲宽度调制)技术大显身手了。很多新手一听PWM就觉得头大,其实它的生活类比非常形象:你想想家里用的调光台灯,或者风扇的调速开关。它们并不是真的去改变供电电压的大小,而是通过快速开关电路,控制“开”的时间和“关”的时间的比例。如果一秒钟内,灯亮的时间占0.8秒,灭的时间占0.2秒,你就会觉得灯很亮;如果亮0.3秒、灭0.7秒,灯就显得很暗。虽然开关在快速动作,但由于人眼的视觉暂留,我们看到的是连续变暗的效果。

PWM控制电机速度,原理一模一样。我们不是去调节电机的平均电压(虽然效果等价),而是用一系列频率很高的方波脉冲去驱动它。脉冲“高电平”的时候,电机通电转动;“低电平”的时候,电机靠惯性滑行。如果脉冲频率足够高(比如几千赫兹以上),电机由于自身的机械惯性,就感觉不到这种微小的启停抖动,只会表现为平滑的转动,而转速则由高电平所占的时间比例决定。这个“高电平时间占整个周期的比例”,就是我们常说的“占空比”。占空比0%意味着一直没电,电机不转;占空比100%意味着一直供电,电机全速转动;占空比50%则是一半时间供电,电机以大约一半的速度旋转。

那么,这个快速开关的动作谁来执行呢?就是我们前面提到的L9110S。但这里有个关键:L9110S本身只是一个“受控开关”,它自己不会产生PWM波。产生PWM波是单片机定时器的任务。我们需要在单片机上配置一个定时器,让它工作在PWM输出模式,然后把产生PWM波的引脚连接到L9110S的IA或IB脚上(通常我们固定一个方向引脚的电平,用PWM控制另一个引脚)。举个例子,我们想让电机正转并调速:可以设置IA引脚为固定的高电平,然后将单片机生成的PWM波输出到IB引脚。当PWM波为高电平时,IA高、IB高,电机两端电压差为0,不转;当PWM波为低电平时,IA高、IB低,电机正转。你看,这样IB引脚上的PWM波就反过来控制了电机通电的时间比例,实现了调速。实际编程中,我们更常见的做法是使用两个PWM通道,分别控制IA和IB,这样可以更灵活地实现正反转和调速,后面在智能小车部分会详细讲。

理解了这个,你就能看懂代码里像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值