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

Diman_Y

Всем привет и с Новым Годом!

Решил сделать своими руками OSD, автопилот и инерциалку. ОСД здесь самое простое, но об этом позже.

Итак, пока вот что планируется.
Питание от 4 до 19 вольт.
За основу взят TI C6745. К нему будет внешняя память, SD карта, флеш и питание.
Сенсоры - трехосевой гороскп от ST, трехосевой компас и трехосевой акселерометр от ST. GPS - любая.
Еще будет датчик давления для высоты от бошш и датчик скорости от фрискейл.
Пиродатчики будут внешними и подключаться по шине. У них там свой контроллер будет.
OSD будет отдедлная платка пока на максе, но хитро. На плате будет переключатель входов видео, макс и простенький пик. TI будет подключен к к пику и будет просто передавать информацию через SPI или I2C. Фактически, если кто хочет сделать и подключить графический OSD который будет только просто выводить информацию на экран - обращайтесь. Состыковатьт будет не сложно.
Еще. Управление будет - 6 входов от приемника и 6 выходов (или все 9). Пока не определился. Предложения приветствуются!
На плате будет слот под Micro SD карту любого размера.

Теперь некоторые детали. TI был выбран по тому что мне нужен именно он, а во вторых Ti бесплатно высылает пару процессоров кому они нужны. Нужно только зарегестрироваться у них. Ну имощности у него хватить на все. А потребление небольшое. Если его не гонять на максимуме, то не так много. Еще, JTAG на TI у меня есть, а софт он и в африке софт. Ну вы поняли… 😛
А вот для Analog Devices у меня JTAGa нет и стоит он 400 баксов. 😦

Пока что, самое дорогое во всем этом, это стоимость платы. Две четырехслойки будут стоить порядка 100 баксов. Все остальные компоненты у меня на халяву. 😛 Бесплатные образцы практически всего есть.

Теперь пара вопросов.
Я пока не нашел протокол и описание управления сервами. Понятно что там один провод это земля, второй питание (какое? 5 или 9 или 12 вольт) и третий - сигнальный. Что по сигнальному передается я не знаю… Если кто знает - киньте ссылку пожалуйста. 😛

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

Еще раз всех с Новым годом! 😛

Aleksey_Gorelikov
Diman_Y:

Я пока не нашел протокол и описание управления сервами. Понятно что там один провод это земля, второй питание (какое? 5 или 9 или 12 вольт) и третий - сигнальный. Что по сигнальному передается я не знаю… Если кто знает - киньте ссылку пожалуйста.

Питание у серв 5 вольт, редкие сервы позволяют питать себя до7-9. Управляются - импульсами. Ширина импульсов меняется в пределах 1-2мс, ну и период порядка 20 мс. Все цифры относительно стандартные, сервы допускают более широкие пределы.

Diman_Y
Aleksey_Gorelikov:

Питание у серв 5 вольт, редкие сервы позволяют питать себя до7-9. Управляются - импульсами. Ширина импульсов меняется в пределах 1-2мс, ну и период порядка 20 мс. Все цифры относительно стандартные, сервы допускают более широкие пределы.

Спасибо!
Все понятно. С этим эллементом определились. 😃

VRV
Diman_Y:

Пока что, самое дорогое во всем этом, это стоимость платы. Две четырехслойки будут стоить порядка 100 баксов. Все остальные компоненты у меня на халяву. Бесплатные образцы практически всего есть.

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

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 точных знаков после запятой…