Подключение и тест шагового двигателя MDrive17Plus

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

MDrive17Plus

Называется это чудо MDrive17Plus и принадлежит к семейству шаговых двигателей компании Schneider Electric. Решил я его затестить и не привлекая сторонних программистов «заточить» под свои цели. Как оказалось это не так уж и сложно.

Начал работу с этим двигателем я с ознакомления с содержанием сайта компании, накачал datasheet’ов, описание языка программирования, просмотра аппликнотов.

О подключении и тест:

Двигатель имеет встроенный контроллер, с которым можно установить общение посредствам RC422-ого интерфейса и прошить программу, либо управлять с терминала. Так же в наличии 4-е цифровых порта ввода/вывода и один аналоговый. Питается MDrive от +12..+24 вольтового источника, потребляет в пике 2А. Для коннекта с компом потребовался преобразователь USB/RC422, который у меня был родной от этой же компании:

Ну и кабель-переходник с USB на miniUSB. Драйвера на это устройство качаются с сайта, впрочем как и все остальное для работы с двигателем. Сверху переходника виден разъем, он вообще предназначен для питания логики MDrive, то есть можно прошивать и тестить программу без фактического перемещения вала двигателя, однако виртуально инструкции будут исполняться, будут меняться показания энкодера. Это удобно, когда все смонтировано, а прога новая, вот чтобы не порубало никому руки и оборудование применяют этот режим. Однако в мануале рекомендуют в этом переходнике разъем заклеить скотчем и забыть про него. Честно я так и не понял с чем связана эта рекомендация, однако питание на логику таким образом не подавал.) Собственно питание двигателя я организовал с помощью БП от передатчика. который как раз был 2-х амперный:

Итак подключаем переходник USB/RC422 к компу и двигателю, потом подаем питание, перед этим скачав и установив предлагаемый производителем IMS терминал.    Выбираем COM порт, на котором висит двигатель, коннектимся и нажимаем кнопку  «ResetMDrive» и в окне терминала появится команда возврата двигателя к заводским установкам и надпись “Copyright 2001-2007 by Intelligent Motion Systems, Inc.” Что свидетельствует о готовности к работе и правильному подключению шаговика.

Если все ок, нажимаем кнопку Move Some и вал двигателя поворачивается на 9000 шагов сперва в одну, потом в другую сторону, в окне терминала при этом выводится текущая позиция:

О программировании:

Двигателем можно управлять как непосредственно с терминала или по RC422 с какого-нибудь МК, либо прошить в контроллер двигателя программу и использовать I/O порты MDrive. Для этого используется язык интерпретатор производителя. В мануале MCode подробно описаны все команды и принципы программирования.  Я решил зашить в двигатель программу, по которой он будет при нажатии кнопки поворачиваться на определенный угол и с задержкой возвращаться в исходное положение. В программном окне терминала IMS ввел следующий код:

S1=4,0,0 'Устанавливаем вывод I/O1 как вход активный при 0
S 'конфигурацию порта  S1 записываем в энергонезависимую память
SU 'назначаем выполнение программы при включении питания
PG 1  'старт программы с адреса 1
MA 90000  'перемещаем вал на 9000 шагов в позитивном направлении
PR "Position=", P  'выводим в терминал текущую позицию
H 500  'задержка в 0,5сек
MA 0  'возвращаемся в нулевое положение
PR "Position=", P 'выводим в терминал текущую позицию
H  'задержка в 1мсек
E  'конец программы
PG

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

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.

         
Подписаться на новые статьи блога:

6 комментариев: Подключение и тест шагового двигателя MDrive17Plus

  1. Уведомление: Управляем шаговым двигателем с помощью Arduino | Skab in Sky

  2. aik говорит:

    А если использовать неродной переходник USB—>RS422/485 (в моем случае это MOXA 1150), то как там правильно подключиться к моторчику и настроить соединение? Мне надо готовую программу закинуть на моторчик MDI 17. Вроде как вы все делал, но пока не получается (

  3. aik говорит:

    С подключением удалось разобраться, но никак не могу разобраться с конфигурированием. Там есть режим работы Party Mode(когда на одной шине много моторчиков), так вот, как только пишу команду «py=1″(включить party mode), то почему-то пропадает возможность вводить команды в строке терминала. Пока не перезагрузишь моторчик он не на что не откликается.
    Никак не пойму, где моя ошибка.
    Вы кстати случаем не знаете форумы где можно было бы почитать про программирование таких моторов или где люди знающие обитают?

    • Delirium говорит:

      Видимо с настройками порта что-то происходит. Вот похоже . Я, вообще, мало работал с этим двигателем, поэтому форумами не интересовался.

  4. aik говорит:

    Ок. Буду пробовать.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.