Автопилот Arduplane - открытое ПО

Serj=
alexeykozin:

я жпс родной от китайского рембизи и использую

А дайте ссылочку, где брали osd.

alexeykozin
Serj=:

А дайте ссылочку, где брали osd.

брал тут opensurprise.com/remzibi-osd-for-fpv-p-120.html
обошлось 99баксов за комплект модуль жпс 5 герцовый с батарейкой + плата осд + регулятор-фильтр питания + доставка. платил пайпалом, шло три недели.
плата ОСД глючит неподецки при любом нажатии на плату - какието траблы то видео исчезнет то черточки по всему экрану, промыл от флюса - не помогло попробую пропаять… вобщем конечно китайщина но по цене микрух, накрайняк плату закажу нормальную и перепаяю микрухи…

alexeykozin

незнаю в чем фокус, залил НЕ ардупилотную версию
OSDV1_74 из стандартного рембизи-аплоадера, на 34800 определился жпс,
показало режим man - ручной, переключил на стабилизацию показал stb
горизонта нету ну и HEX с ним!

lio

возможно неправильно определено какой именно выдавать протокол для ремзиби
хотя если горизонт не критичен …
я про это
REMZIBI_M_COMMANDS
REMZIBI_ARDU_FIRMWARE_13 (v1.3 and older)
REMZIBI_ARDU_FIRMWARE_14 (v1.4 and newer $A and $I)

alexeykozin

а какой самый функциональный?
я решил что REMZIBI_M_COMMANDS
не?

lio

ставил 14 для горизонта - показывал 😃
ну и все режимы тоже

Serj=

Поковыряв код файл сейва в 2.7 понял что он вообще не предназначен для работы с приемниками без файл сейва. Посему был заказан комплект FrSky 2.4GHz с телеметрией.
Кто-нибудь пытался через какую штука гнать телеметрию с Ардупилота? Скорость канала 9600 кстати.
Судя по ветке обсуждения этого комплекта связь до 5 км, включая телеметрию. Вкусно!

alexeykozin

у ардупилота с жпс и иму одна скорость,
в последней прошиве стоит 38400
тоесть используя стандартный код 9600 использовать не получится…

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

Serj=
alexeykozin:

посмотреть код никак- там хекс файл

В файле Fail_Safe_v16.zip есть сишный исходник, насколько я понял там как раз и определяется наличие импульсов правильной длинны с приемника (от 800 до 2350).

alexeykozin

простите за тупейший вопрос, вопрос к тем кто летал в режиме маршрута на комплекте ardupilot + IMU
куда его грузить? в пилот или иму?
конфиг тул и туда и туда пишет…
какие прошивки иму и пилота использовали?

пытался проанализировать схему и код. Иму в отличие от комплекта пилот+гпс+термофилы даже курса гпс не дает пилоту, вместо этого широту, долготу, высоту и коррекцию крена тангажа и направления, соответственно вопрос если маршрут загрузить в пилот то откуда иму узнает куда рулить.
С другой стороны если маршрут заливать в иму - то как она узнает что пилот получил команду “auto” от пилота к иму из обратной связи лишь пин граундстарт

пробовал на жпс - эмуляторе посмотреть поведение в режиме RTL - какойто неадекват, встает на круг и все

lio

заливается в сам ардупилот
иму - только для стабилизации вместо него можна пироголовы с успехом пользовать 😃
кстати вывели горизонт на ремзиби ?

alexeykozin

с рембизи Am1.72 сростил ту прошивку на которую несколькими постами выше давали ссылку ardupilot2.7 + imu1.7
но пришлось подправить код -в исходном неверно была передача количества спутников и еще добавил автоустановку сохранения домашней точки.
в результате и горизонт показывает и режим автопилота manual - stabilize итд

если кому надо могу выложить что вышло, но еще не облетано, сами понимаете

lio

еще внимательно проверьте как он передает данные на осд
могут быть неувязки по форматам
была какая то версия связки … показывал координаты совершенно не те что были в реалии (чет было намудрено в математике )
еще момент
у меня связка без шилд-платы … и для забивания точек приходится вырубать физически иму(мешает FTDI кабелю)
вроде с шилдом етой проблемы нету

alexeykozin

у меня тоже без платы датчика воздушной скорости, а чтобы не мешало прошивке зажимаю резет на иму на время прошивки пилота
а на какой версии иму и пилота вы остановились?

с широтой и долготой все нормуль

lio

2.7+1.7 + мод сделал (юстировку иму - если не точно стоит, по аналогии с триммированием пироголов)

alexeykozin

2 lio
юстирование неплохая штука в иму 1.8.2 такое тоже есть, она долго мигает после каждого ресета но зато потом никаких дрифтов, но на сколько я понял 1.8.2 не подойдет к прошивке пилота с выводом данных для ремзиби - она не передает инфу о спутниках, ваш мод - это продолжение ремзибиевской прошивки или официальной?

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

а в вашей версии пилота 2.7 вы нашли-исправили дрожание? по моему это серьезный баг, я пытался расковырять, выводил промежуточные значения переменных в сериалпорт, но пока безрезультатно, подумалось что перебороть то можно например сделав “скругление” перед выводом в серву не выводить запрашиваемое значение сразу а усредняя его с предыдущими. но потом подумал, что надо искать причину бага а не ставить заплату

lio

про юстировку … мож я не так сказал 😃
короч ето коррекция начального положения иму относительно горизонтального полета
типа как триммирование самика
столкнулся с тем что нужно было настроить иму на приблизительно 5 градусов (лет крыло при полете идет с таким углом атаки в горизонтальном полете)
и вот чтоб не ставить под иму подкладки и не угадывать угол начальной инициализации просто ввел корректировку угла в конфиг при сборке ардупилота
идея такая-же как у пироголов
#define PITCH_TRIM 0 // deg * 100 : allows you to offset bad IR sensor placement
#define ROLL_TRIM 0 // deg * 100 : allows you to offset bad IR sensor placement

а так то при предстартовой подготовке ставлю самик на стапель (заведомо выставленный в 0) иму проходит инициализацию … заливаю точки если нада и в путь 😃

на счет авто-калибровки по кнопочке … иму должна знать истинный 0 … на его основе она выравнивается
а если нажать калибровку кода самик в руке и наклонен … это чревато таким-же горизонтом кривым 😦

с дрожанием пока сильно не боролся … пока особо не напрягает … но думаю придется … зима длинная 😃

alexeykozin

насчет калибровки по кнопочке - так я об этом и говорю, типа если нужно откалибровать - ставишь на стапель и жмакаешь кнопку, значение сохраняется в епроме. Или оперативно надо перекалибровать “в поле” например изменил положение на модели - ставишь самоль по уровню и жмакаешь кнопку - не надо лезть в код, полюбому ноут раскладывать в поле не айс

Serj=

Вот, опять убил свой автопилот, решил записать на Attiny45 файл сейв из Fail_Safe_v16.zip.
Заливал avrdude, залилось вроде нормально, но после записи автопилот перестал на что-либо реагировать.
Стер Attiny45 и автопилот заработал но не переключаются режимы работы, похоже за это отвечала старая прошивка Attiny45.
Можно как то вытащить прошивку Attiny45 из работающего автопилота?

lio
alexeykozin:

насчет калибровки по кнопочке - так я об этом и говорю, типа если нужно откалибровать - ставишь на стапель и жмакаешь кнопку, значение сохраняется в епроме. Или оперативно надо перекалибровать “в поле” например изменил положение на модели - ставишь самоль по уровню и жмакаешь кнопку - не надо лезть в код, полюбому ноут раскладывать в поле не айс

ну как вариант 😃
можно будет подумать …
в тиньке у меня 15 версия была , так и не менял - мну устраивает

alexeykozin

2 serj
возможно дело не столько в прошивке сколько во фьюзах,
фюзы определяют с каким генератором (внутренним или внешним) работает проц всякие еще конфигурационные биты…
прикидываешь если ты его на внешний осцил настроил и еще чегото ждешь
там вроде мануал был…

вот они фьюзы:

смотри extended 0xff
high 0xdf
low 0xe2

инфа отсюда: www.rcgroups.com/forums/showthread.php?t=1254724

мануал avrdude nongnu.askapache.com/avrdude/avrdude-doc-5.5.pdf

пара батников втч с примерами фьюзов, правда для atmega168/328 - у меня
http://hobby.msdatabase.ru/project-updates/theresultsofoursurvey/ardupilot-imu
(в конце страницы приложен bootloader.rar)