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

Syberian
AlexSneg:

Откуда ты их столько нашел?

щя пощетаем:
2х4 входы приемника
3х4 сервовыходы
2 USART1
2 USART2
2 TIM9 (видео)
1 TIM5 (ultra hi-res timer)

Звуковой ДМА в поллинге основного цикла, видео DMA из TIM9.

USART запускал на 50 PPS, в ответ сыпал 20, больше просто нечем заполнить. Скорость 57600. Информационная 7200 😃
Все параметры по 10Гц, в т.ч. координаты. Не пойму, куда MAVlink умудряется прос…ть 115200 бод?

Syberian

===
Сегодня полетал снаружи. Горизонт ведет себя прекрасно. Однако, видео подоср… Сплошные пшики, вибрации, смотреть невозможно, поэтому выкладывать не буду. Тут и земляная петля, и интерференции… Нафига я поставил 1Вт lawmate на металлический пепелац? 😦

Шрифты еще поменял… Сделал переменной ширины.

Также проверил авиагоризонт в “темпе вальса” - т.е. кружился с пепелацем на вытянутых руках. Почти не уводит.

LeonVS

Олег, пока мы тут все томимся в ожидании, подскажи какая переменная используется для отображения тока в Е-ОСД? Чиркни строчку кода которая отправит туда данные по току? Или Е-ОСД с твоей прошивкой данные по току как и по напруге вообще не берет с вортекса?

LeonVS

Хреного, как бы крутнуть чтоб он эту переменную с вортекса засылал 😃? И можно ли еще одну переменную засунуть? Емкость бы то же на экране не помешала… Подскажешь?

Хватит в Е-ОСД памяти чтоб еще 2 переменные принять?

Syberian

Тест возврата на базу, симулятор FlightGear. Совмещение ОСД и картинки симулятора сделано в видеоредакторе. Камера залеплена скотчем 😃

Леонид, в исходниках МПО есть формат протокола.
/*buffer format:
0-sync word changed (0xcb, 0x34)
1 packet type (0 - ahi,bat,cur,mah, 1 - nav, 2 - maintenance
2 0 1 2
3 roll gpslat1 gpsSPD
4 pitch gpslat2 gpsALTH
5 homeset gpslat3 gpaALTL
6 homeL gpslat4 gpsDISH
7 control_mode gpslon1 gpsDISL
8 BATl gpslon2 status
9 Ih gpslon3 config (1 - OSD off)
10 IL (up 80.0A) gpslon4 emerg

9 и 10 байты 0-го пакета это и есть ток. х100мА

В файле _eosd.pde есть строки
sport.write(osd_sync);
sport.write(osd_pak);
sport.write(osd_pak);
sport.write((char)dcmr);
sport.write((char)dcmp);
spp_writes(hom);
sport.write((byte)control_mode); // voltage is unused - FREEEEEE 2 bytes
sport.write(j);
sport.write(j);
sport.write(j);

выделенные заменить на spp_writes (ТОК); в ардуине
сам еосд править не надо.

Drinker
Syberian:

ест возврата на базу, симулятор FlightGear

Интересное ответвление в фпв. Движемся в виртуал.
Недавно в ютубе искал коечто про оптический прицел. Целая куча ссылок на
скрины каллофдюти стрельба из снайперской винтовки по террористам.

SGordon

а железяка то какая, все тот же discovery?

LeonVS

Нда, стабильный аппаратик вышел, никаких даже заметных расколбасов. Попробуй в следующий раз заснять резкий сброс высоты, ну и просто на висении резко ручку в сторону и опять в центр, интересно как быстро система придет в равновесие.

Syberian

я же говорил, аж скучно. Особенно изумился, когда попробовал с камерой полетать. Вибрации такие, что камера синхру сбойную выдает и мыло сплошное. Просто однажды задел пол винтом во время экспериментов, правый проп стал обгрызенный на концах несимметрично, по 5-6мм отлетело. Ну, а раз летает, думаю, чего заморачиваться 😃 Может, на досуге поменяю как-нибудь.

Ручку вбок делал. Начинает лететь в сторону. Отпускаешь - встает в горизонталь. Удивляет? 😃 Дрейф никуда не делся, т.к. удержания еще нет.
Переделал алгоритм управления. В классике так: стик напрямую подается на регулятор, а от него вычитается гира, стабилизатор и автопилот. У меня сейчас стиком тупо задается в градусах угол к горизонтали, как в самоле, так и в коптере. Самой ориентацией управляет только алгоритм. Сколько поставишь расход, столько и будет. На RCrate=1 будет ±90 град. и т.п. Триммером теперь не пользуюсь - выставил в 0, хотя раньше на полшкалы приходилось щелкать и поправлять каждый раз, как батарейку заменишь.

LeonVS

Олег, когда ждать железку? А то прошивку поюзать только ты и можешь 😉

Ustas69

Скажите, а есть в данный момент какая-нибудь прошивка, чтобы залить в ардуину мега 2560 для квадрика Х под allinone? МегапиратХ скачал, но не понял как заливать.

Syberian

в папке поршивки есть бат-файл, поменяй в нем блокнотом 57600 на 115200 и измени номер ком порта на свой, затем запусти его. все, можно коннектиться наземкой.

в настройках выбери quad x, нажми write, выбери rc rate, servo rate по 10, отключи регули и проверь по ползункам правильность каналов выхода ( естественно, нужно заармить сперва)

Ustas69

Что-то не едут мои лыжи. Прошивку качал по ссылке из баглиста. Дудка в моим Doper не работает, залил megapirate.hex в мегу через AVR Studio. Прицепил шилд мегапиратовский с датчиками, GPS и APC220. Запустил станцию, выбрал компорт (пробовал АПСный и USB ) - никаких движений.

Syberian:

в настройках выбери quad x, нажми write, выбери rc rate, servo rate по 10,

Настроек тоже не нашел.

Ustas69

Только лампа питания. Может из-за барометра MS5611?

Ustas69

Попробовал еще. После нажатия кнопки Connect мигает светодиод RX с частотой примерно 1Гц. И усё.

Syberian
Ustas69:

Может из-за барометра MS5611?

аааа, вот оно что! это косяк.

Syberian

Сейчас посмотрел. Кода барометра в версии AVR нет вообще, поэтому MS ни при чем.
Когда подаешь питание, ардуина должна проморгаться лампочкой D13 - это даже не код пирата, а бутлоадер моргает. Если не промаргивает - значит, что-то не так.
Зря ты заюзал ISP - прибил бутлоадер, обновляться будет проблематично.
Для начала восстанови его: подключи ISP программатор, открой arduino IDE, выбери tools-board- ardu mega 2560, затем tools - burn bootloader - %твой_программатор%
Затем проверь плату на “проморгаться” вначале. Важно, чтобы можно было прошить плату через БАТ-файл.
Далее уже будем посмотреть.

А какой гироскоп стоит? случайно не L3G4200?