机器谱

如何驱动直流有刷电机

作者:机器谱

图文展示3264(1)(1)

图文展示3264(1)(1)

副标题

Arduino

      因此,普通的直流有刷电机只有两个用于通电的接头(或者两根线),如果电源合适,只要将其中一个接头接上电源正极,另一个接上电源负极,电机就能转起来,反过来接就能反向转。在单片机上,则表现为一个接头接上合适电压的VCC针脚,另一个接GND,然后给VCC针脚供电,电机就能转起来。但是如果想要在不改变接线的情况控制电机的转动方向,甚至控制转动的速度,则需要用到直流电机驱动芯片。


2.电子硬件

在这个示例中,我们采用了以下硬件来驱动直流有刷电机,请大家参考:




Bigfish2.1扩展板上安装有两个直流电机驱动芯片,因此可以提供两组独立的直流电机控制接口。

本文所用电机的图片及参数如下:

1.工作原理

      直流有刷电机是制作机器人底盘驱动轮的常见部件,也常用于驱动齿轮组、曲柄摇杆、曲柄滑块等传动机构。直流有刷电机是利用电磁感应工作的,通过电刷给线圈(转子)通电,使线圈能够在两片磁铁(定子)之间旋转。电流方向相反时,线圈转动的方向也会反过来。

      这种直流电机在机器人DIY项目中很常见,也叫TT马达,它的内部包含一个直流有刷电机(在右侧黑色位置),左侧方块位置是一个减速箱。

      将电机接在直流电机接口上,如下图是接在Bigfish2.1扩展板的(D9,D10)直流电机接口上。














3.编程实现

3.1 数字量(点击查看:MotorDigital.ino

      一种常见的方法是用数字量进行控制,用到的函数是digitalwrite( , ),通过这个函数,将一组直流针脚中的一个针脚电平置高,另一个置低,相当于一个接正极,一个接负极,直流电机就转起来了。

     假设我们要实现这样一个效果:直流电机正转2秒→停2秒→反转2秒→刹车2秒。其代码如下:

主控板Basra(兼容Arduino Uno)
扩展板Bigfish2.1
电池7.4V锂电池


工作电压

电流(空载)转速(空载)每分钟扭力

减速比

4.5v

<130ma70~113rpm0.5kgf·cm

1:87


序号

内容
1

直流电机3D文件

2
例程源代码


      直流有刷电机的类型也有很多,按所适用的电压一般分为6V、12V、24V等不同级别。即使在同一级别中,电机的尺寸、功率、扭力、转速也各有不同,甚至外形也有很大差别,搭配不同的减速箱后更是千差万别,但是他们的驱动原理都是一样的。

4.资料下载

3.2 模拟量

      还有一个方法是用模拟量进行控制,用到的函数是analogwrite( , ),通过设置针脚的电压参数(范围是0~255之间),0相当于“低”,255相当于“高”,可以取它们之间的数值,从而改变直流电机的速度。


实现效果1:最高速度转2秒→慢速反转2秒。代码如下(点击查看:MotorAnalog.ino

实现效果2:静止→缓慢加速至最高速度→缓慢减速至停。代码如下(点击查看:MotorAnalogBreath.ino

Arduino
文件下载
【整体打包】-【U001】如何驱动直流有刷电机-Arduino-资料附件.rar
910.96KB下载53次下载
上一页 1 下一页
© 2024 机器时代(北京)科技有限公司  版权所有
机器谱——机器人共享方案网站
学习  开发  设计  应用