Подскажите, как шагать правильно?

Использование драйверов двигателей и пользовательских блоков к ним
Ответить
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Подскажите, как шагать правильно?

Сообщение SSSergeich »

Задачка вроде бы простая, но запутался.
Есть шаговик, есть рабочее поле и 2 концевика.
Размер рабочего поля, т.е. расстояние между концевиками может меняться, а время прохождения этого расстояния должно оставаться прежним.
Например, есть рабочее поле 1м, шаговик должен пройти за 1 час. Далее, изменили рабочее поле на 1.5м и его шаговик должен пройти за час.
Т.е. после изменения расстояния нужно откалибровать настройки.
Есть мысль, что например, выставляем скорость 1000 ш/с идем к первому концевику, как только его увидели, разворачиваемся и бежим к другому, засекаем время за которое был совершен проход, допустим 120 секунд.
Получаем типа пропорции
1000ш/с - 120 сек = 120 000 шагов
х ш/с - 3600 сек = 120 000 шагов

А вот дальше ступор, что делать?
Чем считать эти 120000 миллисекунд? Использовать блок системных часов или запускать свой генератор и счетчик?
В проекте присутствует 1602 i2c и энкодер на 2,3 пинах.
Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24 ноя 2017, 16:25
Откуда: Червоноград
Имя: Марьян

Подскажите, как шагать правильно?

Сообщение dizzyy »

а почему не считать импульсы от концевика к концевику? например посчитали - и у вас 10 000 импульсов , их надо сделать за 1 час..
делаете просчеты и пишите в еепром
а далее несеметричный генератор , в нем нужная длина импульса для драйвера , а паузу из вычислений

Отправлено спустя 3 минуты 28 секунд:
главное вычисления ставить в отдельную плату , которая будет работать только в режиме калибровки ..а то энкодер, айтуси , а если есче блок шаговика поставите + вычисления то тормоза будут
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Подскажите, как шагать правильно?

Сообщение SSSergeich »

dizzyy писал(а): 01 сен 2020, 15:34 а почему не считать импульсы от концевика к концевику? например посчитали - и у вас 10 000 импульсов
импульс = шаг?

Отправлено спустя 2 минуты 55 секунд:
dizzyy писал(а): 01 сен 2020, 15:37 главное вычисления ставить в отдельную плату , которая будет работать только в режиме калибровки ..а то энкодер, айтуси , а если есче блок шаговика поставите + вычисления то тормоза будут
Ага, на отдельную с отключением всего лишнего на это время.
Уже столкнулся с тормозами, после чего использовал энкодер от Drundel, библу lcd от ecoins, а ПБ шаговика сделал из примера Гайвера
Аватара пользователя
Rovki
Полковник
Сообщения: 5835
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 77 раз
Поблагодарили: 239 раз
Контактная информация:

Подскажите, как шагать правильно?

Сообщение Rovki »

Элементарно , Ватсон (с). :smile198:
Концевики выполняют две функции
1. при калибровке- проходим расстояние со скоростью V1(константа) и измеряем время , по которому вычисляем расстояние
2.Во время работы останавливают шаговый двигатель , который двигается с заданной (расчетной) скоростью.
Алгоритм- калибруем , то есть вычисляем расстояние,
потом работа- делим расстояние на время(константа) =скорость(VAR) ,
зная количество импульсов на оборот ШД , вычисляем и задаем нужную частоту следования импульсов (скорось движения) с учетом редукции (если есть).
Тоесть задаем не количество шагов , а скорость движения . По достижения концевика , подача импульсов на ШД прекращается :smile37:
Электронщик до мозга костей и не только
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Подскажите, как шагать правильно?

Сообщение SSSergeich »

av писал(а): 01 сен 2020, 16:00 [ref]SSSergeich[/ref], задачка с неизвестными. Допустим у вас получилось как то рассчитать количество шагов до известной точки с концевиком за один час. Далее вы передвинули концевик в неизвестную точку теперь как рассчитать нужное количество шагов за один час до новой точки ?
Концевики переставили - произвели новую калибровку
sillver
Сержант
Сообщения: 194
Зарегистрирован: 27 апр 2017, 12:04
Откуда: УКРАИНА
Имя: Вячеслав

Подскажите, как шагать правильно?

Сообщение sillver »

добрый вечер! С таким алгоритмом я встречался в автоматических дверях в супермаркетах (при ремонте) в одних применяют шаговики в других дивжки с энкодером, но алгоритм почти у них похожий при любом сбое происходит самотестирование причем прохождение человека производит остановку и дальше тестирует (считает шаги) так-как там нет концевиков ориенитируется на ток потребления двигателем при упоре резко возрастает ток вот и концевая точка. В автоматических воротах идет отсчет не по времени а по периодам в сети (это в дорогих) в дешевых по времени.
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Подскажите, как шагать правильно?

Сообщение SSSergeich »

Все получилось)
Во время калибровки бежим, считаем шаги, после калибровки, как и говорил [ref]dizzyy[/ref], настройка генератора и пошагали)
Более того, решил внести возможность изменять время) Тестировали 1м, 1ч, 2ч, 2.5ч, 9ч20м, в норматив (+/- секунды) укладываемся...
Единственное, что пришлось сделать, на время походки отключать дисплей. А хотелось бы на него выводить инфу остаток времени до конца, ну или сколько уже прошло и выполнение задачи в %.
Аватара пользователя
Rovki
Полковник
Сообщения: 5835
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 77 раз
Поблагодарили: 239 раз
Контактная информация:

Подскажите, как шагать правильно?

Сообщение Rovki »

SSSergeich писал(а): 08 сен 2020, 17:55 Все получилось)
Во время калибровки бежим, считаем шаги, после калибровки, как и говорил [ref]dizzyy[/ref], настройка генератора и пошагали)
Более того, решил внести возможность изменять время) Тестировали 1м, 1ч, 2ч, 2.5ч, 9ч20м, в норматив (+/- секунды) укладываемся...
Единственное, что пришлось сделать, на время походки отключать дисплей. А хотелось бы на него выводить инфу остаток времени до конца, ну или сколько уже прошло и выполнение задачи в %.
Это нужно бибки править и использовать механизм ecoins . А иначе одно(ШД) мешает другому (дисплею или модбасу) .
Электронщик до мозга костей и не только
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Подскажите, как шагать правильно?

Сообщение SSSergeich »

[ref=#ff8000]Rovki[/ref], никаких "громоздких"не использую. Для шагового двигателя она в принципе не нужна.
Есть мысль использовать метод подсказанный, если не ошибаюсь, [ref=#ff8000]pan[/ref], запускать плату с экраном ну очень не часто, в моем случае минимум раз в минуту достаточно. Метод от [ref=#ff8000]ecoins[/ref] я попробовал применить (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
Аватара пользователя
Rovki
Полковник
Сообщения: 5835
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 77 раз
Поблагодарили: 239 раз
Контактная информация:

Подскажите, как шагать правильно?

Сообщение Rovki »

SSSergeich писал(а): 08 сен 2020, 21:28 [ref=#ff8000]Rovki[/ref], никаких "громоздких"не использую. Для шагового двигателя она в принципе не нужна.
Есть мысль использовать метод подсказанный, если не ошибаюсь, [ref=#ff8000]pan[/ref], запускать плату с экраном ну очень не часто, в моем случае минимум раз в минуту достаточно. Метод от [ref=#ff8000]ecoins[/ref] я попробовал применить (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
Речь о самых простых интерфейсах -I2C,UART и блоках ШД ,которые используют прерывания
Электронщик до мозга костей и не только
SSSergeich
Капитан
Сообщения: 708
Зарегистрирован: 06 фев 2016, 11:01
Откуда: Ярославль
Имя: Сергей

Подскажите, как шагать правильно?

Сообщение SSSergeich »

Rovki писал(а): 08 сен 2020, 22:59
SSSergeich писал(а): 08 сен 2020, 21:28 [ref=#ff8000]Rovki[/ref], никаких "громоздких"не использую. Для шагового двигателя она в принципе не нужна.
Есть мысль использовать метод подсказанный, если не ошибаюсь, [ref=#ff8000]pan[/ref], запускать плату с экраном ну очень не часто, в моем случае минимум раз в минуту достаточно. Метод от [ref=#ff8000]ecoins[/ref] я попробовал применить (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
Речь о самых простых интерфейсах -I2C,UART и блоках ШД ,которые используют прерывания
из всего используемого оказался дисплей i2c, прерывания использует энкодер, для ШД прерывания вааапче не нужны, ровно как и библиотеки
Аватара пользователя
dizzyy
Капитан
Сообщения: 752
Зарегистрирован: 24 ноя 2017, 16:25
Откуда: Червоноград
Имя: Марьян

Подскажите, как шагать правильно?

Сообщение dizzyy »

SSSergeich писал(а): 08 сен 2020, 21:28 (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
это наверное через использование интеджер, это его предел, нужно использовать лонг интеджер
а экран можно задействовать как по таймеру (раз в секунду), так и метод включения при изменении числа

Отправлено спустя 2 минуты 1 секунду:
можно попробовать вместо екрана i2c взять тм1637
Ответить

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

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

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