Для развития темы. Может, кому пригодится.
Пока едет очередная партия из 5шт MPU6050, экспериментирую с одним "пережившим конструирование".
Цель - понять, что можно выжать из данного чипа и нескольких параллельно.
Для начала пришлось решить задачку вычисления частоты работы кварца.
Таймер в программке настроен на срабатывания каждую 1мс.
1 раз в 5мс на SD-карту сбрасываются текущие значения и значения счётчика времени.
Секундомером засекаем момент начала записи (мигание светодиода), ждём сколько можем (5-10-20 минут), выключаем прибор.
За ~300 реальных секунд приборчик насчитал примерно 298 "внутренних" секунд.
По данным значениям корректируем значения частоты и параметры счётчика. Частота встроенного кварца на 8МГц оказалась около 7.863Мгц.
Как бы не пришлось потом ещё и термостабилизированный генератор вместо кварца ставить для точности
Далее начались эксперименты с термокомпенсацией значений датчиков.
Делал в 3 положениях (оси X,Y,Z перпендикулярны условно-горизонтальной плоскости). Температура - от 30 до 50 градусов Цельсия (по данным сенсора датчика).
Начинал с комнатной температуры, затем обдувал феном слегка, последняя стадия - остывание несколько секунд.
Позже выложу на файлообменник исходные таблички и графики, сюда более 1Мб не выкладывается.
Расчёт делался при максимальной чувствительности сенсоров:
(16384)LSB/1g (единиц на 9.8м/с2)
(131)LSB/dps (единиц на 1 градус в секунду)
О реальной горизонтальности положения датчика говорить не приходится - всё "на глазок".
Резюме по расчёту термокомпенсации:
1) Нет разницы, в какой ориентации рассчитывать - достаточно основной, когда Z перпендикулярно условному горизонту.
2) Сенсоры акселерометра по X и Y слабо зависят от температуры, коэффициент около (-0.1)...(-0.2) (в LSB на +0.1 градуса Цельсия).
3) Сенсор акселерометра Z сильно чувствителен, коэффициент около (-4.0)...(-6.0) (в LSB на +0.1 градуса Цельсия).
4) Сенсоры X и Y гироскопа зависят от температуры чуть сильнее, чем сенсор Z. Коэффициенты для них примерно +0.4 LSB на +0.1 градуса Цельсия.
5) Сенсор Z гироскопа имеет коэффициент +0.15 LSB на +0.1 градуса Цельсия.
6) Пока предполагаю, что для каждого экземпляра датчика коэффициенты могут быть специфичны, также как и значения сенсоров температуры.
+7) На графиках показаний акселерометра по Z (от температуры) наблюдается некоторая скачкообразная нелинейность, вероятно, от резкого разогрева.
После этого скорректировал процедуру стартовой калибровки гироскопа (все 3 сенсора в 0),
чтобы и в данной процедуре уже устранялось влияние температуры.
Сейчас перехожу к калибровке акселерометра.
Интересное наблюдение.
После того, как прибор как-либо вращается затем фиксируется, т.е. находится в состоянии покоя,
гироскоп после ~0.2сек покоя (сенсоры +-5 LSB) возбуждается слегка (сенсоры показывают когда до+-50, а когда и более),
затем опять успокаивается (сенсоры +-5 LSB).
То-ли всё-таки это внешние вибрации, в т.ч. от остаточного дёрганья корпуса,
то-ли всё-таки своеобразный эффект "покачивания" после изменения положения.