OSD на ATmega1281

astr
Nick_Shl:

Гироскоп не надо корректировать. Гироскоп надо интегрировать. Постоянно. На выходе получаем угол крена.

Получите не угол крена, а интегральную ошибку, через небольшой промежуток времени после сброса, расчетный крен с реальным будет иметь мало общего.

msv

Может у кого есть ссылки, где можно купить (подешевле, конечно) эти самые thermopiles? Да и про FMA много слышал, но как-то не отложилось- где и почем?
2Nik_Shl Все равно не догоняю… Даже при идеальном определении высоты ее изменение вовсе не определяет тангаж.
После интегрирования по времени данных от гироскопа имхо можно получить только некоррелированную ошибку. В моем представлении данные от гиро наоборот надо дифференцировать по времени и складывать с проинтегрированным данными от акселя. Не вижу никаких проблемм с математикой, постоянные времени дифференцирования/интегрирования достаточно очевидны и определяются качеством (скоростью “ухода”) гироскопа. Хотя может чего не понимаю…

О… уже опередили…

Nick_Shl
msv:

Даже при идеальном определении высоты ее изменение вовсе не определяет тангаж.

Не высоты! С GPS мы получаем координаты и высоту. Их можно рассматривать как трёхмерные координаты - x,y,z. Имея координаты двух соседних точек мы можем определить положение самолёта в пространстве. Можем определить угол к горизонту. Однако этому положения не хватает “крена”. Можно самолёт представить насаженным на ось - и на ней он может свободно вращаться, а направление при этом не изменяется.

msv:

После интегрирования по времени данных от гироскопа имхо можно получить только некоррелированную ошибку. В моем представлении данные от гиро наоборот надо дифференцировать по времени и складывать с проинтегрированным данными от акселя. Не вижу никаких проблемм с математикой, постоянные времени дифференцирования/интегрирования достаточно очевидны и определяются качеством (скоростью “ухода”) гироскопа. Хотя может чего не понимаю…

Чего-то как-то слишком много умных слов… уже перестаю понимать 😃. Под интегрированием я понимал складывание(крен в одну сторону положительный, в другую - отрицательный). В результате имеем угол отклонения(крен) от продольной оси самолёта. А на счёт ошибки: разве не так работают гироскопы с удержанием хвостовой балки? Как я понимаю, их задача руля машинкой удерживать угол изменения в нуле(если хвост ушёл в сторону на 5 градусов, его надо повернуть в другую сторону на эти же 5 градусов). И ведь прекрасно держат…

Единственное что я не учёл - необходимо постоянное отслеживание положения самолёта в пространстве. В ситуациях когда мы развернём самолёт только с помощью руля направления или сделаем пол петли и направление движения самолёта и крен(относительно самолёта) будут одинаковы, а вот крен относительно земли будет отличатся на 180 градусов…

msv

Можно самолёт представить насаженным на ось…

Нее…, не можем… Я и пишу:

Даже при идеальном определении высоты ее изменение вовсе не определяет тангаж.

(Млин… себя начинаю цитировать… плохой тон…)
Самолет может терять высоту и даже набирать с нулевым тангажом. Для активного управления требуется знать именно тангаж, если конечно это не сверх-устойчивый планер, для которого и РВ не нужен, а высотой управлять, скажем, тягой двигателя.

Чего-то как-то слишком много умных слов…

Ну Вы первый начали про интегрирование… 😃

Под интегрированием я понимал складывание(крен в одну сторону положительный, в другую - отрицательный). В результате имеем угол отклонения(крен) от продольной оси самолёта.

У нас разное представление о гироскопе (вовсе не уверен, что мое правильное). В моем представлении гироскоп выдает абсолютное значение крена, независимо от скорости его изменения, как бы с постоянной составляющей. Поэтому непонятно зачем еще что-то складывать/интегрировать.
Вся беда, что это постоянная составляющая (значение, соответствующее нулевому крену) со временем уплывает, и его надо корректировать. Для этого и можно использовать сглаженное за достаточный период времени значение от акселерометра.
2МаркАнтоний это хорошие аклерометры (наверное), но для измерения крена объекта двигающегося с ускорением, их не достаточно…

Syberian
msv:

У нас разное представление о гироскопе

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

astr
msv:

У нас разное представление о гироскопе (вовсе не уверен, что мое правильное). В моем представлении гироскоп выдает абсолютное значение крена, независимо от скорости его изменения, как бы с постоянной составляющей. Поэтому непонятно зачем еще что-то складывать/интегрировать.

В основном электронные гироскопы выдают скорость поворота, которую нужно проинтегрировать для получения крена. Вы же не собираетесь устанавливать механический? На счет балки вертолета - если пилот не будет подруливать хвостовым ротором, за 5-минутный полет балка сделает несколько оборотов.

Nick_Shl
msv:

Самолет может терять высоту и даже набирать с нулевым тангажом. Для активного управления требуется знать именно тангаж, если конечно это не сверх-устойчивый планер, для которого и РВ не нужен, а высотой управлять, скажем, тягой двигателя.

Всё дошло 😃. Признаю был не прав…
Давно не летал, надоело падать 😃. Падение с выключенным двигателем хороший пример - летит вроде вниз, продольная ось может кувыркаться…

msv:

У нас разное представление о гироскопе (вовсе не уверен, что мое правильное). В моем представлении гироскоп выдает абсолютное значение крена, независимо от скорости его изменения, как бы с постоянной составляющей. Поэтому непонятно зачем еще что-то складывать/интегрировать.

На самом деле(как уже заметили выше) пьезогироскопы - это угловые акселерометры, выдающие скорость поворота относительно оси. Самый простой датчик выдаёт скорость в виде аналогового сигнала, пропорционального скорости поворота. Как мне думается, что бы получить угол, нужно опрашивать датчик с высокой частотой и высчитывать угол поворота с предыдущего отсчёта как скорость поворота * время прошедшее с последнего измерения. Соответственно, что бы отслеживать изменение угла, получаемые значения нужно суммировать…

Русинов_Сергей
Nick_Shl:

это угловые акселерометры, выдающие скорость

Акселерометр не выдаёт скорость, он выдаёт ускорение со знаком. Т.о. для компенсации отклонения от оси необходимо выдать ускорение с противоположным знаком.
З.Ы. Про системы регулирования здесь писать ничего не буду.

Nick_Shl
Русинов_Сергей:

Акселерометр не выдаёт скорость, он выдаёт ускорение со знаком. Т.о. для компенсации отклонения от оси необходимо выдать ускорение с противоположным знаком.

Воспользовался термином не подумав. Зато могу подсказать как сделать в домашних условиях простейший акселерометр для баловства 😃.

Русинов_Сергей
Nick_Shl:

могу подсказать как сделать в домашних условиях простейший акселерометр для баловства

Предпочитаю изделия от аналоговых девиц… 😃

msv

Лучший гироскоп - это трехмерный компас

Была такая мысль… Даже уже начал заказывать сет HMC1055. Но подумав, понял, что по одному вектору невозможно построить однозначную 3D систему координат, а значит и посчитать углы (тк. просто непонятно от каких осей их считать). Буду рад выслушать опровержение.
Про гироскопы возможно пишу бред, т.к с ними не сталкивался, сильно не ругайте. Но в моем впечатлении просто угловой аксель это еще не гироскоп. А если уж назвался гироскопом то обязан выдавать угол. И не важно на каком принципе этот угол определяется: механический волчок или угловой аксель+какой-то хитрый вычислитель/интегратор.

Зато могу подсказать как сделать в домашних условиях простейший акселерометр для баловства

Отвес? 😃 Поделитесь конечно…
ЗЫ Кто-нибудь заказывал FMA-голову? Поделитесь впечатлениями, в тч. насколько сложно заказать в Россию. Можно в личку…

Vad64

Трехмерного компаса недостаточно. Например, в ситуации, когда одна ось параллельна линиям магнитного поля Земли, будет полная неоднозначность положения.
Гироскопами тут называют датчики угловой скорости. Они выдают именно угловую скорость, а не ускорение и не угол. Если интересно, посмотрите на моей страничке проект с использованием такого датчика. Акселерометры - это совсем другие устройства и они выдают линейное ускорение.

Syberian
msv:

Буду рад выслушать опровержение.

Не для форума. Завтра отпишу в личку. Это вас убедит 😉

msv

В системе координат 3d компаса вектор S-N будет однозначно определен при любом положении. Но что делать дальше?.. Мне нужны углы с плоскостью параллельной земле. У меня есть вектор в этой плоскости. Но вектор это только две точки, а для определения плоскости в пространстве нужно три… Заинтригован…
2Vad64
За ликбез по гироскопам- спасибо. ( Теперь дошло, что хотел интегрировать Nik_Shl. 😃 ) Посмотрел проект, серьезный подход, спасибо.

Syberian

А графический OSD это отличная идея! Повторил видеодрайвер. Жалко, что весь порт занимает… У меня влезло в 4 килобайта срама на ATMEGA644. Тем более, что 20 МГц это его штатная частота.
В промежутках по краям экрана можно что-то считать + 224 байта памяти в запасе. Неплохо, учитывая, что видеопамять вся внутри и доступ быстрый донельзя. К тому же, основной процесс в Main протекает и не критичен по времени.
Надо попробовать привинтить к нему какой-нибудь 3D интерфейс, ибо драйвер занимает всего 40 слов, а быстродействия осталось еще 10 MIPS 😃 😁
Также есть идея: использовать внутреннюю генерацию синхро, если пропадает внешняя. Так при отказе камеры, например, в облаке от сырости, можно будет и по приборам лететь 😃

Aleksey_Gorelikov

Автору респект!

Сергей, а не пробовал картинку реалистичнее делать? В плане чтоб “освещение” не слева направо было, а в соответвии с солнцем ? 😃

Syberian
Aleksey_Gorelikov:

а в соответвии с солнцем ?

если придумаете, чтобы развертка в телевизоре меняла направление в зависимости от солнца, будет вам “реалистичней” 😁
Вообще, это для того, чтобы на белом фоне буквы видеть, а не красота…Называется ВЧ-фильтрация, или, как Сергей выразился, дифференциатор. Делается внешним конденсатором. Развертка идет всегда слева направо, поэтому тени сменить не получится. Только убрать.

Ничего, что я ответил? 😃

Aleksey_Gorelikov
Syberian:

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

Ничего, что я ответил? 😃

Вот смотрю ща кино по телеку, а там направление теней соответвует источнику света 😃, хотя развертка тож слева направо и сверху вниз.

Просто не вглядывался в превьюшки, не посмотрел, как тени реализованы. А чтоб читалось лучше независимо от картинки - фон может иметь смысл вобще черным делать там где надписи, или у букв черную окантовку делать. На белом фоне белые буквы с тенями конечно читаются лучше, чем без теней,но тоже нифина не комфортно.

Nick_Shl
Aleksey_Gorelikov:

Сергей, а не пробовал картинку реалистичнее делать? В плане чтоб “освещение” не слева направо было, а в соответвии с солнцем ? 😃

Реалистичнее это совсем убрать 😃. На реальных самолётах OSD выводится с помощью ЭЛТ зеркально и отражается от лобового стекла.

Vad64:

посмотрите на моей страничке проект с использованием такого датчика

Я тоже это читал. Классный проект!

msv:

Отвес? Поделитесь конечно…

Нет, не отвес. Примерно так:

Трубка из диэлектрика, две токопроводящие пробки, к одной из них приклеивается токопроводящим клеем пьезокристалл(найти можно в зажигалке, поджигающей газ высоковольтной искрой), с другой тороны к нему приклеивается грузик из металла, к которому припаивается тоненькая проволочка, которая припаивается к другой пробке. Грузик(да и сам пьезокристалл) обладает инерцией. При смещении всей конструкции вдоль оси он будет этому противодействовать, сжимая или растягивая пьезокристалл. На его концах появится напряжение пропорциональное силе сжатия/растяжения.
Это в теории… Надо бы поэкспериментировать ради интереса 😃.
Но

Русинов_Сергей:

изделия от аналоговых девиц… 😃

всё равно лучше 😃.