Шаговый двигатель как энкодер

↑ Шаговый двигатель и схема

Я разобрал несколько дисководов, везде двигатели были разные. Встречались на шлейфе, встречались с косой цветных проводов. На шлейфе общий провод — крайний. Всё остальное находится прозвонкой. По сопротивлению понятно: с выхода на выход сопротивление вдвое больше, чем с выхода на общую точку. А можно даже не прозванивать. Если открутить четыре винта, внутри коммутационная плата, на ней видно, где общий провод.

Исходная схема многократно встречается в Сети в вариациях. Я оттолкнулся от статьи Thomas (OZ2CPU) .

У неё есть достоинства, но есть и недостатки, об этом далее. Собрал пробный вариант в виде макета, и понял, что ничего не понял Для начала хотелось бы сразу видеть, в какую сторону происходит шаг. Схема выдавала квадратурный код, как и обычный энкодер. Этот код надо было каким-то образом превратить в мигание светодиода — «правый» или «левый».

Разработал и протестировал вот такую схему:

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

Для сборки понадобятся 8 элементов «2И-НЕ», я использовал два чипа 74HC00.Элемент U2A, диод, конденсатор и U2B создают короткий импульс в момент положительного фронта. Элемент U6D, U4D и U2D — мультиплексор, который пересылает этот испульс либо на один, либо на другой светодиод.

Разумеется, этот же функционал можно сделать на единственном микроконтроллере, но это далеко не для всех доступно и удобно. Всё-таки элементы 2И-НЕ можно найти где угодно, в т. ч. советские (74хх00, К155ЛА3, К555ЛА3).Последние два инвертора (U5D и U3D) можно выкинуть, ведь ничто нам не мешает подключить светодиоды не к земле, а к плюсу питания. Если крепко пошевелить мозгом, схему можно было бы ещё упростить, но эту задачу оставляем на будущее.Печатки нет, поскольку всё собиралось только на макетке.

Шаговые двигатели с энкодером

Purelogic R&D предлагает шаговые двигатели с энкодером (сервошаговые двигатели). В отличии от сервопривода с применением щеточного DC или бесщеточного PMSM электродвигателя, сервопривод на базе ШД обладает более скоростным откликом на команду и отсутствуем эффекта колебания ротора в точке останова (ротор не «рыскает»). В отличии от обычного привода с ШД без обратной связи, сервопривод на базе ШД исключает пропуск шагов и на высоких скоростях осуществляет прирост момента на 30%.

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

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

ШД с энкодером Purelogic

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

  • Документация
    • Чертеж
    • Эксплуатация
    • Информация

Шаговые двигатели с энкодером Hyperdrive

Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Hyperdrive моделей HDS42, HDS57, HDS60 и HDS86. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.

  • Документация

Шаговые двигатели с энкодером Leadshine, серия CS

Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Leadshine серии CS. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.

  • Документация
    • Эксплуатация
    • Информация

ШД с энкодером Leadshine, серия ES

Шаговые двигатели с энкодером Leadshine серии ES снимаются с производства, замена серия CS. Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Leadshine моделей ES-D508, ES-D808 и ES-D1008. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.

  • Документация
    • Чертеж
    • Эксплуатация
    • Информация

Шаговые двигатели с энкодером Yako

Для управления серво-шаговым двигателем (СШД) требуется специальный драйвер с поддержкой энкодера. Данные серво-шаговые двигатели совместимы с драйверами Yako моделей SSD2505M, SSD2608H, MS-S3 и MS-L3. Для работы СШД с драйвером другого производителя, возможно, понадобится настройка драйвера. Также можно подключать эти СШД к обычному драйверу, без подключения энкодера. В этом случае точный контроль положения ротора производиться не будет. Подключение СШД к драйверу осуществляется согласно описанию на драйвер и СШД.

Энкодер из шагового двигателя на Ардуино

17978

478

53

00:12:59

15.09.2017

Энкодер из шагового двигателя на Ардуино. Очень простая и реально рабочая схема всего из 8 деталей, шагового двигателя и контроллера Ардуино.
Проверено, работает!

+ ВСЕМ СПАСИБО ЗА ПРОСМОТРЫ, ЛАЙКИ И ПОДПИСКИ!
+ ОБЯЗАТЕЛЬНО ПОДПИШИСЬ НА КАНАЛ!
+ НАЖМИ НА КОЛОКОЛЬЧИК ЧТОБЫ НЕ ПРОПУСТИТЬ НОВОЕ ВИДЕО!
+ ПОДПИШИСЬ НА НОВЫЕ ВИДЕО 🤍
+ НАША ГРУППА ВКОНТАКТЕ 🤍
+ СХЕМЫ, СКЕТЧИ, ОПИСАНИЕ ПРОЕКТОВ ТУТ 🤍
+ ОБУЧЕНИЕ АРДУИНО УРОКИ 🤍

*
Поддержать проект или «сказать СПАСИБО»
Вы можете перечислить любую посильную сумму
СПАСИБО ВСЕМ КТО НАМ ПОМОГАЕТ!
Яндекс кошелек:
🤍
PayPal DONATE
🤍
WebMoney кошельки:
Z356274172580
P826880593822
E100256952477

Сервис Я соберу:
🤍
СМОТРИ НОВЫЕ ВИДЕО ПЕРВЫМ !
ОФОРМИ ПЛАТНУЮ ПОДПИСКУ НА НАШ КАНАЛ
🤍

#arduinoencoder
#encoder
#энкодер
#arduinoclub
#ардуиноклуб

Схема униполярных и биполярных шаговых двигателей

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

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

Переключая данные переключатели в последовательности S1, S2, S1, S2, S1, S2… заметим, что двигатель вращается. Рисунок выше иллюстрирует важный принцип управления: обе обмотки не могут питаться от одной пары одновременно. Каждое изменение переключателя поворачивает ротор на один шаг. Чем быстрее начнем переключать переключатели в последовательности S1, S2, S1, S2…, тем быстрее начнет вращаться ротор.

Подключение переключателей к катушкам шагового двигателя

Скорость шагового двигателя зависит не от величины напряжения, а от скорости подключения питания к отдельным обмоткам. Чтобы добиться полного вращения ротора с 200-шаговым двигателем, надо изменить положение каждого переключателя 100 раз, то есть выполнить до 200 последовательностей для двух переключателей. Это уже говорит о том, что шаговые двигатели не могут работать на высокой скорости. Из этого следует, что шаговые двигатели можно назвать «цифровыми двигателями», поскольку для вращения ротора необходимо переключать переключатели в соответствующей последовательности.

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

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

Упрощенная схема управления униполярным шаговым двигателем

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

Вращение униполярного шагового двигателя в последовательных тактах цикла управления волной

Управляющая последовательность A +, B +, A-, B- повторяется каждые четыре импульса тактового генератора. Этот тип управления называется однофазным или волновым. Это полный шаг управления, потому что двигатель выполняет один полный ход (шаг) с одним импульсом генератора.

Самый простой способ изменить направление – поменять местами одну пару проводов катушки (поменять местами, например, B + с B – и B – с B +), затем дадим последовательность A +, B -, A -, B + импульсы, он вращает двигатель в противоположном направлении. Так управление направлением реализовано в некоторых контроллерах шаговых двигателей. Самый простой способ изменить последовательность импульсов – использовать, например, реле.

Форма волны (однофазная) импульсная последовательность драйвера

Упрощенная схема однофазного (волнового) регулятора с изменением направления вращения

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

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

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

однооборотнымимногооборотными

Вечный энкодер (валкодер) с устойчивыми положениями из шагового двигателя

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

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

↑ Шаговый двигатель и схема

Я разобрал несколько дисководов, везде двигатели были разные. Встречались на шлейфе, встречались с косой цветных проводов. На шлейфе общий провод — крайний. Всё остальное находится прозвонкой. По сопротивлению понятно: с выхода на выход сопротивление вдвое больше, чем с выхода на общую точку. А можно даже не прозванивать. Если открутить четыре винта, внутри коммутационная плата, на ней видно, где общий провод.

Исходная схема многократно встречается в Сети в вариациях. Я оттолкнулся от статьи Thomas (OZ2CPU) .

У неё есть достоинства, но есть и недостатки, об этом далее. Собрал пробный вариант в виде макета, и понял, что ничего не понял Для начала хотелось бы сразу видеть, в какую сторону происходит шаг. Схема выдавала квадратурный код, как и обычный энкодер. Этот код надо было каким-то образом превратить в мигание светодиода — «правый» или «левый».

Разработал и протестировал вот такую схему:

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

Для сборки понадобятся 8 элементов «2И-НЕ», я использовал два чипа 74HC00.Элемент U2A, диод, конденсатор и U2B создают короткий импульс в момент положительного фронта. Элемент U6D, U4D и U2D — мультиплексор, который пересылает этот испульс либо на один, либо на другой светодиод.

Разумеется, этот же функционал можно сделать на единственном микроконтроллере, но это далеко не для всех доступно и удобно. Всё-таки элементы 2И-НЕ можно найти где угодно, в т. ч. советские (74хх00, К155ЛА3, К555ЛА3).Последние два инвертора (U5D и U3D) можно выкинуть, ведь ничто нам не мешает подключить светодиоды не к земле, а к плюсу питания. Если крепко пошевелить мозгом, схему можно было бы ещё упростить, но эту задачу оставляем на будущее.Печатки нет, поскольку всё собиралось только на макетке.

Жалко, что видео не передает тактильные ощущения на валу!

↑ Итого

В целом работа энкодера меня устраивает. Крутить такую «ручку громкости» необычно приятно.Работа над устройством будет продолжена.

Спасибо за внимание!

Управление ШД в EMC2

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

Потом настраиваем все параметры пид, опять же как для любой сервы. (! добавлю код позже !)

И переходим к самому главному: Заводим обратную связь от энкодера в pid контроллер. net x-feedback encoder. .position => pid. .feedback И заводим пин вывода pid на вход stepgen.velocity-cmd или stepgen.position-cmd, в зависимости от того, чем хотим управлять. Т.е. net x-output pid. .output => stepgen. .velocity-cmd или net x-output pid. .output => stepgen. .position-cmd

Если мы хотим управлять шаговым двигателем в режиме управления скоростью, это нужно указать во время загрузки компонента stepgen, т.е. в строчке loadrt stepgen step_type=0,0,0 добавить тип управления для stepgen (p — управление положением, v — управление скоростью) loadrt stepgen step_type=0,0,0 ctrl_type=p,p,v

Теперь вопросы: 1. какой тип управления интересен? 2. в каком станке собираешься применять такие двигатели/контроллеры? И вообще, опиши свой станок. Если есть фотографии, тоже прикрепляй их сюда, могут быть полезными. 3. И главное, чего хочешь этим добиться ?

Подключение поворотного энкодера с Ардуино

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

Для этого понадобятся:

  • любое устройство Ардуино, например, Arduino UNO, Arduino Mega, Arduino Leonardo, Arduino 101, Arduino Due;
  • любой энкодер Ардуино.

Обзор поворотного энкодера

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

Пины, и что они означают:

  • CLK: выход A (цифровой);
  • DT: выход B (цифровой);
  • SW: нажатие кнопки (цифровой);
  • + : VCC-напряжение питания;
  • GND: заземление.

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

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

Чтобы определить направление и проверить, вращается ли штифт по часовой стрелке или против часовой стрелки, нужно сделать следующее:

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

Подключение

Если говорить в общем, то CLK, DT и SW, должны быть подключены к цифровым выводам на Ардуино, + должен быть подключен к 5V, а GND заземлен.

Пошаговая инструкция подключения проводов энкодера к Ардуино:

  1. CLK: подключите конец провода к пину CLK на поворотном энкодере, затем к любому цифровому выводу на Arduino (оранжевый провод).
  2. DT: подключите конец провода к пину DT, затем к любому цифровому контакту на Arduino (желтый провод).
  3. SW: подключите конец провода к пину SW, далее к любому цифровому контакту на Arduino (голубой провод).
  4. + : подключите провод к пину +, затем к контакту +5V на Arduino (красный провод).
  5. GND: подключите конец провода к пину GND на энкодер с контактом GND на Arduino. (Черный провод).

Как кодировать

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

Что понадобится:

  • датчик поворотного энкодера;
  • Ардуино;
  • пьезодатчик;
  • провода.

Вот сам код:

Описание кода

Итак, сначала нужно определить контакты, к которым подключен кодер, и назначить некоторые переменные, необходимые для работы программы. В разделе «Настройки» нужно определить два контакта в качестве входных данных, и запустить последовательную связь для печати результатов на последовательном мониторе. Также нужно прочитать начальное значение вывода A, затем поместить это значение в переменную aLastState.

Далее в разделе цикла снова изменить вывод A, но теперь поместить значение в переменную aState. Таким образом, если повернуть вал и сгенерировать импульс, эти два значения будут отличаться. Сразу после этого, используя второй параметр «if», определить направление вращения. Если выходное состояние B отличается от A, счетчик будет увеличен на единицу, в противном случае он будет уменьшен. В конце, после вывода результатов на мониторе, нужно обновить переменную aLastState с помощью переменной aState.

Это все, что нужно для этого примера. Если загрузить код, запустить монитор и начать вращать вал, значения станут отображаться на мониторе.

Упрощенный пример

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

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

Производители энкодеров

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

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

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

Преимущества сервоприводов на базе шаговых двигателей

Поскольку шаговый двигатель изначально отличается высокой точностью позиционирования (200 или 400 шагов на оборот +-5%), что является одним из основных его конкурентных преимуществ, традиционно считается, что установка энкодера на двигатель такого типа не является необходимостью. Однако практика доказывает, что даже при использовании самого надёжного контроллера возможен пропуск шагов, который может стать следствием целого ряда причин, таких, как:

– повышенная нагрузка; – поперечная нагрузка; – высокий резонанс; – некорректное генерирование импульсов контроллером и т.д;

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

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

Купить шаговый двигатель с энкодером в Stepmotor

В каталоге Stepmotor представлен широкий выбор шаговых двигателей и энкодеров, что позволяет подобрать наилучшим образом подходящий сервопривод на основе ШД для оборудования любого типа. Если вы решили купить ШД с энкодером в наличии по доступной цене на нашем сайте, внимательно ознакомьтесь с характеристиками интересующих вас устройств и непременно убедитесь в том, что подобранные вами устройства совместимы. При возникновении вопросов по подбору оборудования, вы всегда можете проконсультироваться у технического специалиста по телефонам 8 800 5555 068 — по России (звонок бесплатный), в Москве +7 (495) 308-38-48, в СПб +7 (812) 953-07-32) или воспользовавшись формой обратной связи.

Источник

cnc-club.ru

Статьи, обзоры, цены на станки и комплектующие.

Сообщение androns » 20 ноя 2016, 22:37

в Mach3 есть вкладка Encoders.

подскажите плиз, как прописывать параметры моих гибридных движков там

Сообщение FLUKE » 20 ноя 2016, 23:16

Сообщение androns » 20 ноя 2016, 23:32

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

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

иначе смысл гибридного двигателя теряется

Сообщение rehden » 23 ноя 2016, 11:08

androns писал(а): 1. если есть двигатели с энкодерами, то их как-то надо связывать с управляющей программой 2. если возможно, то программная корректировка пропусков

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

иначе смысл гибридного двигателя теряется

Сообщение FLUKE » 23 ноя 2016, 11:47

Сообщение aekhv » 23 ноя 2016, 12:33

Сообщение rehden » 24 ноя 2016, 12:06

Есть сплиттеры сигналов энкодера. раздваивают его. Теоретически возможно заменить, к примеру на леадшайновком приводе, энкодер. на тот который с меткой, то есть с сигналами ABZ. А если шаговые драйвера поддерживают энкодеры более чем с 1000 импульсами на оборот, то вообще заменить стандартные 1000 импульсные на тем же омроновские китайские, на 2000 импульсов и будет не опесуемое счастье. ну или поставить какую то хрень которыя будет пропускать половину импульсов, не помню как она называется. И через сплиттер отдать сигнал на драйвер шаговика, при этом сигнал Z ему не нужен а другой сигнал с Z можно уже пихать куда угодно. Вот только не знаю по чем эти сплеттеры. Будет ли это экономически эффективнее. Думаю что да, будет.

Кто нибуть вообще эксплуатировал такие движки с родными драйверами? Поделитесь опытом =))

Сообщение rehden » 24 ноя 2016, 16:16

Сообщение androns » 28 ноя 2016, 19:39

да. драйвер у меня как раз для шагового с энкодером.

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

но это не есть то, для чего я покупал именно данный вид двигателя (лоханулся ?)

Схема проекта

Схема энкодера для двигателя на Arduino и PID контроллере представлена на следующем рисунке.

Принцип работы схемы достаточно прост. Двигатель N20 с экнкодером имеет 6 контактов, контакты M1, M2 используются для подачи питания на двигатель (он у нас очень маленький, работающий от 3.3V). Контакты VCC и GND используются для питания цепи энкодера. Для питания энкодера необходимо подавать напряжение +5V, иначе цепь энкодера не будет корректно работать. Контакты PIN_A и PIN_B двигателя непосредственно подключены к энкодеру. Измеряя состояние этих контактов, мы легко можем определить число оборотов двигателя в минуту (RPM). Наш двигатель N20 имеет 15RPM и передаточное число 1:2098, что означает, что ось двигателя должна совершить 2098 оборотов для того чтобы вспомогательный вал (на выходе коробки передач) совершил один оборот. Контакты PIN_A и PIN_B двигателя подключены к контактам 9 и 10 платы Arduino – они оба имеют возможность формирования ШИМ (широтно-импульсная модуляция) сигналов. Эти контакты должны обязательно иметь возможность формирования ШИМ сигналов, иначе код программы работать не будет. PID контроллер управляет двигателем при помощи ШИМ.

Также наша схема содержит драйвер двигателя в виде H-моста. Драйвер двигателя у нас имеет такую схему, что с помощью него мы можем управлять двигателем с использованием всего 2-х контактов платы Arduino. Также он защищает двигатель от ложных срабатываний.

Принцип работы

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

механические энкодерыМагнитные энкодерыЕмкостные энкодерыИндуктивные энкодерыРезистивный энкодер

Валкодер из шагового двигателя

Изначально непонятно о чем идет речь? Что за конструкция? Какой контроллер? Кто писал программу? Есть ли возможность ее изменить? Если валкодер с формирователем исправно работает в статическом режиме (медленное вращение с контролем состояний по обоим каналам) то очевидно, что неувязки в управляемом устройстве.

Вечный энкодер (валкодер) с устойчивыми положениями из шагового двигателя

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

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

Рейтинг
( Пока оценок нет )
Editor
Editor/ автор статьи

Давно интересуюсь темой. Мне нравится писать о том, в чём разбираюсь.

Понравилась статья? Поделиться с друзьями:
Семинар по технике
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: