Брат-2> Емкость или пьезоэффект но с активного элемента гироскопа мы имеем аналоговый сигнал!
Совершенно верно, и, притом, весьма зашумлённый. У меня типично выходит - на максимальной частоте, которую обеспечивает гироскоп, шумы измеряются десятками квантов АЦП. На жаргоне эти кванты называются LSB - это английское сокращение "младший значащий бит".
Брат-2> Далее обязательно УВХ, квантование и через шаг дискретизации все повторно!
Ну, во-первых, УВХ обязательно только при некоторых архитектурах АЦП, при других, например, сигма-дельта, без него работает ничуть не хуже. Во-вторых, внутренний квант может быть и обычно бывает гораздо меньше внешнего. То есть, например, у тебя частота обновления выходных сигналов 100 Гц, а, на самом деле, АЦП внутри лупит на 800 Гц, и усредняет 8 последовательных значений, иначе бы шумы были ещё больше.
Брат-2> То есть, нет ни сереньких, ни фиолетовых треугольничков , поэтому нет и компенсации.
Они есть обязательно
Кривая - это тот самый "аналоговый сигнал", а треугольнички возникают именно из-за того, что значения фиксируются на весь временной промежуток. Эта картинка - иллюстрация к "методу средних прямоугольников", который практически эквивалентен (ну, практически, не значит математически, но очень близко) методу трапеций. И, следовательно, является интегратором первого порядка.
Обычно мы имеем дело с "методом левых прямоугольников", т.е., как ты говоришь, значение фиксируется и распространяется на весь временной промежуток до следующего отсчёта.
Но, даже и в этой схеме получается компенсация. Когда "ракета наклоняется", то треугольнички получаются серые, а, когда возвращается в вертикаль - фиолетовые.
Брат-2> Есть мгновенные выборки через определенный период , а, следовательно, чем меньше шаг дискретизации, тем меньше величина ошибки.
Правильно. Но давай посчитаем, чему эта ошибка может быть равна. Возьмём наугад несколько случаев.
Например, ракета за 0,25 секунды поворачивается на 90 градусов, а затем за следующие 0,25 секунды поворачивается обратно. При этом пусть она всё время, за исключением первого кванта времени и последнего, поворачивается с постоянной угловой скоростью. Частоту возьмём 100 Гц. Что соответствует периоду в 10 мс.
Вот мы начали измерять. Ракета начала поворачиваться, но АЦП сработал, пока она ещё покоилась, и зафиксировал ноль. За 10 мс ракета повернулась на 360°/с*0,01 с=3,6°. А наш интегратор считает, что на ноль. За 20 мс ракета повернётся на 7,2°, а интегратор будет считать, что на 3,6°. И дальше, весь поворот, показания интегратора будут отставать от реального поворота на 3,6°. И, когда ракета остановится, он начисленный поворот будет считать равным 86,4°, а не 90°.
Но, когда ты его начнёшь крутить обратно, он же должен ошибиться точно так же? А, значит, когда ты его вернёшь в вертикаль, он должен показывать снова 0°.
Главное здесь, однако, не в компенсации при обратном движении. А в том, что я взял бесконечно большое угловое ускорение. Если бы ракета равномерно разгонялась в течение первых 10 мс от 0°/с до 90°/с, то она бы повернулась за этот, неправильно определённый АЦП квант времени, только на 0,9°, и интегратор ошибся бы тоже только на эту величину.
Но и при этом угловое ускорение ракеты составило бы не очень-то маленькую цифру в 36000°/с
2, а, значит, её должен разворачивать очень большой момент. По крену (вокруг продольной оси) это вполне реалистичные цифры, а по тангажу и рысканию 360°/с - это почти гарантированное разрушение (если только не в апогее).
Брат-2> А картинка со ступеньками из какого источника? Или сам нарисовал?
Ты какую картинку со ступеньками имеешь в виду? Где две линии расходятся? это ж я измерял поворот одновременно акселерометром и гироскопом. Но у меня у моторчика была "мёртвая зона", поэтому и возникали ступеньки.
Брат-2> Андрей, поясни, как проверить воздействие 1g, а то я фома! На естественное смещение гироскопа это влияет? Можно ли величину смещения суммировать, допустим за 10 мин, так будет нормально?
нужно сделать приблуду, которая позволит крепить плату во всех 6 положениях. Т.е. осью Х вверх, осью Х вниз, осью У вверх, осью У вниз, осью Z вверх, осью Z вниз. И последовательно снять 6 серий показаний, т.е. держать плату в каждом из положений по 30-60 секунд, записывая все выдаваемые значения.
Затем затянуть в эксель все полученные циферки, усреднить данные для каждой из 6 минут покоя, и посмотреть, насколько изменяются показания каждого из 3 гироскопов. Должно получиться 18 чисел, 3х3х2.
Причём, гироскоп в это время нежелательно трогать руками, т.к. от рук он будет дополнительно нагреваться, и результат будет искажён. Только плату.
Причём, это нужно проделать, не выключая плату, чтобы питание на неё подавалось, когда ты её вертишь туда-сюда, потому что гироскопы от выключения-включения тоже съезжают.
Причём, этот опыт придётся повторить минимум трижды. В порядке XYZ, ZYX, и YZX.
Показания акселерометров тоже нужно записывать, усреднять и корректировать.
Но акселерометры более стабильны, если ты один раз посмотрел, что акселерометру нужно смещение 128 (т.е. осью вверх он показывает 3128, а осью вниз -2872), то это будет сохраняться более-менее всю его жизнь. А вот ноль гироскопов нужно определять при каждом включении. И ракету при этом болтать, конечно, не должно.
А вот сдвиг от "g" - он тоже более-менее постоянен всю жизнь гироскопа. И более-менее пропорционален ускорению. Т.е. от разгона на 5 g он будет в 5 раз больше, чем от лежания на столе.
Но мы к этому ещё раз вернёмся, когда у тебя циферки на руках будут.
Помни, усреднять нужно не меньше, чем за 10 секунд, иначе за шумами ты ничего не увидишь, но не больше, чем за 60 секунд, иначе случайные блуждания испортят малину не хуже.