简介
DFRobot荣誉推出带驱动微型金属减速电机。不同于以往的带接口,带编码器的版本,这款带驱动的金属减速电机相对更加实用,无需外部电机驱动即可轻松驾驭。仅需要一根控制管脚,即可以实现电机正/反转控制和速度控制要求。
电机采用了普适的360度伺服舵机控制方案,兼容性更广。在这基础上还做了针对性调整,增大了停止点脉宽;减少了待机功耗,无控制信号情况下电流小于1mA。给您带来更多创意实现的可能性,是您DIY制作的理想方案!
注意:由于控制芯片的会存在一定压降,电机实际得到的电压会略小于模块的输入电压,所以转速会略小于额定的电机转速。
产品参数
- 工作电压:3.5V-8V
- 齿轮箱减速比:75:1
- 空载电流:40mA@6V(约)
- 静态电流:<1mA (无PWM控制信号输入)
- PPM信号分辨率:1us
- PPM信号正脉宽范围:500us-2500us
- 正转脉宽范围:500us-1400us (500us转速最大)
- 停止点脉宽范围:1400us-1600us
- 反转脉宽范围:1600us-2500us(2500us转速最大)
- PWM驱动频率:500 Hz
引脚说明
标号 | 名称 | 功能描述 |
---|---|---|
1 | 信号 | PWM信号输入 |
2 | 电源 | VCC |
3 | 地 | GND |
使用教程
以下教程使用UNO R3作为测试板对此产品做简单的功能测试
注意:控制方式与360°舵机一致。
关于360度舵机的控制可参照:360度舵机和普通舵机的区别
准备
- 硬件
- UNO R3 x1
- DFR0399模块 x1
- 杜邦线 若干
- USB线缆 x1
- 软件
- Arduino IDE 点击下载Arduino IDE
接线图
样例代码
点击下载库文件Arduino Servo library(Arduino IDE已内置),无需额外下载 。如何安装库?
在Adruino IDE下粘贴以下代码编译后下载到UNO主板上
#include <Servo.h>
#define speed_maxP 0 //极速正转(对应180度舵机 0°控制信号)
#define speed_maxN 180 //极速反转(对应180度舵机180°控制信号)
#define speed_stop 90 //停止 (对应180度舵机 90°控制信号)
Servo mymotor; // 创建一个Servo 对象 mymotor 用于控制舵机
int pos = 0;
void setup()
{
mymotor.attach(9); //配置控制信号输出口为D9
}
void loop()
{
/**********使用180度舵机控制信号控制N20电机******************************/
mymotor.write(speed_stop); //停止
delay(1000); //延时1S
mymotor.write(speed_maxP); //极速正转
delay(2000); //延时2S
mymotor.write(speed_maxN); //极速反转
delay(2000); //延时2S
for (pos = speed_maxP; pos < speed_maxN; pos++) //正转速度减慢至停止再到反转速度从慢到快变化
{
mymotor.write(pos);
delay(50);
}
}
结果说明
电机运转状态参照上述样例代码中的注释。
注意:这边0~180°对应了控制信号的脉冲宽度在500us~2500us之间。
当我们给一个中间值81~99°(1400~1600us)时,电机停止;
当我们给一个值小于81°(1400us)时,电机正转,数值越小,速度越快,0°(500us)为最大速度;
当我们给一个值大于99°(1600us)时,电机反转,数值越大,速度越大,180°(2500us)为最大速度.
由于每个电机或多或少会存在一点差异,所以每个停止位都有所区别,我们特别增大了它的停止域,来确保电机能够正确停止。
常见问题
还没有客户对此产品有任何问题,欢迎通过qq或者论坛联系我们!
更多问题及有趣的应用,可以 访问论坛 进行查阅或发帖!
更多
[Link DFRobot商城购买链接]