Зачем в приводе энкодер и оптическая линейка. Важные критерии при выборе энкодера. Преимущества магнитных энкодеров

Зачем в приводе энкодер и оптическая линейка. Важные критерии при выборе энкодера. Преимущества магнитных энкодеров

20.07.2020

Слово «энкодер» имеет англоязычное происхождение. Оно возникло от слова encode, что значит «преобразовывать». Наиболее известными мировыми производителями данных приборов являются такие известные бренды как Siemens, СКБ ИС, HEIDENHAIN RLS, Baumer, SICK AG, Balluff, Schneider electric (Autonics Telemecanique), OMRON.

Сфера и цель применения

Энкодер - это датчик, применяемый в промышленной области с целью преобразования подконтрольной величины в электрический сигнал. При помощи него определяется, например, положение вала электрического двигателя. В связи с тем что каждое устройство, в котором применяется вращение, обязательно должно быть оснащено прибором, контролирующим точность вращательного момента, популярными сферами использования подобных преобразователей являются системы точного перемещения. Основная цель, с которой применяется энкодер, - это измерение угла поворота объекта во время вращения. Энкодеры незаменимы в процессе производства на станкостроительных предприятиях, в работотехнических комплексах. Используют их также во многих современных которые нуждаются в регистрации высокоточных измерений углов, вращения, поворотов и наклонов.

Ранжирование энкодеров

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

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

Инкрементальные энкодеры

Это В процессе поворота объекта на его выходах фиксируются импульсы, количество которых прямо пропорционально углу вращения предмета. Обычно инкрементальные преобразователи применяют в процессе станкостроения с целью регистрации углового перемещения вала или в автоматизированных системах в цепи обратной связи для измерения и регистрации скорости поворота вала.

Инкрементальный энкодер - это устройство, функционирующее на основе данных импульсов, образующихся при вращении. Количество импульсов на единицу оборота - это и есть основной рабочий параметр данного устройства. Текущее значение определяется датчиком по методу подсчета количества импульсов от точки отсчета. С целью привязки систем отсчета на импульсном энкодере устанавливаются референтные метки, которые являются стартовыми после включения оборудования. Определение данных при помощи инкрементального преобразователя возможно лишь во время вращения или поворота. При остановке вращения все данные энкодера обнуляются. В итоге при последующем включении предыдущие данные счетчика будут неизвестны. Для удобства его эксплуатации следует привести вал в исходное положение. Инкрементальный энкодер идеально справляется с задачей поворота. При помощи подсчета количества импульсов от референтной метки можно с точностью определить также текущую координату угла вращения объекта.

Абсолютные энкодеры

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

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

Разновидности абсолютных энкодеров

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

Оптический энкодер - что это?

Данный преобразователь представляет собой жестко закрепленный на валу диск, сделанный из стекла. Энкодер оптический, в отличие от вышеописанных датчиков, дополнительно оборудован оптическим растором, который в процессе поворота вала перемещается и преобразовывает вращательный момент в поток света, принимаемый впоследствии фотодатчиком.

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

Типы датчиков в зависимости от принципа работы

По характеристикам работы энкодеры делятся на магнитные и фотоэлектрические.

Физический принцип работы первых базируется на применении открытого в 1879 году Э. Холлом. В данном случае разность потенциалов возникает лишь при помещении проводника постоянного тока в область магнитного поля.

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

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

Фотоэлектрический энкодер - это датчик, функционирующий на базе фотоэлектрического эффекта, который наблюдается в результате воздействия света на вещество. Открыт данный принцип в 1887 году Г. Герцем. В процессе работы датчика данного типа наблюдается постоянное преобразование светового луча в электрический сигнал.

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

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

Хотя должен признаться опыт работы с энкодерами имел. Как-то в одной и поделок использовал энкодер из принтера.

В данной истории все приключилось внезапно. Ползая по своим хоббийным форумам натолкнулся на конкурс. Сайт (называть не буду, т.к. разговор не о нем) проводил видимо раскрутку посещаемости и плюс один из форумчан проводил раскрутку своих российского производства изделий. И разыгрывался комплект из 3 наборов для самостоятельной сборки сервоконтроллеров. Я зарегистрировался на этом форуме, подал заявку (вместе с 3 или 4-мя всего лишь участниками) и… выиграл.

Так я стал обладателем 3-х наборов для сборки сервоконтроллеров. Далее мне потребовались энкодеры. Позволю себе объяснить для читателей не так глубоко погруженных в электронные компоненты, что такое сервоконтроллер, энкодер и с чем все это едят.

Есть 2 основных способа управлять точным перемещением в изделиях с ЧПУ (числовое программное управление). Попробую объяснить максимально доступным языком, без сложных схем и терминов.
Первый способ это шаговые двигатели. Шаговый двигатель имеет сложное устройство - несколько катушек, притягивающих сердечник в заданных положениях.

Количество положений, в которых может быть зафиксирован сердечник называется шагами, промежуточные положения (регулируются различными промежуточными напряжениями и соответственно магнитными полями) называют микрошагами. Управляет шаговым двигателем драйвер - это плата управления, как правило с микропереключателями шагов и регулировкой тока, протекающего через двигатель. На вход драйвера подаются сигналы: Enable (разрешить работу шагового двигателя), DIR (направление вращения), STEP (количество шагов, на которое двигателю необходимо повернуть вал). И драйвер переводит команды в обороты вала двигателя. Очень простая и надежная конструкция. Из минусов - скорость вращения двигателя ограничена из-за его конструктива, и если двигатель пропустит по той или иной причине шаги, то управляющая программа об этом не узнает. Отсюда и область применения - низко и среднескоростные двигатели в заданной области нагрузок. Например 3Д принтер или хоббийные станки.

Второй способ управлять перемещениями - сервомотор. Мотор сам по себе может быть любым, постоянного или переменного тока, без разницы. Единственное условие, его вал должен иметь энкодер. Энкодер - это устройство определения позиции вала в данный момент времени. Об энкодерах мы поговорим подробнее чуть позже. Сервоконтроллер имеет другой принцип работы, в отличии от драйвера шагового двигателя. Сервоконтроллер получает на входе те же самые сигналы Enable, STEP, DIR и подает на двигатель напряжение. Двигатель начинает вращаться в нужном направлении, энкодер возвращает данные о положении вала двигателя. Как нужное положение достигается, вал двигателя в нем фиксируется. Конечно это сильно упрощено, т.к. есть ускорение и торможение двигателя, управление током и напряжением, пропорционально-интегрально-дифференцирующий (ПИД) регулятор в контуре обратной связи,… но мы же договорились в этот раз не сильно лезть в теорию.

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

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

В качестве сервоконтроллера я использовал выигранную плату. Она представляет собой развитие open source сервоконтроллера, известного под устойчивым брендом «сервоконтроллер Чена» - по имени китайца, году так в 2004-м, если не ошибаюсь, предложившим данную схему.

Теперь уже практически переходим сути обзора - к энкодерам. Выбор энкодера был осуществлен по характеристикам и цене. Какие бывают типы энкодеров. В основном это оптические и магнитные. Магнитные - когда на краях диска закреплены магниты, а возле них находится датчик Холла.

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

Оптические энкодеры. Самое распространенное решение. Есть в каждой мышке. Раньше отвечали за вращение шарика и колесика. Теперь шариков уже нет, а вот колесики остались. Принцип работы прост - прерывание светового пучка проходящим непрозрачным телом.

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

Для этого используется не один фотодиод, а несколько, обычно 4. Они формируют 2 независимых канала передачи данных, и сравнивая сигналы с этих каналов можно однозначно сделать вывод о направлении вращения диска.

Какие же недостатки есть у данного инкрементального энкодера? Недостаток один, но для ряда применений он критичный. При инициализации энкодера мы не знаем в каком положении находится диск. Т.е. мы можем узнать только направление и скорость вращения диска.

Для получения полной информации, а именно - начальное положение диска, направление и скорость вращения используются абсолютные энкодеры.

Абсолютные энкодеры используют диск со сложной системой кодировки положения. Наиболее распространен код Грея - двоичная кодировка с защитой от ошибок.

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

Вот фотка 3-х пришедших мне энкодеров. Дошли они недели за 3.

У энкодеров 4 вывода, Красный - питание 5В, Черный - земля, Цветные - каналы А и В.
Я быстренько выточил втулочку на вал двигателя под крепление диска, ввинтил туда стержень с резьбой.

На 3Д принтере распечатал площадку под крепление датчика энкодера

Собрал все вместе

Подключил сервоконтроллер, и… тут бы был счастливый конец обзору, но нет. Ничего не заработало. Даже близко ничего не заработало.

Подключил осциллограф и понял, что никаких квадратурных сигналов на выходе нет, только шумы, наводки и непонятные выплески. Грешил я на все на свете. И на требовательность к позиционированию, и на засветку, и на наводки электромагнитные. И часами аккуратно возюкал датчик в разных положениях, выключал свет и пытался проделать все тоже самое в темное. «Крокодил не ловится, не растет кокос.» Разумеется я перепробовал все 3 энкодера. Везде тоже самое. И тут меня дернуло поразглядывать датчик в микроскоп.

То что я увидел повергло меня в изумление. Все 4 сенсора стояли в ряд по радиусу диска, т.е. засвечивались через прорезь диска одновременно. Разумеется ничего не работало. Датчики должны стоять перпендикулярно радиусу диска, и засвечиваться последовательно разными фронтами прорези диска. Я не мог поверить, что это так просто и так глупо. Китайцы поставили датчик с поворотом на 90 градусов. Я спросил на форуме у такого же как я покупателя таких же энкодеров как у него стоит датчик. И у него все было также неправильно и не работало.

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

Поднес датчик к диску так чтобы сенсоры был поперек рисок. Конечно датчик корректно не встал, но на осциллографе начал появляться какой-то осмысленный сигнал.

На фото видно, что сенсоры стали перпендикулярно радиусу диска.

Собрал, подключил к сервоконтроллеру и… Бинго, все заработало! Мотор встал в режим удержания позиции. Т.е. при попытке проворота вала двигателя, мотор упирается и если его все же провернуть, то возвращается в исходное положение.

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

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

Я написал продавцу, он пока шлет мне тонну технических описаний и предлагает попробовать еще, и намекает, что это я не разобрался. Буду на него давить. Пусть хоть часть денег вернет. Я столько времени угрохал из-за их заводского разгильдяйства.

Всем добра и удовольствия от хобби!

Планирую купить +17 Добавить в избранное Обзор понравился +120 +226

Что такое Энкодер.

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

Абсолютный энкодер

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

В данном примере абсолютный энкодер имеет 32 сектора. Соответственно, для их кодирования нужно log 2 (32) = 5 дорожек. Номера секторов обычно задаются кодом Грея . На каждую дорожку диска необходим отдельный датчик.

Код Грея

Обычное представление последовательности двоичных чисел не используется при построении абсолютных энкодеров из-за существенного недостатка.

Представим себе абсолютный энкодер, к примеру, 8-разрядный (угловой или линейный - не имеет значения). Он отслеживает перемещение по нарастанию координаты. Изменение его состояний приведено в таблице 11.1.

На середине шкалы, при переходе от значения 127 к 128, на выходе энкодера меняются одновременно все разряды. В идеальном случае все разряды меняются одновременно. В реальности же двух совершенно одинаковых датчиков не бывает, все они хоть немного отличаются друг от друга чувствительностью, быстродействием и т.д.; к этому добавляется неидеальность юстировки при расположении восьми датчиков в линейку. Это приведет к тому, что в процессе перехода от значения 127 (01111111) к 128 (10000000) мы ожидаем увидеть любое 8-разрядное двоичное число.

На рис 11.3 представлен пример такого изменения выхода при переключении состояния из 7Fh в 10h. Вместо перехода 7Fh → 10h можно наблюдать выходную последовательность: 7Fh → 7Bh → 75h → 71h → F1h → D1h → 90h →10h. Этот эффект может иметь крайне негативные последствия.

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

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

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

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

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

Инкрементальный энкодер

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

Рис 11.4

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

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

Сравнение абсолютного и инкрементального энкодеров

Обе разновидности углового энкодера имеют свои достоинства и недостатки.

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

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

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

Простейшая процедура обработки сигналов инкрементального энкодера.

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

Как уже говорилось ранее, декодер имеет два датчика: A и B. Датчики сдвинуты друг относительно друга на половину ширины штриха (или четверть шага диска), поэтому сигналы получаются сдвинуты по фазе на p/2. Примем для определенности, что сигнал B отстает от сигнала A при повороте диска против часовой стрелки:

Из рис. 11.5 видно, что при движении диска против часовой стрелки (состояния 0-1-2-3-4...) в момент перехода сигнала A из состояния 0 в 1 (передний фронт) сигнал B всегда находится в состоянии 0 (см. состояния 0, 4, 8). Если же диск движется по часовой стрелке (7-6-5-4-3...), сигнал B всегда находится в состоянии 1 (состояния 6, 2).

Отсюда вытекает простейшая процедура обработки сигналов декодера: по переднему фронту сигнала A проверить состояние сигнала B; если он равен 0, увеличить счетчик координаты на единицу, в противном случае уменьшить его на единицу.

Этот алгоритм вполне пригоден для применения в некритичных устройствах, когда погрешность определения координаты не приводит к фатальным последствиям: не так давно вытесненные оптическими роликовые мыши/трекболы, валкодеры магнитол и т. п. Однако он не годится для применений, в которых точность определения координаты является решающим фактором.

Причина несовершенства такой, казалось бы, простой и надежной процедуры кроется в том, что он требует сигналов идеальной формы. В реальных условиях датчики могут иметь «дребезг» при смене состояния сигнала (особенно это относится к датчикам с механическими контактами). В результате дребезга приращение координаты будет произведено несколько раз вместо одного, и значение координаты будет испорчено.

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

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

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

Стоит отметить, что любой инкрементный энкодер имеет 2 типа состояний: устойчивое и не устойчивое. Устойчивые состояния энкодера расположены через один период сигнала А. Не устойчивые состояния – это все остальные. Из неустойчивых состояний энкодер легко переходит в устойчивое. Т.о. за точку отсчёта можно принимать только утойчивые состояния.

Довольно часто при печати можно наблюдать сдвиг части изображения по горизонтали появляющийся через равные промежутки на листе. Многие наблюдая данную проблему начинают выполнять выравнивание печатающей головки но это зачастую не помогает. Так в чем же кроется причина дефекта? Дело в том что почти в каждом печатающем устройстве (за исключением некоторых аппаратов десятилетней давности) есть позиционирующая лента , так называемый, "энкодер" (или энкодерная лента ). Она предназначена для того, что бы устройство всегда "знало" где в данный момент находится каретка принтера.

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

Ленту необходимо протирать не прилагая усилий или придерживая ее рукой так как она очень легко соскакивает со своих креплений и для того чтобы поставить ее на место скорее всего придется разбирать устройство. Для протирки обычно используется любой тампон (туалетная бумага, безворсовая салфетка и т.п.) и спирт ("Мистер-Мускул", жидкость для промывки картриджей и т.п.).

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

Также стоит обратить на энкодерный диск , который находится в крайней левой части устройства (Canon) - єто диск, сообщающийся путем зубчатіх передач (шестеренок) с двигателем. На данном диске также есть отметки (риски), по которім датчик ориентируется и определяет продольное положение листа. Если этот диск загрязнен, то может появиться проблема следующего характера: лист бумаги будет с разрывами, т.е. на листе могут появиться поперечные полосы - механизм протяжки бумаги, ориентируясь по этому диску, протягивает лист, а если диск загрязнен, то лист будет проходить, как бы рывками.

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

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

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


Плату Arduino также можно научить работать с оптическим энкодером, что позволит реализовать больше интересных и практичных устройств.



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




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



Следует заметить, что ширина щели и ширина непрозрачных частей являются важными параметром диска. Для каждой модели оптопрерывателя желательно подобрать рекомендуемую ширину соответствии с документацией на это прерыватель. При этом ширину лучше взять с запасом. Например, если рекомендуемая ширина 1 мм, то ширину непрозрачных полос и щелей лучше сделать 2 мм. Если частота вращения диска составляет 60 оборотов в минуту, то за одну секунду диск повернется на один оборот. Если диск имеет 36 полос, то частота импульсов составит 36 Гц, что может быть легко обработано фотопрерывателем.


Аппаратная часть


Для начала нужно собрать представленную ниже схему, которая состоит из Arduino и оптопрерывателя с обвязкой. Резистор R2 является подтягивающим. Значение резистора R1 зависит от того, какой прерыватель вы используете. К выводу D13 подключается светодиод, который срабатывает при прерывании луча. D12 представляет собой вспомогательный выход, который может быть использован для мониторинга сигнала энкодера на экране осциллографа.



Проверка


После подключения электроники и прошивки Arduino вставьте диск в выемку оптопрерывателя. Подключите осциллограф к D12 и вращайте диск. Если нет под рукой осциллографа, то наблюдайте за подключенным к D13 светодиодом. В данном случае вращайте диск медленно, чтобы импульсы были визуально заметны.




const int encoderIn = 8; // вход для прерывателя const int statusLED = 13; // выход для индикации const int pulseOutput = 12; // выход для осциллографа int detectState=0; // переменная для чтения состояния энкодера void setup() { pinMode(encoderIn, INPUT); //Настраиваем контакт 8 на вход pinMode(statusLED, OUTPUT); //Настраиваем контакт 13 на выход pinMode(pulseOutput, OUTPUT); // Настраиваем контакт 12 на выход } void loop() { detectState=digitalRead(encoderIn); if (detectState == HIGH) { //Если выход энкодера в высоком логическом состоянии digitalWrite(statusLED, HIGH); //включаем светодиод digitalWrite(pulseOutput,HIGH); //выход 13 устанавливаем в высокое логическое состояние } else { digitalWrite(statusLED, LOW); //выключаем светодиод digitalWrite(pulseOutput,LOW); //выход 13 устанавливаем в низкое логическое состояние } }

Возможности улучшения кода


Есть два основных способа считывать сигнал с цифрового входа микроконтроллера: по опросу и по прерыванию. В первом случае система считывает сигнал каждый раз внутри основного цикла программы (как в данном примере). Основным недостатком этого метода является то, что трудно вести обработку других сигналов во время опроса. Но с использованием прерываний основной цикл освобождается от части кода с опросом, и система может спокойно заниматься другими делами, пока на вход не придет сигнал. С поступлением сигнала, основные работы будут приостановлены, система войдет в прерывание для считывания импульса, затем выйдет, восстановив предыдущую работу. Так что, если вам не хватает быстродействия, то воспользуйтесь прерываниями.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows