Вход на сайт

Зарегистрировавшись на сайте Вы сможете добавлять свои материалы






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


Оптический энкодер или шутка производителя

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

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

В данной истории все приключилось внезапно. Ползая по своим хоббийным форумам натолкнулся на конкурс. Сайт (называть не буду, т.к. разговор не о нем) проводил видимо раскрутку посещаемости и плюс один из форумчан проводил раскрутку своих российского производства изделий. И разыгрывался комплект из 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 градусов. Я спросил на форуме у такого же как я покупателя таких же энкодеров как у него стоит датчик. И у него все было также неправильно и не работало.

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

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

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

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

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

Ну а дальше двигатель займет свое место на фрезерном станке, но это уже совсем другая история...:-)

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

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

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

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

Монтажная пластина самодельного энкодера

- HomemadeTools.net



ОПИСАНИЕ:

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

Новые сообщения на форуме

  1. Как делаются отрезные диски - GIF от Frank S 2020-08-13 23:50:42
  2. Траншеекопатель для орошения - GIF от Frank S 2020-08-13 23:20:23
  3. Шаблон Speed ​​Square для циркулярных пил от dekeros на 2020-08-13 23:13:17
  4. Полив рисовых полей вручную - GIF от Altair в 2020-08-13 21:51:01
  5. Добавление цифровых генераторов к старому аналоговому сварочному аппарату TIG от jdurand 2020-08-13 21:26:49
  6. Когда точилка снимает заусенцы? автор: jdurand, 2020-08-13 21:14:22
  7. Легкий танк M1917 забирается на танк Mark VIII - фото Altair 13.08.2020 20:27:02
  8. Опрыскиватель от бензопилы - видео по триггеру 2020-08-13 19:39:01
  9. Как делают носки - GIF by bruce.desertrat 2020-08-13 19:28:39
  10. Японские доспехи самураев - фото Altair 13.08.2020 19:13:01
,Самодельная втулка вала кодировщика

- HomemadeTools.net



ОПИСАНИЕ:

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

Новые сообщения на форуме

  1. Как делаются отрезные диски - GIF от Frank S 2020-08-13 23:50:42
  2. Траншеекопатель для орошения - GIF от Frank S 2020-08-13 23:20:23
  3. Шаблон Speed ​​Square для циркулярных пил от dekeros на 2020-08-13 23:13:17
  4. Полив рисовых полей вручную - GIF от Altair в 2020-08-13 21:51:01
  5. Добавление цифровых генераторов к старому аналоговому сварочному аппарату TIG от jdurand 2020-08-13 21:26:49
  6. Когда точилка снимает заусенцы? автор: jdurand, 2020-08-13 21:14:22
  7. Легкий танк M1917 забирается на танк Mark VIII - фото Altair 13.08.2020 20:27:02
  8. Опрыскиватель от бензопилы - видео по триггеру 2020-08-13 19:39:01
  9. Как делают носки - GIF by bruce.desertrat 2020-08-13 19:28:39
  10. Японские доспехи самураев - фото Altair 13.08.2020 19:13:01

Родственные самодельные инструменты:

,

DIY линейные энкодеры для ползунковых ручек | Детали

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

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

Итак, давайте создадим собственные кодеры! Но что, если бы они были линейными, а не поворотными? Можем ли мы сделать свои собственные слайдеры? И если да, то можно ли их сделать по кривой? Оказывается, на все это положительный ответ.

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

Настолько крошечный!

Тестовая схема была создана путем установки двух стандартных оптопрерывателей на печатную плату и изготовления полосы прерывателя на лазерном резаке.Это создало квадратурный сигнал, как в обычном энкодере. Таким образом, стандартная библиотека Encoder Arduino может быть использована для анализа вывода прерывателей. Код, использованный в приведенном выше примере, находится на github ILOVELAMP как "diy-linear-encoder-test0.ino", поэтому вы можете увидеть, насколько он прост.

Схема и печатная плата для этого теста одинаково просты:

Одна вещь, которую я не вспомнил, когда впервые сделал эту печатную плату на Othermill, - это использовать одностороннюю заготовку платы при фрезеровании одинарной борт борт! Если у вас есть * какие-либо * компоненты со сквозными отверстиями, они закоротятся на неиспользуемой (но покрытой МЕТАЛЛИЧЕСКОЙ) стороне печатной платы.

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

,

Смотрите также