Управление шаговым двигателем через параллельный порт

VISA, TCP/IP, USB, CAN, GPIB и подобные протоколы
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Управление шаговым двигателем через параллельный порт.

Сообщение IvanLis »

roccosiffredi писал(а):Большое спасибо за помощь, выбрал arduino uno rev3 из-за наличия в магазине. Завтра надеюсь приобрести. В принципе мне же любой контроллер от arduino сгодится?
желательно 16МГц, но этот как раз такой
roccosiffredi писал(а):Имеет ли смысл еще купить шилд для управления шаговым двигателем для упрощения работы или с моими драйверами smd4.2 проблем быть не должно?
Вы же собираетесь управлять имеющимся драйвером, тогда зачем дополнительные траты и железо...
думаю в нем нет никакой необходимости
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт.

Сообщение Chupakabra »

Только вчера смотрел LIFA на предмет управления ШД. Там среди режимов есть STEP, DIR. Осциллограф похожее показывает. И похоже задействован даже аппаратный ШИМ (глубоко не ковырял). Т.е. думаю как раз ваш вариант интеграции.
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт.

Сообщение Chupakabra »

А я себе заказал вот-такой контроллер: http://www.sparkfun.com/products/10859
По-сути чип- интрегрированный контроллер ШД. До 128 микрошагов. Ток до 3А r.m.s. Управление по SPI. Буду прикручивать в arduino или STM32VLDISCOVERY (http://www.st.com/internet/evalboard/product/250863.jsp) под stm32 есть код-примеры. А для arduino на спаркфане вроде тоже есть Example Sketch.
roccosiffredi
junior
junior
Сообщения: 51
Зарегистрирован: 18 апр 2012, 13:51
Версия LabVIEW: 2011
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт.

Сообщение roccosiffredi »

Поставил LIFA.
Не могу понять какие настройки порта указывать для Arduino. Как для последовательного порта? На выходе Init дает ошибку -
Error -1073807246 occurred at VISA Clear in LabVIEW Interface for Arduino.lvlib:Init.vi
Изображение

Возможно проблема с подключением - в MAXe--Open VISA test panel--Configuration--View Attributes--в строке Is Port Connected значение Invalid Property Value.
Изображение

На плате оранжевым мигает диод "L" примерно раз в секунду. Драйвер ставил последний. В чем может быть дело?
С уважением, Александр.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Управление шаговым двигателем через параллельный порт.

Сообщение IvanLis »

roccosiffredi писал(а):Поставил LIFA
а зачем LIFA?

Вам нужно писать программу для контролера отдельно, например в Arduino IDE
и работать МК будет независимо от ЭВМ
roccosiffredi
junior
junior
Сообщения: 51
Зарегистрирован: 18 апр 2012, 13:51
Версия LabVIEW: 2011
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт

Сообщение roccosiffredi »

Я именно с помощью LIFA думал увеличить обороты. Непродуктивно?
Через ArduinoIDE - это я пишу скетч на увеличение скорости импульсов, а в LabVIEW работаю с последовательным портом?
Мигающий светодиод L и значение Invalid Property Value - нормальные признаки?
С уважением, Александр.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Управление шаговым двигателем через параллельный порт.

Сообщение IvanLis »

IvanLis писал(а):Можно подключить по RS-232 (USB -> Virtual Com) контроллер, передавать ему команды в формате:
"Направление" - "Кол-во шагов" - "Скорость/частота"
а тот пусть уже преобразует команды и управляет драйверами в формате "Step" - "Dir"
соответственно Вы пишите прогу для Arduino, которая принимает по UART команды и преобразовывает их в команды управления драйвером
в :labview: пишется программа, которая связывается по USB->Virtual COM->UART с контроллером средствами VISA и передает ему команды, а тот в свою очередь их преобразует к необходимому виду

обе программы работают независимо друг от друга
т.е. Вам нужно на 10 см например сдвинуть, это допустим 1000 оборотов
:labview: подает контроллеру "Left; 1000" и ждет
пока Arduino крутит ШД командами "Step" - "Dir", а на это уйдет порядочно времени, ПК отдыхает и :labview: тоже

Забудьте про LIFA, оно Вам никак не нужно!
roccosiffredi писал(а):Я именно с помощью LIFA думал увеличить обороты. Непродуктивно?
скорость обмена между МК и ПК 115200
roccosiffredi писал(а):Через ArduinoIDE - это я пишу скетч на увеличение скорости импульсов, а в LabVIEW работаю с последовательным портом?
Да! Только не увеличение скорости импульсов, а их формирования, т.к. :labview: формирует только команды управления
roccosiffredi писал(а):Мигающий светодиод L
это скетч выполняется, который льют по умолчанию
roccosiffredi писал(а):Invalid Property Value - нормальные признаки?
Нет, но Вам и не нужно, да и шилда этого нет

Уже все разжевал и разложил, Вы прочтите внимательно и подумайте сами.
Тут все люди и терпению однажды придет конец.
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт

Сообщение Chupakabra »

соответственно Вы пишите прогу для Arduino, которая принимает по UART команды и преобразовывает их в команды управления драйвером
в пишется программа, которая связывается по USB->Virtual COM->UART с контроллером средствами VISA и передает ему команды, а тот в свою очередь их преобразует к необходимому виду

обе программы работают независимо друг от друга
т.е. Вам нужно на 10 см например сдвинуть, это допустим 1000 оборотов
подает контроллеру "Left; 1000" и ждет
пока Arduino крутит ШД командами "Step" - "Dir", а на это уйдет порядочно времени, ПК отдыхает и тоже

Забудьте про LIFA, оно Вам никак не нужно!
А почему LIFA не подойдет? Там есть функции управления ШД (те самые команды контроллеру по сути), причем самому писать вообще ничего не надо, кроме управляющей программы в LabVIEW. А самим ШД рулит именно ардуина (ШИМ и т.п.)
Аватара пользователя
Chupakabra

Tutorials
professional
professional
Сообщения: 360
Зарегистрирован: 21 янв 2009, 10:50
Награды: 1
Версия LabVIEW: 2015
Откуда: Москва
Поблагодарили: 4 раза
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт.

Сообщение Chupakabra »

roccosiffredi писал(а):Поставил LIFA.
Не могу понять какие настройки порта указывать для Arduino. Как для последовательного порта? На выходе Init дает ошибку -
Error -1073807246 occurred at VISA Clear in LabVIEW Interface for Arduino.lvlib:Init.vi
1. В ардуину прошивку залили LIFA-вскую?
2. У Вас там AF Motor schield, лучше попробуйте другой вариант (я этот не пробовал, поэтому о его работоспособности сказать ничего не могу)
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Управление шаговым двигателем через параллельный порт

Сообщение IvanLis »

Chupakabra писал(а):А почему LIFA не подойдет? Там есть функции управления ШД (те самые команды контроллеру по сути), причем самому писать вообще ничего не надо, кроме управляющей программы в LabVIEW. А самим ШД рулит именно ардуина (ШИМ и т.п.)
Я уже писал на форуме, что:
IvanLis писал(а):идея LIFA заключается в том, что весь программный код выполняется на ЭВМ, а Arduino выступает в роли согласующего устройства (платы сбора данных)
Пока никто не опроверг мое предположение.
Отсюда и все ограничения: LabVIEW, Windows, RS-232.
roccosiffredi
junior
junior
Сообщения: 51
Зарегистрирован: 18 апр 2012, 13:51
Версия LabVIEW: 2011
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт

Сообщение roccosiffredi »

С LIFA крутятся быстро, скорость устраивает. Буду пробовать писать код в Arduino IDE. Спасибо за помощь.
С уважением, Александр.
roccosiffredi
junior
junior
Сообщения: 51
Зарегистрирован: 18 апр 2012, 13:51
Версия LabVIEW: 2011
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт

Сообщение roccosiffredi »

Добрый день. Написал скетч ардуино для управления двигателями с помощью кнопок, а так же с помощью команд. В Measurement & instruments при отправке команды все работает. Однако никак не выходит той же командой запустить через LV. В чем может быть дело? Настройки порта или же необходимо преобразовывать строку перед visa write?

Изображение

С уважением, Александр.
С уважением, Александр.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Управление шаговым двигателем через параллельный порт

Сообщение IvanLis »

roccosiffredi писал(а):В чем может быть дело?
Может нужно в цикле команды отправлять?
Понятия не имею, как у Вас сделано...
Тут нужно смотреть, что за команду, как она обрабатывается и т.д. и т.п.
sergeyiv
interested
interested
Сообщения: 1
Зарегистрирован: 23 июл 2011, 09:39
Версия LabVIEW: 9.0
Контактная информация:

Re: Управление шаговым двигателем через параллельный порт

Сообщение sergeyiv »

roccosiffredi, roccosiffredi,
Здравствуйте Александр.
Столкнулся со следующей проблемой проблемой.
Немому никак установить библиотеку NI LabVIEW Interface for Arduino Toolkit (уже в течении 4 месяцев без успешно).
При загрузке через VIMP выдаёт ошибку:
This package is not compatible with you operating system or any version installed on you computer.
У меня установлена NI Labview 2012 (полная лицензия) имеется Arduino Mega 2560 R3.
Не могли бы Вы, если Вас это не затруднит архивировать библиотеку LabVIEW Interface for Arduino (любой фаилообменник) и сбросить ссылку на архив мне на email.
Библиотека LabVIEW Interface for Arduino по умолчанию находится:
C:\Program Files\National Instruments\LabVIEW 20..\vi.lib\LabVIEW Interface for Arduino\.
Буду Вам очень презнателен.
Жду ответа.
С уважением, Сергей.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Управление шаговым двигателем через параллельный порт

Сообщение IvanLis »

sergeyiv писал(а):При загрузке через VIMP выдаёт ошибку:
This package is not compatible with you operating system or any version installed on you computer.
А сам VIMP Вы не пробовали обновить?
Ответить

Вернуться в «Коммуникация с приборами»