РЕШЕНО Программа для управления мотором rc-car

Тема в разделе "Arduino & Shields", создана пользователем Niki19, 24 сен 2020.

  1. Niki19

    Niki19 Нерд

    Доброго времени суток, возник такой вопрос, после написания простенького кода двигатель он начинает дребезжать, можете посмотреть и написать что именно я сделал не так?? Вот сам код:
    Код (C++):
    #include <G2MotorDriver.h>
    #include <SharpIR.h>

    #define IRPin A0
    #define model 20150

    #define DIR 2
    #define PWM_Motor 3

    int PWM = 0;

    int dis;

    SharpIR mySensor = SharpIR(IRPin, model);

    void setup() {
      pinMode(DIR, OUTPUT);
      pinMode(PWM_Motor, OUTPUT);
      Serial.begin(9600);
    }

    void loop() {
      dis = mySensor.distance();  //read sensor
    if(dis<50){             //compare to threshold
      for (int i = 150; i >= 0; i--){
        analogWrite(PWM_Motor, i);  //stop motor if less than threshold
      }
    }else{
      for (int i = 0; i < 150; i++){
        analogWrite(PWM_Motor, i); //run motor if less than threshold
      }
    }
    }
     
  2. akl

    akl Гуру

    потому что в циклах на мотор подается то 150 то 0 шима и так сотни или даже тыщи раз в секунду
     
  3. Nekto_nikto

    Nekto_nikto Гик

  4. Niki19

    Niki19 Нерд

    Нет, просто ШИМ я использовал в коде, чтобы плавно изменять скорость коллекторного двигателя(минимальное напряжения для начала оборотов 5В). Но проблема в том что 2-4 раза программа нормально работала, а потом вместо исполнения действий по коду, начинает дребезжать двигатель. Проверял код на иных двигателях.... И такой проблемы не встретил.
     
  5. Niki19

    Niki19 Нерд

    Но и ответом напишу, что я не прошу переписать весь код, я спросил где я неправильно что-то указал или может что-то не знал и допустил оплошность.... Я даже если прошу подсказку, то в случаях если что-то не понимаю. Но я не вижу где я написал что просил переписать код. Но это ваше мнение и мысли.
     
    Михаил123 нравится это.
  6. Niki19

    Niki19 Нерд

    Так, я уже решил свою проблему, я забыл проверить выходное напряжение с батарейки
    Gens Ace 1800 mAh 7.4V
    спасибо за помощь всем.
     
    Последнее редактирование: 25 сен 2020
  7. Nekto_nikto

    Nekto_nikto Гик

    Если почитать ваши "вопросы", то любой поймет что ответом там как правило может быть либо готовый код, либо алгоритм, что сродни написанию управляющей программы за вас.