Телеметрия (часть 1)
Нет, я об этом не подумал, но всеже, крайние точки отклонений думаю ему знать необходимо. Иначе может загнать серву в тупик, а если серва мощная то и отломать чего нить.
крайние точки отклонений думаю ему знать необходимо. Иначе может загнать серву в тупик, а если серва мощная то и отломать чего нить.
Да, это нужно. Наверное. Впрочем, если я правильно понимаю, если ширина PPM на выходе ограничена от 1 до 2 мсек, то серву не сломать никак. Ну разве что механически что-то там ограничивает ход сервы. Тогда - да. Но те кто такое строят - сами себе злобные буратины.
Хочу еще раз четко написать, чего я хочу. Возможности-то мои невелики, я ж не гуру, и полноценный беспилотник мне не по зубам.
Моя цель - попробовать сделать простой надежно работающий автопилот с банальной целью избежать потери самика при потере сигнала и прочих ЧП.
Заплутал, захотел вернуться, кончаются батарейки или просто потерялся RC сигнал - включай(включается) автопилот: неспешно развернулись, заняли заранее запрограммированную высоту, прилетели на базу, кружим на этой высоте над базой. Дальше будь добр включить передатчик или отключить автопилот и посадить самик ручками.
Посадка при помощи автопилота, с ультразвуковыми датчиками и т.д. и т.п. - это уж как получится. Получится - хорошо, а не выйдет, так и фиг с ним. Нельзя объять необъятное.
Ну, а вкусности типа логгинга данных в память, настройки через компук, слива данных в компук - это нужно, от этого в наше время уже грешно отказываться.
Не, я не про поломку сервы, я про поломку самика (вывороченный с корнем кобанчик, или оторванный элерон 😃 ). Как правило, сегодня мы строим самики не сильно задумываясь о том что ход сервы может быть больше допустимого хода например руля высоты. Это раньше, до компьютерной аппы. нужно было настраивать расходы механически. Сегодня же чаще всего расходы подстраиваются программно, отсюда и возникает необходимость ограничивать расходы у автопилота. Или же придется по старинке настраивать расходы механически. а автопилот не будет вылазить за 1-2мсек.
Проверил датчик тока в реальных условиях.
Отклонение выхода датчика от заявленного VCC/2 при нулевом токе и неидеальная точность резисторного делителя на соответствующем входе АЦП
привели к тому, что просто вычитать из показаний АЦП фиксированную величину нельзя - недостаточно точно, особенно на малых токах.
В таком варианте датчик показывает 0.00А при подключении в разрыв питания камеры и видеопередатчика, то есть, где-то 300-600мА оказались съедены ошибкой резисторного делителя и датчика тока.
Чтобы не калибровать каждую плату с датчиком отдельно и не молиться, чтоб калибровка со временем куда-нибудь уползла, пришлось идти на тот же трюк, что и с датчиками давления: за нулевой ток принимаются показания датчика во время старта платы телеметрии - первые 15 секунд.
После этого удалось, наконец-то, точно определить, сколько же кушает моя камера с передатчиком: 580 мА. Не так уж много.
Видео и прошивка версии 226 - через 20 минут.
Прошивка:
Картинка с видео:
Видео (730кб):
Термодатчик, датчик тока, модуль GPS:
Система в сборе:
Утомил, чесслово. Ценю помощь, но ребусы и эти вот экивоки достали уже.
И когда же я успел утомить высочество?
Не надо огрызаться на попытки помочь, не будет “экивок”. Впорочем, дело твоё. Ставь хоть 10 пирометров и мерий ацп дискретные выходы. Только в уравнении всего 4 элемента, а остальные, как ни крути, сокращаются.
Кстати датчики бывают не только двунаправленные на ±XX ампер но и одно направленные на +ХХ ампер. У первых выход в покое = Питание /2 а у вторых - ближе к 0 вольт. Другое дело что в продаже их быть могет слегка сложнее найти.
датчик показывает 0.00А при подключении
Мне кажется, что датчик тока на сенсоре Холла так устроен - в момент подачи питания он автокалибруется на 0 (от температуры/внешнего магнитного поля как минимум), а потом уже показывает дэльту от авто калиброванного нуля.
Так что ничего удивительного что съелось 500 мА. Наверняка автокалибровка датчика съест и более.
А вот как с этим бороться кроме отдельного линейного стабилизатора питания датчика тока - не знаю.
Ну или можно к этому авто калиброванному в датчике 0.00А прибавлять заранее известный ток потребления покоя - он не сильно колебается без приёмника/руль машинок.
Ну и если экономить место на экране то вполне можно выводить номер и напряжение только одной самой просевшей банки - тогда и компоновка экрана не будет менятся при изменении количества банок.
Автопилот - это система с регулируемой отрицательной обратной связью, так что тщательно настраивать средние положения и т.д. не надо.
Даже если и встанут рули раком при его включении, изменение ориентации аппарата заставит автопилот тут же выровнять самик и поддерживать нужный курс и ориентацию.
И даже инвертирование какого-либо из каналов - пофигу. Математике всё равно, какая ширина PPM приводит к крену в нужную сторону. Математика подберет PPM так, чтобы крен всегда шел в нужную сторону.
Ошибаюсь?
Я бы все-таки задавал крайние точки, центр и направление рулящих каналов в автопилоте. Крайние точки - чтобы не сломать что-нибудь. Центр - чтобы можно было использовать уже оттриммированный аппарат с простейшим пропорциональным регулированием. Ну и направление, чтобы не подбирать его на лету. Математика - великая штука, но неоправданно усложнять себе жизнь я бы не стал.
Что касается пирометров, как я понимаю, в данном случае достаточно иметь 2 пары датчиков и 2 канала АЦП, как в FMA Co-pilot.
smalltim - успехов!
И когда же я успел утомить высочество?
Не надо огрызаться на попытки помочь, не будет “экивок”. Впорочем, дело твоё. Ставь хоть 10 пирометров и мерий ацп дискретные выходы. Только в уравнении всего 4 элемента, а остальные, как ни крути, сокращаются.
Мы, наверное, всё-таки о разных вещах говорим. Я - о вот таких пирометрах: www.platan.ru/shop/www_17.html
Стоят не 30 баксов + доставка из-за бугра, как датчики от Melexis, а 59 российских рублей, имеют аналоговый выход и требуют ОУ и АЦП.
По 2 датчика включаются мостом на один ОУ, дальше - на вход АЦП.
3 пары датчиков нужно, во-первых, для того, чтобы по вертикальной паре калибровать остальные две пары, а во-вторых, чтобы определять положение самика, не дай Бог, “кверху брюхом”, ибо на двух парах датчиков ориентация самика в пространстве однозначно не определяется.
Про попытки помочь - ценю, без оговорок. На днях закупаю USB key и окунаюсь с головой.
Мне кажется, что датчик тока на сенсоре Холла так устроен - в момент подачи питания он автокалибруется на 0 (от температуры/внешнего магнитного поля как минимум), а потом уже показывает дэльту от авто калиброванного нуля.
Так что ничего удивительного что съелось 500 мА. Наверняка автокалибровка датчика съест и более.
Не, этот датчик тока ратиометрический, так что если питать его от того же, чем питается АЦП, при нулевом токе у него будет строго VCC/2 (ну, плюс/минус заявленная производителем погрешность) на выходе. Засада в том, что на плате распаян резисторный делитель 1кОм:2кОм, так что просто вычитать из показаний АЦП VCC/(2*3) не катит - резисторы имеют погрешность. На другом экземпляре платы, например, будет другое соотношение сопротивлений, и плата всегда будет добавлять 0.5А.
Поэтому я запоминаю, что присутствует на входе АЦП при старте телеметрии (в этот момент лучше не шевелить сервами и не грутить мотор), и потом просто вычитаю это из текущих показаний. Работает на ура 😃.
Но давайте не будем делать универсальную летающую теле-кофеварку с изменяемой геометрией и сушкой белья!
Дык, я ведь никого не уговариваю. Я предложил очередное свое уже [почти] готовое решение, на мой взгляд красивое (архитектурно) и с изрядным потенциалом по наращиванию функциональности. Если оная функциональность и красота никому не нужны, - так это дело хозяйское… - Буду есть сам, “в одну харю”. 😛
PS: А максимум расходов автопилоту знать все-таки нужно. Потому как они обычно ограничиваются не способностью РМ воспринимать канальные импульсы, а механикой рычагов, тяг, кабанчиков и собственно управляющих плоскостей.
Brandvik это хорошо определил: “чтобы не сломать самолет”.
Мы, наверное, всё-таки о разных вещах говорим. Я - о вот таких пирометрах: www.platan.ru/shop/www_17.html
Я полагаю, эти датчики не подойдут. Они предназначены для охранных систем и нормально работают только с переменной составляющей сигнала. CO-pilot использует не пирометры, а термопары (thermopile). Вот они выдают постоянную составляющую и их можно включить встречно-последовательно до ОУ для идеальной балансировки. В пирометрах же встроены истоковые повторители и такое включение не получится. Ну и, конечно, главное - эти пьзопирометры не выдают постоянную составляющую (чувствительность обычно нормируется на 1 Гц переменном сигнале). Так что надо или быстро качать крыльями или ставить перед датчиками механические обтюраторы.
Мы, наверное, всё-таки о разных вещах говорим. Я - о вот таких пирометрах: www.platan.ru/shop/www_17.html
Стоят не 30 баксов + доставка из-за бугра, как датчики от Melexis, а 59 российских рублей, имеют аналоговый выход и требуют ОУ и АЦП.
По 2 датчика включаются мостом на один ОУ, дальше - на вход АЦП.3 пары датчиков нужно, во-первых, для того, чтобы по вертикальной паре калибровать остальные две пары, а во-вторых, чтобы определять положение самика, не дай Бог, “кверху брюхом”, ибо на двух парах датчиков ориентация самика в пространстве однозначно не определяется.
Датчик за 59р, это IRA-E710ST0? Что-то аналогового выхода я у него не нашёл…
Зато нашёл тестовый стенд: search.murata.co.jp/…/CatalogshowpageAction.do?sDi…
Как видно, на датчик дают импульсный сигнал, ибо постоянку он мерить не умеет. Что подтверждает вот эта схема на нём: www.masterkit.ru/main/scheme.php?num=723 Видно, что собран пороговый детектор. Постоянки там быть не может хотя-бы из-за наличия С2.
Иными словами, Ваша схема будет показывать изменение температуры. Но как только она выровняется, неважно на каком значении, датчик покажет ноль.
Буду рад, если окажусь не прав.
Пути обхода этого я представляю, но на практике ещё не применял.
Чтобы датчики работали мостом, надо выдержать равность их характеристик. Или вводить крутилки для выставления смещения в ноль в идеальных условиях. Калибровка цифрой не прокатит, т.к. в нормальной работе датчики в разные стороны и не в одинаковых условиях.
Мои мелексисы стОят 500р в москве и выдают температуру в цифре. Вот только купить их частнику проблема 😦 Если есть знакомое ЮЛ, которое переведёт безнал, - проблем нет, от 2 штук продают.
Кроме того, никто не мешает, обкатав алгоритм на заведомо рабочих пирометрах мелексис, пробовать удешевлять установкой обычных датчиков. Это логично. Но сразу с обычными датчиками можно погрязнуть в проблемах, источник которых совершенно не ясен.
Я покупал через контору, так что цена доставки пофиг.
Про 3 пары. Допустим, самолёт стоит и нижний датчик смотрит на тень. Взлетел - тени уже нет. И всё калибровка идёт лесом 😃
Пирогоризонт работает на принципе равности сигналов всех 4 датчиков. В идеале, ему вообще калибровка не нужна, но я пока этого не добился… Появится время, буду пробовать.
Сейчас калибруюсь повернув самолёт боком.
Положение в пространстве легко определить тупым маятником или простеньким акселерометром, который покажет плюс-минус лапоть, в какой стороне земля.
Можно периодически покачивать крыльями, проверяя, как меняется температура. При раскачке в сорону земли она должна расти.
Я полагаю, эти датчики не подойдут. Они предназначены для охранных систем и нормально работают только с переменной составляющей сигнала. CO-pilot использует не пирометры, а термопары (thermopile). Вот они выдают постоянную составляющую и их можно включить встречно-последовательно до ОУ для идеальной балансировки. В пирометрах же встроены истоковые повторители и такое включение не получится. Ну и, конечно, главное - эти пьзопирометры не выдают постоянную составляющую (чувствительность обычно нормируется на 1 Гц переменном сигнале). Так что надо или быстро качать крыльями или ставить перед датчиками механические обтюраторы.
Вот и я о том же!
Можно коммутировать питание датчиков. По идее, сняв питание и замкнув выводы питания и выход, мы разрядим внутренний капацитор. Далее, подаём питание и считаем dU/dt. По сути равнозначно механическому чопперу.
Но это пока домыслы 😃
Мои мелексисы стОят 500р в москве и выдают температуру в цифре.
Дешевле купить готовый блок сенсоров fmadirect.com/products.htm?cat=20&nid=6, чем 4 датчика по 500р.
Мужики нужна помощь, собрал вашу схемку работает отлично но хотелось бы самому написать прогу только на С так как я не знаток асма.
Так вот все бы хорошо только не получается выводить данные, подскажите как осуществляется вывод символов.Буду благадарен.
Дешевле купить готовый блок сенсоров fmadirect.com/products.htm?cat=20&nid=6, чем 4 датчика по 500р.
А документаци на интерфейс и пр. где? Сколько выйдет доставка?
А документаци на интерфейс и пр. где?
Не смешите. Питание и 2 аналоговых выхода
paparazzi.enac.fr/wiki/…/Other_Infrared_Sensors
Мужики нужна помощь, собрал вашу схемку работает отлично но хотелось бы самому написать прогу только на С так как я не знаток асма.
Так вот все бы хорошо только не получается выводить данные, подскажите как осуществляется вывод символов.Буду благадарен.
Если под “прогой” подразумевается фирмвер для телеметрического модуля, то на сях для него писать не получится, - оно и на ассемблере еле успевает…
А символы выводятся программно, подтягивая “в нужных местах” видеосигнал до уровня белого. Выучите асм, посмотрите исходники - и сразу все поймете. - Не “бином Ньютона”. 😃
Если под “прогой” подразумевается фирмвер для телеметрического модуля, то на сях для него писать не получится, - оно и на ассемблере еле успевает…
А символы выводятся программно, подтягивая “в нужных местах” видеосигнал до уровня белого. Выучите асм, посмотрите исходники - и сразу все поймете. - Не “бином Ньютона”. 😃
Теория понятна.Линии да квадраты получаются но как только начинаю работать с символами все растягивается как будто опирация присвоения выполняется милисикунд 10.
Возможно это может оказаться полезным
…monash.edu.au/…/horizon_sensing_autopilot.pdf
www.nongnu.org/paparazzi/links.html
Если под “прогой” подразумевается фирмвер для телеметрического модуля, то на сях для него писать не получится, - оно и на ассемблере еле успевает…
А символы выводятся программно, подтягивая “в нужных местах” видеосигнал до уровня белого. Выучите асм, посмотрите исходники - и сразу все поймете. - Не “бином Ньютона”. 😃
Ну почему ж не получится- надо просто представлять во что компилируется написаннаяя тобой инструкция, и все… есть много успешных проектов, сделанных на С… в данной ветке ссылки на них давались. Ваш покорный слуга сделал это в 2000г на AT90S4433 кристалле.
Если не успеваете программно, делайте аппаратно, например SPI используя…
Не смешите. Питание и 2 аналоговых выхода
paparazzi.enac.fr/wiki/…/Other_Infrared_Sensors
И того 43$ за модуль с аналоговым выходом, у которого ещё резюки надо перепаивать под себя или 25*4 баксов за 4 полностью цифровых калиброваных сенсора, выдающих уже температуру (причём видимую и воздуха) с возможностью ифровой выставки. Я лично радикальной разницы не вижу 😃
всем
В выходные игрался с EZ0. Странный он… В цифре я его так и не запустил ( история любви тут: forum.ixbt.com/topic.cgi?id=48:7924-5#152 ), пришлось оценивать работу по вольтметру, подключённому к аналоговому выходу.
Во-первых, очень широкий угол обзора. Если держать его на вытянутой руке, он всё равно чувствует тело и из-за этого завирает. Приходится ещё чуть отклонять от себя. Но тут другой косяк - при наклонах выше ~15 градусов сонар теряет землю и показывает бесконечность…
Ещё непрятная особенность - он достаточно тормозной. Если резко водить вверх/вниз, начинает бесится. Если направлять на быстро подходящего человека, не успевает сообразить что происходит - стрелка вольтметра начинает истерично метаться. Если человек подходит медленно, всё ок.
Из хороших свойств - отлично чувствует поросшую травкой землю, на колебания высоты этой травки почти не реагирует. Над бетоном работает вообще идеально. Над водой хуже, немного привирает с расстоянием.
Подходящего человека ловит метра за 4, после чего показывает расстояние достаточно точно.