本节书摘来华章计算机《Arduino开发实战指南:机器人卷》一书中的第3章 ,第3.4节,黄文恺 伍冯洁 陈 虹 编著更多章节内容可以访问云栖社区“华章计算机”公众号查看。
3.4 PWM速度控制原理
从直流电机驱动电路原理可知,通过控制通断可驱动电机正转和反转,但不能实现电机的调速,要实现电机的转速控制则需要使用PWM技术。
PWM,是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,它实质上是把恒定的直流电源电压调制成频率一定、宽度可变的脉冲电压序列,从而改变平均输出电压的大小,以达到调节电机转速的目的。
由于Arduino Uno所使用的AVR Mega328芯片有6路8位的PWM输出,在 Arduino Uno控制板上,其PWM输出引脚为D3、D5、D6、D9、D10、D11(数字上标有波浪号“~”),频率大约为490Hz。进行电机调速程序设计时,使用anologWrite函数可实现PWM信号输出,从而控制电机的转速。