Калибровка контроллеров

За последнюю недельку удалось доковырять код для работы c 433Mhz rf kit, откалибровать контроллеры без пульта и узнать что блока питания 12В, 2А не хватает для 3х моторов коптера



Калибровка контроллеров скорости

Это была основная проблема - моторы крутились по разному и стабильно выключались при определенных значениях, поэтому была найдена инструкция от Mystery ESC из которой узнал как откалибровать контроллер:
Powering up the ESC for the first time and setting the
Automatic Throttle Calibration
1.Switch your Transmitter ON and set the throttle stick
  to its maximum position.
2.Connect the battery pack to the ESC. Wait for about
  2 seconds, the motor will beep for twice, then put
  the throttle in the minimum position, the motor will
  also beep, which indicates that your ESC has got
  the signal range of the throttle from your transmitter.
Поэтому код MultiWii пришлось немного поменять для первого запуска:
void initializeMotors() {
 for(uint8_t i=0;i<NUMBER_MOTOR;i++)
  pinMode(PWM_PIN[i],OUTPUT);
 for(uint8_t i=0;i<NUMBER_MOTOR;i++) {
  analogWrite(PWM_PIN[i], 2000);
 }
 delay(2200);
 for(uint8_t i=0;i<NUMBER_MOTOR;i++) {
  analogWrite(PWM_PIN[i], 1000);
 }
 delay(1000);
}
Соответственно прошиваем, включаем контроллер, затем включаем питание для контроллеров - они странно попищат и можно вернуть код:
void initializeMotors() {
 for(uint8_t i=0;i<NUMBER_MOTOR;i++)
  pinMode(PWM_PIN[i],OUTPUT);
 writeAllMotors(1000);
 delay(300);
}

Попытки запуска коптера

Первые тесты проводил без пропеллеров и моторы вполне адекватно реагировали на изменение параметров:


Второй тест уже с пропеллерами, соответственно возросла нагрузка на моторы и питания не хватило:


Заодно на видео можно увидеть мой интерфейс коптера в браузере =)

4 комментария:

  1. Интересно, чем увязывали web-интерфейс (js-ный, видимо) с ардуиной?

    ОтветитьУдалить
  2. скрипт-демон на php, запускается, конектится к ардуинке и постоянно пихает в неё значение из memcache, другий скрипт через js/ajax принимает значение от интерфейса и пихает его в memcache - реакция очень быстрая, главное в скрипте-демоне поставить задержку в бесконечном цикле (1-10 мс) - иначе проц сильно нагрузит

    ОтветитьУдалить
  3. Смотрел видео так и хочется что бы полетел))

    А еще мне пришел ардуино, но я после 2 часов общения так и не смог с ним подружиться)))
    Не подскажете где есть ресурс на русском желательно где все подробно описывается? был бы очень благодарен, а то весь нет облазил устал уже)

    ОтветитьУдалить
  4. а что именно не удалось?
    1) подключаем платку к компу
    2) скачиваем (http://arduino.cc/en/Main/Software) и запускаем среду разработки
    3) в самом проге куча примеров для всяких датчиков/моторчиков и готовых библиотек

    ОтветитьУдалить