Search
Write a publication
Pull to refresh
3
0.1
Send message

В порядке оффтопа (но не совсем). Некогда на Спеке был прорывной редактор/макроассемблер Tasm 4 (минорную версию забыл) за авторством Rst7. И там на макросах был написан пример - питончик, в который можно было играть, запустив компиляцию (т.е. это был полноценный compile-time). Не помню, как именно это было реализовано, но на тот момент это здорово так впечатляло.

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

Формулировка показалась чрезмерно упрощённой, стала интересна реализация, думал, что-то своё или хотя бы по мотивам. Полез в прошивку, потом в даташит, оказалось прозаичнее, bno55 выдаёт уже готовые углы наклонов и поворота (впрочем, последнее не используется, т.к. вращение руля может происходить не только вокруг вертикальной оси, поэтому для поворота логично берутся показания гироскопа по оси z). Я понимаю отсутствие желания заморачиваться с описанием sensor data fusion (фильтров Калмана, Мэджвика и остальных), ориентацию на начинающих и прочая, но есть ощущение, что это стоило хотя бы кратко отметить отдельно (коль скоро описаны потроха и акселерометра и гироскопа. Да и кроме них в микрухе есть ещё и магнитометр, тоже небесполезный датчик).

Выглядит так, что в debug помимо отладочной информации в elf (и в саму прошивку) попадают другие отладочные фичи (оно может включаться/выключаться при определении __DEBUG__ или подобного), также скорее всего отключена оптимизация. Скорее всего это причина дополнительного раздувания. Отладочные символы не попадают в прошивку (бинарник), это исключительно внешняя информация. Можно посмотреть флаги, выставить оптимизацию как релиз, но отладочные символы оставить. Хотя в таком режиме отлаживать чуть тяжелее.

Без отладочной информации потеряется связь с исходниками, т.е. отлаживать можно будет только по дизассемблеру (проблем поставить бряку нет, достаточно выковырять нужный адрес). Тут вопрос - зачем её вырезать? Прошивка всё равно в бине/хексе, а там этого ничего нет.

жырным

Ну, это же только elf от отладочной информации распухает. С прошиваемым бинарником чуть иная история.

Вчера она выпила первые сто грамм...

Простите.

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

Раз в неделю это очень и очень неплохо, я бы не говорил о "едва". Но на ртк и планетвпн свет клином не сошёлся, есть мобильный инет и другие провайдеры впн. Плюс на этот предмет было полно статей, как здесь, так и вообще.

Сочувствую. Но дома? Дома впн тоже запрещён?

Неужели надо учить пользоваться впном?

Посылка та же (модуль проекций), метод - другой (видимо, автор тоже не сторонник получения высшего образования). Для нахождения используется МНК (мне думалось, это первое, что должно было прийти на ум, тем более, тут давали хинт). Короче, как я говорил выше, всё уже описано, мало того - есть опенсорс (вроде, хотя не уверен. И даже если не, никаких препятствий написать самому нет) библиотечка. Смотреть тут https://www.nxp.com/docs/en/application-note/AN5286.pdf

Что расчёт сложнее - не аргумент, считать вручную или на арифмометре никто не заставляет.

Нет правильного способа. Статью тоже нет смысла пионерить, всё уже давным-давно описано и легко находится.

А не потому, что в летательных аппаратах действуют некислые ускорения, и определить направление гравитации с помощью только лишь акселерометров будет немного затруднительно?

Как и сказал товарищ выше, это действительно "кажущееся ускорение". Или, по-буржуйски, specific force.

К слову, если вспомнить, что модуль трёх проекций кажущегося ускорения, измеренных калиброванным акселерометром при любых поворотах даст единицу, то можно прийти к тому, что для калибровки достаточно задать серию произвольных наклонов (главное, чтобы они заметно отличались друг от друга) и по ним найти как смещения нуля, так и масштабники. А бонусом, и углы неортогональности осей. И не нужны ни угольники, ни стенды. Можно хоть на гибкой руке крутить (повторяемость не требуется), но на поворотной платформе (типа УПГ), конечно, проще.

не по 6-ти измерениям (как обычно предлагают вендоры акселерометров), а по двум измерениям. Это существенно сокращает время на расчет и загрузку калибровочных данных в условиях массового производства.

Очевидно, всё вот ради этого вот. Хотя, если такая прям нужда, можно было вообще вешать платки гроздьями.

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

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

Не надоело мусолить одно и то же? Ведь давали уже ссылку на википедию, того коэффициента вполне себе хватает. И то, что ускорение свободного падения само по себе меняется с широтой (на уровне моря), не означает, что акселерометр везде будет показывать единицу. Чтобы понять это, достаточно разобраться с принципом действия, конструкцией и чуть-чуть включить логику. Это первое. Второе - это то, что метры в секунду в квадрате для всего этого ширпотреба просто не имеют смысла, ибо область применения их (открываем первую страницу даташита) этого не подразумевает. Как правило, это просто качественные измерения (индикаторные) или банально наклонометрия в статике (для динамики потребуется чуть больше телодвижений).

Главное, что необходимо знать — это то, что показания MEMS акселерометров и гироскопов подвержены значительному шуму и накоплению ошибки (дрейфу) с течением времени. 

Дрейф - это просто дрейф (гуляние), накопление появляется, когда показания начинают интегрировать.

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

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

С таким богатым воображением может мниться и не такое.

Если говорить о флаке (есть ощущение, что вопрос касался этого носителя), то так-то там ни слова ни про параметры (вполне может быть и 24@192k), ни про его происхождение (некоторые деятели ничтоже сумняшеся перегоняли из мпшек), ни про железо, на котором проигрывалось, ни про акустику. Так что не понятно, о каком не том и о какой динамике вообще может идти речь.

Information

Rating
4,949-th
Registered
Activity

Specialization

Software Developer, Embedded Software Engineer
Senior
C++
English
Software development
C
Algorithms and data structures
OOP
Git