Страница 1 из 4

Управление ШД по Modbus

Добавлено: 15 янв 2021, 15:37
Serg
Подскажите драйвера ШД, которыми можно управлять по Modbus(RS485)? Не настраивать, а именно УПРАВЛЯТЬ - например чтоб мог по команде проехать указанное расстояние с указанной скоростью.

Читать описания на сайтах магазинов я и сам умею. Так-же умею и читать доки, но в тех, которые я находил в лучшем случае написано, что можно управлять, но при это совершенно нет информации о там как это делать - какие команды давать и в какие регистры что писать. :thinking:

Re: Управление ШД по Modbus

Добавлено: 15 янв 2021, 15:38
Maxekb77
Вчера 2DM556-RC приехал, вроде как и модбас и can может, в выходные буду смотреть чего там и как

Re: Управление ШД по Modbus

Добавлено: 15 янв 2021, 15:47
Serg
Было-бы интересно...
На них натыкался, но информации практически 0, даже на сайте производителя... :(

Re: Управление ШД по Modbus

Добавлено: 16 янв 2021, 19:00
Maxekb77
В общем помучал, особо в детали не лез но да задание можно отправлять по modbus или can.
Только китайцы как то извернулись, в общем для моих задач оно не подходит - с панели максимальный ток я могу ограничить а по модбас почему то нет.

Re: Управление ШД по Modbus

Добавлено: 16 янв 2021, 19:27
MX_Master
Можно попробовать рулить драйверами типа TMC2208 через переходник RS485-UART. Оно, канеш, не модбас, но всё же :freak:

Re: Управление ШД по Modbus

Добавлено: 16 янв 2021, 23:02
vmarkiv
У меня была идея , используя регистры TMC5160 , на Ардуине сделать переходник на Modbus . Проект хотел сделать на Flprog . Как образец для шагового привода есть файлы https://pan.baidu.com/s/1c8JeYu7LuPG9J1 ... 7482468654 ( скачать не могу ). Ну и Ananas - там много интересного - https://www.ananasstepper.com/
Ну и - https://en.nanotec.com/ , панель Weintek может к приводу подключаться

Re: Управление ШД по Modbus

Добавлено: 17 янв 2021, 07:08
Serg
За ссылки спасибо, завтра поизучаю.
Но похоже решение будет совсем иным - сделаю для своего ПЛК модуль расширения Modbus-Stepgen, чтоб потом не гонятся за какими-то уникальными драйверами. Завтра схему-плату нарисую и пока будет делаться и ехать наверняка софт "рожу".
С другими ПЛК тоже будет совместимо... :)

Re: Управление ШД по Modbus

Добавлено: 04 фев 2021, 22:17
vmarkiv
Были наброски для FLprog управления шаговым двигателем

Re: Управление ШД по Modbus

Добавлено: 04 фев 2021, 23:05
Serg
Спасибо, но посмотреть не получается - свежескачанный flprog падает при открытии любого файла.
Да и не актуальны они - уже родил макет собственного модуля на stm32l031f6p: 2 независимых канала step/dir до 100кГц, в принципе можно и до ~5МГц, но "на верхах" дискретность установки частоты будет слишком маленькая. За одно сделал то, что давно собиралься попробовать - библиотечку Modbus RTU и ASCII, по максимуму использующую соотв. аппаратную поддержку в stm32. Получилось очень простая и компактная реализация, прерывание генерится только после прихода последнего байта пакета. Modbus сервер и два шагогенератора заняли ~15kB Flash и 2.3kB RAM. Заказал платы, жду...
Пока жду быстренько набросал аналогичный Modbus модуль на 2 энкодера, тоже платы жду. :)

Re: Управление ШД по Modbus

Добавлено: 06 фев 2021, 19:58
vmarkiv
Отлично , что получилось . Аналогичный проект https://www.crowdsupply.com/good-robotics/wi-fi-stepper https://bitbucket.org/aklofas/wifistepp ... fistepper/ , просто для информации в теме .

Re: Управление ШД по Modbus

Добавлено: 06 фев 2021, 22:29
Serg
Не, это совсем другое, тут нет ни Modbus, ни генератора шагов.

Re: Управление ШД по Modbus

Добавлено: 17 фев 2021, 18:04
at90
У лидшайна есть драйвер EM2RS. В пурике есть в наличии. Никто такие не пробовал?

Re: Управление ШД по Modbus

Добавлено: 17 фев 2021, 23:45
Serg
at90 писал(а): У лидшайна есть драйвер EM2RS. В пурике есть в наличии. Никто такие не пробовал?
Написано, что можно настроить максимум 16 команд перемещения и потом их выполнять - не годится.

Re: Управление ШД по Modbus

Добавлено: 18 фев 2021, 16:23
at90
А то мешает перезаписывать комманду. Т.е настроили одну страницу. а меняем только позицию.
Для чпу не годится. А для автоматизации вполне.

Re: Управление ШД по Modbus

Добавлено: 18 фев 2021, 18:42
Serg
at90 писал(а): А для автоматизации вполне.
Как раз для автоматизации совсем не годится. Во первых выбор/запуск такой "команды" производится через несколько дискретных входов, а не по Modbus. Во вторых сильно сомневаюсь , что перепрограммировать эти команды получится простым PLC типа такого https://www.aliexpress.com/item/4001279038167.html. А PLC посерьёзнее как правило и сами хорошо умеют шаги генерить, например https://owen.ru/product/plk110_m02
Таких драйверов я уже кучу разных нашёл, но они не подходят, потому и создал тему.

А то, что я делаю можно использовать даже просто только с операторской панелью, я вот тестирую с такой https://www.aliexpress.com/item/32542135531.html. Этого например вполне достаточно для перемещения упоров на станках типа гибочных, гильотинах, пилах...

А учитывая, что интерфейс RS485 на устройствах поддерживает скорость до 2Mbit/s, то они сгодятся и как модули расширения для много чего.

Re: Управление ШД по Modbus

Добавлено: 18 фев 2021, 22:05
at90
Авто хоминг будет?

Re: Управление ШД по Modbus

Добавлено: 18 фев 2021, 22:19
at90
Serg писал(а): 18 фев 2021, 18:42
at90 писал(а): А для автоматизации вполне.
Как раз для автоматизации совсем не годится. Во первых выбор/запуск такой "команды" производится через несколько дискретных входов, а не по Modbus. Во вторых сильно сомневаюсь , что перепрограммировать эти команды получится простым PLC типа такого https://www.aliexpress.com/item/4001279038167.html. А PLC посерьёзнее как правило и сами хорошо умеют шаги генерить, например https://owen.ru/product/plk110_m02
Таких драйверов я уже кучу разных нашёл, но они не подходят, потому и создал тему.

А то, что я делаю можно использовать даже просто только с операторской панелью, я вот тестирую с такой https://www.aliexpress.com/item/32542135531.html. Этого например вполне достаточно для перемещения упоров на станках типа гибочных, гильотинах, пилах...

А учитывая, что интерфейс RS485 на устройствах поддерживает скорость до 2Mbit/s, то они сгодятся и как модули расширения для много чего.
Motion can be started by External IO or RS485 or HMI

Re: Управление ШД по Modbus

Добавлено: 19 фев 2021, 06:28
Serg
at90 писал(а): Авто хоминг будет?
Реализовать не проблема, но нужны входы для концевиков. В первой версии платы они не предусмотрены, ибо тянут за собой кучку других вопросов. Поэтому пока будет средствами PLC. А то и вообще абсолютную магнитую "линейку" применим, чтоб не заморачиваться с хомингом на длине в 3 метра. :)
at90 писал(а): Motion can be started by External IO or RS485 or HMI
Я описания этих команд не нашёл... :wik:
Впрочем я его наверно куплю на пробу - всё равно скоро для тестов понадобится нормальный драйвер ШД, а то я всё мелким 3dпринтерным пользуюсь, ибо вокруг одни сервы. :)

Re: Управление ШД по Modbus

Добавлено: 19 фев 2021, 11:12
at90
К нему же есть тестовый софт. Я думаю, что через него можно крутить движок. Тоже возьму на пробу.
Есть у китайцев еще несколько вариантов драйверов. Но там с описанием вообще туго.

Re: Управление ШД по Modbus

Добавлено: 15 апр 2021, 02:20
Serg
В итоге купил и слегка потестил два драйвера: Leadshine EM2RS и RTELLIGENT NT60. Это названия серий, внутри серий есть модели на разные токи/напряжения, я на этом останавливаться не буду, кому надо - нагуглит. :)
Тестировался только способ управления RS485+Modbus. И так:

Leadshine EM2RS
У драйвера 7 дискретных входов и 3 дискретных выхода, все программируются на любую имеющуюся функцию. По дефолту первый вход запрограммирован на Enable, все остальные на ничего.
На драйвере есть два порта RS485 в виде гнёзд 8p8c (RJ45), они просто запараллелены, чтобы можно было несколько драйверов соединять в "цепочку" обычными сетевыми патчкордами.
Есть порт RS232 для настройки драйвера через Leadshine Motion Studio, однако разъём нестандартный, к нему нужна вот такая ответная часть: https://www.chipdip.ru/product/ds1066-04f-mu-4f
Набор настроек наверно более менее обычный для Leadshine, однако специальной процедуры автотюнига нет, есть только параметр разрешающий или нет некую автонастройку при включении. Внешне это никак не проявляется, но индуктивность обмоток показывает правильно. Все настройки доступны и через RS485+Modbus.
DIP переключателями можно менять только скорость портов RS485 и RS232, Modbus адрес и включать встроенный терминатор для RS485.
Управления STEP+DIR нет. Но два любых входа можно настроить для управления CW+CWW. Можно настроить входы на JOG в двух вариантах: 1. пока сигнал активен мотор крутится (скорость программируется); 2. при появлении активного сигнала крутится заданное время.
Входы можно запрограммировать на подключение концевиков - будет сам хомиться по Modbus команде или по соотв. дискретному сигналу.
Управлять перемещениями можно как через Modbus, так и дискретными входами. По Modbus можно одной командой задать новую позицию, скорость, оба ускорения, тип позиции (абсолютная/относительная), режим работы (позиционирование или в вращение с заданной скоростью) и выполнить это задание.
Ещё имеются 16 ячеек для таких заданий, их можно заполнить заранее и запускать на выполнение либо Modbus командой или специальным дискретным сигналом, предварительно выбрав адрес "ячейки" другими дискретными сигналами. Можно из любых этих ячеек "собрать" как из кусочков последовательность перемещений и запускать её командой/сигналом. Кусочки можно заставить исполнятся без остановок между ними - просто на их границах скорость будет изменяться с заданными ускорениями.
В самом начале документации в разделе особенностей упоминается Full Closed Loop, но более нигде это не упоминается и энкодер тоже, да и Leadshine позиционирует драйвер как Open Loop. Однако есть параметры управления PID регулятором тока в обмотках, видимо это оно.

RTELLIGENT NT60
У драйвера 6 дискретных входов и 2..4 дискретных выхода в зависимости от модели, все программируются на любую имеющуюся функцию. Особо отмечу такую особенность входов: если в промежутках между опросами контроллером какие-либо входы кратковременно меняли своё состояние туда-обратно, то есть возможность узнать какие это были входы и как менялось состояние.
На драйвере так-же есть два порта RS485 в виде гнёзд 8p8c (RJ45), и они так-же запараллелены, чтобы можно было несколько драйверов соединять в "цепочку" обычными сетевыми патчкордами. Все настройки делаются через Modbus. Для любителей GUI на сайте производителя есть RTConfigurator (RTConfig), но там просто таблица регистров, со значениями и кратким названием, можно покрутить мотором. Иногда глюкает.
Эти драйвера интересны ещё и тем, что умеют управлять как двухфазными так и трёхфазными моторами. Так-же входы можно настроить как энкодерные входы (+5В драйвер предоставляет) и драйвер сможет полноценный Full Closed Loop по позиции. На моделях серии NR60 есть аналоговый вход для аналогового управления скоростью.
Управление аналогично драйверам Leadshine EM2RS с несущественными различиями в командах. STEP+DIR есть.

Доки на них легко гуглятся и через переводчик более-менее нормально читаются, но нужен опыт работы с Modbus и с ШД и сервоприводами - в доках до разъяснения подобных "очевидностей" как обычно не опускаются.
Где купить тоже сами гуглите, при покупке у местных продавцов обязательно уточняйте наличие/сроки, ибо драйвера редкие и практически ни у кого на складах нет.