本帖最后由 董董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、杜邦线是坏的!
以上,就拿个万用表测测测吧!
|