重开帖发下我的双电机+电机驱动板程序和接线图(ps了张图)
本帖最后由 hick 于 2013-9-9 11:49 编辑首先是我 ps 的接线图
然后是L298N双H桥直流电机驱动板,跟提供的手册上的略有差异。主要是跟 ENA ENB IN1-IN4 并列的还有一个 5V+ 和 GND 插针。 我理解这个是驱动板的 5V 输入口?还是说下图右下的那个 5V 跳线才是驱动板 5V 输入?
下面这张是跟手册上不一样的局部放大
昨晚这套还是能跑起来了,就是不能通过 ENA ENB 控制速度。 也另外发了个求助帖,本贴也继续求教咋回事:
另附手册上的程序:
// motor A
int dir1PinA = 2;
int dir2PinA = 3;
int speedPinA = 9;
// motor B
int dir1PinB = 4;
int dir2PinB = 5;
int speedPinB = 10;
unsigned long time;
int speed;
int dir;
void setup() {
pinMode(dir1PinA, OUTPUT);
pinMode(dir2PinA, OUTPUT);
pinMode(speedPinA, OUTPUT);
pinMode(dir1PinB, OUTPUT);
pinMode(dir2PinB, OUTPUT);
pinMode(speedPinB, OUTPUT);
time = millis();
speed = 0;
dir = 1;
}
void loop() {
analogWrite(speedPinA, speed);
analogWrite(speedPinB, 255 - speed);
// set direction
if (1 == dir) {
digitalWrite(dir1PinA, LOW);
digitalWrite(dir2PinA, HIGH);
digitalWrite(dir1PinB, HIGH);
digitalWrite(dir2PinB, LOW);
} else {
digitalWrite(dir1PinA, HIGH);
digitalWrite(dir2PinA, LOW);
digitalWrite(dir1PinB, LOW);
digitalWrite(dir2PinB, HIGH);
}
if (millis() - time > 5000){
time = millis();
speed += 20;
if (speed > 255) {
speed = 0;
}
if (1 == dir) {
dir = 0;
} else {
dir =1;
}
}
} wyd1520 发表于 2013-9-11 14:05 static/image/common/back.gif
这是电压不够造成的,speed要使能让电机转动,值最少在150以上才行,低于这个值电压就太低了就走不动。
...
恩 , 那个速度值不通场景下不通。
实际经验感觉跟电压可能也不是百分百相关,后来我甚至换了新买的移动电源,实测电压可能都要低于之前使用的俩移动电源,但是驱动起来就是顺畅。
图片挺清晰的, Fortware 发表于 2013-9-9 13:51 static/image/common/back.gif
图片挺清晰的,
time = millis();这个函数是在哪里定义的呢,可不可以给我源代码呢 本帖最后由 Fortware 于 2013-9-9 20:28 编辑
time = millis();这个函数是在哪里定义的呢,可不可以给我源代码呢
F:\arduino-1.0.4\arduino-1.0.4\reference\Millis.html 按照这个程序,假如程序调了速,但人无法识别出来。
不如直接确定speed=50 或speed=100
对比观察一下是否控制电机的转速。
另外,从图片观察看使能端的跳线冒连接上了,似乎意味着使能值为最大值。
即使程序中设定的使能端的值也不起作用。 tom 发表于 2013-9-9 23:47 static/image/common/back.gif
按照这个程序,假如程序调了速,但人无法识别出来。
不如直接确定speed=50 或speed=100
多谢, 经过单电机反复调试,基本确认应该是电压不够,电流太小,不通的 speed 控制值造成很奇怪的现象。
换了个好点儿的电源,最大值255的时候能 ok 了。低于一定值需要手工转动辅助启动,否则蜂鸣。 新手,学习了 hick 发表于 2013-9-10 11:10 static/image/common/back.gif
多谢, 经过单电机反复调试,基本确认应该是电压不够,电流太小,不通的 speed 控制值造成很奇怪的现象。 ...
这是电压不够造成的,speed要使能让电机转动,值最少在150以上才行,低于这个值电压就太低了就走不动。
你可以试试,从110-255就知了 150 180 200 220 255 是有区别 开始初始化时给个255启动,1秒之后再调速 一缕阳光 发表于 2013-9-12 17:43 static/image/common/back.gif
开始初始化时给个255启动,1秒之后再调速
恩 现在不好试,估计可能有些效果。我试过统一的速度值,先操作单电机,一定能够延时以后再操作另外一个电机效果就好很多; 同时操作可能就启动不了。 本帖最后由 greeham 于 2013-9-13 22:09 编辑
5v是输出吧
greeham 发表于 2013-9-13 22:08 static/image/common/back.gif
5v是输出吧
应该有一个是输入。 板子上三个 5V 标记的,我只确认一个是电机输入的, 其他俩不大确认。 :lolbbbbbbbbb 没看明白最后你们是解决了这个调速问题,还是没有解决这个问题啊
页:
[1]
2