Разработка уровня для слабовидящих
В этой статье описывается полная конструкция спиртового уровня для слабовидящих. Он использует акселерометр ADXL312 для измерения силы тяжести в горизонтальной и вертикальной плоскостях и подает звуковой сигнал, когда акселерометр находится точно в горизонтальном или вертикальном положении.
Его также можно использовать в качестве датчика наклона для выравнивания, например, прицепов в автомобилях, где уровень может быть расположен в месте, удаленном от опорного колеса. Он также используется в качестве подсхемы в автомобильных системах стабилизации или дронах.
Введение
Амар Латиф вызвал фурор на кулинарной сцене Великобритании после своего появления на Celebrity MasterChef . Однако Амар не только хорошо готовит, но и управляет собственной туристической компанией, является мотивирующим оратором, путешествовал по большей части Южной Америки, а также является телеведущим. Нет ли предела сверхспособностям этого человека?
К сожалению, есть. Амар слеп на 95%. По мере того, как технологии развиваются, а мир изо всех сил старается не отставать от них, для слабовидящих битва становится еще труднее. Большинство достижений в области технологий требуют от нас проводить больше времени перед экраном. Для слабовидящих чрезмерное экранное время остается «если только».
Если технологии могут быть использованы для улучшения жизни людей с нарушением зрения, это будет только хорошо. Поскольку только 18% зарегистрированного слепого населения являются полностью слепыми (или «черными слепыми»), это оставляет подавляющее большинство с хотя бы некоторым зрением, даже если они не могут различать детали. Так родилась идея уровня для слепых.
Схема дизайна
Конструкция датчика наклона была основана на ADXL312, слаботочном акселерометре, который может измерять до ± 1,5 g по осям x, y и z с данными, считываемыми через шину SPI. Деталь выпускается в корпусе 5 мм × 5 мм и потребляет 0,1 мкА в режиме ожидания. Его разрешение составляет 10 бит, поэтому ADXL312 может обнаруживать изменения до ± 2,9 м g . по каждой оси. ADXL312 сохраняет гравитационные данные для каждой оси в виде значения с дополнением до двух до ± 511, которое микроконтроллер считывает и отображает на однострочном 16-символьном ЖК-дисплее. На рисунке 1 показаны оси чувствительности ADXL312.
щелкните, чтобы просмотреть изображение в полном размере
Рис. 1. Оси чувствительности ADXL312. (Источник:Analog Devices)
Деталь имеет полное значение 1,5 g . , поэтому сила тяжести 1 g дает значение 2 / 3 этого. Следовательно, если ADXL312 находится точно по уровню, регистр оси Z должен читать 2 / 3 полная шкала, в то время как оси x и y должны быть нулевыми. Точно так же, когда ADXL312 находится в абсолютно вертикальном положении, показание по оси x должно быть 2 . / 3 полная шкала, в то время как оси y и z должны быть нулевыми. Если ADXL312 начинает отклоняться от любой оси, максимальное показание начинает уменьшаться, а показание на других осях начинает увеличиваться в соответствии с синусом угла наклона.
Внутри ADXL312
ADXL312 - это микроэлектромеханическая система (MEMS), состоящая из структуры поликремния с микромашинной обработкой поверхности, построенной поверх кремниевой пластины. Пружины из поликремния удерживают структуру над поверхностью пластины и обеспечивают сопротивление силам ускорения.
Фиксированные силиконовые пальцы чередуются с пальцами на движущейся контрольной массе, чтобы создать дифференциальные конденсаторы, характеристики которых можно измерить. Ускорение отклоняет луч и разбалансирует дифференциальные конденсаторы, что приводит к выходному сигналу датчика, амплитуда которого пропорциональна ускорению. Структура показана на рисунке 2.
щелкните, чтобы просмотреть изображение в полном размере
Рис. 2. Внутреннее устройство ADXL312. (Источник:Analog Devices)
ADXL312 можно адресовать с помощью I 2 C или SPI, а данные x, y и z хранятся в шести внутренних 8-битных регистрах. Он также имеет множество других функций, включая 32-уровневый буфер FIFO, два многофункциональных прерывания, регистры смещения, механическое самотестирование и режимы автоматического перехода в спящий режим.
Дизайн духовных уровней
Полная принципиальная схема датчика наклона показана на рисунке 3.
ADXL312 имеет максимальное напряжение питания 3,6 В, в то время как для ЖК-дисплея и зуммера требуется 5 В, поэтому основной вход в схему составляет 5 В, и это напряжение снижается с помощью линейного регулятора 3,3 В, 150 мА (ADP121). питание ADXL312, микроконтроллера и памяти E2.
Порт B, контакт 2 (вывод CAL) микроконтроллера подтягивается к высокому уровню резистором 10 кОм. Он также имеет перемычку, позволяющую подключить его к земле. При запуске микроконтроллер опрашивает состояние вывода CAL, и, если этот вывод переводится перемычкой в низкий уровень, он считывает регистры x, y и z, вычитает эти показания из нуля, а затем загружает результат в регистры смещения внутри ADXL312, а также хранит их во внешней памяти E2, 25AA040. ADXL312 автоматически добавляет показания регистров смещения к любым будущим измерениям без взаимодействия с процессором, тем самым удаляя откалиброванные смещения.
Если перемычка удалена, вывод CAL поднимается высоко, и процедура калибровки игнорируется. Показания смещения считываются непосредственно из памяти E2 и загружаются в регистры смещения ADXL312. Таким образом, во время производства спиртовой уровень может быть установлен в калибровочном приспособлении с низким уровнем вывода CAL, устройство может быть откалибровано, а значения смещения сохранены в памяти E2. После калибровки перемычка снимается, и при последующих включениях питания выполняется опрос памяти E2, и калиброванные показания смещения загружаются в регистры смещения ADXL312.
Затем программное обеспечение выполняет восемь считываний каждой оси, результаты усредняются и затем отображаются на 16-символьном ЖК-дисплее. Дисплей обновляется каждые 100 мс.
щелкните, чтобы просмотреть изображение в полном размере
Рис. 3. Полная схема спиртового уровня для слабовидящих. (Источник:Analog Devices)
На рисунке 4 показано, что максимальная чувствительность достигается, когда каждый датчик близок к нулевому показанию. Здесь наклон синусоидальной волны наиболее крутой, что дает максимальное изменение показаний силы тяжести при любом изменении наклона.
Рис. 4. Отображение синусоидального изменения силы перегрузки с углом. (Источник:Analog Devices)
К счастью, спиртовому уровню необходимо измерять наклон только тогда, когда каждый датчик находится в абсолютно горизонтальном положении и показания датчика близки к нулю.
Программное обеспечение было написано для одновременной калибровки осей x и z. Деталь легко разместить на горизонтальной платформе и откалибровать ось x датчика наклона. Однако в этот момент на ось Z будет действовать сила 1 g . , поэтому необходимо измерить значение z и сравнить его с полным показателем при 1 g , и любая ошибка, загруженная в регистр смещения. Более точная калибровка каждой оси датчика наклона может быть достигнута путем калибровки как в горизонтальной, так и в вертикальной плоскостях, но для этого требуется двухэтапная калибровка и модификация программного обеспечения.
В таблице 1 показан пример данных с дополнением до двух. Положительные числа следуют обычным двоичным обозначениям. Отрицательные числа используют старший бит (MSB) как знаковый бит; таким образом, у положительных чисел старший бит равен нулю, а у отрицательных чисел - старший бит, равный 1.
Таблица 1. Пример двух дополнительных данных
Десятичный Двоичный +51101 1111 1111 + 100 0000 0001000 0000 0000-111 1111 1111-51110 0000 0001Дополнение до двух положительного числа можно найти, инвертировав все биты, а затем добавив 1. Таким образом, код изменяется с 00 0000 0000 на 11 1111 1111 при переходе от счетчика нуля к счету -1.
Программное обеспечение считывает регистры x и z и, если значение любого из регистров равно 0 или 1023 (11 1111 1111), оно устанавливает порт B, бит 5 в высокий уровень, который включает транзистор Q1 и подает звуковой сигнал 5 В. Когда датчик наклона находится в абсолютно горизонтальном положении, ось x имеет показание 0 или 1023, а когда совершенно вертикально, ось z имеет показание 0 или 1023. Только когда оба регистра не равны 0 или 1023, зуммер перестает звучать.
Точность и дальнейшие разработки
Учитывая только одну ось, максимальное значение 1 g достигается, когда сила тяжести действует вдоль этой оси, и это значение уменьшается до 0 g поскольку деталь наклонена на 90 °, как показано на рисунке 5.
Рис. 5. Расчет угла наклона по гравитационному отсчету. (Источник:Analog Devices)
Таким образом, действующая сила тяжести определяется уравнением
где Ø - угол наклона, измеренный по отношению к горизонтали. Если деталь может измерять с разрешением 2,9 м г , то он может разрешиться до угла 0,17 °. Трудно определить показатель точности стандартного пузырькового спиртового уровня, так как точное положение пузырька установить трудно. Однако, согласно экспериментам, конец 1,2-метрового уровня может сдвинуться примерно на 3,2 мм (ширина двух незанятых печатных плат!), Прежде чем пузырек будет выглядеть не по центру. Это соответствует углу около 0,15 °, что указывает на то, что мы можем заменить пузырьковый уровень электронным датчиком наклона с небольшой потерей разрешения.
Если требуется более высокая точность, ADXL313 предлагает 11-битное разрешение по шкале 1 г. Наборы интерфейсов и регистров очень похожи на ADXL312, поэтому программное обеспечение не требует значительных изменений. ADXL355 предлагает значительно более низкий уровень шума и более высокое разрешение.
ADXL312 имеет плотность шума 340 мк g . / √Hz, и чем ниже полоса пропускания, тем лучше шум. Полоса пропускания детали является программируемой (от 3,125 Гц до 1600 Гц со значением по умолчанию 50 Гц). Хотя уменьшение полосы пропускания улучшает шум, это также снижает частоту обновления дисплея. Для этой конструкции полоса пропускания была установлена на 6,25 Гц, что означает среднеквадратичное значение шума 850 мк g . . Шум также можно уменьшить, сняв еще много показаний и усреднив их.
Еще одним усовершенствованием было бы наличие ЖК-дисплея, показывающего градусы. Однако это требует использования математических функций в библиотеке C, если синусы и косинусы должны быть включены в программное обеспечение. Эти функции занимают слишком много места для кода микроконтроллера низкого уровня. Близкое приближение к синусоидальной функции может быть достигнуто с помощью разложения в ряд Тейлора, и это должно занимать значительно меньше места в коде.
Заключение
ADXL312 представляет собой недорогую электронную систему измерения наклона, которую легко подключить к микроконтроллеру низкого уровня. Описанная ранее конструкция доказала, что может соперничать по точности с обычными пузырьковыми спиртовыми уровнями, но с электронным интерфейсом. Это позволяет использовать его в качестве подсистемы в более крупных проектах, требующих измерения наклона, таких как системы выравнивания прицепов, системы контроля устойчивости и дроны.
Что еще более важно, его можно использовать для повышения независимости людей с ослабленным зрением, и в этом тексте показан полный дизайн на уровне системы, включая оборудование, программное обеспечение и энергонезависимую память, а также аудиовизуальный вывод.
Саймон Брамбл В 1991 году окончил Университет Брунеля в Лондоне по специальности «Электротехника и электроника», специализируясь на аналоговой электронике и силе. Он провел свою карьеру в аналоговой электронике и работал в Linear Technology (ныне часть Analog Devices). С ним можно связаться по адресу [email protected] . .
Связанное содержание:
- Оптимизация высокоточного измерения наклона / угла:основы акселерометра
- Оптимизация высокоточного определения наклона / угла:определение базовой производительности.
- Оптимизация высокоточного определения наклона / угла:повышение производительности
- Выполнение точных измерений с помощью кремниевых датчиков температуры.
- Достижение точного отслеживания движения в портативных потребительских устройствах
Чтобы получить больше информации о Embedded, подпишитесь на еженедельную рассылку Embedded по электронной почте.
Встроенный
- Разработка более гибкого ядра для мультигигабитной сети кампуса
- Innodisk:решения AIoT для медицины
- Обоснование использования нейроморфных чипов для вычислений ИИ
- Разработка элементов управления двигателями для роботизированных систем
- Зрение:для слепых
- Каких распространенных ошибок следует избегать при проектировании для производства?
- Лучший уровень для оптимизации и организации умной фабрики
- Задача метода 5S для индустрии 4.0
- Спасибо за воспоминания!
- Каковы важные рекомендации по проектированию авиационных и аэрокосмических печатных плат? - II