Не работает второй двигатель.

использование и разработка плат расширения

Не работает второй двигатель.

Сообщение FixFox » 28 июн 2014, 17:05

Имеется Shield L298P, Ардуино УНО и два двигателя. Все подключил, поставил загрузил в ардуино программу, затем включил. И работает только один двигатель, а второй нет. Но т.к я в программировании ничего пока не знаю, все программы брал из интернета. Сначала думал что программа не та, залил другую и опять та же ситуация, один работает, другой нет. Почему же не работает второй двигатель??
FixFox
 
Сообщения: 3
Зарегистрирован: 28 июн 2014, 16:27
programming: C++

Re: Не работает второй двигатель.

Сообщение Dmti » 01 июл 2014, 15:11

148 тысяч причин. Ты схемку выложи и программку что залил вот тогда можно будет поглядеть. :nez-nayu:
Аватара пользователя
Dmti
 
Сообщения: 3
Зарегистрирован: 19 ноя 2013, 16:36
programming: C++

Re: Не работает второй двигатель.

Сообщение FixFox » 01 июл 2014, 22:21

Схемы нет, собирал по "инструкции" http://wiki.amperka.ru/%D1%80%D0%BE%D0% ... B0-arduino
Заказывал все детали в eBay, но я так поискал причину и кое где прочитал, что шиелд L298P не подходит к ардуино УНО(но не уверен в этом). И программу залил, и все, начал включать. Можно ли взять ее как-нибудь с ардуино?
Вот шиелд с eBay http://www.ebay.com/itm/321214738375?ss ... 1439.l2649
FixFox
 
Сообщения: 3
Зарегистрирован: 28 июн 2014, 16:27
programming: C++

Re: Не работает второй двигатель.

Сообщение Dmti » 02 июл 2014, 08:58

Глянул, там всё просто должно работать. Тебе лучше проверить сам шилд и правильность сборки. Залей в ардуину какую ни-будь простенькую программку для проверки ключей правильности сборки схемы пока без датчиков. Что-то типа:
Код: Выделить всё
//Смотри схему 4,5 вывод на шилде прав.мотор а 6,7 лев.
#define SPEED_LEFT       6
#define SPEED_RIGHT      5
#define DIR_LEFT         7
#define DIR_RIGHT        4

void setup()
{
    // Настраивает выводы платы 4,5,6,7 на вывод сигналов
   pinMode(DIR_RIGHT, OUTPUT);
   pinMode(SPEED_RIGHT, OUTPUT);
   pinMode(SPEED_LEFT, OUTPUT);
   pinMode(DIR_LEFT, OUTPUT);
}

void loop()
{
    analogWrite(SPEED_LEFT, 0);    //Левый мотор вращение в право
    digitalWrite(DIR_LEFT, HIGH);
   
    analogWrite(SPEED_RIGHT, 0);    //Правый мотор вращение в право
    digitalWrite(DIR_RIGHT, HIGH);
   
   delay 5000; // Время вращения моторов
   
    analogWrite(SPEED_LEFT, HIGH);  //Левый мотор вращение в лево
    digitalWrite(DIR_LEFT, 0);
   
    analogWrite(SPEED_RIGHT, HIGH);  //Правый мотор вращение в лево
    digitalWrite(DIR_RIGHT, 0);
   
    delay 5000; // и далее по циклу
 
}


Посмотри сигналы на ногах 4,5,6,7 тестером. Если все сигналы приходят то проверь напряжения питания на шилде если всё в норме то виноват шилд если нет копай программку.
Ещё мне не нравиться часть кода я бы упростил
Код: Выделить всё
   if (left == right) {
        // под сенсорами всё белое или всё чёрное
        // едем вперёд
        targetState = STATE_FORWARD;
    } else if (left) {
        // левый сенсор упёрся в трек
        // поворачиваем налево
        targetState = STATE_LEFT;
    } else {
        targetState = STATE_RIGHT;
    }
 
    if (state == STATE_FORWARD && targetState != STATE_FORWARD) {
        int brakeTime = (currentSpeed > SLOW_SPEED) ?
            currentSpeed : 0;
        stepBack(brakeTime, targetState);
    }
 
    switch (targetState) {
        case STATE_FORWARD:
            runForward();
            break;
 
        case STATE_RIGHT:
            steerRight();
            break;
 
        case STATE_LEFT:
            steerLeft();
            break;
    }
Аватара пользователя
Dmti
 
Сообщения: 3
Зарегистрирован: 19 ноя 2013, 16:36
programming: C++

Re: Не работает второй двигатель.

Сообщение admin » 03 июл 2014, 08:05

проверьте, что моторчики работают,
прозвоните провода,
проверьте работу движков на простом тестовом скетче - типа такого.
Аватара пользователя
admin
Администратор
 
Сообщения: 317
Зарегистрирован: 05 май 2011, 14:57
Откуда: Калининград

Re: Не работает второй двигатель.

Сообщение FixFox » 11 авг 2014, 17:25

Пытался залить эти две программы, но при компилировании выдает ошибки. Не могу понять что за ошибки..
FixFox
 
Сообщения: 3
Зарегистрирован: 28 июн 2014, 16:27
programming: C++


Вернуться в Шилды (Shields)

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron
© 2009-2021 |  Top.Mail.Ru О проекте  |  Политика Конфиденциальности  |