Arduino и серводвигатель

frundik
Offline
Зарегистрирован: 02.08.2016

Добрый день !

Прошу помощи знающих экспертов ответить на вопрос, возможно ли управлять серводрайвером 80ST-M02430 при помощи ардуино?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

А почему бы и нет? Только управлять придется не напрямую с ардуино, а через мощные мосфеты... (усложняется схемотехника).

svm
Offline
Зарегистрирован: 06.11.2016

BOOM пишет:

А почему бы и нет? Только управлять придется не напрямую с ардуино, а через мощные мосфеты... (усложняется схемотехника).

Да брсьте Вы. Там должны быть несколько интерфейсов. RS232 и им подобные, а в современных и беспроводные есть. Проблема научиться грамотно скармливать им нужные команды.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Вопрос был - реально ли? А уж об остальном нужно после думать, точнее много думать и много документации «курить». 

Onkel
Offline
Зарегистрирован: 22.02.2016

в описании интерфейсы не описаны, но скорее всего у него есть входы Step/Dir/Enable, поскольку есть энкодер 2500 ppp. Ответ - реально.

frundik
Offline
Зарегистрирован: 02.08.2016

Господа, всем спасибо за ответы!

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

sadman41
Offline
Зарегистрирован: 19.10.2016

Клади в публичный доступ - полюбуемся, что за зверь.

frundik
Offline
Зарегистрирован: 02.08.2016

Moderator : флуд и оффтоп зачищены.

Девочки, девоки, не ссорьтесь )))))))) Мне то что делать ????

У меня все просто - нужно покурить мануалы на сервы, понять и рассказать мне как их подключить к Ардуине и написать простенький скеч (для моего понимания), который будет крутить в одну и в другую строну серву на заданое количество шагов, в идеале так же что бы мог возвращаться в нулевую позицию. Кто может помочь ?

Onkel
Offline
Зарегистрирован: 22.02.2016

frundik пишет:

Девочки, девоки, не ссорьтесь )))))))) Мне то что делать ????

У меня все просто - нужно покурить мануалы на сервы, понять и рассказать мне как их подключить к Ардуине и написать простенький скеч (для моего понимания), который будет крутить в одну и в другую строну серву на заданое количество шагов, в идеале так же что бы мог возвращаться в нулевую позицию. Кто может помочь ?

Есть два варианта - разместить пост в разделе "Ищу исполнителя" или самому выбрать исполнителя по топику "исполнители" в ветке "ищу исполнителя". А тут, видите, не положено.  А скетч - можно написать, что ж не написать?

 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Не ShimaSeiki?

sadman41
Offline
Зарегистрирован: 19.10.2016

frundik пишет:

Девочки, девоки, не ссорьтесь )))))))) Мне то что делать ????

Покажите мануал. Не исключено, что там уже всё расписано.

frundik
Offline
Зарегистрирован: 02.08.2016

Вот мануал на драйвер движка

https://dropmefiles.com/JKZBp

nik182
Offline
Зарегистрирован: 04.05.2015

В мануале написано MODBUS комуникация. Т.е. Подключаешь ком порт и командами MODBUS управляешь. 

frundik
Offline
Зарегистрирован: 02.08.2016

А Ардуиной можно командовать, импульсами ?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

frundik пишет:

А Ардуиной можно командовать, импульсами ?

 а почему нет?

frundik
Offline
Зарегистрирован: 02.08.2016

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

Onkel
Offline
Зарегистрирован: 22.02.2016

frundik пишет:

А Ардуиной можно командовать, импульсами ?

По ModBus точно можно. Нужен только USART-RS232 (485) интерфейс. Аналоговый вход есть, +-10 В

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

frundik пишет:

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

Не, я стока не выпью )))

Onkel
Offline
Зарегистрирован: 22.02.2016

Простенький не выйдет. Там модбас. Эт даташит надо вкуривать. И если в даташите есть функции, которые не поддерживает библиотека модбас для ардуины  - нужно писать. А библиотека реально слабая, у меня сколько было заказов по модбас - библиотека не вытягивает, сам пишу. Находите меня в списке исполнителей и пишите, договоримся.

 

nik182
Offline
Зарегистрирован: 04.05.2015

Onkel пишет:

Простенький не выйдет. Там модбас. Эт даташит надо вкуривать. И если в даташите есть функции, которые не поддерживает библиотека модбас для ардуины  - нужно писать. А библиотека реально слабая, у меня сколько было заказов по модбас - библиотека не вытягивает, сам пишу. Находите меня в списке исполнителей и пишите, договоримся.

 

Вы всё врёте. Нормальные библиотеки. Много разных. На управление этим приводом хватит за глаза, ещё и останется. 

А вообще управление скоростью есть аналоговое. Напряжением от -10 до +10 вольт. Команды цифровые на входе имеют опторазвязку и требуют управляющие напряжения 12..24 вольта. Но управление очень замысловатое. У stm32 у первого таймера есть режим управления трёхфазными движками. Он прямо подходит для цифрового управления этой железкой. На ардуине придётся долго камлать с бубном, что бы что то получилось дельное. Самый простой путь - MODBAS. Для остального придётся городить кучу переходников 5V-12V  и 12V-5V и писать программы, но сначала разбираться в принципе подачи цифровых сигналов.

sadman41
Offline
Зарегистрирован: 19.10.2016

nick182, там же PV/PP/PD есть. Я так понимаю, что это как раз Pulse/Direction.

frundik
Offline
Зарегистрирован: 02.08.2016

Правильно ли я понимаю, что гораздо проще будет подключить к компу через COM и по MODBUS управлять, чем городить огороды с Ардуиной ? 

nik182
Offline
Зарегистрирован: 04.05.2015

Да, есть. Но прямо просто так подать не получиться. Там много каналов управления выведены наружу. Сначала нужно сконфигурить какой именно канал задействовать, потом им управлять. С ходу я не нашёл как активировать step/dir. А глубоко лезть религия не позволяет. Уменя такой железки нет и не предвидется. Хотя принцип управления у них общий. И в этом смысле всё равно придётся тянуть кабель не к железке, так к ардуине. Вопрос зачем ардуина? Берём переходник USB-485 и с любого компа или ноута управляем по модбасу.  

sadman41
Offline
Зарегистрирован: 19.10.2016

frundik пишет:

Правильно ли я понимаю, что гораздо проще будет подключить к компу через COM и по MODBUS управлять, чем городить огороды с Ардуиной ? 

В принципе - да, если в габаритах блока управления не ограничены.

frundik
Offline
Зарегистрирован: 02.08.2016

sadman41 пишет:

frundik пишет:

Правильно ли я понимаю, что гораздо проще будет подключить к компу через COM и по MODBUS управлять, чем городить огороды с Ардуиной ? 

В принципе - да, если в габаритах блока управления не ограничены.

 

Вообще не ограничен

sadman41
Offline
Зарегистрирован: 19.10.2016

Наверняка у производителя (а украинцы китайское перепродают явно)  ещё какой-то софт есть. У тринамика на пандрайвах примерно та же история - мотор+контроллер+RS485+софт. Но если не нужно менять алгоритм, то пишется скрипт на TMCL, который грузится в контроллер и всё начинает крутится само по себе, без компа-софта.

Onkel
Offline
Зарегистрирован: 22.02.2016

frundik пишет:

граничен

ответ уже есть - аналог +-10 В, это потенциометр  и б.п. с центральным gnd - и крутит в обе стороны с управляемой скоростью (или моментом)

Onkel пишет:

 

.... Аналоговый вход есть, +-10 В

frundik
Offline
Зарегистрирован: 02.08.2016

ТОварищи! 

Вот подумал: у меня есть ПЛК. Может как-то ему скармливать команды от ардуины, а ПЛК уже в свою очередь будет командовать драйвером сервомотора? Как вы думаете ?

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Да как угодно можно делать, главное убедиться что Работает. 

Onkel
Offline
Зарегистрирован: 22.02.2016

frundik пишет:

ТОварищи! 

Вот подумал: у меня есть ПЛК. Может как-то ему скармливать команды от ардуины, а ПЛК уже в свою очередь будет командовать драйвером сервомотора? Как вы думает

А в чем смысл - добавить еще посредника?

Команды ModBus  с ардуины генерятся на ура. А можно прямо с пк через usb rs485 / 232 интерфейс 

frundik
Offline
Зарегистрирован: 02.08.2016

Onkel пишет:

frundik пишет:

ТОварищи! 

Вот подумал: у меня есть ПЛК. Может как-то ему скармливать команды от ардуины, а ПЛК уже в свою очередь будет командовать драйвером сервомотора? Как вы думает

А в чем смысл - добавить еще посредника?

Команды ModBus  с ардуины генерятся на ура. А можно прямо с пк через usb rs485 / 232 интерфейс 

Во-первых нет интерефейся rs485 / 232, во-вторых удобнее будет Step/Dir управлять!

sadman41
Offline
Зарегистрирован: 19.10.2016

frundik пишет:

Во-первых нет интерефейся rs485 / 232, во-вторых удобнее будет Step/Dir управлять!

На канпутере RS485 организуется за 100р с алиэкспресса. 

Но в конечном счёте основной вопрос заключается в размере приемлемого блока управления. Я полистал мануал - в нём используется чинайглиш (китайский, который прогнали через гуглотранслятор). Иногда понять, что имеется в виду, без эксперимента - совершенно невозможно. Т.е. советом "провод туда, провод сюда, тыкай тут и здесь, потом отбегай" не помочь.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

 Я полистал мануал - в нём используется чинайглиш (китайский, который прогнали через гуглотранслятор). Иногда понять, что имеется в виду, без эксперимента - совершенно невозможно. Т.е. советом "провод туда, провод сюда, тыкай тут и здесь, потом отбегай" не помочь.

Вот это точно, в массе их разговорный английский совершенно невоспринимаем, но есть исключения, так сказать китайская аристократия )))

frundik
Offline
Зарегистрирован: 02.08.2016

В общем:

Запустить двигатель удалось так:

На 9 (-) и 6 (+) пины дал 24 В - Serv ON

Пины:
3 (PP+)
14 (PP-)
4 (PD+)
5 (PD-)
кинул на цифровые выходы Ардуино и вуаля все работает.
Но есть одно но: я не могу добится максимальной сторости двигателя. 
В инструкции на писано В режиме ввода с открытым коллектором максимальная частота импульсов на входе 200 кГц 
Задержку между импульсами я поставил 1 мс, но все равно быстрее чем 300 оборотов в секунду я добиться не могу (
Может у кого есть мысли на этот счет ?
 
 
 
 

 

frundik
Offline
Зарегистрирован: 02.08.2016

Сам спросил и сам ответил.

Покопался в настройках. Выставил количество шагов на один импульс в Pn_098. Поставил 15

Да, возможно это не совсем правильно для точности позиционирования, но так как обе сервы у меня подсоеденены через редукторы 1:80 для меня это более чем достаточно.

P.S. Да. Китайские переводчики такие переводчики )))  микрошаги = молекулы))))))

 

sadman41
Offline
Зарегистрирован: 19.10.2016

frundik, задержку между импульсами можно поставить не только в мс, но и в мкс, тогда двигатель выйдет на вторую космическую.

frundik
Offline
Зарегистрирован: 02.08.2016

 Тоже верно