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

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вт), или лучше не стоит?

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

Mark_Kharkov
nikr:

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

Понятно, значит без паяльной станции и фена никак…
Вот думаю… Раз уж увлекся таким хобби - чи прикупить себе паяльную станцию с зарплаты? Хотя не так часто надо с другой стороны… И даже если покупать то фиг его знает какую…

nikr
Mark_Kharkov:

И даже если покупать то фиг его знает какую…

В принципе, без особой разницы. У меня китайская Lukey-702.

vatanuki
Mark_Kharkov:

Понятно, значит без паяльной станции и фена никак…
Вот думаю… Раз уж увлекся таким хобби - чи прикупить себе паяльную станцию с зарплаты? Хотя не так часто надо с другой стороны… И даже если покупать то фиг его знает какую…

такаяже ситуация, прикупил Lukey-702, к паяльнику еще там пару насадочек удобных и для смд деталек жало, + еще удобно задувать ею термоусадки:) места вроде не много занимает, зато теперь старые куяльники уже не трогаю:) брал на советский, вниз вдоль стройки спускаться в сторону шевченко
там в одонм помещении gsmserver.com.ua и masteram.com.ua

PS: сори за небольшой оффтоп

Vadimus_ca

Наконец-то заставил свой коптер взлететь. Теперь есть новая проблема - если он в воздухе, хотя бы в 10 см от земли - висит стабильно. А вот собственно взлет требует большой компенсации, иначе норовит перевернуться.

Sulzer

Подскажите, кому-нибудь удалось поженить Crius AIO V2 + MegapirateNG + Bluetooth + Mission Planner . Два дня безуспешно пытаюсь это сделать. Пробовал и на Serial 0 и на Serial 3 , все баудрейты перепробовал, не помогает. “Fail Connect” Компьютер блутусину видит четко. Заливаю обратно Мультивий - все работает. Если удалось кому , поделитесь какой порт, скорость, версия MegapirateNG ?

commy_s
Sulzer:

Подскажите, кому-нибудь удалось поженить Crius AIO V2 + MegapirateNG + Bluetooth + Mission Planner . Два дня безуспешно пытаюсь это сделать. Пробовал и на Serial 0 и на Serial 3 , все баудрейты перепробовал, не помогает. “Fail Connect” Компьютер блутусину видит четко. Заливаю обратно Мультивий - все работает. Если удалось кому , поделитесь какой порт, скорость, версия MegapirateNG ?

Повесил на FTDI, завелось с пол пинка, скорость 115

Sulzer
commy_s:

Повесил на FTDI, завелось с пол пинка, скорость 115

Какой Мегапират? Версия Mission Planner?

По этой схеме как раз и делал. Не хочет работать. Не знаю , что еще попробовать. Может COM порт поменять , у меня COM15 ? Еще заметил, когда жму “Connect” в Mission Planner то долго думает около минуты, потом пытается что-то получить-передать по мавлинку, потом “Fail Connect” @ляха муха!

Посоветовали повесить на Serial 3 - не помогло.

Mark_Kharkov
Sulzer:

Какой Мегапират? Версия Mission Planner?

По этой схеме как раз и делал. Не хочет работать. Не знаю , что еще попробовать. Может COM порт поменять , у меня COM15 ? Еще заметил, когда жму “Connect” в Mission Planner то долго думает около минуты, потом пытается что-то получить-передать по мавлинку, потом “Fail Connect” @ляха муха!

Посоветовали повесить на Serial 3 - не помогло.

У меня блютуз работал только на 9600 стабильно. Забил и жду 3dr radio.
Если есть у вас переходник FTDI, то сделайте вот что:

  1. ком-порт блютуза подключите к FTDI (крест-накрест, т.е. RX->TX, TX->RX).
  2. воткните это в комп.
  3. подключитесь с этого же компа (так проще) по блютуз к этому же блютузу. Получится, что у вас 2ва ком-порта в системе подключены друг к другу. Что посылаете на один - должно прийти на другой.
  4. скачайте программу PuTTY, откройте 2ва экземпляра этой программы, в ней в подключении выбираете “Serial” и вводите имя ком-порта. Подключаетесь. Так же и во 2м окне для 2го ком порта.
  5. Расположите удобно на экране, что бы видеть оба окна PuTTY, что печатаете в одном окне - должно появляться в другом. Если не появляется - то что-то с подключением или модулями, или софтом или еще чем. Если вместо символов (для верности, что бы избежать проблем с кодировками - использовать английский!) приходит какой-то мусор, то значит скорость на которой вы пытаетесь работать по bluetooth слишком большая. Занижайте скорость.

Таким образом можно проверить свой модуль блютуза, настройки софта и скорость которую он держит. А потом уже просто выставить это в прошивке Мегапирата и все ок.
P.S. Обратите внимание - в самой программе PuTTY при подключении тоже выставляется скорость подключения!
P.P.S. При тесте если скорость слишком превышает рабочую - то из 10-20 символов посланных потоком на один порт на 2м может появиться только 1н символ, при чем “левый”. Это нормально (не с софтом или еще чем проблема), просто скорость надо понизить.

commy_s
Sulzer:

Какой Мегапират? Версия Mission Planner?

По этой схеме как раз и делал. Не хочет работать. Не знаю , что еще попробовать. Может COM порт поменять , у меня COM15 ? Еще заметил, когда жму “Connect” в Mission Planner то долго думает около минуты, потом пытается что-то получить-передать по мавлинку, потом “Fail Connect” @ляха муха!

Посоветовали повесить на Serial 3 - не помогло.

Сейчас на работе, посмотреть не могу. Пират вроде R300, планнер последний. Важно, что бы сам блутуз был настроен на 115200 Baud Rates.

Sulzer

Спасибо Сергей! Переходник есть, PuTTY скачал. Проделал все как вы написали. Все , что печатаю в одном окне - мгновенно появляется в другом и наоборот. Без ошибок, скорость 115200. Значит не в блутусе дело, он работает нормально. Что в общем не удивительно т.к. с Мультивием пара работала безупречно. Что теперь делать, ума не приложу? Может дефайн какой-то нужно сделать, кроме скорости в Мегапирате?

У меня Mission Planner как то туго, тупо работает. Даже со шнурком жмешь Коннект и ждешь минуту. Изменить COM порт жмешь, еще ждешь минуту. Тормоза какие то. Это нормально? У вас так же?

SovGVD

Если питание идет не от аккума, то на FTDI порту не будет питания для БТ, в остальном должно работать нормально, попробуйте rx/tx местами поменять. У меня работает без проблем.

DVE
Mark_Kharkov:

У меня блютуз работал только на 9600 стабильно. Забил и жду 3dr radio.

Очень странно. У меня несколько разных модулей JY-MCU (типа таких) работали со всеми контроллерами, от Multiwii до Ардупирата, Ардукоптера, Autoquad и YS-X4, ни разу с коннектом проблем не было.
Может с десктопной частью в Bluetooth что-то?

100xanoff

У меня также этот BT-модуль работает без проблем на любой скорости и 57k и 115k

Sulzer
SovGVD:

Если питание идет не от аккума, то на FTDI порту не будет питания для БТ

Питание есть.

SovGVD:

попробуйте rx/tx местами поменять

Пробовал. Не помогло.