Добрый день. Есть шаговый двигатель с тормозом. Смогу ли управлять тормозом с помощью одного из выхода этого драйвера ?(Нужен статический сигнал - вкл/выкл тормоза, не импульс)
Вид для печати
Добрый день. Есть шаговый двигатель с тормозом. Смогу ли управлять тормозом с помощью одного из выхода этого драйвера ?(Нужен статический сигнал - вкл/выкл тормоза, не импульс)
Добрый день.
Не сможете, т.к. нет дискретных выходов.
В мануале написано, что есть два выхода.
Например если для выхода OUT2 параметр Р67 = 0, то выход будет управляться битом в регистре Р68.
Вложение 86173
А это тогда что ?
Добрый день.
Битом в регистре надо будет управлять из вне ? Очень хотелось бы обойтись одним драйвером.
В настройках выходов есть : 3 – выдача сигнала достижения значения заданной и 5 – выдача сигнала достижения исходной позиции. Это импульс или дискретный сигнал ?
Оборудование очень простое : стол, который по команде робота поворачивается на 180 градусов.
skozirev@yandex.ru
Я так понимаю, тормоз нужен для удержания стола в заданной позиции, когда двигатель установлен.
Управлять с какого устройства предполагается? ПЛК, ПР, что-то еще?
Вообще-то ШД сам по себе является тормозом, когда не поступают сигналы Step. Но в качестве дополнительного тормоза вполне, особенно если на столе предполагается какая-либо силовая операция, например сверление.
В этом случае тормозом лучше управлять извне. Подавать сигнал на отпускание тормоза надо с небольшим упреждением, как минимум 0.2 сек, включать тормоз с такой-же задержкой после полного останова.
Битом в регистре управлять придется по модбасу. Конкретной привязки выхода к функционалу упрвления тормозом я не нашел. Следовательно в системе должен присутствовать какой-либо ПЛК. Но тут теряется смысл использования выхода именно драйвера, ибо эту функцию проще и надежнее реализовать на ПЛК.
Я делал на подобном драйвере простое перемещение. In1 = "едем туда", In2" едем обратно". В направлении "туда" датчик объекта, и лимита перемещения (конец оси) В направлении "обратно" датчик начала оси. Скорость и ускорения подобрал и зашил в драйвере. ПЛК только смотрел за датчиками, авариями драйвера, и дергал входы драйвера в соответствии с задачей.
Для вашей задачи можно попробовать сконфигурировать "поиск нуля", "ехать в заданную координату вперед", и назад. Скорости и ускорения фиксированные, управление тормозом извне.
Во первых не понятно для каких целей Вам необходим тормоз:
- для быстрой остановки (тогда настраивайте время ускорения в режиме замедления, P76, P78 или аналогичный).
- для удержания (используйте ток удержания, P46 или аналогичный)
- удержания при выключенном ШД (отсутствие питания), используйте внешний тормоз (не важно на ЩД или другой)
Данный драйвер прекрасно будет управляться по RS485, про внешние клеммы STEP, DIR и т.д., забудьте, оно Вам не нужно.
Использую аналогичные драйверы по функционалу em2rs-870, 2 года без проблем в круглосуточном режиме.
Добрый день.
Спасибо всем за участие и помощь.
Добрый день.
Тормоз хочу использовать для удержания стола после достижения точки назначения.
Сейчас как раз изготовители и используют ток удержания, и после того как двигатель перестал "двигаться" до него было не дотронуться - очень горячий....
Стол - это в реальности 2 планки на которые крепиться дверь и робот ее красит сначала с одной стороны, затем дает команду на переворот и красит с другой стороны.
Управляет драйвером DM860 Arduino Nano, на нее с робота через релюшки приходят команды вперед и назад.
Это код скейча :
Вот я и хочу избавиться от Arduino и оставить только вышеуказанный драйвер и управлять им напрямую от робота используя уже имеющиеся сигналы и заменить ШД на Шаговый двигатель 86HSB118-6004A14 с тормозомКод:#include <EncButton.h>
#include "GyverStepper.h"
#define STEPS_PER_180_DEG 3600
GStepper<STEPPER2WIRE> stepper(200, 7, 8, 2);
#define BTN1 4
#define BTN2 A0
Button btn1(BTN1);
Button btn2(BTN2);
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT_PULLUP);
stepper.setRunMode(FOLLOW_POS); // установка режима работы
stepper.setAcceleration(600); // установка ускорения в шагах/секунду^2
stepper.setMaxSpeed(8000); // установка максимальной скорости в шагах/секунду
stepper.autoPower(false); // Отключаем автоотключение (держим питание!)
Serial.println("System ready. Hard holding mode.");
}
void loop() {
btn1.tick();
btn2.tick();
stepper.tick();
// Обработка движения
if (btn1.press()) {
stepper.setTarget(stepper.getCurrent() + STEPS_PER_180_DEG);
Serial.println("Rotating CW");
}
if (btn2.press()) {
stepper.setTarget(stepper.getCurrent() - STEPS_PER_180_DEG);
Serial.println("Rotating CCW");
}
// Жёсткая фиксация позиции (без микрошагов)
if (!stepper.getState()) {
stepper.setTarget(stepper.getCurrent()); // Постоянно обновляем цель = текущая позиция
}
}
Лично мое мнение (субъективное)...
Я бы применил небольшой редуктор (идеально червячный тогда ток удержания можно установить ноль, но все зависит от выходных оборотов и момента), это бы позволило:
1. Уменьшить ток удержания, результат: холодный двигатель (у меня на установках именно так)
2. Применить двигатель меньшей мощности, с меньшей индуктивностью, скажем 86CM35, это позволило бы получить наибольшую приемистость (можно крутить 0....1500 об/мин, в зависимости от необходимого момента) и уменьшить вибрации.
3. Выиграете в более точном позиционировании и плавности хода стола.
В целом система будет более гибкой и стабильной.
Это если Вы еще не купили двигатель 86HSB118-6004A14 с тормозом.... :)
Если, я не ошибаюсь, ответ на Ваш вопрос:
Контакты замкнуты при достижении, т.е. постоянный сигнал, это не импульс и т.д. На подобии программного концевика, если не достигло точки то разомкнуты если достигло или перешагнуло замкнуты.
Вложение 86200
skozirev@yandex.ru, если я вас правильно понимаю, то в вашем случае вы будете использовать драйвер шагового двигателя в режиме "IO" . В этом случае можно использовать один из дискретных выходов для включения промежуточного реле (лучше твердотельного реле) для активации внешнего тормоза шагового двигателя. При этом настроить его на определенную функцию, на картинке я указал. Надеюсь эта схема сработает и поможет решить вашу задачу.
Жека161
Этот сигнал можно использовать, но есть нюансы. Тормоза имеют быстродействие.
Вот простая ситуация для подобной схемы:
1. Двигатель остановлен, тормоз прижат.
2. Двигатель стартует, сигнал отпускает тормоз, тормоз разблокирует двигатель через 100-200мс, в этот момент двигатель пытается провернуться при прижатом тормозе. Это может взвывать мгновенное превышение момента с падением драйвера в аварию. Кроме того, такой старт приводит к усиленному износу тормоза.
С остановом проще. Тормоз прижимается уже на стоячий двигатель.
В промышленности используется огромное количество электродвигателей со встроенным электромагнитным механическим тормозом. В частности трехфазный асинхронный электродвигатель с питанием электродвигателя в параллель с питанием катушки тормоза, включение (подача питания) осуществляется контактором, эта схема работает уже не один десяток лет. Вопрос только к качеству электродвигателя и тормоза. Итальянские моторы Coel, которые приходилось использовать и соответственно обслуживать работали в режиме 24/7 при частоте включения/отключения 2-3 раза в минуту в среднем 3-4 года, потом стиралось ферродо. Немецкие электродвигатели sew eurodrive по статистике примерно также.А сейчас сплошь и рядом используется полнейший хлам, который и пол года не отрабатывает, тормоз весь разваливается, пружины возвратные лопаются... На фото я приведу один из примеров таких плохих приводов. Есть еще болгарские электродвигатели с конусным ротором, они также стартуют на тормозе. Электродвигатели талей (тельферов) также включаются вместе с тормозом, а при установке частотного привода на тельфер, делают так чтобы питание на электротормоз шло через отдельный контактор, который управляется ПЧ, и он в свою очередь включает его не от 0.1 Гц а от 2...6 Гц, в зависимости от задачи, это для того, чтобы не было просаживания груза при включении привода. Грузоподъемное , лифтовое оборудование также включается на тормозе (раньше в большинстве случаев в качестве тормоза использовались ТЭГ тормоза, сейчас ТКТ тормоза). Эти системы работают десятками лет без поломок, в случае обслуживания и регулировки тормозов. Шаговый привод на станках также не исключение.
Что касается шагового привода при заклинивании привода, он начинает пропускать шаги, это не является аварийным режимом для самого привода, но является нехорошим режимом для оборудования на котором он установлен в работу, потому как идет срыв позиции, в случае использования шагового привода без обратной связи о положении по энкодеру. Все зависит от задачи использования шагового привода, в подавляющем большинстве задач где используется шаговый привод, определение перемещения привода осуществляется по количеству шагов отработанных шаговым электродвигателем. Можно по конечным позициям, по концевикам или по датчикам... Определение домашней позиции например идет по концевому выключателю.
В случае автора этими миллисекундами (инерционностью тормоза) можно вообще пренебречь. Плюс ко всему автор в любом случае будет применять плавный разгон, не сразу же рвать привод, стартовать на номинальной скорости.
Вот что ответила техническая поддержка Owen :
Во общем остается только вопрос с задержкой на отпускание тормоза перед стартом двигателя....Цитата:
Добрый день.
Да, сможете. Для управления тормозом вашего двигателя 86HSB118-6004A14 через драйвер MST-24 нужно:
1. Использовать промежуточное реле (24V, с током катушки ≤ 150 мА), так как ток тормоза (300 мА) превышает возможности выхода драйвера.
2. Настроить выход драйвера - в параметре P66 (для OUT1) установить значение
Биты 0-3 = 7 - это функция "Состояние останова двигателя"
Бит 4 = 0 - тип выхода НЗ "нормально-замкнутый"
Когда двигатель РАБОТАЕТ (вращается или удерживает позицию):
- Функция «Состояние останова» НЕ АКТИВНА.
- Выход типа НЗ находится в ЗАМКНУТОМ состоянии (проводит ток).
- Реле ВКЛЮЧАЕТСЯ, замыкая свои силовые контакты.
- На катушку тормоза подается напряжение +24 VDC.
- Тормоз РАЗЖИМАЕТСЯ (электромагнит преодолевает усилие пружины), позволяя валу двигателя вращаться.
Когда двигатель ОСТАНАВЛИВАЕТСЯ:
- Функция «Состояние останова» становится АКТИВНОЙ.
- Выход типа НЗ переходит в РАЗОМКНУТОЕ состояние (ток не проводится).
- Реле ВЫКЛЮЧАЕТСЯ, размыкая цепь питания тормоза.
- Напряжение на катушке тормоза пропадает.
- Тормоз ЗАЖИМАЕТСЯ под действием пружины, фиксируя вал двигателя.
Настройка: В параметре P66 выбрать функцию "Состояние останова двигателя" и тип выхода "НЗ" (нормально-замкнутый).
Данная настройка обеспечивает правильную работу электромагнитного тормоза: напряжение на обмотку подается только при работающем двигателе,
что обеспечивает разжатие тормоза, а при остановке двигателя питание снимается - тормоз зажимается под действием пружины.
skozirev@yandex.ru
В "больших" частотниках, имеющих функционал управления тормозом, алгоритм работы выглядит примерно так:
1. По команде "пуск" включается реле дискретного выхода, которое управляет тормозом, и одновременно активируется "электронный тормоз", то есть удержание двигателя постоянным током на время, достаточное для отпускания тормоза механического.
2. Двигатель начинает работу.
3. При останове, по достижении нулевой скорости так же включается удержание, и выключается реле дискретного выхода.
В данном драйвере такого функционала нет. Поэтому будет проблема при пуске.
Если есть возможность в данном драйвере по дискретной команде ехать в заданную координату, то проще алгоритм управления тормозом сделать на внешнем программируемом контроллере.