Делаю OSD, автопилот и инерциалку...

leprud

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

MikeMDR
Diman_Y:

Решил сделать своими руками OSD, автопилот и инерциалку.

А для чего оно Вам?
Т.к., судя по заданным вопросам о способе управления сервами (который, кстати, описан на каждом RC-форуме и не по-одному разу!!!), радиоуправлением Вы не занимаетесь, то на чём собираетесь всё это отлаживать? Или по принципу: мне надо сделать, а вы (те, что с форума) мне всё “разжуйте”, схему нарисуйте, прогу напишите, на своих модельках отладьте, и “мне в рот положите”!
P.S. Был бы рад ошибиться!

Diman_Y
VRV:

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

Плата цифровая. Процессор 176 ног. Тут макета в принципе быть не может. Evaluation board в наличии, так что это можно за макет считать. 😃
Короче, четырехлойка для цифры сейчас, это норма жизни. На цыфру макеты уже в прошлом. Вот на ВЧ передатчик это я понимаю… А на цифру можно все сразу делать. В даташитай и апликейшен ноутсах все давно описано.

leprud:

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

Гиро - L3G4200D, компас - LSM303DLH. Пару микросхем каждого у меня бесплатно. 😃
Можно и другие. Если знаете лучше - добро пожаловать.

По поводу цены/качества и вообще почему я этим занялся.
Основная часть софта под TI пойдет в другой продукт, поэтому разработка именно автопилота и инерциалки это побочный продукт для души.
Стоимость нормальной ОСД, автопилота и инерциалки от любого производителя порядка 300 - 400 баксов. Если считать что плата стоит 10 баксов (а при партии в 100 штук она так и стоит), элементная база стоит еще 100 и прога это хобби, то я смогу получить то что хочу за вполне небольшие деньги. Причем не просто что-то, а реально то, как оно должно работать.
В любом случае, я неплохой специалист в embedded и в DSP, так что написать прогу для меня не будет проблема, к тому-же как я сказал, 90 % работы это пойдет в другой продукт.

MikeMDR:

А для чего оно Вам?

Если формулировать кратко, то мне нужна демонстрация работы моего продукта. А автопилот и все остальное было выбрано потому что мне это интересно. Автопилот и инерциалка это не мой продукт, а просто демонстрация. К тому-же, все автопилоты и инерциалки которые есть на рынке меня не устраивают. Лично я вижу в них системные косяки (которые невозможно устранить), которые я надеюсь избежать. К тому-же, 400 баксов за все - это по моему дорого. Не в смысле что у меня их нет, а в смысле что 300% накрутки на элементной базе это слишком. Сдирать 300 баксов за софт это дороговато. 30%, ну ладно, 50% это нормально, но 300 это уже перебор.

MikeMDR:

Т.к., судя по заданным вопросам о способе управления сервами (который, кстати, описан на каждом RC-форуме и не по-одному разу!!!), радиоуправлением Вы не занимаетесь, то на чём собираетесь всё это отлаживать? Или по принципу: мне надо сделать, а вы (те, что с форума) мне всё “разжуйте”, схему нарисуйте, прогу напишите, на своих модельках отладьте, и “мне в рот положите”!

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

Единственное в чем у меня пока затык, так это в реализации графического ОСД, поэтому это переноситмя на потом, а возможность апдейта закладывается прямо сейчас. Я просто не силен в аналоговой технике, поэтому предлогаю коллегам по форуму самим нарисовать схему и реализовать прогу на том-же AVR, а я уже напечатаю плату и даже достану комплектуху. 😃
Я конечно могу поставить декодер 640х480 и делать ОСД в цифре, но как-то по моему дороговато получится. 😃

MikeMDR:

P.S. Был бы рад ошибиться!

Время покажет. Может мне все это надоесть через пол года, или другая работа загрузит… 😦

leprud

А почему именно эти, скажем по-честному - игрушечные, гироскопы и компасы? Потому что они в наличии? Так проще (да и дешевле) взять тот же нунчак и wmp, они хоть опробованы уже.
Написать программу то ни для кого не проблема, проблема, как я и писал выше - в алгоритмах. И я уж молчу про проблемы с автопилотами (про которые мало чего знаю, например логику батарея-высота-газ, или логику элероны-РН-скорость-штопор), а вот как собираетесь бороться с такой простой вещью в инерциалке, как дрейф, скажем температурный?

Да, и делать на продажу будете? Глюки исправлять бесплатно будете? Техподдержка тоже бесплатная?

Diman_Y
leprud:

А почему именно эти, скажем по-честному - игрушечные, гироскопы и компасы? Потому что они в наличии? Так проще (да и дешевле) взять тот же нунчак и wmp, они хоть опробованы уже.

Лично мне они игрушечными не показались. Все дело в обработке. К тому-же я написал что если есть предложения и пожелания, то пишите! 😃 Слова “нунчак и wmp” лично мне ни о чем не говорят.

К тому-же TI с 2000 мегафлопами был выбран не случайно.

leprud:

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

При наличии нормальной вычислительной мощности и правильной организиции процесса разработки это совсем не проблема. Поверьте.
Все алгоритмы описаны в учебниках МАИ уже лет 50 назад. Все остальное это проблемы адоптации. В этом нам поможет мощьный процессор и средства отладки. 😃

leprud:

Да, и делать на продажу будете? Глюки исправлять бесплатно будете? Техподдержка тоже бесплатная?

Я делаю этот проект для себя, изначально продавать я его не собираюсь. Если я и буду продавать (что мало вероятно) то только софт, стоимостью 30-50% от комплектухи (и то не в России а на западе). Все кто учавствуют получат от меня софт бесплатно по любому. Даставание комплектухи и изготовление плат я беру на себя. 😃

Глюков по идее не будет. Техподдрежки то-же. 😃

leprud

Выбранные вами датчики - неточные, с большим дрейфом и т.д. и т.п. Их удел - телефоны, игровые приставки и т.д. Никакой обработкой, даже на “быстром” (якобы) процессоре вы не сможете убрать дрейф и поганую точность датчиков.
WMP - WiiiMotionPlus, аксессуар игровой приставки, внутри которого стоят IDG650+ISZ650 (аналоги ваших L3G4200D), общая стоимость не превышает 10 уе с доставкой.

То, что вы пишете про алгоритмы - понятно и простительно, у вас просто опыта нету в этих вещах.
Аналогично и про глюки.
По сути - верно, а вот в жизни все совсем по другому…

Простой пример. В документации на L3G4200D указана чувствительность при 2000dps - 70mdps на разряд, и температурный дрейф 0.04dps на градус. И что будет с вашей платой происходить при изменении температуры на, скажем, 30 градусов (машина/дом-улица), а на 70 (улица-нагрев платы)? Как собираетесь бороться с этим-то?

Diman_Y
leprud:

Выбранные вами датчики - неточные, с большим дрейфом и т.д. и т.п. Их удел - телефоны, игровые приставки и т.д. Никакой обработкой, даже на “быстром” (якобы) процессоре вы не сможете убрать дрейф и поганую точность датчиков.
WMP - WiiiMotionPlus, аксессуар игровой приставки, внутри которого стоят IDG650+ISZ650 (аналоги ваших L3G4200D), общая стоимость не превышает 10 уе с доставкой.

У них нету цифрового выхода. АЦП я конечно на плату поставлю, но не для этого.

leprud:

То, что вы пишете про алгоритмы - понятно и простительно, у вас просто опыта нету в этих вещах.
Аналогично и про глюки.
По сути - верно, а вот в жизни все совсем по другому…

“Мы рождены чтоб сказку сделать былью!” 😃

leprud:

Простой пример. В документации на L3G4200D указана чувствительность при 2000dps - 70mdps на разряд, и температурный дрейф 0.04dps на градус. И что будет с вашей платой происходить при изменении температуры на, скажем, 30 градусов (машина/дом-улица), а на 70 (улица-нагрев платы)? Как собираетесь бороться с этим-то?

Если честно, то я еще даже не думал о деталях, но раз Вы задали вопрос про дрейф и точность гироскопа, то я попробую ответить в качестве наброса.
Темпиратурный дрейф я отметаю сразу, так как гироскоп и акселерометры должны обеспечивать кратковременные маневры (до нескольких секунд). Затем будет вводиться коррекция с компаса, датчика высоты, скорости, крена, ГПС и т.д. В принципе даже если связать гироскоп, акселерометр, компас в единую систему (именно систему с реальным временем), то ее размерность уже получается 9. А если еще добавить коррекцию с ГПС и остального, то там под все 20 будет.
В любом случае, я с Вами соглашусь что задача не простая, но в то-же время она решаема. Софт в данном случае будет самой сложной частью, но при наличии нормальной системы отладки и системном подходе - это не проблема. 😃

leprud
Diman_Y:

У них нету цифрового выхода.

У готовой платы WMP есть АЦП, 12 бит, I2C.

Diman_Y:

Если честно, то я еще даже не думал о деталях

А их возникнет еще не одна сотня… Это ж я самое простое спросил, да распространенное… Ну, удачи, что же, желаю много времени и денег не потратить впустую 😉

Diman_Y:

Софт в данном случае будет самой сложной частью

Теперь понимаете, почему софт столько стоит?

Aleksey_Gorelikov

Леонид, мне кажется не стоит переубеждать человека. Судя по анонсам, он мега-эмбедер, отличный схемотехник с системным подходом и наличием нормальной системы отладки. Что еще нужно для разработки супер-продукта ценой в 30-50 баксов, если есть учебники из МАИ 50-летней давности?
Встаем в очередь на прошивки с исходниками и платами по 10 баксов. Куда деньги высылать? 😃

serj

Дмитрий, я советую вам не делать самому железо, ради малых объемов- это не выгодно 😃
Проще купить китайский FY-20 (инерциальный автопилот) и припаять туда отсутствующий барометр на плату- получите отличный EB за 100$ …

leprud
Aleksey_Gorelikov:

Встаем в очередь на прошивки с исходниками и платами по 10 баксов. Куда деньги высылать?

Хе, я готов вот прям ща оплатить, скажем, 150$, надеясь через 3-9 месяцев получить БИНС + автопилот без дрейфов, без глюков, и адекватно работающий. Если же через означенный срок я не получу плату, отвечающую этим простым требованиям - то рассчитываю получить сумму, на порядок больше оплаченной. Кто со мной? 😃

Diman_Y
serj:

Дмитрий, я советую вам не делать самому железо, ради малых объемов- это не выгодно 😃
Проще купить китайский FY-20 (инерциальный автопилот) и припаять туда отсутствующий барометр на плату- получите отличный EB за 100$ …

Спасибо за совет. Я как раз собирался брать этот FY в качестве прототипа. 😃
Я уже говорил, что для меня этот проект как побочный продукт. Поэтому плату с сенсорами и т.д. я все равно буду делать.

Если есть какие идеи, советы или предложения - говорите.
Вот у меня будет ОСД на отдельной плате с видеомультиплексером, максом
7456 и пиком. Пик просто будет принимать команды по SPI или I2C и выводит информацию на дисплей или переключать камеры (никакой обработки в пике не планируется, только вывод информации).
Писать под пик мне не хочется но видно придется, и это не сложно. А вот если кто-то захочит сделать то-же самое только под графический ОСД, от обращайтесь. 😃

Diman_Y

Итак, схема почти закончена и вот пока что получается.

Акселерометр, гиро, компас, высотометр, скорость. GPS - внешний.
Процессоры: ADSP 21489 или TMS C6745. Оба на плате, но паятся будет один.
Память: флеш, еепром и слот под SD карту. Все на плате.
Так-же на плате ADC 200 kHz 12 бит, с четырьмя каналами. Пока задействован только один, так что три других свободны.
Питание: 1.1, 1.8, 3.3, 5.0.
Поставил IR светодиод.
Соединение с PC через UART, но переходник наверное будет внешним. Можно конечно поставить FTDI, но она там не нужна в принципе.
Сделано 7 каналов от приемника на вход и выход на 5 каналов (4 на сервы и 1 на газ).
Пока все влезает в плату 45х80 с запасом.
На второй маленькой плате будет мультиплексер видео, ОСД на MAX 7456 и PIC16xxx в 20 пин корпусе. Соединение с основным процессором через UART. Размер 45х40.

Теперь вопросы которые возникли:

  1. Что еще можно поставить? Есть 3 свободных быстрых АЦП входа. Под цифру все интерфейсы в наличии.
  2. Есть ли возможность получать с приемника PPM сигнал напрямую? Декодировать там не сложно получится, а проводов меньше и от пульта управления можно будет отказаться и управлять с компа джойстиком.
  3. Какой выход с датчика заряда батареи - аналоговый или цифровой?

Пока вот так. 😃

Теоретически, плату я планирую доделать до конца января.

msv

Когда-то (ну очень давно…), осваивая гениальный асм 8080, мне казалось- ну вот еще научится в шахматы играть и в легкую напишу прогу объигрующую Каспарова…
Извините, но я так и не понял, что Вы хотите сделать и какую информацию хотите от нас, скромных форумчан… (Намекну - Arduino уже есть…)

Diman_Y
msv:

Извините, но я так и не понял, что Вы хотите сделать и какую информацию хотите от нас, скромных форумчан… (Намекну - Arduino уже есть…)

Спасибо за наводку.
Решил сделать разьем под xBee, для обратной связи. 😃

А вопрос в принципе был таким: “Что можно еще поставить в самолет для полного счастья?” 😃

Frr

> 1. Что еще можно поставить? Есть 3 свободных быстрых АЦП входа.
может вывести на штырьки для внешних датчиков
> 3. Какой выход с датчика заряда батареи - аналоговый или цифровой?
аналоговый - вольты на балансирном разъеме

Diman_Y:

Что можно еще поставить в самолет для полного счастья?"

usb-разъем - для перенастройки и заливки прошивки, а может и usb-host (C6747), чтобы не таскать бук.
термодатчик на плату - мало ли, что подкоректировать.
Можно ли будет купить спаянную платку? сколько будет стоить? (софт не нужен)

Diman_Y
Frr:

usb-разъем - для перенастройки и заливки прошивки, а может и usb-host (C6747), чтобы не таскать бук.
термодатчик на плату - мало ли, что подкоректировать.
Можно ли будет купить спаянную платку? сколько будет стоить? (софт не нужен)

usb-разъем - это конечно хорошо. Сейчас над этим думаю. А вот хост там просто не нужен. Какие устройства можно подключать к автопилоту? Только писишку по идее, но писишка сама по себе хост.
Прошивка будет идти через UART/USB. Сама прога будет отдельно запускаться и храниться, а стартер меняться не будет. Управление будет еще с IR пульта (фотоприемник я поставлю, но софт писать под него скорее всего не буду. Мне проще через usb/uart будет управлять).

Спаяннуая плата продаваться скорее всего не будет, так как в ручную паять это долго, дня два потратить придется минимум… Вопрос даже не в цене компонентов (там компонентов баксов на 100 максимум). Вот если заказать плату и сами будете паять, то сейчас я их заказываю за 50 баксов штука. Мне самому нужно только парочку под TMS одну и под ADSP. Если хотите, то я могу и три заказать, а одну вам отдать. Только паять сами будете. 😃
Когда закончу схему, я ее здесь выложу. Тогда и решите, нужна она Вам или нет.

В любом случае, я буду держать здесь в курсе процесса. 😃

Frr

> Какие устройства можно подключать к автопилоту?
Джойстик(аппа с сим.шнурком), мышку или маленькую клаву - для подстройки в поле.
> Управление будет еще с IR пульта
А чем управлять? пульт от телевизора? Зачем ставите, если не будете писать софт?

Diman_Y:

три заказать, а одну вам отдать. Только паять сами будете.

Увы, не возьмусь.

baychi
Diman_Y:

для меня этот проект как побочный продукт.

И этим, к сожалению, все сказано. 😦
Извините, Дмитрий, но по-моему Вы играете не в ту игру. Получить максимум деталей на халяву и сделать одноразовый автопилот - может быть забавным только в проекте. На практике это не реализуемо.
Мне кажется, Вы новичек не только в авиамоделизме, но и в программировании (а возможно и в электронике). Нельзя ли узнать, какие проекты Вы реализовали на сегодняшний день?

Diman_Y
baychi:

И этим, к сожалению, все сказано. 😦
Извините, Дмитрий, но по-моему Вы играете не в ту игру. Получить максимум деталей на халяву и сделать одноразовый автопилот - может быть забавным только в проекте. На практике это не реализуемо.
Мне кажется, Вы новичек не только в авиамоделизме, но и в программировании (а возможно и в электронике). Нельзя ли узнать, какие проекты Вы реализовали на сегодняшний день?

Я ваш скептицизм отчасти разделяю. 😃
В любом случае плату я сделаю. Она мне нужна для другого проекта, который к автопилоту не относится. Софт для автопилота это на 90 % из другого проекта. А 10 % на автопилот это не так много. Пока что все упирается в наличие платы. 😃

Я уже как 15 лет работаю инженером, так что проектов достаточно, поверьте, но скорее всего они Вам ни о чем не скажут. Как пример усилитель B&O в Audi A8 частично моя работа. 😃
Автопилотами я конечно не занимался, но я не вижу большой разницы в обработке вибраций, обработке аудио или радиосигналов. Обработка везде одинакова - читай, считай, пиши, только коэффициенты меняй. 😃

Я уже писал, что основная фишка данного автопилота будет наличие нормального мощного процессора для обработки данных. Лично я не понимаю, почему все ОСД и автопилоты используют хилые процессоры для обработки, когда там только обрабатывать и надо… Понятно что 400 МГц это много, но хотябы 100 МГц процессор можно было поставить?
Короче, поживем - увидим. 😃

PS. А кроме скептицизма есть у кого конкретные замечания и предложения? 😃

Frr:

> Какие устройства можно подключать к автопилоту?
Джойстик(аппа с сим.шнурком), мышку или маленькую клаву - для подстройки в поле.
> Управление будет еще с IR пульта
А чем управлять? пульт от телевизора? Зачем ставите, если не будете писать софт?

Увы, не возьмусь.

IR будет на случай если кто-то захочет под него что-то написать. У меня есть netbook, который и будет всей этой фигней управлять. Мышку и елаву подключать к автопилоту это просто лишнее.

leprud
Diman_Y:

наличие нормального мощного процессора

Ха, а что есть мощный? 😃 CortexM3 - мощный? А почему AtMega328@16MHz - нет?
Вы же явно не прикидывали, сколько операций в секунду нужно. Опять же, Калмана или метод кватернионов использовать будете? А какого, а зачем, а когда, а с какой частотой и скважностью?

Мне это все напоминает байку про необходимое количество знаков у числа Пи для определения числа атомов во вселенной

Для справки: в масштабах Земли и её окрестностей число пи с 11 точными знаками после запятой даёт погрешность вычисления несколько миллиметров, в масштабах солнечной системы достаточно 16 знаков, а уже 39 знаков π достаточно для вычисления окружности, опоясывающей наблюдаемую Вселенную, с погрешностью, не превышающей радиуса атома водорода; для вычислений в масштабах свей Вселенной достаточно 70 точных знаков после запятой…