Проект Мегапират на самик!

LeonVS

Народ, хееелп 😃
Кто пришел сюда с коптеров тот думаю уже в теме и знает что к чему, я же пока вообще хз что куда и как… Можно ли где почитать как заливать прошивку, как изменять код в программе можно ли это сделать через АРС220 чтоб каждый раз не залезать в самуль втыкая УСБ?

alex-ber

Леонид.
Не надо паники!!!
все не так уж сложно.
на счет АРС 220 - нет! Он предназначен (если запустится без проблем) для передачи телеметрийных данных на землю или для установки (через Планер) точек полета, ПИДов и другой мелкой настройки (не в режиме CLI).
Для более точной настройки и замены (исправления, доработки ) прошивки требуется подключение через ЮСБ!
Прошивку особо править и нет необходимости - только если реверсы выставить и микс включить (в случае с ЛК).
Все это делается через прогу - Ардуино 0022.
Для этого - устанавливаешь на комп Ардуину, запускаешь ее, закрываешь, входишь в папку куда поставил и стираешь папку Libraries. Далее распаковываешь архив Олега в любую папку и копируешь оттуда в Ардуину одноименную папку (Libraries), папку Мега пират Планер В1 не периименовывая копируешь (в идеале) в директорию: С\Документы/Ардуино, но можно оставить и там где есть… Запускаешь Ардуину и через команду Файл, открыть - открываешь любой файл с расширением pde. Потом переходишь по вкладкам в вкладку АРМ_Config.h и меняешь там реверсы (строки
#define AILERON_REVERSED // reverse ailerons // both elevons in the elevon mode - реверсэлеронов (без косых палок включен с косыми выключен)
#define ELEVATOR_REVERSED // reverse elevator // left elevon in the elevon mode - реверс РВ
//#define RUDDER_REVERSED // reverse rudder // right elevon in the elevon mode- реверс РН
//#define ELEVON_MIXER // AIL - left elevon, ELE - right elevon - вкл, выкл микса

все!

LeonVS

Спасиб за разжевывание, но походу надо подробней, для особо одаренных 😃
Както походу совсем не все 😦
Все что написано проделал, нашел строки активации АРС
//#define SERIAL3_BAUD 57600
//#define GCS_PORT 3
Удалил “//” а что дальше? Как залить исправленный этот файл???
В аурдине выставил данные ком порта, мониторинг ком порта пашет. Жму проверку кода, высыпается куча ошибок…

MegaPiratePlane:84: error: ‘UBRR1H’ was not declared in this scope
MegaPiratePlane:84: error: ‘UBRR1L’ was not declared in this scope
MegaPiratePlane:84: error: ‘UCSR1A’ was not declared in this scope
MegaPiratePlane:84: error: ‘UCSR1B’ was not declared in this scope
MegaPiratePlane:84: error: ‘U2X1’ was not declared in this scope
MegaPiratePlane:84: error: ‘RXEN1’ was not declared in this scope
MegaPiratePlane:84: error: ‘TXEN1’ was not declared in this scope
MegaPiratePlane:84: error: ‘RXCIE1’ was not declared in this scope
MegaPiratePlane:84: error: ‘UDRIE1’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void USART1_RX_vect()’:
MegaPiratePlane:84: error: ‘UDR1’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void USART1_UDRE_vect()’:
MegaPiratePlane:84: error: ‘UDR1’ was not declared in this scope
MegaPiratePlane:84: error: ‘UCSR1B’ was not declared in this scope
MegaPiratePlane:84: error: ‘UDRIE1’ was not declared in this scope
MegaPiratePlane.cpp: At global scope:
MegaPiratePlane:85: error: ‘UBRR2H’ was not declared in this scope
MegaPiratePlane:85: error: ‘UBRR2L’ was not declared in this scope
MegaPiratePlane:85: error: ‘UCSR2A’ was not declared in this scope
MegaPiratePlane:85: error: ‘UCSR2B’ was not declared in this scope
MegaPiratePlane:85: error: ‘U2X2’ was not declared in this scope
MegaPiratePlane:85: error: ‘RXEN2’ was not declared in this scope
MegaPiratePlane:85: error: ‘TXEN2’ was not declared in this scope
MegaPiratePlane:85: error: ‘RXCIE2’ was not declared in this scope
MegaPiratePlane:85: error: ‘UDRIE2’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void USART2_RX_vect()’:
MegaPiratePlane:85: error: ‘UDR2’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void USART2_UDRE_vect()’:
MegaPiratePlane:85: error: ‘UDR2’ was not declared in this scope
MegaPiratePlane:85: error: ‘UCSR2B’ was not declared in this scope
MegaPiratePlane:85: error: ‘UDRIE2’ was not declared in this scope
MegaPiratePlane.cpp: At global scope:
MegaPiratePlane:86: error: ‘UBRR3H’ was not declared in this scope
MegaPiratePlane:86: error: ‘UBRR3L’ was not declared in this scope
MegaPiratePlane:86: error: ‘UCSR3A’ was not declared in this scope
MegaPiratePlane:86: error: ‘UCSR3B’ was not declared in this scope
MegaPiratePlane:86: error: ‘U2X3’ was not declared in this scope
MegaPiratePlane:86: error: ‘RXEN3’ was not declared in this scope
MegaPiratePlane:86: error: ‘TXEN3’ was not declared in this scope
MegaPiratePlane:86: error: ‘RXCIE3’ was not declared in this scope
MegaPiratePlane:86: error: ‘UDRIE3’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void USART3_RX_vect()’:
MegaPiratePlane:86: error: ‘UDR3’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void USART3_UDRE_vect()’:
MegaPiratePlane:86: error: ‘UDR3’ was not declared in this scope
MegaPiratePlane:86: error: ‘UCSR3B’ was not declared in this scope
MegaPiratePlane:86: error: ‘UDRIE3’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘int readOutputCh(unsigned char)’:
GCS_Mavlink:2: error: ‘OCR5B’ was not declared in this scope
GCS_Mavlink:3: error: ‘OCR5C’ was not declared in this scope
GCS_Mavlink:5: error: ‘OCR1C’ was not declared in this scope
GCS_Mavlink:6: error: ‘OCR4C’ was not declared in this scope
GCS_Mavlink:7: error: ‘OCR4B’ was not declared in this scope
GCS_Mavlink:8: error: ‘OCR3C’ was not declared in this scope
GCS_Mavlink:9: error: ‘OCR3B’ was not declared in this scope
GCS_Mavlink:10: error: ‘OCR5A’ was not declared in this scope
GCS_Mavlink:12: error: ‘OCR3A’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void relay_on()’:
navigation:4: error: ‘PORTL’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void relay_off()’:
navigation:9: error: ‘PORTL’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void relay_toggle()’:
navigation:14: error: ‘PORTL’ was not declared in this scope
MegaPiratePlane.cpp: In function ‘void init_ardupilot()’:
system:216: error: ‘DDRF’ was not declared in this scope
system:217: error: ‘PORTF’ was not declared in this scope
system:219: error: ‘DDRL’ was not declared in this scope
system:227: error: ‘PINF’ was not declared in this scope

Чего делаю не так??? У Олега в квадриках нашел:

  • закачать прогу MegaPirateB8
  • заземлить ногу А5
  • в конфигураторе включить режим SETUP, и нажать на САМУЮ БОЛЬШУЮ КНОПКУ

Что есть конфигуратор с большой кнопкой 😃?

LeonVS

Супер, вот этого мне и не хватало, пошел курить мануал 😃

LeonVS

Где у вортекса преславутая перемычка А5 для заливки прошивки? Это SW?

Syberian

SW
и не для заливки, а для включения CLI

LeonVS

Заливаем все “arduino-0022”, а для чего нужен “APM Mission Planner”? Там то же заливка прошивки и тд тп?
Чтоб поменять пару строчек в коре, компилится и заливается полностью новая прошивка? Отдельно кусок кода не залить как я понимаю? Прежде чем заливать надо старую прошивку очистить?
Эх мне бы ликбез допустим как заменить две строчки в коде, последовательность действий…?

LeonVS

Тьфу блин, понял свою ошибку, в аурдине не был выбран чип… После выбора чипа все скомпилилось!!! 😃 Вечером буду тестить 😃 Сорри за глупые вопросы 😃

LeonVS

Ндя, заспамил всю ветку 😃
Олег, сколько у тебя льется прошивка в вортекс? По идее загнать 250кб на скорости 115 должно за секунды…
При нажатии на Upload I/O Board кнопка остается нажатой, внизу появляется надпись Uploading to I/O Board… И все, видно что данные какие то льются в нижнем левом углу меняются цифры хаотично 11, 13, 22, 9… скорость может какую кажет… И все, висит уже в таком состоянии минут 5… Ждать до победного?
Походу не чего не обновилось… пробовал выключить АРС220, поставил в коде “\\”, скомпилил, “залил”, но не чего не изменилось… АРС работает… Походу пропускаю что то важное…
Как узнать какая прошивка залита в чип?

ViktorDoma

Спокуха - ща все объясню по шагам

Какая плата ? Вортекс или чё другое ?

Предположу, что Ворекс.

Я описывал в ветке про коптер, процитирую здесь:
Black Vortex
По Black Vortex по порядку:

  1. Производитель платы русскоговорящий, соответственно можно с ним общаться на русском языке. Зовут Александр (CSG_EU на rcgroups.com).
  2. Тщательно проштудировать первый пост из www.rcgroups.com/forums/showthread.php?t=1455433
  3. При заказе платы с GPS, указывать тип разъема SMA (возможны 4-ре варианта) - какие конкретно - уточняйте у производителя.
  4. Если использовать для самолета, то необходимо соединить средние контакты М1-М8. Спасибо Александру (alex-ber) за подсказку.
  5. Перемычка SW используется для режима CLI (Command Line Interfase), для прошивки, полетов и ArdupilotMegaPlanner - снять.
    5. Для заливки прошивки скачать Аrduino 022 arduino.cc/en/Guide/HomePage.
    5.1 Скачать файл boards.txt (9.8 KB, 116 views) с www.rcgroups.com/forums/showa...2&d=1309025704
    и заменить его в соответствующей папке Arduino 022.

    5.2 В Arduino 022 зайти в меню - Tools-Board и выбрать Black Vortex (ATmega 2560)
    5.3 Tools - Serial Port - Выбрать ваш, который подцепился к Вортексу. [/B]
    5.4 Открыть проект, нажать кнопку Verify - после сообщения Done compiling Нажать UPLOAD - ждать пока не скажет DONE UPLOADING

Что накопал сам:

На плате перепутаны подписи BAT+ BAT- L+ L-? соответственно питание подавать на L+ (плюс) L- (земля).
Вольтаж 6-18 вольт должна держать (согласно спецификации кренки), НО - кренка на 5в сильно греется при питании больше 10 вольт.
Производитель рекомендует питание от 2S липы. (у меня на тестах так и работает от 2S)

Олег, сделайте раздел для Вортекса в rcwiki.ru/index.php/MegaPirates - будем туда складывать инструкцию.

Леонид, выделил жирным момнт из за которого не мог прошить Вортекса. Спецфайл прикладываю сюда.

Распаковать, заменить в папке Arduino-22/Hardware/

Выбрать про программе Tools-Board и выбрать Black Vortex (ATmega 2560)

Да, чуть не забыл - обязательно удалить папку Arduino-22/libraries? а вместо нее - скопировать одноименную папку из Папки Мегапирата.

Прошивать через USB, перемычку с SW удалить.

Если ничего не получится - напишите по шагам все Ваши действия при настройке и заливке, лучше со скришотами.

boards.rar

Syberian
ViktorDoma:

сделайте раздел для Вортекса

если б я умел еще с этим “вики” обращаться! Сайт-то не мой

LeonVS

Эх… вот так бы сразу, в моих действиях не хватало пункта 5.1 😃
СПАСИБ!!!

ViktorDoma
Syberian:

если б я умел еще с этим “вики” обращаться! Сайт-то не мой

Упс : O, я то было подумал …, ну собственно не это главное.
Я там поднакропал чутка по Вортекс.
Будет время, допишу куда ни будь все шо сам допер и то шо нашел.

А уж если получится криво, вы ж меня сильно не пинайте.

LeonVS

Плохо конечно когда ФАКи пишут пользователи которые сами что то доперли 😃 А не создатель изделия 😃 Выходит как на китайских девайсах, они что то там напрограмят, а мы потом разгадываем и делимся что к чему и почему 😃)) Ну да видимо Олегу не до этого в данный момент 😃
Олег, можно тебя все же чутка помучать, в воскресенье если все срастется летные испытания, хочется понимать чего ожидать 😃
Можешь расписать алгоритмы работы всех режимов какие задействованы в Б1, ну или хотя бы основных? А так же описать как их настроить чтоб включать с пульта?
И еще момент… чую в крылышко вортекс строго в горизонте вставить не выйдет… если сделать по алгоритму, вставляем как вставится, самуль в горизонт, проходим инициализацию… Будет ли все адекватно жить?

ViktorDoma

ЗначиЦо ТАК, Замутил вот такую ВИКУ - МегаПират на Black_Vortex

Собственно тока начал.

Олег, что скажите ?

Постараюсь весь имеющийся материал сегодня ночером туда натолкать.
Быстро не обещаю ибо работа 😦

alex-ber

И еще момент… чую в крылышко вортекс строго в горизонте вставить не выйдет… если сделать по алгоритму, вставляем как вставится, самуль в горизонт, проходим инициализацию… Будет ли все адекватно жить?[/QUOTE]

да все будет адекватно. Если только плату не на ребро поставите…
у меня плата стоит градусов 5 по крену и 3-4 тангаж - после инициализации все ровненько …
Вечером постараюсь скинуть настройку (инфу) режимов - пока в поле (по работе) и интернет тормозит по страшному…
Удачи!

LeonVS

Хотелось бы знать заложенные в режимы алгоритмы, что при каких условиях начинает отрабатывать и тд тп…

LeonVS

Вылез непонятный глюк при настройке режимов… в терминале все програмится при переключении 5 канала 3 позиционником в терминале все отрабатывает нормально, запрограмил на тумблер нужные режимы, жму ентер, параметры сохраняются, запускаю планер, там режимы при переключении совсем не те что я запрограмил… Думал не сохранилось, захожу опять в терминал, там все нормально… В чем прикол? Для теста загрузил B8 для квадрика, там все тип топ… Походу глюк прошивки Б1…
К стати возврат домой это RTL?

Syberian
LeonVS:

что при каких условиях начинает отрабатывать

как тумблер включил, то и будет…
RTL - возврат домой
Auto - пролет по точкам
WIRE - удержание заданного с пульта курса с управлением
loiter - кружит на месте
circle - кружит на месте без GPS (аварийный режим)
stabilise - стабилизация по крену и тангажу
manual - прямое управление

LeonVS:

запускаю планер, там режимы при переключении совсем не те что я запрограмил

В планере надо установить тип ArdupPilot

===
В субботу “наш” праздник, попробую поснимать на авиашоу в Фадино. Не знаю, успею ли доделать новую навигацию… В любом случае, после облаков Пирату я доверяю.