ArduCopter Mega: порт на обычную Arduino (тестим)
да, малоли пригодится =)
У тебя же тросиков нету на коптере?)
У меня платка контроля AttoPilot со спаркфана, стандартное включение из их даташита. В скотче поменял 2 строчки в sensors.cpp
static void read_battery(void)
{
battery_voltage1 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN1)) * .1 + battery_voltage1 * .9;
battery_voltage2 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN2)) * .1 + battery_voltage2 * .9;
battery_voltage3 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN3)) * .1 + battery_voltage3 * .9;
battery_voltage4 = BATTERY_VOLTAGE(analogRead(BATTERY_PIN4)) * .1 + battery_voltage4 * .9;
if(g.battery_monitoring == 1)
battery_voltage = battery_voltage3; // set total battery voltage, for telemetry stream
if(g.battery_monitoring == 2)
battery_voltage = battery_voltage4;
if(g.battery_monitoring == 3 || g.battery_monitoring == 4)
battery_voltage = analogRead(VOLTAGE_PIN_0)/12.99;
if(g.battery_monitoring == 4) {
current_amps = analogRead(CURRENT_PIN_1)/7.44; //reads power sensor current pin
current_total += current_amps * (float)delta_ms_medium_loop * 0.000278;
}
#if BATTERY_EVENT == 1
if(battery_voltage < LOW_VOLTAGE)
low_battery_event();
if(g.battery_monitoring == 4 && current_total > g.pack_capacity)
low_battery_event();
#endif
У тебя же тросиков нету на коптере?)
У меня на столе тросики. Длина регулируется. Натягиваю так, чтобы при резком крене не лупил винтами по столу. И стараюсь держать его так, чтобы тросики провисали. Стол из реек, для снижения эффекта подушки.
платка контроля AttoPilot со спаркфана
=( а как быть обычным смертным с сидуинкой? там чето хитрое или как на мультивии - делитель стоит?
В принципе ничего хитрого. Можно и без этой платы напряжение контролировать. В скетче код для контроля батареи 3 и 4 sell. 4 делителя напряжения, подключаются к балансирному разъему аккума и к пинам А0-А3. Тогда код менять не нужно, только нет контроля тока. Схема подключения есть на Ардукоптерском Вики, и там же расчет делителя для контроля разных напряжений.
Итак повоевал с АРС220 и противник сдался. Теперь измышляю план атаки на сонар. Похоже, что этот будет упорнее. Пока подключил по схеме и в сетапе выбрал sonar on, Эффек не то чтоб совсем нулевой, но показания в тесте твердо стоят на 700 чегото и не меняются. Если это в сантиметрах, то у сонара мания величия. От стола 7 сантиметров, от пола (поскольку стол из реек) метр без малого. При шевелении коптера показания не меняются. Может тоже TX RX местами поменять? Тогда это уже смешно. Подключение снова из Мегапиратского Вики.
И еще. Два варианта подключения. к ногам 47 и 48, если не путаю, и, в последнем варианте, D9 D10/ Это там, где моторы подключаются?
Схема подключения есть на Ардукоптерском Вики, и там же расчет делителя для контроля разных напряжений.
чето не найду… или не там ищу code.google.com/p/arducopter ?
чето не найду… или не там ищу code.google.com/p/arducopter ?
У меня сегодня коптер начал вести себя так:
Это на прошивке Олега. Понятия не имею в чем дело - раньше классно летал. Сейчас добавил APC и GPS, пришлось код менять и заново заливать. У кого-нибудь было что-то подобное?
ага, после смены батарейки все возможно, раз на раз не приходится, если сегодня хоть раз упадет положу толстый на пирата и уйду на мультивий, на нем никогда не падал по его воле…
пришлось код менять и заново заливать
заново сетап проходил?
Ахаха, накаркал я, первый полет, 2 минуты отлично, потом ввожу коптер в маленькую раскачку роллом, квадр входит в буйку, реакция на стики начинает пропадать, на полном газу флипует и в планету, моторы не отлючаются с аппы, отрубаю батарейку = минус один проп, вчерашний. тоесть отрубился скорее всего передний левый, Глеб. Конечно у меня есть еще пропы, поставлю сейчас Олега B8.
тоесть отрубился скорее всего передний левый
нафиг такую прошивку =) я лучше без сонара, но точно летает
мне бы вот научится менять ПИДы без APM проги, в консоле папарметры смотреть можно, но нельзя менять, будет время - хочу исправить
поставлю сейчас Олега B8.
главное сетап заново пройти, а то малоли =)
кстаии в 2.0.38 код для моторов поменяли для квадрика, там чето хитрое
/* We need to clip motor output at out_max. When cipping a motors
* output we also need to compensate for the instability by
* lowering the opposite motor by the same proportion. This
* ensures that we retain control when one or more of the motors
* is at its maximum output
*/
закоментил от греха подальше, но всеравно мотор не стартует
ДА я по два раза всегда сетап прохожу с пиратом, в терминале обязательно 😃
заново сетап проходил?
Проходил (
О Боже, залил b8… Теперь правый передний сразу стартует на бешенной скорости, хочет показать что он альфа самец и перевернуть коптер… Чую терпение заканчивается… Регули попробывать переинициализировать? А смысл, если он час назад летал нормально?
Регули попробывать переинициализировать?
если в GUI всё ровно, а регули тупят, то стоит… а так - не в этом косяк, а хз в чем
ну и напоминаю о необходимости проверить какой тип датчиков раскоментирован… малоли
upd: кто нибудь покажет как у летающих барометр упакован?
Добавил смену пидов через консольку, оказалось что в коде всё есть, просто не используется, кому интересно (B8+_r741 от Олега):
в setup.pde (первая строка и так есть, оставляю чтобы понимать куда надо вставлять)
добавляем :
static int8_t setup_show (uint8_t argc, const Menu::arg *argv);
static int8_t setup_set (uint8_t argc, const Menu::arg *argv);
{"show", setup_show},
{"set", setup_set}
и куда угодно в setup.pde
static int8_t
setup_set(uint8_t argc, const Menu::arg *argv)
{
AP_Var_menu_set(argc, argv);
AP_Var::save_all();
return(0);
}
теперь например нам надо поменять Stable Roll P:
заходим в консоле: setup
пишем: set STB_RLL_P 0.22
и вуаля =)
все возможные параметры можно посмотреть setup -> show
осталось найти где компас отрабатывается для стабильного режима полета, чтобы отрубить нафиг, но оставить для других режимов =)
upd: теоретически в system.pde в set_mode добавить
if (control_mode==STABILIZE) {
g.compass_enabled = false;
} else if (control_mode==ALT_HOLD) {
g.compass_enabled = false;
} else {
g.compass_enabled = true;
}
только надо чтобы компас был при сетапе включен, иначе фигня будет в других режимах
работает код, теперь в STABILIZE компас отключается и можно нормально летать… только надо сперва крутилкой покрутить, чтобы set_mode отработалось =)
работает код, теперь в STABILIZE компас отключается и можно нормально летать
летать нормально только в STABILIZE =) ща полетал - всё шикарно, пока не включаю удержание высоты или висение на точке
придется другую версию кода мучить, в r731 чето не то с компасом имхо =(
Отлетал сегодня очередные два пака… летает суперски! Ветер был немаленький, коптер постоянно сносило ветром, однако мне всегда удавалось его вернуть на свое место 😃 Кстати, сразу не понял, почему коптер всегда смотрел в одну сторону (ну типа на север), потом допер, что это благодаря компасу.
GPS так и не удалось прикрутить… жена благополучно свезла его на неделю 😦 Ну ниче, буду прикручивать светодиоды и сонар 😃
А номер прошивки? Не поделетесь?