直流电机可以在许多设备中找到。在自己动手的项目中,它们可用于创建机器人,例如“智能”汽车四处行驶并避开障碍物。这种电机可以打开和关闭,我们无法控制旋转速度或方向。为了控制这种电机,设计了一些控制器。它们采用包含H 桥的集成电路形状。你可以在市场上找到许多驱动板。它们在支持的电机数量或功率方面有所不同。使用更多安培的更强大的电机将需要更好、更昂贵的电机控制器。对于 Arduino等廉价机器人套装,您通常可以使用更弱、更便宜的控制器,或者也可以使用将电机控制器与其他机器人功能( Arduino、RaspiRobot、Rover 5等)集成的板。

在本教程中,我将说明由Pololu DRV8833控制器控制的双电机驱动器速度原理。它是一种更便宜的驱动器,旨在与较弱的电机一起使用 - 就像小型机器人中的电机一样。其他电机控制器也应该以非常相似的方式工作,但不完全相同。

板图如下所示。默认情况下,引脚不会被焊接。

在右侧,从顶部开始,我们连接电机的电源,然后最多连接两个电机。在左侧,我们有微控制器接地 (GND) 引脚以及每个电机的两个 PWM 引脚(第一个控制正方向的旋转,第二个控制相反方向的旋转)。当电路板工作时,它可能会变得很热,所以要小心。

微控制器可以告诉电机控制器打开或关闭电机,控制其速度和方向。它是由脉宽调制- PWM完成的。微控制器将时间划分为非常短的周期。在每个周期中,PWM引脚的一部分可能处于高电平或低电平状态。根据该周期处于高状态的时间占比可以获得介于0和最高电压之间的任何电压。电机控制器对该值做出反应并增加或减少发送到电机的功率

打开PWM,然后将duty“占空比”设置为0到1023。占空比是引脚处于高电平状态的周期的一部分。值越大电机获得的功率越大,旋转速度越快。对于某些设置,电机将无法以低占空比值移动。

Controlling DC motors with pyMCU and DRV8833 motor controller
DC motors can be found in many devices. In do-it-yourself projects they can be used to create robots like “smart” cars driving around and avoiding obstacles. Such motor can be turned on and off, and we don’t get any control of the rotation speed or direction. To control such motors some controllers …