Делаю OSD, автопилот и инерциалку...
Но как я уже говорил, отсутствие нормального процессора для обработки это системный косяк всех существующих автопилотов. Я уже писал что просто не представляю как можно впихнуть в 30 мипс фиксированной точки всю обработку да еще и управление переферией. Все это приводит к ограниченности ресурсов процессора и как результат отсутсвие структуры проекта.
Это, наверное потому, что у вас мало опыта написания систем при ограниченных ресурсах. С другой стороны, развитие электроники идет по экспоненте и тот компонент который нельзя было заложить 3 года назад из-за высокой цены, сегодня кажется устаревшим 😦
Как сказал один известный академик, “Когда-то программирование было искусством, сегодня оно превратилось в ремесло”, (или, правильнее сказать, искусство сместилось в другую область) , но именно это позволяет создавать значительные проекты в короткие сроки.
Есть вот такая система С-300. главный мозг там- одноадресная машина, , 128кб программ и 2кб оперативки, 2 Мгц тактовой. АЛУ, кажется, 16-ти разрядное. Считает в реалтайме в трехмерке траектории 6-ти целей и наводит на них 12 ракет (управляет ими) 😃 Ее эмулятор, написаный в 90-х годах, имеет примерно 10-ти кратный запас производлительности… но на машине с 486 процом 😦
тот компонент который нельзя было заложить 3 года назад из-за высокой цены
Проблема ограниченных ресурсов все равно остается. Скажем, некоторая “любительская” конторка, делает спортивные кардиомониторы и аналогичные вещи, набитые всяким хламом, типа велосипедные датчики (вычисляется усилие правой и левой ноги и так далее), компасы, высотомеры, калории считает и так далее, ну и время, конечно, показывает. Ну и попробуй, чтобы все это располагалось в корпусе часов, и одной пуговичной батарейки хватало на 2-3 года. Да, желательно чтобы процессор стоил меньше доллара, потому как массовое производство - на счету каждый цент.
Некоторые датчики вообще неразборные (в воде им плавать надо) - т.е. батарея должна лет 10 работать.
Делаю OSD, автопилот и инерциалку…
Давай дружить ?
rcopen.com/forum/f58/topic225916
В общем, прошу помочь сопрячь датчик (гироскоп или любой другой) по протоколу I2C c компом через USB.
Не знаю с чего начать.
Начните с выбора контролера. Далее выбирете какой будете юзать юсб на конролере програмный или апаратный. Если програмный то скорость не моблее USB 1.1 что в принципе для И2С и хватит. Далее следует выбрать какую библиеотеку юсб юзать на контролере, их много самая расспространенная V-USB открытая и бесплатная для некомерческих проектов. Далее определитесь на чем будете писать софт со стороны ПК и скачать для него тоже библиотеку для юсб.
Потом сюда почитать microsin.ru/content/view/757/44/ , и там дальше по сылкам…
Еще вариант использовать FT232, эмулятор com порта через юсб.
Роман, благодарю.
Давай дружить ?
rcopen.com/forum/f58/topic225916
Давайте. 😃
Но компутер на вертолет это по моему гиблая идея с точки зрения потребляемой мощности. В данном случае OMAP-L137/L138, если хотите использовать линух или просто TI C674x - более перспективная идея.
В принципе то что я делаю можно будет и на вертолет поставить. Просто алгоритм стабилизации будет другой и передавать изображение по WiFi будет невозможно, так как это не эффективно.
Есть вот такая система С-300. главный мозг там- одноадресная машина, , 128кб программ и 2кб оперативки, 2 Мгц тактовой.
Там вся фильтрация и обработка сигналов делается в аналоговой форме. А расчет сам да, он много времени и ресурсов не занимает. Более того. Там код написан на чистом ассемблере. В условиях неограниченных людских ресурсов и ограниченности аппаратных это оправданно.
Но нормальные ДСП уже были доступны лет 5 - 10 назад, так что отсутсвие их в автопилотах не показатель того что их в момент разработки небыло.
более перспективная идея
Крутовато. Мне б сначала осилить вот это microsin.ru/content/view/1199/44/
Потом к нему прикрутить вот это www.promelec.ru/pdf/LIS3LV02DQ.pdf
и так далее.
Пока что мне не представляется возможным запрограммировать микроконтроллер для полёта по координатам.
В воображении только через комп.
“И эти люди запрещают мне ковыряться в носу!” (С) 😃
Все понятно. С этим эллементом определились
Не совсем понятно - поворот сервы регулирует ширина импульса, или продолжительность? Т.е. серва постоянно под нагрузкой или поворот определяется временем подачи напряжения?
Угол сервы определяет ширина импульса. Не угол, на который нужно повернуть серву, а ее абсолютный угол. Например, при ширине импульса 1 мс серва стоит в 0 град., 1.5 мс - 90 град., 2 мс - 180 град.
Цифры - только для примера, за точность не ручаюсь.
Не совсем понятно - поворот сервы регулирует
Прошу прощения, что влезаю! Но может быть стоит проявить уважение к топик-стартеру и его теме, и прочитаь хотя бы ДВА(!!!) первых поста данной темы?
Небольной апдейт по проекту.
- Мне пришли все компоненты включая две платы ZBee Pro 868
- Вчера запустил ДСП вместе с внешней памятью. Т.е. подключил jtag. TI и память работает нормально. Конечно не обошлось без косяков на плате (типа забыл ресет пин к питанию подключить и индикатор питания на jtag вывести), но они были героически устранены. Все остально работатет нормально.
Пока можно смело сказать что все идет по плану. DMA драйвер почти готов. UART I2C и SPI на подходе.
Сейчас очевидно что как макет и первый экземпляр для отладки плата удалась и скоро должна полететь. 😃
Это были хорошие новости. 😃
Теперь про плохие. 😃
Сейчас мне уже очивидно что плату придется переделывать. Есть несколько косяков на плате устранение которых требует усилий, что не приемлимо к масс продакшен. Основной косяк это LGA16 и LGA28 корпуса. В принципе все было сделано правильно, но оказалось реализуемо только в расчете на машинную пайку. Пояльником припоять их не получится. Поэтому на первом макете они будут стоять на внешних маленьких платках.
Следующий косяк это 176 ножечный процессор. На следующей плате я поставлю pbga256. В связи с тем что мне удалось на выходных в супермаркете отхватить мини духовку за 30 евро, паять pbga теперь не проблема (как минимум большую духовку для этого не надо гонять). Ну и пару косяков с jtag ом конечно оказались неприятными. 😃
Но это мелочи. Для первого макета - нормально. 😃
Основная хорошая новость в том, что теперь все компоненты системы работают. Осталось только запрограммировть, но это уже не проблема. Следующая позитивная новость в том, что появилась возможность заказать полный монтаж платы за вполне приемлимые деньги (20-30 баксов). 😃
В конце недели выложу апдейт для писишного софта. Там есть несколько нюансов которые хотелось бы обсудить. 😃
…сопартийцы дышат в спину…
приобрёл lm75bim-5 - для измерения температуры воздуха “за бортом” 😉 ( корпус нормальный - ножки торчат внаружу )
жду заказанную плату для подключения девайса по usb, с вниканием как оно взаимодействует.
косяк это LGA16
А LCC на catalog.compel.ru/sensor_accel/list только аналоговые.
а что страшного в LGA? феном их.
а что страшного в LGA? феном их.
Я сделал выводы под них на плате как для машинной пайки. В итоге они оказались короткими и припаять паяльником их не получается.
А чтобы паять феном, во первых надо этот фен купить, а во вторых надо купить bga шарики. 😃
тогда попробуйте так. печку вы купили. залудите площадки обычным паяльником. каплю флюса. сверху чип, и “в печку его” (с)
тогда попробуйте так. печку вы купили. залудите площадки обычным паяльником. каплю флюса. сверху чип, и “в печку его” (с)
Не прокатит.
Во первых, у меня компоненты с двух сторон, а во вторых большая их часть уже на плате. А греть процессоры лишний раз не охото. 😃
В любом случае так как на внешних платках меня все вполне устраивает и сейчас это уже не проблема. Плату я буду доводить до ума и переделывать по любому.
Для первого опытного экземпляра в любом случае, вполне приемлимая плата получилась. 😃
Доброго времени суток, господа!
Я внимательно слежу за данной темой, т.к. мне очень интересен вопрос инерциальной навигационной системы и использовании ее для автопилота.
К сожалению никак не могу толком понять, что же такое OSD? Подскажете? Как я понял - это что-то типа “текст поверх основного изображения” - как меню в телевизоре. Тогда как это привязанно к остальной задаче?
Еще интересно на какой стадии работа, а то что-то давно нет никаких вестей. Понятно, что возникла проблема с отсутствием фена.
Поскольку мне работа интересна, то готов принять участие в разработке алгоритмов, если такая помощь будет необходима.
OSD - OnScreen Display - информация, выводимая поверх основного изображения. К остальной задаче это привязано тем, что OSD выводит в реальном времени информацию об углах, кренах, скорости, высоте и т.п. То есть, инфу, непосредственно связанную с навигацией 😃
У когонить есть алгоритм, или выкладки как связать гироскоп и акселерометр?