Шаговый двигатель как серво

Использование драйверов двигателей и пользовательских блоков к ним
Ответить
COBOK_OK
Рядовой
Сообщения: 23
Зарегистрирован: 13 янв 2018, 11:17
Откуда: Московская область

Шаговый двигатель как серво

Сообщение COBOK_OK »

Цель: сделать так, чтоб шаговый двигатель работал по логике сервопривода. То есть: при задании числа шагов допустим 60, он шагал на 60 шагов, при последующем задании 40 шагов, он сделал минус 20 шагов, то есть на позицию 40 шагов. использую штатный блок шагового двигателя из программы.
Мои попытки были такие:
шаговый серво.jpg
Шаговый двигатель как серво логика.flp
Описываю логику, и что пошло не так: При появлении числа на входе RV1 блок производит вычитание нуля, сразу же по сигналу с "детектора изменения числа" результат записывается в массив и поступает на вход L2. Вот тут то начались проблемы...
Так как после первого действия вычитания, происходит сразу же второе лишние действие вычитания, в результате этого на выходе имеем не нужный результат.
Что происходит в цифрах: поступило на вход число 4 след действие 4-0=4 оно пошло в массив, сразу идет следующее действие 4-4=0....
Как решить эту проблему я пока не придумал, может быть есть иные варианты решения данной задачи?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24 ноя 2017, 16:25
Откуда: Червоноград
Имя: Марьян

Шаговый двигатель как серво

Сообщение dizzyy »

я бы сделал так -
одной переменной истинное положение, второй то что приходит..по той что приходит ставим блок на отслеживание изменения значения ...при истинном делаем сравнение значений какое больше, это даст наст нам сигнал DIR(в какую сторону крутить) , далее отнимаем одно от другого , делаем необходимые шаги , и одной переменной присваиваем значение второй , и все ждем последующего изменения входного значения
COBOK_OK
Рядовой
Сообщения: 23
Зарегистрирован: 13 янв 2018, 11:17
Откуда: Московская область

Шаговый двигатель как серво

Сообщение COBOK_OK »

Разобрался, вот эта схема работает верно:
Шаговый двигатель как серво логика.flp
логика шагового.jpg
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
eugeneb
Лейтенант
Сообщения: 486
Зарегистрирован: 15 авг 2016, 11:20
Откуда: Нижний Новгород
Имя: Евгений
Благодарил (а): 1 раз

Шаговый двигатель как серво

Сообщение eugeneb »

Это не "серво логика" :)
Серво, это когда есть обратная связь от двигателя и
обрабатывается сигнал ошибки.
С уважением,
Евгений Бобков
serg54
Рядовой
Сообщения: 90
Зарегистрирован: 20 дек 2015, 15:21
Откуда: Запорожская обл

Шаговый двигатель как серво

Сообщение serg54 »

COBOK_OK писал(а): 21 янв 2018, 10:53Разобрался, вот эта схема работает верно:
Какой двигатель у тебя?
COBOK_OK
Рядовой
Сообщения: 23
Зарегистрирован: 13 янв 2018, 11:17
Откуда: Московская область

Шаговый двигатель как серво

Сообщение COBOK_OK »

serg54 писал(а): 02 фев 2018, 22:30Какой двигатель у тебя?
биполярный от принтера какого то на 96 шагов, подключал через L293D
serg54
Рядовой
Сообщения: 90
Зарегистрирован: 20 дек 2015, 15:21
Откуда: Запорожская обл

Шаговый двигатель как серво

Сообщение serg54 »

Пытаюсь пристроить ШД от 5" дисковода для управления дроссельной заслонкой на двигателе К750 (регулятор оборотов), Пробовал ШД 28-BYJ48 и драйвер ULN2003 не держит он позицию, 2_3 измерения на входе и двигатель уходит з заданной позиции, Надо думать что то другое.
Здесь http://hobbytech.com.ua/arduino-%D0%B1% ... %B5%D0%BB/ альтернативная библиотека для ШД, под нее бы сделать блок. Я в кодах не соображаю .
Ответить

Вернуться в «Управление двигателями»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя