Проект Мегапират на самик!
Не поставил, однако, есть некоторые мысли… Скорость как в модулях, так и в GCS и самом пирате ставить 9600 или 19200.
Если вы ставите 57600, это скорость подачи данных в буфер, хотя эфирная у него 19200. Ардуина думает что типа скорости много и все ПИДы вначале вываливает, чем вызывает переполнение буфера радиомодуля.
Резюме: поставить скорость порта ниже.
я так сильно не опускался, ставил 38, становилось еще хуже (количество удачных коннектов еще сократилось… ) Чую если поставить 9600 будет совсем бяда, хотя попробовать лишним не будет 😃 Сегодня после работы поиграюсь 😃
Олег, как заполучить полные строки NMEA вида
$ GPGGA и $ GPRMC
В формате строки (string) ?
Итак - формат передачи данных для Remzibi OSD:
Навигация:
2 3 4 5 6 7 8 9 10 11
“$A,lat,lng,numSV,[dist],alt,speed,course,[azimuth],gpsDate,gpsTime,” CR LF
[dist] и [azimuth] можно оставить пустыми, но лучше передавать.
Lat и Lon формат число с плавающей точкой вида “-121.123456”
Виртуальный горизонт:
2 3
“$I,roll,pitch,” CR LF
Значения указывать целыми числами в градусах (-180,180)
Активация Ремзи и установка точки старта
"$SH"CRLF
без этой команды не запустится горизонт и навигация
Предлагаю выкатывать эту команду первой только после определения не менее 5ти спутников.
Очистка виртуально экрана от всех надписей
"$CLS"CRLF - this message will clean screen of OSD
(пока не понял нафига, но скорее всего для удаления мусора)
Выключатель ОСД (из видео потока отключается ОСД данные, для наслаждения видов походу 😃 )
“$L0” CRLF - режим OFF OSD
“$L1” CRLF - режим ON OSD
Для передачи ЛЮБЫХ текстов и знаков в любое место экрана (вот походу что бы чистить эти надписи и сделана команда очистки экрана ОСД)
"$MXXYYLLEEabc"CRLF
XX - 16ти ричное значение - координата по оси Х (на экране)
YY - 16-ти ричное значение - координата по оси Y (на экране)
LL - иконка до сообщения (из таблицы шрифтов Ремзи)
EE - иконка после сообщения (из таблицы шрифтов Ремзи)
abc - собственно текст, цыфры и прочее
Вроде все - если возникнет сомнение - я в симуляторе уточню чёкаво.
Олег, если Вы сообщите мне необходимые переменные, доступные из OSD.pde, я попытаюсь сам накропать, что бы не отвлекать от более важной работы.
int dcm.roll_sensor - крен, умноженный на 100 (1 градус - значение 100) (-18000…+18000)
int dcm.pitch_sensor - тангаж, умноженный на 100 (1 градус - значение 100)(-18000…+18000)
int dcm.yaw_sensor - курс, умноженный на 100 (1 градус - значение 100)(0…+36000)
int target_bearing - курс на след. путевую точку (или домой, зависит от режима полета (auto - след точка, все остальные - домой) - аналогично просто курсу
wp_distance - расстояние до след. точки / дома
g_gps->ground_speed - скорость по земле
g_gps->ground_course - курс по GPS
current_loc.alt - текущая высота (абсолютная) по GPS
current_loc.lat - текущая широта
current_loc.lon - текущая долгота
(current_loc.alt - home.alt) - высота относительно “дома”
byte g_gps->num_sats - число спутников GPS
Чтобы писать что-то в текстовом виде, нужно объявить тип данных, который нужно выводить.
К примеру, вот это
“$I,roll,pitch,” CR LF
Будет выглядеть так:
sport.print(“$I,”); // заголовок
sport.print((int)dcm.roll_sensor/100); // крен
sport.write(‘,’); // запятая
sport.print((int)dcm.pitch_sensor/100); // тангаж
sport.println(“,”); // запятая и CR LF
Сырую строку GPS просто так из драйвера не вытащить, она там обрабатывается побайтно и не хранится.
Эх, увы, переход на 19200 результата не дал… симптомы те же…
К стати а где в Б8 меняется скорость порта телеметрии???
Нашел, в файле config.h в общем проблема походу в прошивке Б1… В Б8 для квадрика без проблем конектимся как на 19200 так и на 57600…
Ребята!! Нужна помощь!!!
Вообщем пришла ОСД, подпаялся к площадкам для програмирования, закачал АВР Студио 4.18 (програматор AVR910-01).
Вообщем в проге не могу законектить процессор, соответственно и прошиться…
Вопросы:
1 при програмировании питалово подавать на БАТ 1 или через програматор (есть возможность отключить питание через програматор)
2 могли бы подсказать какой версией Студио лучше шить с моим програматором (или он не катит?).
ЧТО ДЕЛАТЬ???
С уважением, Александр.
я с бат1 подавал и все, но у меня от ЮСБ прогер питается.
пользуюсь студией 4.13
Если сам по себе ОСД работает, значит, неправильно подпаял ноги…
В Б8 для квадрика без проблем конектимся
Что-то я не припомню, чтобы в квадрике ПИДы сразу читались при коннекте
А как проверить работоспособность АРС220. В HK’s Ground Control Station в кмандной строке пишет проверка скорости 57200 и все, дальше никаких действий. Как проверить?
[QUOTE=Syberian;2773622]я с бат1 подавал и все, но у меня от ЮСБ прогер питается.
пользуюсь студией 4.13
Если сам по себе ОСД работает, значит, неправильно подпаял ноги…
Олег.
А ты можешь скинуть фотку (или от руки схемку) подключения ног?
Я нашел фотку на РСГруппс там ты еще ответил челу что все правильно (по подключению выводов при програмировании ОСД) - вот по ней и подключался…
Кинь распиновку плиз…
Спасибо!
плата чипом вверх, дырками к тебе: MOSI, MISO, SCK, RESET, GND, VCC
Тип микросхемы выбрать Atmega88
FUSE-биты не трогать!!!11111111 выбери файл в первой же вкладке и жми program
Олег, спасибо - сегодня покодю осд для ремзи, посмотрим что получится.
По Е-ОСД - фотка с подписанными ножками. Питание подавалось через програматор ( +5 из USB ).
Я ОСД прошивал из CodeVisionAVR и мастеркитовский AVR910 (BA9010) программатор.
Программатор доработан до нормального. Заменены резисторы на ножках на низкоомные и на 2-ю ногу подкинто питалово из ЮСБ.
Олег - а можно для отладки, сделать команду TEST -> OSD, что бы видеть в компе строки, которые выливаются в ОСД. Как настройка уровня или компаса ???
Или это геморно ?
Вопрос на повестке дня:
стоит ли переделывать, чтобы домашняя позиция ЖПС определялась каждый раз при включении питания и достаточном кол-ве спутников? Или оставить все как есть (чтоб на балкон улетал)…
В переделке тоже есть недостаток: если дернется питание, домашняя позиция определится в воздухе, что опасно. С другой стороны, к месту “дома” можно подобраться поближе и восстановить управление вручную… Координаты-то есть
Второй вопрос:
Действительно ли так мешает обзору темный квадрат в центре и стоит ли его запихнуть куда-то в угол? (мне лично не мешает)
И этта… .не спрашивайте меня, как подключать телеметрию - я ее еще не нюхал даже 😃
По поводу домашней позиции Моё ИМХО:
Запоминать при включении и наличии, ну скажем от 5ти спутников (точность ±100 метров), но при этом обязательно запоминать и время фиксации точки старта.
Алгоритм запоминания точки старта:
Проверить статус ЖПС.
Если 0 или 1 - нет фиксации положения в пространстве - ждем изменения статуса.
Проверить количество спутников.
Если количество спутников < N ждем когда наберется нужное количество. Значение N - делать настраиваемым, но не менее 5ти.
Если количество спутников достаточное определить состояние борта:
- Проверить статус борта: (на земле или в воздухе, проверить можно например по скорости движения)
Если включились в полете - значит берем старую точку старта ПОЛЮБАСУ, если она есть конечно. Если её нет - становиться на круг и ждать когда пилот разберется
или поменяет точку старта вручную.
Если на земле:
- проверять разницу между текущим временем (получить из ЖПС) и временем фиксации последней точки старта.
Если разница > k точку старта изменить, если меньше использовать старую. Значение k - сделать настраиваемым (примерно от 20 минут до 2-х часов)
Как то так. Извините если сумбурно.
Про чёрный квадрат: Если просто летать - то пофиг, а вот если летать с заданиями разными, то мешает.
Олег, а убрать квадрат не вариант вообще ?
Может сделать горизонт чуть пожирнее и обвести чЁрным ободком ?
Спасибо всем, кто откликнулся!!!
По подключению - все правильно у меня.
По програматору - проштудировал еще и темку по програмированию аппы (аналогичная проблема у людей была…) так вот там советовали резисторы в програматоре закоротить (те что на выходах) , которые Виктор менях на низкоомные. Вот и думаю - искать и менять на низкоомные или просто закоротить?
Олег.
Идея (если выполнимо) Виктора на счет запоминания Дома вроде классная, или можно сделать по принципу кнопки ресета - если не нажал (в проге) - запоминаем то, что введено ранее через программу, нажал - запомнили точку при включении. Организовать этот принцип допустим двойным перевключением в отрезок времени (30-40 сек) - врядли в полете произойдет двойное перевключение…
По квадрату - сам пока еще не затестил, но по Вашим видео - мне нравится! Оставте, иначе при полете в облаках, на Солнце или зимой цифирек не видно будет…
Решил попробовать закоротить… Буду пробовать - отпишусь…
Я когда аппу шил (ТУРНИГУ 9ch), я резики просто закоротил. Потом отнес товарищу и под мелкоскопом припаяли правильные резисторы.
Если вы уверены в правильности подключения и правильном “камне” - резисторы можно и не паять.
Резисторы нужны для защиты программатора от нештатных ситуаций за разъемом (коротыши, волшебный дым и прочее).
После замены резисторов - программатор без проблем перешил две аппы, e-osd и Вортекс через ISP.
а убрать квадрат не вариант вообще ? Может сделать горизонт чуть пожирнее и обвести чЁрным ободком ?
Убрать можно, но на фоне неба не видно будет нифига.
“черный ободок” делается схемотехнически (smalltim, msv), с помощью ЦАП (eagletree) или аппаратно на чипе (текстовые ОСД, использующие м/сх MAX****)
Можно было бы вообще заварганить полный графический ОСД высокого разрешения с оттенками серого и проч требухой на ПЛИС, но я сознательно выбрал самое бесплатное решение, т.к. денег тю-тю.
Значит не стоит заморачиваться с квадратом. Лучше шлифовать автопилот. А вот когда шлифовка подойдет к стадии прикручивания всяких Фкусностей, тогда стоит заняться нормальным ОСД.
На текущий момент есть несколько вариантов ГОТОВЫХ решений, которые можно комбинировать с E-OSD.
Исходники E-OSD выложены, желающие могут ковырять под себя как угодно.
Как только я с Ремзи разберусь, я выложу код сюда. Это если работа меня не доканает (вчера база упала у бухов 😦 , так что я несколько буду занят пару дней).
Не отвлекайтесь от того, что не сделает простой обыватель (я в том числе).
ТОВАРИЩИ! Принимайте меня в ряды 😃 - сегодня сделал заказик. Будем тестить., имею носитель с размахом 3 метра самодельный из потолочки и полетным временем хоть 2 часа на моторе.
По советам граждан приобрел Блек Вортекс. Сейчас её вроде и в размерах уменьшили.
Вы платы крепили на площадки?
Планируется установка логгера для подсчета потраченной энергии, вывода оборотов мотоустановки., и остальных вкусностей.?
Ну как по мне для начала главное чтобы он не сходил с ума. и при потере РУ возвращал самик.
По поводу запоминания точки дома., есть свои плюсы и минусы. Если брать с точки зрения военной надежности, то лучше вводить точку вручную.
Если подходить к вопросы со стороны удобства, тогда лучше чтобы он запоминал при вкл.,
Будет ли возможность цепляния доп. датчика - например трубки пито, для возврата самолета в сильный встречный ветер?, хотя мы в такую погоду не летаем, но если отлетев на десяток км. нарватся на грозовой фронт, который за несколько десятков км. сосет в себя воздух как пылесос, в такой ситуации при потере РУ носитель может и не вернуться.
Для телеметри на самолет скорее нужны такие модемы www.bevrc.com/bevfy602-data-radio-p-221.html
Я конечно не юзал но APC220 с заявленной дальность в 1км. никуда не годится для самолета., для квадрокоптера - да.
доп. датчика - например трубки пито
Поддерживаю. Датчик воздушной скорости, самолету, жизненно необходим.
Тем более в коде мегапирата есть обработка воздушной скорости (airspeed).
Олег, может стоит начать приобретать ? Что Вы думаете на счет вот такого датчика store.diydrones.com/product_p/br-0004-03.htm ?
У меня в загашнике игловский датчик скорости валяется.
Опять же вопрос с модемами. Многие используют ЛРС на частотах 433мхз.
Получается что модемы будут мешать! Выход - иметь модемы на частоте 2,4ггц что не есть гуд. т.к. видео у всех на 1,2ггц. - да и иметь столько вч на борту - это уже перебор.
А можно с помощью модемов подмешивать ППМ с пульта? Тогда проблема отчасти решилась. Для полного счастья иметь модемы с пропускной способностью передавать управление, данные и видео сигнал., с минимальной задержкой, вот это была бы бомба!
Ну ещё как вариант к модемам APC220 использовать бустера на основе RA07M4047M
www.flytron.com/108-7w-booster-for-uhf.html
Ну опять же, если можно будет и управлять через модем.