Цель: сделать так, чтоб шаговый двигатель работал по логике сервопривода. То есть: при задании числа шагов допустим 60, он шагал на 60 шагов, при последующем задании 40 шагов, он сделал минус 20 шагов, то есть на позицию 40 шагов. использую штатный блок шагового двигателя из программы.
Мои попытки были такие:
Описываю логику, и что пошло не так: При появлении числа на входе RV1 блок производит вычитание нуля, сразу же по сигналу с "детектора изменения числа" результат записывается в массив и поступает на вход L2. Вот тут то начались проблемы...
Так как после первого действия вычитания, происходит сразу же второе лишние действие вычитания, в результате этого на выходе имеем не нужный результат.
Что происходит в цифрах: поступило на вход число 4 след действие 4-0=4 оно пошло в массив, сразу идет следующее действие 4-4=0....
Как решить эту проблему я пока не придумал, может быть есть иные варианты решения данной задачи?
Шаговый двигатель как серво
Шаговый двигатель как серво
я бы сделал так -
одной переменной истинное положение, второй то что приходит..по той что приходит ставим блок на отслеживание изменения значения ...при истинном делаем сравнение значений какое больше, это даст наст нам сигнал DIR(в какую сторону крутить) , далее отнимаем одно от другого , делаем необходимые шаги , и одной переменной присваиваем значение второй , и все ждем последующего изменения входного значения
одной переменной истинное положение, второй то что приходит..по той что приходит ставим блок на отслеживание изменения значения ...при истинном делаем сравнение значений какое больше, это даст наст нам сигнал DIR(в какую сторону крутить) , далее отнимаем одно от другого , делаем необходимые шаги , и одной переменной присваиваем значение второй , и все ждем последующего изменения входного значения
Шаговый двигатель как серво
Разобрался, вот эта схема работает верно:
У вас нет необходимых прав для просмотра вложений в этом сообщении.
- eugeneb
- Лейтенант
- Сообщения: 486
- Зарегистрирован: 15 авг 2016, 11:20
- Откуда: Нижний Новгород
- Имя: Евгений
- Благодарил (а): 1 раз
Шаговый двигатель как серво
Это не "серво логика" 
Серво, это когда есть обратная связь от двигателя и
обрабатывается сигнал ошибки.

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