Инкрементные (квадратурные) и абсолютные энкодеры. Код Грея.
Датчик угла поворота, также называемый энкодер, предназначен для преобразования угла поворота поворотного механизма (вала) в электрические сигналы. Энкодеры могут быть контактными магнитными, оптическими и др. Мы рассмотрим самые распространенные - оптические. Устройство оптического датчик угла поворота (оборотов) состоит из светоизлучателей (чаще применяются инфракрасные светодиоды), фотоприемников (фототранзисторов), и проходящего между светоизлучателем и светоприемником кодового диска, который имеет прозрачные участки. Рисунок на кодовом диске энкодера называют растр. По количеству тактов (или времени между двумя тактами) определяется положение (скорость вращения).
С помощью одного светодиода и одного фототранзистора можно измерять скорость вращения или перемещение без учета направления вращения. Такой датчик сложно назвать энкодером, так как, при реверсе нет возможности точно определить положение или направление вращения. Это просто датчик скорости вращения.
Конструктивное исполнение датчиков вращения:
Энкодеры подразделяются на инкрементальные энкодеры (квадратурные энкодеры) и абсолютные энкодеры. Инкрементальные энкодеры, формируют импульсы, по которым принимающее устройство определяет текущее координаты путем подсчета числа импульсов. Для привязки системы отсчета к началу координат инкрементальные датчики перед началом работы должны быть установлены в начальное положение.
Простой инкрементный энкодер позволяет определить направление вращения. Для изготовления модели инкрементного энкодера достаточно два фототранзистора, одного светодиода. Принцип работы следующий. Светодиод постоянно светит сквозь вращающийся диск с отверстиями на принимающие фототранзисторы. Отверстия в диске энкодера сделаны таким образом, чтобы были положения, при которых диск закрывает оба фототранзистора, и открывает оба. При вращении диска энкодера, фототранзисторы открываются и закрываются в определенной последовательности. Именно по последовательности переключений и можно определить направление вращения. Например, если были "засвечены" оба фототранзистора, то при вращении в одну сторону диск закроет сразу один фототранзистор, а при вращении в другую - другой. Зная, какой фототранзистор был закрыт после засветки обеих, определяем направление вращения.
В старых компьютерных мышках, в которых применялся шарик, присутствовали два аналогичных энкодера. В них использовались специальные фототранзисторы "2 в одном":
В нашей конструкции мы используем два отдельных фототранзистора:
Иногда требуется знать положение сразу после включения устройства. Т.е. нет технической возможности вывести устройство в исходное положение и затем по количеству "кликов" оценить положение.
Абсолютный энкодер показывает текущую координату сразу при включении, без необходимости предварительной установки в исходное положение. Простейший пример - датчик направления ветра для метеостанции. При включении станции надо сразу определить направление ветра, т.е. угол поворота. Энкодер имеет элементы излучения (светодиоды) и фотоприемники (фототранзисторы), между ними вращается диск энкодера. В определенном положении засвечиваются те или иные фототранзисторы. По комбинации включенных транзисторов определяем положение вала. Промышленные энкодеры имеют большоее количество разрядов, следовательно, имеют высокую точность. Зачастую имеют несколько дисков, связанных через шестерни. Некоторые энкодеры снабжаются последовательным интерфейсом. Но в основе их работы заложен тот же принцип.
Ниже приведена модель 4 разрядного абсолютного энкодера с кодом Грея. 4 разряда - это 16 секторов - 360/16 = 22,5 градуса приемлемая точность для измерения направления ветра. Если возникают проблемы с габаритами, конструктивно диск можно разделить на части. В приведенном примере так и сделано.
Исходный растр диска:
разбит на два диска:
Между дисками установлена двусторонняя плата со светодиодами, за дисками фототранзисторы. Таким образом были уменьшены габариты.
Внимательный читатель мог заметить, что растр кодового диска абсолютного энкодера не соответствует обычному двоичному коду. В энкодерах применяют специальный код Грея.
Что такое код Грея? Представьте себе некоторое устройство, скажем датчик положения, которое выдает положение в двоичном виде по трем проводам. На выходе могут быть следующие комбинации в двоичном коде:
000 001 010 011 100 101 110 111
Обратите внимание на момент перехода из состояния 001 в состояние 010. Переключаются одновременно два бита. Но, в реальности, одновременно переключение не происходит. В любом случае, один из разрядов переключится раньше в силу различных технических причин. При этом на выходе можем получить ошибочные значения 000 или 011. Френк Грей придумал код, похожий на двоичный (http://ru.wikipedia.org/wiki/Код_Грея), но при переходе к следующему числу изменяется только один бит см. таблицу. В этом случае, в момент переключения, состояние меняет только один вывод (разряд), что исключает появление ошибочных значений. Код Грея применяется во всех промышленных энкодерах.
№ | Двоичный код B(3) | Код Грея G(3) |
---|---|---|
1 | 000 | 000 |
2 | 001 | 001 |
3 | 010 | 011 |
4 | 011 | 010 |
5 | 100 | 110 |
6 | 101 | 111 |
7 | 110 | 101 |
8 | 111 | 100 |
Додати коментар
Недавні записи
- 🇺🇦 FOC Board STM32F103RB 🧩
- STM32 Motor control SDK - керування оборотами мотора за допомогою потенціометра 📑
- Flask✙Gunicorn✙Nginx➭😎
- STM32 Motor control SDK - програмне керування обертам мотора
- STM32 Motor control SDK - як створити перший проект
- Vue SVG. Приклад побудови живого параметричного креслення
- Вимірювання моменту мотора
- Vue SVG - компонент. Приклад 📑
- Flask + Vue 🏁 Финальный пример 🏁
- Flask, CORS, JSON-файл. Пример#6
Tags
bldc brushless stm32 motor web html css flask atmega foc git java-script pmsm raspberry-pi python websocket mongodb esp8266 nodemcu st-link tim timer docker ngnix programmator ssd1331 ssd1306 wifi uart meteo bme280 bmp280 i2c gps mpu-6050 mpu-9250 sensors 3d-printer options usb barometer remap watchdog flash eeprom rtc bkp encoder pwm servo capture examples dma adc nvic usart gpio books battery dc-dc sms max1674 avr lcd dht11 piezo rs-232 rfid solar exti bluetooth eb-500 displays ethernet led smd soldering mpx4115a hih-4000
Архіви