Smalltim OSD and autopilot (часть 1)
За идеи спасибо, но н данный момент всё идет в развитие а не в готовый функционал, извините. Я на финишной прямой с автопилотом, не хочу отвлекаться 😃
Если что-то аппаратно не влезет в пилот - дам знать. Пока всё нагенеренное на будущее в него влазит.
Да не Тим, не беспокойся я же все понимаю, что сейчас главная задача довести то что уже наработано и поскорее выдать готовый девайс. А все что я тут “генерю” это так, создать задел для будущего развития.
2smalltim
Снова здравствуйте. С интересом слежу за развитием вашего автопилота. Возник ещё один вопрос.
Вы везьде пишете, что у вас 6 пиродатчиков, но при этом горизонтальные датчики установлены диагонально… Вертикальные датчики используются
только для стартовой выставки, или в полёте также участвуют в вычислении углов? Я так и не понял, причём не только по вашему автопилоту, но и
как у других…
Если да, то как вы завязываете их сигнал в матрицу, которую вы описывали в одном из сообщений старой ветки?.. Для датчиков, установленных
крестом всё достаточно просто, а как такое можно сделать при диагональном расположении, никак не соображу…
Просто я хочу понять, как это работает, т.к. летаю в любую погоду и мне важно знать, когда я могу доверять горизонту, а когда нет. Когда есть
ограничения на углы (вроде тут упоминалось 45 градусов), когда нет. Объясните пожалуйста, не сочтите за труд.
Заранее спасибо.
PS. А касательно голосового информирования, возможно, пригодится этот материал: www.gaw.ru/html.cgi/txt/app/…/at45_to_avr.htm
Звук генерируется ШИМ генератором, встроенным в микроконтроллер. Запись можно хранить как во внешней флешке, так и внутри. Аналоговая часть очень простая, думаю подключить к камере будет несложно!
Здравствуйте!
Подскажите пожайлуста. Сегодня облётывал Икар с минителеметрией. При подключении нашлось 7 спутников, но телеметрия изначально показала 109м на точку старта. Высота 43м, но с высотой ладно, а расстояние как для начинающего мне важно. 20-30м ещё куда ни шло, но 100 многовато. Как лечить?
Выключить и включить снова телеметрию (горячий старт). Всё должно исправиться. Точность по расстоянию примерно 1 метр.
>Вертикальные датчики используются
только для стартовой выставки, или в полёте также участвуют в вычислении углов?
Вертикальные датчики используются равноценно с горизонтальными в течение всего полета, система автокалибруется непрерывно в процессе измерения углов. В формуле расчета используются, разумеется, все датчики. Ограничений на углы наклона нет, система выдает корректные углы наклона в любой ориентации и, вообще говоря, не беспокоится о том, какие датчики - горизонтальные, а какие - вертикальные. Потому что при крене, например, в 90 градусов, горизонтальными датчиками становятся те, что раньше стояли вертикально, а 4-датчиковая голова становится “на попа” и 2 датчика смотрят под углом 45 градусов на землю, а 2 - под 45 в небо 😃
Из-за некоммутативности поворотов могут быть разночтения, например, в перевернутом полете:
- можно считать, что это угол тангажа 180 градусов
или - можно считать что это угол крена 180 градусов
У меня приоритет имеет угол крена, т.е. из перевернутого полета самик будет выворачиваться полубочкой, а не полупетлей.
>Просто я хочу понять, как это работает, т.к. летаю в любую погоду и мне важно знать, когда я могу доверять горизонту, а когда нет.
Горизонту можно доверять всегда, когда есть градиент температуры небо-земля, когда сама линия горизонта не поломана горами, и когда на окошки ИК датчиков не попадают капли дождя или снег. Как именно работает математика, рассказывать не буду - надеюсь, понимаете почему 😃
>горизонтальные датчики установлены диагонально
Это сделано сугубо дтолько для удобства установки - на большинстве моделей с диагональным расположением датчиков меньше шансов, что крыло или фюзеляж попадет в зону чувствительности датчика. А так, системе всё равно, можно ставить под любым углом. главное чтобы все оси датчиков были взаимно ортогональны.
>20-30м ещё куда ни шло, но 100 многовато. Как лечить?
Модуль GPS, особенно после холодного стата (когда несколько дней не включался) цепляется за спутники сразу как только находит необходимое для определения позиции количество спутников, отсюда вылезает проблема:
- он находит 3-4-5 спутников, определяет позицию и выдает на телеметрию
- телеметрия выжидает, пока не придет несколько десятков пакетов с достовеной информацией о позиции и запоминает ее
- модуль находит еще 2-3-4 спутника и корректирует позицию, выдавая более точные координаты
- телеметрия уже запомнила позицию старта и эти более точные координаты оказываются в стороне от запомненной точки старта.
Как лечить - выждать, когда координаты устаканятся, и рестартнуть телеметрию переподачей питания.
Здравствуйте!
Высота 43м, но с высотой ладно, Как лечить?
А с чего взято, что высота точки старта- должна быть=“0” ? 😃
Москва к примеру- вся на холмах высотой около 100 м стоИт,
а Голландия “- 20”.
GPS же от уровня мирового океана высоту показывает 😃
А сброс ошибки телеметрии- я уже как то писал, как реализовать: на гребёнке для программирования есть вывод от ноги “ресет” и “земля”: делается кнопка на проводке, выводимая в удобное для нажимания место и одевается на эти ноги (программировать то не так часто приходится, как летать?)
После того, как ЖПС наловил спутников- нажимаем эту кнопку, телеметрия воспринимает данные с ЖПС и записывает их, как истинную точку старта.
Тим, я как обычно с вопросами и рац предложениями. 😃
На сей раз по датчикам и достоверности показаний.
Уже забыл, искуственный горизонт будет?
А если будет то вот залетели мы в тучку и одна из пар татчиков выдала разницу температур 0. Получаестя что верить уже нельзя. Как в таком случае ведет себя АП и стабилизация?
Может быть стоит вывести какой то сигнализатор такого состояния и приближения к такому состоянию? Ну не знаю, типа если разница температур любой пары подошла к 1 и падает то выводить что то типа процентного отношения?
Что скажешь?
>А с чего взято, что высота точки старта- должна быть=“0” ? 😃
Москва к примеру- вся на холмах высотой около 100 м стоИт,
а Голландия “- 20”.
GPS же от уровня мирового океана высоту показывает
Александр, не пугайте людей!! 😃
Высота точки старта над уровнем моря запоминается вместе с координатами и вычитается из текущей высоте в полете, так что на любом холме или на равнине отсчет будет идти от нуля 😃
Тимофей как приобрести платку теллеметрии собр. зелен.
>Уже забыл, искуственный горизонт будет?
Да, конечно.
>А если будет то вот залетели мы в тучку и одна из пар татчиков выдала разницу температур 0. Получаестя что верить уже нельзя. Как в таком случае ведет себя АП и стабилизация?
Если остальные пары ненулевые - ведем себя как обычно. Ибо ноль на выходе одной или двух пар - обычная рядовая ситуация.
А вот если все три пары близки к нулю, пилот считает это ошибкой подключения датчиков и считает крен и тангаж = 0. Самик в итоге летит с управляющими плоскостями поставленными в нейтрали, пока не вылетит из облака.
Индикации такого режима сейчас нет, обящательно добавлю иконку на экран.
>Тимофей как приобрести платку теллеметрии собр. зелен.
Ну у нас же получилось уже связаться через личку, давайте там и продолжим!
Александр, хороший совет про сброс:
на гребёнке для программирования есть вывод от ноги “ресет” и “земля”: делается кнопка на проводке, выводимая в удобное для нажимания место и одевается на эти ноги
Спасибо.
Александр, хороший совет про сброс:
Я готов ещё пять копеек заработать: если сделать ещё одну кнопку- закорачивающую шунт датчика тока, и нажимать её одновременно с “ресет”, то отпадёт ещё одна извечная проблема: подсчёт электричества, съеденного самой телеметрией-автопилотом и видеосистемой 😃
Т.е. ни один народный мА/час- не пройдёт мимо зоркого ока пилота !
кнопку закорачивающую шунт датчика тока
Не прокатит. Сопротивление кнопки должно быть существенно меньше сопротивления шунта. Вы представляете себе такую кнопку на модели? 😉
Стоп-стоп-стоп. Датчик тока калибруется отдельно, данные запоминаются в энергонезависимой памяти, эта извечная проблема не существует уже давно.
А с чего взято, что высота точки старта- должна быть=“0” ? 😃
Москва к примеру- вся на холмах высотой около 100 м стоИт,
а Голландия “- 20”.
GPS же от уровня мирового океана высоту показывает 😃
А сброс ошибки телеметрии- я уже как то писал, как реализовать: на гребёнке для программирования есть вывод от ноги “ресет” и “земля”: делается кнопка на проводке, выводимая в удобное для нажимания место и одевается на эти ноги (программировать то не так часто приходится, как летать?)
После того, как ЖПС наловил спутников- нажимаем эту кнопку, телеметрия воспринимает данные с ЖПС и записывает их, как истинную точку старта.
Если не сложно, можно “ноги” на картинке показать?
Кнопку - на ногу, помеченную RST (ближняя к разъему видеовыхода) и на ногу с черным квадратом (земля)
Стоп-стоп-стоп.
“Ну, шо ж вы не даёте ни одному мужику- на дохтура выучиться ?” (В.И.Чапаев)
Ладно- не надо мне ещё 5 копеек 😛.
Если не сложно, можно “ноги” на картинке показать?
Кстати, о ногах: если ноги процесссора, через которые он шьётся (ISP)- не задействованы в дальнейшей работе (вопрос Тиму?),- очень бы советовал этот же “кнопочный” разъём использовать для их защиты от статики: т.е. каждую ногу (по отдельности!) посадить на “землю” при помощи ёмкостей 0,1 мф, навешенных на разъём (на плате- низззя!, сами понимаете, почему 😃 )
Ибо висящий в “воздухе” порт, (особенно- зимой, при низкой влажности и высокой синтетичности одежды)- верный путь к помиранию процессора от крив…ласковых ручек моделиста, “поудобнее укладывающего плату в фюзеляже” 😦
2 smalltim
Отправил вам письмо с полным оффтопиком на @mail.ru. Очень надеюсь, что дойдёт. Личка, к сожалению, забита…
2 smalltim
Не, математика мне и не нужна. Я другого не могу понять. Вертиальные датчики используются для определения градиента, так? Допустим самолёт летит боком (90 градусов крена). Вертикальные датчики уже не фиксируют градиент! В любом случае он уже “не тот”. Как в этом случае определяется угол?..