работа драйвера l298
- Войдите на сайт для отправки комментариев
Втр, 23/08/2016 - 16:51
Помогите разобраться с шилдом. Подключем джойстик. Мотор должен увеличивать скорость при отклоненни джойстика, и менять направление в зависимости от отклонения центрального положения. Но направление вращения не меняется, а скорость нарастает только правильно только в одном отклонении джойстика, в другом скорость наоборот уменьшается.
int IN1 = 7;
int IN2 = 6;
int IN3 = 5;
int IN4 = 4;
int EN1 = 9;
int EN2 = 3;
int potPin1 = 0;
void setup()
{
pinMode (EN1, OUTPUT);
pinMode (IN1, OUTPUT);
pinMode (IN2, OUTPUT);
pinMode (EN2, OUTPUT);
pinMode (IN4, OUTPUT);
pinMode (IN3, OUTPUT);
}
void loop()
{ if (potPin1 < 480){
int sp = map(analogRead(potPin1), 479, 0, 50, 254);
digitalWrite (IN2, HIGH);
digitalWrite (IN1, LOW);
digitalWrite (IN4, HIGH);
digitalWrite (IN3, LOW);
analogWrite(EN2,sp);
analogWrite(EN1,sp);
}
else if(potPin1 > 550){
int sp = map(analogRead(potPin1), 551, 1023, 50, 254);
digitalWrite (IN1, HIGH);
digitalWrite (IN2, LOW);
digitalWrite (IN3, HIGH);
digitalWrite (IN4, LOW);
analogWrite(EN2,sp);
analogWrite(EN1,sp);
}
else if (potPin1 > 485 && potPin1 < 545){
digitalWrite (IN1, LOW);
digitalWrite (IN2, LOW);
digitalWrite (IN3, LOW);
digitalWrite (IN4, LOW);
}
}
Подскажите где копать?
1. В условии if вы сравниваете не само значение sp, а номер входа potPin1. Он всегда у вас остается ноль.
2. Переменная sp объявлена дважды.
Спасибо большое за подсказку! Теперь все работает как надо.
"Есть еще вопрос, уже технического плана, на двайвер подается питание 7,8в. а на выходе , на моторы, выходит только 5в."
Это - нормально.
-"Вовочка, кем работает твой папа?"
-"трансформатором"
-"?!? Как это?"
-"Я не знаю, МарьВанна, но мама так говорит, что наш папа работает транформатором: 220 получает, 127 отдает а на остальные гудит".
:)
Так ведь к описанию к драйверу говорится что он может питаться напряжением до 20в. И его же ( 20в.) выдавать на нагрузку. Или я что то путаю?!
http://www.ebay.com/itm/191674305541
Вот такой драйвер.
"Есть еще вопрос, уже технического плана, на двайвер подается питание 7,8в. а на выходе , на моторы, выходит только 5в."
Это - нормально.
-"Вовочка, кем работает твой папа?"
-"трансформатором"
-"?!? Как это?"
-"Я не знаю, МарьВанна, но мама так говорит, что наш папа работает транформатором: 220 получает, 127 отдает а на остальные гудит".
:)
Т. е.. Это потери в самой схеме такие.. И надо просто больше подавать на вход драйвера