ArduCopter Mega: порт на обычную Arduino (тестим)

SergDoc

Глеб, а какой бы алгоритм не был, всё равно на высоте ниже метра расколбас обеспечен как не крути… на КУКе - моём излюбленном (3-я версия само собранная) и в ограниченном пространстве железо(сам коптер) тестирую - никуда не тянет-значит с контроллером (который тестирую) воевать надо…

Vadimus_ca

На Ifly-4 взлет стабильный (в стабе), прибавляешь газу и он ровно поднимается. В ардукоптере это не так?

kren-DEL
Vadimus_ca:

Не могу взлететь - ни в акро, ни в стабе коптер не стабилен, норовит перевернуться.

у меня такое было при неверном подключении моторов

nikr
SergDoc:

какой бы алгоритм не был, всё равно на высоте ниже метра расколбас обеспечен как не крути…

Сейчас для примера сделал подлет над диваном высота полета до ног 5 -10см до пропов 13 - 18см. Достаточно стабильно. Прошивка r300.

video.yandex.ru/users/nikr8/view/1/

Vadimus_ca
kren-DEL:

у меня такое было при неверном подключении моторов

Увы, не оно.

commy_s

На какой пин подключается RSSI с приемника на AIOP II, что бы лицезреть уровень сигнала в minimosd?

jekmv

на авто хочу поставить, выбираю или AIO плату с пегапиратом или оригинальный ARDU. портировалась ли офиц прошивка на машинку? что то не нашел инфы

SovGVD
jekmv:

портировалась ли офиц прошивка на машинку?

только на коптеры, и Syberian вроде бы на самолет портанул, а потом сделал свой контроллер с OSD и фичами

commy_s
commy_s:

На какой пин подключается RSSI с приемника на AIOP II, что бы лицезреть уровень сигнала в minimosd?

Отвечаю сам себе. пин A0-A2 можно выбрать в планере в стандартных настройках

jekmv
SovGVD:

только на коптеры

получается пока не на чем автопилот на авто сделать?

Mark_Kharkov
nikr:

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

Спасибо Вам!
Попробовал как Вы и написали - плата начала подавать признаки жизни.
А конкретно:

  1. При подключении к программатору (USBasp) avrdude видит “Device Signature”, что это на самом деле Atmega2560.
  2. Попробовал загрузить загрузчик через ArduinoIDE - плата еще больше начала подавать признаков жизни - при включении питания начала моргать светодиодом “А”. Собственно на сколько я помню, то новая плата так и делала при включении.
    _____________
    А вот теперь неприятное:
  3. При попытке загрузить Мегапират из Arduino IDE (подключен кабелем по microUSB, при помощи “Файл” -> “Загрузить”) ничего не получается. При этом вылазит ошибка как и была:

Размер скетча в двоичном коде: 165 452 байт (из 258 048 байт максимум)
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer

Непонятно, что же может быть не так?
2) Пробовал загрузить прошивку способом “Файл” -> “Загрузить с помощью программатора” - после этого вообще плата “умерла”. Верней не моргал светодиод “А”, а IDE выдало ошибку (где-то после часа колбасни) что байты не равны бла-бла-бла.
3) Попробовал после этого оживить загрузчик на Атмеге снова через программатор - еще 1н час колбасни и без ошибок все ок. Снова мигает светодиод “А” при включении и т.д.

Что странно: когда IDE начинает прошивать плату, и посылает что-то на нее (диод “RX” возле FTDI еле заметно моргнул) - мигания светодиода “А” прекращаются. Он начинает либо гореть непрерывно, либо вообще не гореть. При следующей попытке IDE послать что-то на плату (такое же еле заметное одиночное моргание светодиодом “RX”) - состояние светодиода “А” инвертируется. Т.е. если был выключен - то включается и наоборот. И так много раз.
При этом “TX” возле FTDI даже не мигает (ну или может так быстро что не увидишь, хотя врядли).

Что может быть не так?
Может я что-то не так делаю? Кто сталкивался - подскажите пожалуйста, уж очень полетать хочется, а новый контроллер прийдет не скоро… 😦((

Zubr
Mark_Kharkov:

Что может быть не так?
Может я что-то не так делаю? Кто сталкивался - подскажите пожалуйста, уж очень полетать хочется, а новый контроллер прийдет не скоро… 😦((

Попробую внести свои 5коп в эту проблему, так как именно с таким сценарием и сам сейчас бьюсь.

Atmega2560 имеет 256K флеша и загрузчик (бутлоадер) начинается с адреса 0x3e000. Т.е. в самом конце. USBasp только с верии прошивки 2011-05-28 (www.fischl.de/usbasp/) стал поддерживать заливку флеша, больше чем 128K. Причем эта прошивка подходит только для USBasp на чипах ATmega8, ATmega88.
Если у вас USBasp на чипе ATmegа48 (как и у меня) - то прошивать Atmega2560 - бесполезное занятие.

Есть несколько вариантов:

  • проверьте/обновите версию прошивки на USBasp (если он у вас на чипе ATmega8/88)
  • достать более продвинутый програматор. Например AVRisp MKII. Я так и сделал.
  • есть хитрые решения с иcпользованием ArduinoUNO как програматора для 2560, типа вот таких:
    www.gammon.com.au/forum/?id=11635 - прошивка бутлоадера
    http://www.gammon.com.au/forum/?id=11638 - прошивка произвольных hex
    Мне удавалось залить загрузчик с помощью этих решений.
nikr
Mark_Kharkov:

Что может быть не так?

Как я понял атмегу вам перепаять удалось, а вот бутлоадер не записался.
Сообщение avrdude: stk500v2_ReceiveMessage(): timeout означает, что avrdude не дождался ответа от платы.
Для заливки загрузчика специальный программатор не обязателен. Если есть плата Arduino, только не Nano на ней нет выводов с конвертера FT232RL, можно воспользоваться статьей robocraft.ru/blog/arduino/552.html.

Vadimus_ca

Похоже, разобрался, почему у меня коптер не летает - регули настроены вкривь и вкось, некоторые вообще в Super Slow Start mode - это обороты минуту могут набираться. Какое уж тут управление…
Пробовал перепрограммировать через передатчик - видимо, не хватает у меня интеллекта, не понимаю я какой звук соответствует какой закорючке из инструкции. Нашел программатор на Ардуино - тоже не идет, говорят, нужно общую землю у батарейки и ноутбука обеспечить…

Наверное, придется перешивать симонком - вертолетная прошивка даже с правильными настройками коптеру не очень подходит.

nikr
Vadimus_ca:

Наверное, придется перешивать симонком

Это самое правильное решение, так как перешитые намного быстрей отрабатывают команды и как следствие повышается стабильность коптера.

Mark_Kharkov
Zubr:

Попробую внести свои 5коп в эту проблему, так как именно с таким сценарием и сам сейчас бьюсь.

Atmega2560 имеет 256K флеша и загрузчик (бутлоадер) начинается с адреса 0x3e000. Т.е. в самом конце. USBasp только с верии прошивки 2011-05-28 (www.fischl.de/usbasp/) стал поддерживать заливку флеша, больше чем 128K. Причем эта прошивка подходит только для USBasp на чипах ATmega8, ATmega88.
Если у вас USBasp на чипе ATmegа48 (как и у меня) - то прошивать Atmega2560 - бесполезное занятие.

Есть несколько вариантов:

  • проверьте/обновите версию прошивки на USBasp (если он у вас на чипе ATmega8/88)
  • достать более продвинутый програматор. Например AVRisp MKII. Я так и сделал.
  • есть хитрые решения с иcпользованием ArduinoUNO как програматора для 2560, типа вот таких:
    www.gammon.com.au/forum/?id=11635 - прошивка бутлоадера
    http://www.gammon.com.au/forum/?id=11638 - прошивка произвольных hex
    Мне удавалось залить загрузчик с помощью этих решений.

Вот это кстати очень интересно… Надо будет глянуть, на какой меге у меня USBAsp.

Zubr:

Например AVRisp MKII.

У меня есть. Вот такой: www.kosmodrom.com.ua/el.php?name=XMEGA-FP Держит и ATMega, и ATXMega.
Вот только проблема, он ну никак не хочет работать с avrdude. Со студией - не вопрос (пробовал, все видит). А вот с дудкой - никак. Уже когда-то лазил по всему инету, когда свою Turnigy 9X перепрошивал (для чего его и покупал), и usb-lib ставил, и чего только не делал… Никак. Похоже просто не совместимость.
А 100$ за оригинальный фирменный программатор как-то таки многовато… Я конечно могу себе это позволить, но все же.
Если конечно подскажете что не такое дорогое, но быстро работающее и все прошивающее (в Украине) - то буду благодарен 😃

nikr:

Как я понял атмегу вам перепаять удалось, а вот бутлоадер не записался.
Сообщение avrdude: stk500v2_ReceiveMessage(): timeout означает, что avrdude не дождался ответа от платы.
Для заливки загрузчика специальный программатор не обязателен. Если есть плата Arduino, только не Nano на ней нет выводов с конвертера FT232RL, можно воспользоваться статьей robocraft.ru/blog/arduino/552.html.

Оказалось даже не так… Бутлоадер у меня нормально прошился.
Вот вчера долго курил, думал приблизительно так:

  1. Если при “чистой” микросхеме или с неправильной прошивкой светодиод “А” вообще не мигает, значит не идет цикл, который его включает/выключает.
  2. Раз после перепрошивки бутлоадера светодиод начинает мигать, значит на микроконтроллере программа какая-то выполняется, которая его включает/выключает.
  3. Раз после подачи сигнала с Arduino светодиод начинает как-то реагировать - то тем более что-то в микроконтроллере слушает порт, и пытается реагировать. Значит с бутлоадером все ок.

После этого у меня возникло 2ве версии:
а) банальный контакт с 2й или 3й (не помню) ножки отмеги, которая TXD0, что ардуина просто не видит ответа, он не приходит, да и светодиод TX возле FT232R никак не реагирует.
б) что-то с FT232R

После этого прозвонив контакты тестером, убедился, что с контактами все ок. С лапки ATMega до порта S0/FTDI контакт есть. Значит вариант а) не правильный.
Накопал дома от MinimOSD FTDI-ку, распаял переходник с S0/FTDI на штырьки переходник.
Подключил все это к компу, врубил Arduino IDE, и о чудо!!! Оно перепрошилось!!! В Mission Planner все видится, работает!!!
Так что большое спасибо всем за советы, очень благодарен 😃)

А вот теперь думаю: толи забить на usb в криусе, все равно у меня отдельная FTDI есть, толи попробовать перепаять ту мелкую F232R на плате. Как думаете, реально обычным паяльником 30вт (есть еще 40вт и 100вт), или лучше не стоит?

P.S. А вот после прошивки из ардуины скетчем уже повторно оно не прошивается почему-то. Только сделать еще раз “загрузить бутлоадер” через программатор, а потом обычным способом - тогда все нормально проходит. Не совсем понял, почему так.

ReM
Mark_Kharkov:

P.S. А вот после прошивки из ардуины скетчем уже повторно оно не прошивается почему-то. Только сделать еще раз “загрузить бутлоадер” через программатор, а потом обычным способом - тогда все нормально проходит. Не совсем понял, почему так.

Думаю, дело в fuses… Скетч стирает бутлоадер.

Mark_Kharkov
ReM:

Думаю, дело в fuses… Скетч стирает бутлоадер.

Гммм… Ну фузы прописаны в boards.txt в ардуине. Поидее я так понимаю что они должны быть правильные, 1000 раз проверенные… Но радует то, что мега рабочая и плата (за исключением ftdi) тоже 😃
Калибранул компас, с прошивкой MegapirateNG 2.8 R3 калибровка акселя/горизонта заработало только в Mission Planner 1.3.0, калибранул аксель.
Перепрошил с поддержкой GPS (перевести ublox в режим бинарного протокола сходу не вышло, поэтому оставил 9600/NMEA), подключил свой CN-06 GPS, вышел с ноутом на улицу, проверил - 3D Fix сработал, все ок.
На летуна еще не цеплял, работу с двигателями не проверял (но там я думаю разве что непропай может какой быть, поправимо).
И все это в сумме таки радует! Еще чуть допроверяю все и тогда если все будет ОК - в воздух 😃

nikr
Mark_Kharkov:

Как думаете, реально обычным паяльником 30вт (есть еще 40вт и 100вт), или лучше не стоит?

Лучше не стоит, такую микросхему надо горячим воздухом паять.