Контроллеры
MICROSTEP

Главная

Станки

СхемыNEW

Проекты

BLDC

SERVO

MICROSTEP

SERVOTUNING

Привод с гидропередачей

Программы

Изделия

Контроллеры NEW

CD

Сылки

Prise

Besucherzahler online dating
счетчик посещений

swappernet

статистика

 

Про достоинства и недостатки микрошагового режима работы шагового двигателя хорошо известно. Вот и я решил поэксперементировать с микрошаговым режимом. Для опытов взял имеющийся у меня шаговый двигатель с оптическим энкодером. Двигатель трехфазный. Число шагов на оборот-24. Число импульсов энкодера на оборот -1024. Что очень даже хорошо - 42 импульса на один шаг.

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

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

А теперь микрошаговый режим. Такой режим получил при помощи ШИМ без обратной связи по току. Двигатель подключил в униполярном режиме. Средний провод двигателя подключен на плюс источника питания. Каждая фазная обмотка управляется через мощный полевой транзистор. На управление каждого транзистора подается ШИМ сигнал, значение которого меняется по синусоидальному закону. Смещение между соседними фазами 120 градусов.

Полученный результат - не тот, что ожидал. Двигатель стал вращаться плавней. Но колебания все равно есть. Вот график:

Грасная линия - то расчетное положение, синяя - действительное. Не гуд. Второй вариант. ШИМ на две фазы. Вот график:

Немного ближе. Но все равно не то, что ожидалось. В чем причина, пока не разобрался. Может попробовать подобрать значение ШИМ эспериментально, а не менять его по синусу? Нужно еще попробовать подключить двигатель в биполярном режиме. И еще. Усилие на валу меньше, чем при шаговом и полушаговом режиме.

А теперь попытка использовать шаговый двигатель с энкодером как серводвигатель ( если я правильно понимаю понятие серводвигателя). Принцип управления примерно такой же как в опытах с сервомашинкой в предыдущем разделе. Через СОМ порт передается положение двигателя (-32767...32767). Проверяется текущее положение по оптическому энкодеру. Если оно меньше нужного, то двигатель шагает в одну сторону. Если больше, то в другую. Если соответствует заданному, то стоит на месте. Внутренний счетчик положения двигателя имеет тип "integer". Поэтому и такое значение положения. Текущее и заданное положение передается по СОМ порту и отображено на картинке:

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

Четырехфазный двигатель от одной из моих экспериментальных плат в микрошаговом биполярном режиме работает очень плавно (если определять на глаз, рукой...). И звук при работе другой чем при полушаговом и, тем более, шаговом режиме. Жаль нет четырехфазного двигателя с мелким шагом да еще с оптическим энкодером с высокой разрешающей способностью. Тогда бы я его потестил... Хотя кто сказал, что энкодер должен быть на валу двигателя. Энкодер можно поставить уже на какой-нибудь там каретке допустим в станке, которая перемещается шаговым двигателем через винтовую передачу. В качестве энкодера можно взять оптическую линейку, цифровую линейку или штангенциркуль, датчик из оптической или лазерной мышки ( где-то были прошивки от старых экспериментов с оптической мышкой), или еще какой-нибудь другой "пьезометр". Еще есть идея сделать привычное всем управление сигналами STEP/DIR. Правда в процессоре (TINY2313) моей экспериментальной платы заняты все входы прерываний на обработку энкодера. Надо либо переписать программу энкодера, либо взять другой процессор. Но это в будущем...