Калибровка контроллеров скорости
Это была основная проблема - моторы крутились по разному и стабильно выключались при определенных значениях, поэтому была найдена инструкция от 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 пришлось немного поменять для первого запуска: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.
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);
}
Соответственно прошиваем, включаем контроллер, затем включаем питание для контроллеров - они странно попищат и можно вернуть код: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);
}
for(uint8_t i=0;i<NUMBER_MOTOR;i++)
pinMode(PWM_PIN[i],OUTPUT);
writeAllMotors(1000);
delay(300);
}
Попытки запуска коптера
Первые тесты проводил без пропеллеров и моторы вполне адекватно реагировали на изменение параметров:Второй тест уже с пропеллерами, соответственно возросла нагрузка на моторы и питания не хватило:
Заодно на видео можно увидеть мой интерфейс коптера в браузере =)
Интересно, чем увязывали web-интерфейс (js-ный, видимо) с ардуиной?
ОтветитьУдалитьскрипт-демон на php, запускается, конектится к ардуинке и постоянно пихает в неё значение из memcache, другий скрипт через js/ajax принимает значение от интерфейса и пихает его в memcache - реакция очень быстрая, главное в скрипте-демоне поставить задержку в бесконечном цикле (1-10 мс) - иначе проц сильно нагрузит
ОтветитьУдалитьСмотрел видео так и хочется что бы полетел))
ОтветитьУдалитьА еще мне пришел ардуино, но я после 2 часов общения так и не смог с ним подружиться)))
Не подскажете где есть ресурс на русском желательно где все подробно описывается? был бы очень благодарен, а то весь нет облазил устал уже)
а что именно не удалось?
ОтветитьУдалить1) подключаем платку к компу
2) скачиваем (http://arduino.cc/en/Main/Software) и запускаем среду разработки
3) в самом проге куча примеров для всяких датчиков/моторчиков и готовых библиотек