ninjiafan 发表于 2014-10-1 23:48:07

【教程】直流电机两线驱动库(支持L298和L9110)

本帖最后由 ninjiafan 于 2014-10-4 16:59 编辑

这个库是自写自用的,目前运行良好,支持L9110和L298两种电机驱动模块,只需要一路PWM和一路数字脚即可控制电机正反转转速和停止。



L9110的两路输入脚随意接PWM和数字脚各一就好。

L298可以同时控制两个电机,需要把输入EN脚都接高电平,然后每个电机的两路输入随意接PWM和数字脚各一就可以了。

由于Arduino的定时器可能会干扰到PWM输出,所以我一般用D9和D10做为PWM输出,数字脚随意就好……

说明:
MotorDC motorDC(PWM脚,数字脚);
setSpeed(转速);
转速为0时,电机停转。
转速为正数时为正转,1-254为PWM,大于等于255均视为直通。
转速为负数时为反转,-1到-254为PWM,小于等于-255均视为直通。

举例两个电机控制就用D8(数字)+D9(PWM):

#include <MotorDC.h>

MotorDC motorDC(9,8);

void setup()
{
Serial.begin(9600);
Serial.println("Motor DC Library");
}

void loop()
{
// PWM 0 to 255
motorDC.setSpeed(63);
delay(10000);
// PWM -255 to 0
motorDC.setSpeed(-63);
delay(10000);
// Stop
motorDC.setSpeed(0);
delay(5000);
}


duanliangcong 发表于 2014-10-3 19:00:15

很感谢大神,要的就是这个。

daneal 发表于 2015-6-8 14:07:42

大神NB啊,刚好能用上,太谢谢了!

pumpitup 发表于 2015-6-18 10:44:26

有个问题想请教一下楼主:
有一个现成的机器,可以使用moto(端口,速度) 来使用马达。但是原来的马达驱动模块没有了,我想接298或者别的什么来使用。
看了它的接口,每个马达有四个口用来接驱动模块,分别是+ - D P。其中D是控制方向的,P是控制速度的。
测量了一下 +是3.2V
D控制方向,用程序和万用表配合检测:给反转是0V(对地),正转是3.2V
P控制速度,但是测下来好像是反的。停止时测得3.2V(对地),全速时候测得是0V,没有示波器,应该是pwm信号吧。

想请教一下,我如果用298来驱动马达的话,应该怎么接呢。

lbyc106 发表于 2015-6-18 16:00:31

下载试试,谢谢分享!

wwwusr 发表于 2015-6-18 21:10:46

这个库不错!

li23108 发表于 2015-9-30 21:33:41

这个库挺好用的,正要用。。3q

li23108 发表于 2015-9-30 21:41:25

这个库挺好用的,正要用。。3q

Jackxwb 发表于 2016-4-9 14:32:02

入手了两个L9110S芯片的驱动板,终于可以用了,有点可惜的是不带升压功能。谢~~
卖家提供的C51例子看不懂的说~http://pan.baidu.com/share/link?shareid=1359713279&uk=590225187

xiaozeng 发表于 2016-4-24 23:53:16

这个好!!楼主的串口通讯教程有没更新?

我不配 发表于 2016-5-12 17:12:42

请问一下这个库驱动电机的频率是多少?

原野动力 发表于 2016-5-12 17:24:32

:):):):):):)

原野动力 发表于 2016-5-12 17:25:42

:):):)支持一下

sendi123456 发表于 2016-6-12 07:21:53

下班后试试

阳光国会 发表于 2016-6-21 17:38:57

这个和用analogWrite控制有什么区别吗?
页: [1] 2
查看完整版本: 【教程】直流电机两线驱动库(支持L298和L9110)