Универсальный внешний накопитель для всех iOS-устройств, совместим с PC/Mac, Android
Header Banner
8 800 100 5771 | +7 495 540 4266
c 9:00 до 24:00 пн-пт | c 10:00 до 18:00 сб
0 Comments

Подключение инкрементного энкодера к ПЛК

Постановка проблемы

Задача измерения скорости вращения исполнительных механизмов (или их позиционирования относительно начального положения) путём определения углового положения вала двигателя (или оси вращения) является одной из самых распространённых в области автоматизации.

Энкодер, или датчик угла поворота – это электромеханическое устройство, предназначенное для решения указанной задачи, то есть преобразования углового положения вала в электрический сигнал. Энкодеры могут быть оптическими, резистивными, магнитными и др. [1, 2]. По принципу определения углового положения объекта энкодеры разделяют на инкрементные (накапливающие) и абсолютные (позиционные). Абсолютные энкодеры позволяют определять текущее положение оси поворота в любой момент времени, в том числе и после отключения питания. В качестве выходного сигнала абсолютных энкодеров может использоваться обычный двоичный код или код Грея [2]. Для передачи полученных данных и конфигурирования энкодера используют протоколы PROFIBUS, CAN, DeviceNet и др. Абсолютные энкодеры являются более функциональными, но и более дорогими устройствами. Поэтому на практике большее распространение получили инкрементные энкодеры. Инкрементный энкодер формирует за один полный оборот вала определённое количество импульсов. Если вращение вала прекращается, то прекращается и формирование импульсов. Величину угла поворота определяют путём подсчёта числа импульсов от начальной позиции до требуемой. Скорость вращения вала определяется как число импульсов за единицу времени (обороты в минуту). Как правило, выходной сигнал инкрементного энкодера имеет два канала (рис. 1), в которых две идентичные последовательности импульсов (

A и B) сдвинуты на 90° относительно друг друга (парафазные импульсы), что позволяет определять направление вращения.

Имеется также третий выход нулевой (референтной) метки (Z), который позволяет определить абсолютное положение вала, поскольку сразу же после включения положение вала неизвестно.

Для формирования импульсов инкрементный энкодер имеет установленный на валу диск с делениями, которые определяют положение вала, и устройство для считывания этого положения. Считывание можно производить механическими, оптическими или магнитными датчиками. Положение диска (угол поворота) кодируется путём чередования двух типов областей на диске, которые идентифицируются при помощи датчиков (например, для оптического датчика это прозрачные и непрозрачные области). Для определения направления вращения используют второй датчик, который смещён относительно первого на половину ширины штриха диска или промежутка между штрихами. Для определения начального положения диска на него наносится отдельная шкала референтной метки [1].

На рис. 1 приведён пример изменения сигналов энкодера во времени при вращении против часовой стрелки. В момент прихода переднего фронта сигнала A сигнал B находится в состоянии 0 (при вращении по часовой стрелке сигнал B находится в состоянии 1). При проведении программной обработки сигнала для первого случая значение счётчика увеличивается, во втором случае уменьшается. Такой способ подсчёта применим, когда требования к точности определения значения счётчика и к положению исполнительного устройства невысоки. Погрешность измерения в данном случае вызвана тем, что в реальных условиях при изменении состояния сигнала датчика может происходить дребезг (несколько последовательных ложных срабатываний).

При дребезге (рис. 2) изменение зна­чения счётчика будет происходить несколько раз, что и вызывает ошибку в процессе подсчёта.

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

Для повышения точности измерений можно проводить дополнительную обработку данных: при подсчёте регистрировать изменения сигнала A как по переднему, так и по заднему фронту, вести подсчёт по фронтам обоих сигналов A и B без выделения ведущего сигнала и т.д. Такие готовые процедуры могу­­­­т выполнять как блоки высокоскоростных счётчиков ПЛК, так и программа пользователя.

Типы выходных сигналов энкодеров

На основе анализа технической документации производителей энкодеров, в частности [3], можно предложить следующую классификацию инкрементных энкодеров по типам выходных каскадов.

  1. Выход по напряжению (Voltage Out­put). Выходной сигнал с уровнем напряжения, определяемого величиной напряжения питания энкодера, можно напрямую подавать на измерительную схему (рис. 3).

  2. Ток нагрузки в данном случае составляет не более десятка миллиампер. При подключении сигнала энкодера к нескольким устройствам одновременно (например, к ПЛК и частотному преобразователю) нельзя превышать допустимую нагрузочную способность выходного каскада. Недостатком этого типа выхода является большое выходное сопротивление в закрытом состоянии транзистора VT1, определяемое сопротивлением в цепи коллектора, составляющим порядка тысяч Ом. Как следствие, ток, отдаваемый в нагрузку, уменьшается, и увеличивается время заряда ёмкости нагрузки, что снижает общее быстродействие.
  3. Выход с открытым коллектором (Open Collector). Такой тип выхода позволяет получить сигнал с уровнем напряжения, определяемым не величиной напряжения питания энкодера, а величиной напряжения дополнительного источника питания. Для этого необходимо между цепями питания (Uпит) и выходом подключить внешний резистор, величина сопротивления которого определяется значением напряжения дополнительного источника питания (рис. 4).

    Конкретные величины сопротивления внешних резисторов приведены в табл. 1.

    Также возможно включение нагрузки между выходом энкодера и дополнительным источником питания (рис. 5).

    Ток нагрузки (Iок) в этом случае составляет не более 30…50 мА. Тип выхода с открытым коллектором позволяет также подключать при необходимости несколько энкодеров к одному счётному входу.
  4. Двухтактный (каскадный, комплементарный) выход (Push–Pull, Totem Pole). Этот тип выхода (рис. 6) построен на транзисторах различной (n-p-n и p-n-p) проводимости и имеет малое выходное сопротивление (как в состоянии логического нуля, так и в состоянии логической единицы), что позволяет увеличить ток, отдаваемый в нагрузку.

    Таким образом повышается нагрузочная способность и ускоряются процессы заряда и разряда ёмкости нагрузки, а следовательно, растёт быстродействие.
  5. Дифференциальный выход (Line Driver, RS-422). В данном случае помимо основного добавляется второй выход, осуществляющий инверсию выходного сигнала.
    Для обработки двух сигналов необходимо иметь соответствующий приёмник в измерительной схеме (рис. 7).

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

Значение уровня выходных сигналов для некоторых типов выходов инкрементных энкодеров может также обозначаться как TTL (соответствует напряжению питания 5 В) или HTL (соответствует напряжению питания в дипазоне от 10 до 24 В). Обычно для подачи сигналов на дискретные входы ПЛК используются сигналы с напряжением 24 В.

Подключение энкодера к ПЛК

В случае непосредственного управления исполнительным механизмом без использования интеллектуального уст­ройства типа частотного или сервопреобразователя вполне оправданно подключение энкодера напрямую к ПЛК.

В данном случае обработкой сигнала с энкодера занимается само интеллектуальное устройство.

Поскольку в рассматриваемом далее примере сигнал на выходах энкодера имеет импульсную форму, то энкодер подключается к дискретным входам ПЛК. Схема подключения энкодера для случая использования выходного сигнала типа «открытый коллектор» приведена на рис. 8.


Основная проблема при подключении к ПЛК – это согласование частоты выдачи импульсов энкодером (f1) и частоты опроса входов контроллером (f2). Естественно, что f2 должна быть больше f1 и достаточной для того, чтобы корректно произвести подсчёт импульсов. Значение частоты f2, по сути, ограничено длительностью рабочего цикла ПЛК, который состоит из фаз чтения входов, исполнения программы пользователя и записи значений выходов [4]. Если время чтения входов и записи выходов можно считать фиксированным и зависящим от типа входов и характеристик контроллера, то время исполнения программы пользователя зависит от содержимого самой программы и вносит наибольший вклад в общее время рабочего цикла ПЛК.

Если не брать в расчёт специализированные энкодеры с повышенной точностью, то частота импульсов, выдаваемых наиболее распространёнными фотоэлектрическими инкрементными энкодерами за один оборот, может варьироваться от 100 до 2500 импульсов и более (стандартные значения 100, 200, 300, 360, 500, 600, 1000, 1024, 2500). Кратность частоты 1024 (2n) позволяет легко перевести полученное значение в двоичный код, кратность частоты 360 – перевести текущее значение в угол поворота. При подсчёте скорости вращения электродвигателя максимальное количество оборотов в минуту может находиться в пределах 750–3000 об./мин (12,5–50 об./с). Таким образом, необходимо подсчитывать несколько десятков тысяч оборотов в секунду (частота порядка десятков кГц). Типичное время рабочего цикла ПЛК измеряется десятками миллисекунд (частота порядка кГц), что гораздо больше интервала между импульсами энкодера. Поэтому подсчёт импульсов от энкодера при помощи стандартных [5] функциональных блоков счётчиков (CTU, CTD, CTUD) внутри программы пользователя затруднителен или приводит к нарушению рабочего цикла ПЛК.
Самый логичный вариант решения этой проблемы – заставить счётчик работать независимо от основной программы, контролируя его выходное значение при помощи специальной подпрограммы обработки прерываний. Указанную возможность предоставляют, например, блоки высокоскоростных счётчиков (HSC), используемые при программировании ПЛК Siemens [6]. ПЛК Siemens S7-1200 позволяют использовать до 6 таких счётчиков. Для управления работой счётчиков в среде программирования TIA Portal используется специальный функциональный блок CTRL_HSC, вызываемый из меню Instructions > Technology > Coun­ting. Максимальная частота входных импульсов может составлять 100 кГц для однофазных (одноканальных) счётчиков и 80 кГц для квадратурных счётчиков [6]. Параметры блока CTRL_HSC обеспечивают программное управление процессом счёта (табл. 2).


HSC может загружаться с одним неизменным или несколькими последовательными предустановленными значениями (уставками), а подсчёт импульсов активизируется в течение заданного интервала времени, до тех пор пока текущее значение счётчика меньше значения уставки. При совпадении текущего значения счётчика с уставкой HSC вызывает прерывание. Также прерывание может вызываться при сбросе счётчика и при смене направления счёта.

Для чтения значения счётчика достаточно провести первичное конфигурирование дискретного входа ПЛК, связанного с данным счётчиком. Конфигурирование происходит в меню настроек дискретных входов контроллера (например, Device&networks > PLC_1 (CPU 1214C DC/DC/DC) > Properties > Gene­ral). Для использования счётчика необходимо установить пункт Enable this high speed counter. Назначение дискретных входов для ПЛК S7-1200 жёстко задано (табл. 3).

Назначение каналов счётчика может изменяться в зависимости от типа счётчика (табл. 4).


Имеются несколько основных типов быстрых счётчиков:

  • однофазный с управлением направлением (Single Phase) – направление счёта выбирается программно или для этого используется один из дискретных входов контроллера;
  • двухфазный (реверсивный) с двумя счётными входами (Two-phase) – входы счёта в прямом и обратном направлении;
  • квадратурный счётчик (AB Counter) – используются два импульсных сигнала, сдвинутых относительно друг друга на 90°, возможно подключения третьего входа для референтной метки;
  • квадратурный счётчик с учетверённой точностью (AB Counter Fourfold) – значение счётчика изменяется 4 раза за период (передний фронт сигнала A, передний фронт сигнала B, задний фронт сигнала A, задний фронт сигнала B), возможно подключение третьего входа для референтной метки.

Счётчики всех указанных типов можно использовать с внешним входом сброса (референтной метки) или без него. При подсчёте частоты возможны три различных интервала, определяющих периодичность определения значения частоты: 0,01; 0,1 и 1 секунда. Значение частоты определяется как среднее за указанный интервал времени и измеряется в Гц.

ПЛК сохраняет текущее значение счётчика по адресу области входов, указанному в табл. 5.

Тип данных DInt говорит о том, что под значение счётчика в памяти выделяется двойное слово (4 байта).

Данные значения можно изменять по своему усмотрению в конфигурации конкретного HSC (в настройках дискретных входов). Для чтения значения счётчика достаточно произвести прямое чтение соответствующей ячейки памяти в любом программном блоке. Тем не менее частота опроса программных блоков ограничена длительностью рабочего цикла ПЛК. Поэтому для чтения значения счётчика в программный блок аппаратных прерываний, исполняемый при запуске аппаратного прерывания, связанного со счётчиком (при сбросе счётчика или при смене направления счёта), обычно помещают функциональный блок CTRL_HSC. Кроме того, поскольку при отключении питания или после перезапуска ПЛК инкрементный энкодер не сохраняет текущую позицию (в отличие от абсолютного), то логичным будет использовать энергонезависимую память ПЛК для хранения текущего значения высокоскоростного счётчика. Примеры работы со счётчиками HSC можно найти на сайте технической поддержки Siemens Industry Online Support.
Рассмотрим пример подключения и конфигурирования инкрементного энкодера, имеющего три выходных канала (фаза A, фаза B и фаза Z):

  1. Зададим для счётчика HSC_1 конфигурацию в соответствии с рис. 9.

    Для управления работой высокоскоростного счётчика, а также чтения его выходного значения можно использовать не только определённые в конфигурации счётчика события (рис. 10), но и, например, периодически активирующуюся подпрограмму обработки аппаратного прерывания (Cyclic Interrupt).

    В любом случае необходима подпрограмма, которая будет производить обработку прерывания для определённых в конфигурации счётчиков событий (ссылка на эту программу указывается в пункте Hardware Interrupt).
  2. Прежде чем описывать подпрограмму обработки прерываний, создадим глобальный блок данных и назовём его, например, DB HSC retain. Зададим внутри этого блока переменную HSC_1 с типом данных DInt (рис. 11).

    Значение счётчика будем заносить в эту переменную, так как переменная энергонезависимая (установлен пункт Re­tain), значение будет сохраняться и после отключения питания.
  3. В качестве примера создадим подпрограмму обработки прерывания (Cyclic Interrupt) со временем вызова 10 мс на языке LAD (рис. 12).

    Имя программного блока в среде TIA Portal можно задать по своему усмотрению в разрешённом диапазоне (например, OB30). Такая программа будет выполняться циклически с указанным временем цикла независимо от выполнения основной программы и рабочего цикла ПЛК. Добавим в разделе объявления символьных переменных памяти ПЛК (PLC Tags > Show all tags) переменную для чтения текущего значения высокоскоростного счётчика (рис. 13), по умолчанию адрес данной переменной в области входов равен 1000 (табл. 5).

    Таким образом, значение счётчика будет заноситься в энергонезависимую переменную HSC_1 глобального блока данных каждые 10 мс.
  4. Создадим программный (рис. 14) блок типа Startup (с именем OB­100 на языке FBD), который будет выполняться каждый раз при старте ПЛК.

    В данном блоке будем производить копирование последнего сохранённого (после отключения питания или сброса ПЛК) в энергонезависимой памяти значения счётчика в специально созданную переменную NEW_CV (типа DInt в области свободно адресуемой памяти – M). В дальнейшем будем её использовать для конфигурирования высокоскоростного счётчика при помощи входа NEW_CV блока CTRL_HSC. При этом счётчик будет вести счёт уже не с нуля, а начиная с последнего сохранённого значения. Для того чтобы активировать новое значение счётчика, создадим дополнительно переменную CV типа Bool (рис. 13) и будем производить установку этой переменной при активации программного блока.
  5. Наконец, создадим основную программу (OB1), которая будет работать в цикле ПЛК и задавать параметры блока управления высокоскоростным счётчиком (рис. 15).

    Также необходимо осуществить сброс переменной CV после установки нового значения счётчика для того, чтобы иметь возможность установки следующего сохранённого значения после очередного сброса ПЛК. При необходимости использования других возможностей блока CTRL_HSC (табл. 2) в таблице тегов проекта необходимо добавить соответствующие переменные (рис. 13).

Выводы

Рассмотренные данные о типах выходного сигнала энкодеров, способах его обработки и подсчёте измеряемой частоты вращения должны помочь техническим специалистам сделать правильный выбор. Но при выборе энкодера также следует учесть и другие параметры [7]:

  • тип выходного сигнала, напряжение питания энкодера;
  • количество импульсов на оборот (количество бит данных у абсолютных энкодеров), значение данного параметра прямо пропорционально точности измерений;
  • диаметр вала энкодера, необходимость дополнительной муфты или монтажного фланца, от этого зависит, как будет передаваться вращение от исполнительного механизма;
  • длина кабеля и тип выходного разъёма;
  • степень защиты от проникновения пыли и влаги (IP).

Описанный пример подключения инкрементного энкодера к ПЛК Siemens S7-1200 в среде программирования TIA Portal показал, что этот процесс в современных системах автоматизации максимально упрощён и сводится к заданию параметров функциональных блоков высокоскоростных счётчиков. Такие блоки легко обеспечивают подсчёт импульсов от энкодеров, в том числе с высокой выходной частотой (1000 импульсов за оборот и более).
Среди основных российских производителей энкодеров можно отметить ЗАО «Сенсор» (г. Екатеринбург), НПП «Уралметаллургавтоматика», ЗАО «Уралчер­метавтоматика» (г. Челябинск), СКБ ИС (г. Санкт-Петербург), ЗАО «МЕАНДР» (г. Санкт-Петербург), ООО ПКФ «СТРАУС» (г. Тольятти), ЗАО «МЕГА-К» (г. Калуга). Из зарубежных производителей наиболее известны: Delta Electronics (Тайвань), Omron (Япония), Autonics (Корея), Pepperl+Fuchs (Германия), Siemens (Германия), SICK AG (Германия). ●

Литература

  1. Вульвет Дж. Датчики в цифровых системах. – М. : Энергоиздат, 1981.
  2. Уолт Кестер. Методы практического конструирования при нормировании сигналов с датчиков : пер. с англ. Горш­ков Б.Л. – СПб. : АВТЭКС, 1999.
  3. В.И. Поляков. Выходные сигналы инкрементных преобразователей [Электронный ресурс] // СКБ ИС. – Режим доступа : http://www.skbis.ru/index.php?p=20.
  4. И.В. Петров. Программируемые контроллеры: стандартные языки и приёмы прикладного проектирования. – М. : Солон-Пресс, 2008.
  5. International Standard IEC 61131-3 2013. – Brussels: International Electrotechnical Com­mision, 2012.
  6. Программируемый контроллер Siemens S7-1200 : Системное руководство. – Нюрнберг : Siemens AG, 2009.
  7. Принцип работы инкрементного и абсолютного энкодера [Электронный ресурс] // Режим доступа : http://www.devicesearch.ru/ article/enkodery.

E-mail: [email protected]

Подключение энкодера к микроконтроллеру

Подробности
Категория: Микроконтроллеры
Опубликовано 23. 06.2016 12:36
Автор: Admin
Просмотров: 3078

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

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

В инкрементных энкодерах при повороте вала формируются импульсы, количество этих импульсов пропорционально углу поворота вала. Если подсчитать эти импульсы то можно узнать угол поворота вала энкодера. Если ручка энкодера находится в покое то импульсы не формируются. Такие энкодеры широко применяются в аудио системах и промышленных средствах управления.

Абсолтные энкодеры имеют совершенно другой принцип дейставия, основаная на выдачи уникального кода каждому положению вала. Формирование импульсов происходит когда вал вращается и когда он в покое. Причем информация о текущем положения вала, сохранится даже после прекращения подачи напряжения.

В нашем примере мы подключим инкрементный энкодер с микроконтроллером. Энкодер PEC12 422OF SOO24 который имеет 24 импульса за 1 оборот.

Энкодер имеет 5 выводов, 3 из них это выводы самого энкодера, а другие два это кнопка. У выводов энкодера одни вывод общий а 2 другие сигнальные. Схема подключения ничем не отличается от схемы подключения обычной кнопки. Сигнальные выводы подключаются в портам ввода/вывода микроконтроллера. А общий вывод котоый посередине соединяется к земле. С целью защиты от дребезга контактов можно добавить конденсаторы емкостью несколько нФ. Выводы к которым мы подключили энкодер настраиваем в программе как входы и включаем подтягивающие резисторы, можно подключить внешние резисторы.

Схема подключения энкодера к микроконтроллеру

Принцип действия энкодера основан на замыкании и размыкании контактов, когда ручку никто не крутит то на входе в МК имеется логическая еденица. Когда ручку начинают поворачивать то появляются два прямоугольных импульса которые сдвинуты друг относительно друга. От того в какую сторону крутим будет зависить какой сигнал опережает.

Но так как имеется друбезг контактов в любых картина будет выглядить следующим образом.

Алгоритм работы программы микроконтроллера

С определенным интервалом начинается вызов функции опроса энкодера. Эта функция считывает логические уровни, которые присутсвуют на выводах микроконтроллера и производит запись этого значения во временную переменную. Внутри функции опроса энкодера существует другая статичная переменная которая сохраняется при выходе из этой функции в ней хранится последовательность предыдуших значений. Из этой переменной берется последнее записанное значение и сравнивается с текущим для того чтобы определить были ли изменения. Если эти значения равны тот происходит выход из функции, а если они отличаются то значение статичной переменной сдвигается на 2 разряда влево и в “свободное” место записывается новое (текущее) значение.

Получается что когда вал энкодера вращается то во временную переменную будет постоянно записываться новое значение и получится повторяющаяся кодовая последовательность. Если вращаем вправо булед : 11100001, а если влево то 11010010. По этим значениям можно понять в какую сторону крутится вал.

В архиве есть 2 файла encoder.h и encoder.c. Изначалоно нужно задать порт и номер выводов к которым производится подключение это переменные LEFT_SPIN и RIGHT_SPIN. В файле “c” находится реализация функций.

  • void InitEncoder(void) – фукнция которая инициализирует выводы;
  • void PollEncoder(void) – функция опроса энкодера, если есть вращение то пишем значение в функцию, если нет то просто выходим из функции так как нам нечего тут делать;
  • unsigned char GetStateEncoder(void) – переменная возвращает содержимое буфера и очищает его.

Вызов функции опроса энкодера происходит с частототй в 4 кГц. Если опрашивать с меньшей частотой то МК может пропустить импульсы в случае быстрого вращения вала.

Исходник программы под микроконтроллер

  • < Назад
  • Вперёд >
Добавить комментарий

4.11. Настройка управления положением энкодера

В этом разделе объясняется, как настроить Tic для считывания сигналов с квадратурного энкодера и использования их для управления положением шагового двигателя.

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

Если вы еще этого не сделали, следуйте инструкциям в Разделе 4.3, чтобы настроить и протестировать шаговый двигатель.

В режиме энкодера Tic использует свои линии RX и TX в качестве входов энкодера. Каждая из этих линий имеет встроенный резистор 100 кОм, подтягивающий ее до 5 В, и последовательный резистор 220 Ом или 470 Ом, защищающий ее от коротких замыканий (например, в случае, если она непреднамеренно переведена в последовательный режим, который использует TX в качестве выхода, с энкодер все еще подключен). Tic ожидает увидеть стандартные сигналы квадратурного энкодера, подобные этому, на входах энкодера:

Время между переключениями каналов (обозначено T 1-4 на схеме выше) должно быть не менее 100 мкс.

Для этого интерфейса управления обычно рекомендуются обычные трехконтактные механические поворотные энкодеры с квадратурными выходами, хотя могут использоваться и другие виды квадратурных энкодеров. Трехконтактный поворотный энкодер имеет два сигнальных контакта, A и B, которые должны быть подключены к RX и TX на Tic, и общий контакт (иногда обозначенный «C»), который должен быть подключен к земле. Обратите внимание, что общий контакт часто находится посередине, но вы всегда должны обращаться к документации вашего энкодера, чтобы определить, какой контакт какой. Эти энкодеры не требуют питания, поскольку сигнальные контакты просто чередуются между плавающим и заземленным при вращении циферблата. Встроенные подтяжки на контактах RX и TX делают сигнал высоким в то время, когда выходы энкодера плавающие, поэтому нет необходимости во внешних подтяжках. Для других типов квадратурных энкодеров может потребоваться питание, и выход 5 В на Tic можно использовать для их питания, если в их документации указано, что они могут работать при напряжении 5 В.

В качестве первого шага вы должны отключить питание вашей системы, а затем подключить энкодер к Tic, как описано выше и показано на схеме ниже. Вы можете поменять местами соединения A и B, чтобы изменить направление энкодера.

Теперь подключите Tic к компьютеру через USB. В программном обеспечении Tic Control Center установите режим управления Tic на «Положение энкодера». Если вы ранее изменили целевое максимальное и целевое минимальное значение, вам следует установить для них значения по умолчанию, равные 200 и −200 соответственно. Если вы ранее изменили настройки энкодера перед масштабированием или после масштабирования, вам следует вернуть им значение по умолчанию, равное 1. Кроме того, убедитесь, что параметр «Включить неограниченное управление положением» для энкодеров не отмечен, как и по умолчанию. Нажмите «Применить настройки», чтобы сохранить эти настройки в Tic.

Теперь подключите питание двигателя, чтобы запустить систему. Когда вы поворачиваете энкодер, вы должны видеть, что ваш шаговый двигатель движется пропорционально: один отсчет от энкодера соответствует одному шагу от Tic.

Если ваш двигатель не двигается, когда вы поворачиваете энкодер, вы должны посмотреть сообщение в нижней части Tic Control Center, а также проверить наличие ошибок на вкладке «Состояние». Если есть какие-либо ошибки, вы должны устранить их, прежде чем продолжить. Если система по-прежнему не работает, вы должны посмотреть на «Положение энкодера», отображаемое на вкладке «Статус», которое представляет собой необработанный счет с вашего энкодера. Это число фиксируется на нуле, когда питание двигателя отключено, поэтому убедитесь, что вы подключили питание двигателя к Tic. Если вы повернете энкодер в одну сторону, это число должно увеличиться. Если вы повернете его в другую сторону, это число должно уменьшиться. Если «Положение энкодера» не меняется или изменяется только на один счет, возможно, ваш энкодер подключен неправильно. Проверьте все ваши соединения и паяные соединения (если применимо). Если у вас есть доступ к осциллографу, вы должны проверить сигналы на RX и TX. Если «Положение энкодера» правильно реагирует на энкодер, а переменная «Ввод после масштабирования» — нет, убедитесь, что вы установили для этих настроек значения по умолчанию, как описано выше.

Tic ожидает, что переходы на входах его энкодера будут происходить с интервалом не менее 100 мкс. Если ваш сигнал энкодера быстрее этого, Tic может пропустить некоторые отсчеты энкодера или даже может измерять отсчеты в неправильном направлении. Чтобы увидеть, происходит ли это, вы должны попробовать поворачивать энкодер так быстро, как вы ожидаете, что он будет поворачиваться в вашем приложении. При этом смотрите на счетчик «Пропуск кодировщика», отображаемый в поле «Ошибки» на вкладке «Статус». Если счетчик увеличивается, когда вы поворачиваете энкодер, это означает, что в Tic отсутствуют некоторые счетчики энкодера. В этом случае, если в вашем приложении важна точность энкодера, вы можете подумать о приобретении другого энкодера или более медленном вращении энкодера.

Убедитесь, что двигатель движется в правильном направлении. Если это не так, вы можете поменять местами соединения RX и TX или установить флажок «Инвертировать направление двигателя», чтобы исправить это. (Вы также можете переподключить шаговый двигатель, чтобы изменить направление тока в одной катушке, но перед этим обязательно отключите питание шагового двигателя. ) должен двигаться при повороте энкодера. Каждый раз, когда положение энкодера изменяется на величину предварительного масштабирования, переменная «Ввод после масштабирования» будет изменяться на величину постделителя. Таким образом, если вы увеличите предварительный делитель со значения по умолчанию, равного 1, потребуется больше перемещений энкодера, чтобы получить такое же количество перемещений от шагового двигателя. Если вы увеличите постделитель со значения по умолчанию, равного 1, шаговый двигатель будет двигаться дальше на такое же количество перемещений от энкодера. Если ваш энкодер имеет фиксаторы, обычно имеет смысл установить предварительный делитель энкодера на количество отсчетов, которое вы получаете на фиксатор, что обычно равно 4.9.0003

Наконец, вы должны установить целевые максимальные и минимальные параметры в поле «Масштабирование», чтобы установить диапазон движения вашей системы. Целевой максимум должен быть равен нулю или больше, а целевой минимум должен быть равен нулю или меньше. Эти числа выражены в микрошагах, если вы включили микрошаги. Обратите внимание, что это единственные два числа в поле «Масштабирование», которые действуют в режиме энкодера. В качестве альтернативы, если вы хотите, чтобы диапазон вашей системы был неограниченным, установите флажок «Включить неограниченное управление положением», и в этом случае все числа в поле «Масштабирование» будут игнорироваться.

Подробнее о том, как работает вход энкодера Tic, см. Раздел 5.3.

Помощь с подключением энкодера двигателя к контроллеру двигателя

Задавать вопрос

спросил

Изменено 7 лет, 4 месяца назад

Просмотрено 158 раз

\$\начало группы\$

Я новичок в создании дронов и ботов. Я начал использовать двигатели без энкодеров с моим контроллером двигателя Roboclaw для моего любимого проекта. Вот ссылка на контроллер. Подключение казалось простым, и оно работало так, как должно было. Теперь у меня есть эти новые моторы с энкодерами для лучшего контроля. От энкодера 6 контактов. кроме того, я вижу два металлических штыря (обозначенные M+ и M-), очень похожие на мой предыдущий двигатель, подключенные к самому двигателю. И я запутался в связи. Я не знаю, какой штифт куда идет.

Я безрезультатно пытался связаться со службой поддержки. Я тоже не очень уверен в пробах и ошибках. Может ли кто-нибудь объяснить детали подключения? Спасибо.

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

  • двигатель постоянного тока
  • бесщеточный двигатель постоянного тока
  • ПИД-регулятор

\$\конечная группа\$

8

\$\начало группы\$

На странице 10 технического описания контроллера вы можете определить контакты питания энкодера (+ и -).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *