Инкрементные (квадратурные) и абсолютные энкодеры. Код Грея.
Датчик угла поворота, также называемый энкодер, предназначен для преобразования угла поворота поворотного механизма (вала) в электрические сигналы. Энкодеры могут быть контактными магнитными, оптическими и др. Мы рассмотрим самые распространенные - оптические. Устройство оптического датчик угла поворота (оборотов) состоит из светоизлучателей (чаще применяются инфракрасные светодиоды), фотоприемников (фототранзисторов), и проходящего между светоизлучателем и светоприемником кодового диска, который имеет прозрачные участки. Рисунок на кодовом диске энкодера называют растр. По количеству тактов (или времени между двумя тактами) определяется положение (скорость вращения).
С помощью одного светодиода и одного фототранзистора можно измерять скорость вращения или перемещение без учета направления вращения. Такой датчик сложно назвать энкодером, так как, при реверсе нет возможности точно определить положение или направление вращения. Это просто датчик скорости вращения.
Конструктивное исполнение датчиков вращения:
Энкодеры подразделяются на инкрементальные энкодеры (квадратурные энкодеры) и абсолютные энкодеры. Инкрементальные энкодеры, формируют импульсы, по которым принимающее устройство определяет текущее координаты путем подсчета числа импульсов. Для привязки системы отсчета к началу координат инкрементальные датчики перед началом работы должны быть установлены в начальное положение.
Простой инкрементный энкодер позволяет определить направление вращения. Для изготовления модели инкрементного энкодера достаточно два фототранзистора, одного светодиода. Принцип работы следующий. Светодиод постоянно светит сквозь вращающийся диск с отверстиями на принимающие фототранзисторы. Отверстия в диске энкодера сделаны таким образом, чтобы были положения, при которых диск закрывает оба фототранзистора, и открывает оба. При вращении диска энкодера, фототранзисторы открываются и закрываются в определенной последовательности. Именно по последовательности переключений и можно определить направление вращения. Например, если были "засвечены" оба фототранзистора, то при вращении в одну сторону диск закроет сразу один фототранзистор, а при вращении в другую - другой. Зная, какой фототранзистор был закрыт после засветки обеих, определяем направление вращения.
В старых компьютерных мышках, в которых применялся шарик, присутствовали два аналогичных энкодера. В них использовались специальные фототранзисторы "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 - своя реалізація векторного керування. Підбиваю підсумки 2022 року
- Конструктор регуляторів моторів. Підбиваю підсумки 2022 року.
- Чому трифазні мотори стали такими популярними?
- FOC & Polar coordinates
- Конструктор регуляторів PMSM, BLDC двигунів
- Своя бібліотека для векторного керування безколекторними моторами
- Not Allowed
- Адаптивний ПІД регулятор
- Конструктор регуляторів моторів. Структура.
- Конструктор регуляторів моторів. Анонс.
Tags
st-link 3d-printer encoder servo solar java-script git wifi uart mpu-9250 sensors capture motor esp8266 nodemcu usb usart piezo rfid css atmega bmp280 bkp avr displays brushless watchdog battery sms rs-232 tim mpu-6050 barometer examples nvic pmsm dc-dc eb-500 soldering meteo rtc gpio books websocket docker dht11 led smd stm32 web timer dma lcd mpx4115a hih-4000 bldc ssd1306 adc mongodb python options eeprom raspberry-pi remap max1674 programmator ethernet foc ngnix ssd1331 gps flash exti bluetooth html bme280 i2c pwm flask
Архіви