Делаю 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 уже есть…)