Проект Мегапират на самик!
Алексей, развертка такая, как я писал. пропусков и дрожания нет
Ну и славно. Только коэффициент искажения по горизонтали введи, когда вершины поворачиваешь, будет совсем все хорошо. А то уж больно в глаза бросается это дело.
Сколько у тебя сейчас постоянных источников прерываний в системе?
Ты еще тенями не занимался, а то по видео сложно сказать есть они или нет пока?
27 источников и 2 потока DMA 😉 Проверял на 25 потоках (без GPS USART) - пашет ОК. Хотя, возможно, редкие продриси появляются, а я в очках не замечаю?
Теней нет, я его только запустил блин! Второй буфер засобачить проблемы не вижу. Хотя, наверно, сделаю тот же буфер с задержкой. Придется добавить инвертор на ключе.
С другой стороны, реализация на E-OSDшном драйвере добавляет аддитивный уровень белого, т.е. на черном фоне он темнее, на белом - светлее. Возможно, тени нафиг не нужны даже будут. Полетаю днем, погляжу.
27 источников
Откуда ты их столько нашел? У меня столько нет.
Внимательно протестируй как USART на больших скоростях будет себя вести в условиях прерываний по ССИ, если конечно ты не используешь DMA для снятия данных от туда. Если не ДМА, то могут быть пропуски.
Хотя, наверно, сделаю тот же буфер с задержкой
Меня в таком подходе напрягают горизонтальные линии. Сдвиг должен быть право и вниз, а не просто вправо. Иначе будет фигово. И еще придется глушить тень если с белым пикселом одновременно встречается. Сделай лучше еще один буфер, так будет более гибко. У тебя там памяти вагон и маленькая тележка, чего ее экономить?
Откуда ты их столько нашел?
щя пощетаем:
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 бод?
===
Сегодня полетал снаружи. Горизонт ведет себя прекрасно. Однако, видео подоср… Сплошные пшики, вибрации, смотреть невозможно, поэтому выкладывать не буду. Тут и земляная петля, и интерференции… Нафига я поставил 1Вт lawmate на металлический пепелац? 😦
Шрифты еще поменял… Сделал переменной ширины.
Также проверил авиагоризонт в “темпе вальса” - т.е. кружился с пепелацем на вытянутых руках. Почти не уводит.
Олег, пока мы тут все томимся в ожидании, подскажи какая переменная используется для отображения тока в Е-ОСД? Чиркни строчку кода которая отправит туда данные по току? Или Е-ОСД с твоей прошивкой данные по току как и по напруге вообще не берет с вортекса?
сам меряет
Хреного, как бы крутнуть чтоб он эту переменную с вортекса засылал 😃? И можно ли еще одну переменную засунуть? Емкость бы то же на экране не помешала… Подскажешь?
Хватит в Е-ОСД памяти чтоб еще 2 переменные принять?
Тест возврата на базу, симулятор 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 (ТОК); в ардуине
сам еосд править не надо.
ест возврата на базу, симулятор FlightGear
Интересное ответвление в фпв. Движемся в виртуал.
Недавно в ютубе искал коечто про оптический прицел. Целая куча ссылок на
скрины каллофдюти стрельба из снайперской винтовки по террористам.
просто повисеть.
а железяка то какая, все тот же discovery?
да, все тот же…
Нда, стабильный аппаратик вышел, никаких даже заметных расколбасов. Попробуй в следующий раз заснять резкий сброс высоты, ну и просто на висении резко ручку в сторону и опять в центр, интересно как быстро система придет в равновесие.
я же говорил, аж скучно. Особенно изумился, когда попробовал с камерой полетать. Вибрации такие, что камера синхру сбойную выдает и мыло сплошное. Просто однажды задел пол винтом во время экспериментов, правый проп стал обгрызенный на концах несимметрично, по 5-6мм отлетело. Ну, а раз летает, думаю, чего заморачиваться 😃 Может, на досуге поменяю как-нибудь.
Ручку вбок делал. Начинает лететь в сторону. Отпускаешь - встает в горизонталь. Удивляет? 😃 Дрейф никуда не делся, т.к. удержания еще нет.
Переделал алгоритм управления. В классике так: стик напрямую подается на регулятор, а от него вычитается гира, стабилизатор и автопилот. У меня сейчас стиком тупо задается в градусах угол к горизонтали, как в самоле, так и в коптере. Самой ориентацией управляет только алгоритм. Сколько поставишь расход, столько и будет. На RCrate=1 будет ±90 град. и т.п. Триммером теперь не пользуюсь - выставил в 0, хотя раньше на полшкалы приходилось щелкать и поправлять каждый раз, как батарейку заменишь.
Олег, когда ждать железку? А то прошивку поюзать только ты и можешь 😉
Скажите, а есть в данный момент какая-нибудь прошивка, чтобы залить в ардуину мега 2560 для квадрика Х под allinone? МегапиратХ скачал, но не понял как заливать.
в папке поршивки есть бат-файл, поменяй в нем блокнотом 57600 на 115200 и измени номер ком порта на свой, затем запусти его. все, можно коннектиться наземкой.
в настройках выбери quad x, нажми write, выбери rc rate, servo rate по 10, отключи регули и проверь по ползункам правильность каналов выхода ( естественно, нужно заармить сперва)
Что-то не едут мои лыжи. Прошивку качал по ссылке из баглиста. Дудка в моим Doper не работает, залил megapirate.hex в мегу через AVR Studio. Прицепил шилд мегапиратовский с датчиками, GPS и APC220. Запустил станцию, выбрал компорт (пробовал АПСный и USB ) - никаких движений.
в настройках выбери quad x, нажми write, выбери rc rate, servo rate по 10,
Настроек тоже не нашел.
а лампочка хоть одна горит?
Только лампа питания. Может из-за барометра MS5611?