董董soul 发表于 2016-3-27 10:38:04

OCROBOT智能小车(二)——小车基本行动

本帖最后由 董董soul 于 2016-3-27 10:40 编辑

让小车跑起来,除了写好程序,硬件的连接也是很重要的,首先,我来给大家详细的解释一下电机驱动板的使用,这是小车跑起来的核心部分,我看过很多小车的相关帖子,关于这一块,我发现写得都不是很详细,在此,尽一下自己的绵薄之力,给大家详细的讲一下。
1、L298N驱动板(大众通用版)

这款板子是最常见、最常用的,适用各种开发板,但是新手小白一拿到它,都看不懂呀,线要怎么连接呀?什么脚呀什么功能啊?使用手册上面也没有具体明白到教你线怎么连接,所以一头雾水。
首先,来看一下我画的示意图:
   
   接线是这么接的,在此提醒两点:四个马达的话,可以并联接在A处,B处,两两并。
   还有最重要的一点,板子上的5V一定要接在主控板上,因为那个是给后面那个黑色高高的芯片供电的,这是正确的使用方法,虽然不接也能用,但是损耗肯定相对来说,大一点。
   然后,我来说一下各个脚的对应关系,先看图:

INT1——OUT1、INT2——OUT2、INT3——OUT3、INT4——OUT4、
看过使用手册的人一定知道这张表:

所以可以看到,只要给予INT1、2、3、4对应的GPIO口高低电平,即可实现电机的正反转,而设定GPIO的高低电平,在程序里面即可实现。
2、L298P驱动板(OCROBOT的为例)

极限电压24V,极限电流2A。
好了,介绍完驱动板的连接,放上代码,来测试一下,测试完毕,就可以编程序,让小车动起来了!
L298N代码
void setup() {
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);   //将连接的GPIO口,全部设置为输出状态
pinMode(4,OUTPUT);
}

void loop() {
digitalWrite(1, HIGH);      
digitalWrite(2, LOW);      //电机A正转
digitalWrite(3, HIGH);   
digitalWrite(4, LOW);       //电机B反转
delay(1000);       //停止1S
}


L298P的代码
void setup()
{
pinMode(12,OUTPUT);
pinMode(3,OUTPUT);
pinMode(9,OUTPUT);   //启用电机A的三个管脚,全部设置为输出状态
pinMode(13,OUTPUT);
pinMode(11,OUTPUT);
pinMode(8,OUTPUT);   //启用电机B的三个管脚,全部设置为输出状态


}

void loop()
{
digitalWrite(9, LOW);       //松开电机A的制动
digitalWrite(3, HIGH);      //采用全功率输出
digitalWrite(12, HIGH);   //设置方向为正向
digitalWrite(8, LOW);       //松开电机B的制动
digitalWrite(11, HIGH);      //采用全功率输出
digitalWrite(13, HIGH);   //设置方向为正向
delay(1000);               //运行1秒
digitalWrite(9, HIGH);   //电机停止运行
digitalWrite(8, HIGH);   //电机停止运行
delay(1000);               //维持1秒钟

}

如果下了程序之后,轮子不转,怎么办?
请检查一下步骤:
1、电机是否坏了?
2、驱动板是否亮灯?
3、接线是否接错了?
4、接触是不是不良?
5、主控板跟驱动板是不是都供上电了?(两个电源是不一样的哦!)
6、程序有没有写错?
7、杜邦线是坏的!

以上,就拿个万用表测测测吧!

达哥 发表于 2016-3-27 19:55:05

董妹纸,不错哦

幻生幻灭 发表于 2016-3-27 21:21:00

董小姐,和您推荐一下用BOXZ的库,支持市面上90%的电机驱动板了

http://wiki.geek-workshop.com/doku.php?id=arduino:libraries:boxz

PINKWALKMAN 发表于 2016-3-28 07:51:40

这是要解决问题,还是抛出问题,还是设问句?哈哈……

董董soul 发表于 2016-3-28 09:59:45

PINKWALKMAN 发表于 2016-3-28 07:51 static/image/common/back.gif
这是要解决问题,还是抛出问题,还是设问句?哈哈……

那我改成!
我的意思是当遇到这些问题的时候,反问你自己

血阳 发表于 2016-3-28 10:30:54

问一下:
直接用arduino和L298n就能直接实现小车的制作,为什么还要加上OCROBOT?
OCROBOT这个堆叠在arduino上有什么优点和作用?

董董soul 发表于 2016-3-28 11:14:44

血阳 发表于 2016-3-28 10:30 static/image/common/back.gif
问一下:
直接用arduino和L298n就能直接实现小车的制作,为什么还要加上OCROBOT?
OCROBOT这个堆叠在ardu ...

对呀,后者的优势就在于,你不用接INT1.2.3.4的线了,而且板子还有制动的功能

血阳 发表于 2016-3-28 11:22:31

董董soul 发表于 2016-3-28 11:14 static/image/common/back.gif
对呀,后者的优势就在于,你不用接INT1.2.3.4的线了,而且板子还有制动的功能

哦哦。了解了。学习了~

l912094869 发表于 2016-3-28 13:19:48

谢谢楼主分享!!
页: [1]
查看完整版本: OCROBOT智能小车(二)——小车基本行动