Подскажите, как шагать правильно?
-
- Капитан
- Сообщения: 708
- Зарегистрирован: 06 фев 2016, 11:01
- Откуда: Ярославль
- Имя: Сергей
Подскажите, как шагать правильно?
Задачка вроде бы простая, но запутался.
Есть шаговик, есть рабочее поле и 2 концевика.
Размер рабочего поля, т.е. расстояние между концевиками может меняться, а время прохождения этого расстояния должно оставаться прежним.
Например, есть рабочее поле 1м, шаговик должен пройти за 1 час. Далее, изменили рабочее поле на 1.5м и его шаговик должен пройти за час.
Т.е. после изменения расстояния нужно откалибровать настройки.
Есть мысль, что например, выставляем скорость 1000 ш/с идем к первому концевику, как только его увидели, разворачиваемся и бежим к другому, засекаем время за которое был совершен проход, допустим 120 секунд.
Получаем типа пропорции
1000ш/с - 120 сек = 120 000 шагов
х ш/с - 3600 сек = 120 000 шагов
А вот дальше ступор, что делать?
Чем считать эти 120000 миллисекунд? Использовать блок системных часов или запускать свой генератор и счетчик?
В проекте присутствует 1602 i2c и энкодер на 2,3 пинах.
Есть шаговик, есть рабочее поле и 2 концевика.
Размер рабочего поля, т.е. расстояние между концевиками может меняться, а время прохождения этого расстояния должно оставаться прежним.
Например, есть рабочее поле 1м, шаговик должен пройти за 1 час. Далее, изменили рабочее поле на 1.5м и его шаговик должен пройти за час.
Т.е. после изменения расстояния нужно откалибровать настройки.
Есть мысль, что например, выставляем скорость 1000 ш/с идем к первому концевику, как только его увидели, разворачиваемся и бежим к другому, засекаем время за которое был совершен проход, допустим 120 секунд.
Получаем типа пропорции
1000ш/с - 120 сек = 120 000 шагов
х ш/с - 3600 сек = 120 000 шагов
А вот дальше ступор, что делать?
Чем считать эти 120000 миллисекунд? Использовать блок системных часов или запускать свой генератор и счетчик?
В проекте присутствует 1602 i2c и энкодер на 2,3 пинах.
Подскажите, как шагать правильно?
а почему не считать импульсы от концевика к концевику? например посчитали - и у вас 10 000 импульсов , их надо сделать за 1 час..
делаете просчеты и пишите в еепром
а далее несеметричный генератор , в нем нужная длина импульса для драйвера , а паузу из вычислений
Отправлено спустя 3 минуты 28 секунд:
главное вычисления ставить в отдельную плату , которая будет работать только в режиме калибровки ..а то энкодер, айтуси , а если есче блок шаговика поставите + вычисления то тормоза будут
делаете просчеты и пишите в еепром
а далее несеметричный генератор , в нем нужная длина импульса для драйвера , а паузу из вычислений
Отправлено спустя 3 минуты 28 секунд:
главное вычисления ставить в отдельную плату , которая будет работать только в режиме калибровки ..а то энкодер, айтуси , а если есче блок шаговика поставите + вычисления то тормоза будут
-
- Капитан
- Сообщения: 708
- Зарегистрирован: 06 фев 2016, 11:01
- Откуда: Ярославль
- Имя: Сергей
Подскажите, как шагать правильно?
импульс = шаг?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 раз
- Контактная информация:
Подскажите, как шагать правильно?
Элементарно , Ватсон (с).
Концевики выполняют две функции
1. при калибровке- проходим расстояние со скоростью V1(константа) и измеряем время , по которому вычисляем расстояние
2.Во время работы останавливают шаговый двигатель , который двигается с заданной (расчетной) скоростью.
Алгоритм- калибруем , то есть вычисляем расстояние,
потом работа- делим расстояние на время(константа) =скорость(VAR) ,
зная количество импульсов на оборот ШД , вычисляем и задаем нужную частоту следования импульсов (скорось движения) с учетом редукции (если есть).
Тоесть задаем не количество шагов , а скорость движения . По достижения концевика , подача импульсов на ШД прекращается

Концевики выполняют две функции
1. при калибровке- проходим расстояние со скоростью V1(константа) и измеряем время , по которому вычисляем расстояние
2.Во время работы останавливают шаговый двигатель , который двигается с заданной (расчетной) скоростью.
Алгоритм- калибруем , то есть вычисляем расстояние,
потом работа- делим расстояние на время(константа) =скорость(VAR) ,
зная количество импульсов на оборот ШД , вычисляем и задаем нужную частоту следования импульсов (скорось движения) с учетом редукции (если есть).
Тоесть задаем не количество шагов , а скорость движения . По достижения концевика , подача импульсов на ШД прекращается

Электронщик до мозга костей и не только
-
- Капитан
- Сообщения: 708
- Зарегистрирован: 06 фев 2016, 11:01
- Откуда: Ярославль
- Имя: Сергей
Подскажите, как шагать правильно?
Концевики переставили - произвели новую калибровкуav писал(а): 01 сен 2020, 16:00 [ref]SSSergeich[/ref], задачка с неизвестными. Допустим у вас получилось как то рассчитать количество шагов до известной точки с концевиком за один час. Далее вы передвинули концевик в неизвестную точку теперь как рассчитать нужное количество шагов за один час до новой точки ?
Подскажите, как шагать правильно?
добрый вечер! С таким алгоритмом я встречался в автоматических дверях в супермаркетах (при ремонте) в одних применяют шаговики в других дивжки с энкодером, но алгоритм почти у них похожий при любом сбое происходит самотестирование причем прохождение человека производит остановку и дальше тестирует (считает шаги) так-как там нет концевиков ориенитируется на ток потребления двигателем при упоре резко возрастает ток вот и концевая точка. В автоматических воротах идет отсчет не по времени а по периодам в сети (это в дорогих) в дешевых по времени.
-
- Капитан
- Сообщения: 708
- Зарегистрирован: 06 фев 2016, 11:01
- Откуда: Ярославль
- Имя: Сергей
Подскажите, как шагать правильно?
Все получилось)
Во время калибровки бежим, считаем шаги, после калибровки, как и говорил [ref]dizzyy[/ref], настройка генератора и пошагали)
Более того, решил внести возможность изменять время) Тестировали 1м, 1ч, 2ч, 2.5ч, 9ч20м, в норматив (+/- секунды) укладываемся...
Единственное, что пришлось сделать, на время походки отключать дисплей. А хотелось бы на него выводить инфу остаток времени до конца, ну или сколько уже прошло и выполнение задачи в %.
Во время калибровки бежим, считаем шаги, после калибровки, как и говорил [ref]dizzyy[/ref], настройка генератора и пошагали)
Более того, решил внести возможность изменять время) Тестировали 1м, 1ч, 2ч, 2.5ч, 9ч20м, в норматив (+/- секунды) укладываемся...
Единственное, что пришлось сделать, на время походки отключать дисплей. А хотелось бы на него выводить инфу остаток времени до конца, ну или сколько уже прошло и выполнение задачи в %.
- Rovki
- Полковник
- Сообщения: 5835
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 77 раз
- Поблагодарили: 239 раз
- Контактная информация:
Подскажите, как шагать правильно?
Это нужно бибки править и использовать механизм ecoins . А иначе одно(ШД) мешает другому (дисплею или модбасу) .SSSergeich писал(а): 08 сен 2020, 17:55 Все получилось)
Во время калибровки бежим, считаем шаги, после калибровки, как и говорил [ref]dizzyy[/ref], настройка генератора и пошагали)
Более того, решил внести возможность изменять время) Тестировали 1м, 1ч, 2ч, 2.5ч, 9ч20м, в норматив (+/- секунды) укладываемся...
Единственное, что пришлось сделать, на время походки отключать дисплей. А хотелось бы на него выводить инфу остаток времени до конца, ну или сколько уже прошло и выполнение задачи в %.
Электронщик до мозга костей и не только
-
- Капитан
- Сообщения: 708
- Зарегистрирован: 06 фев 2016, 11:01
- Откуда: Ярославль
- Имя: Сергей
Подскажите, как шагать правильно?
[ref=#ff8000]Rovki[/ref], никаких "громоздких"не использую. Для шагового двигателя она в принципе не нужна.
Есть мысль использовать метод подсказанный, если не ошибаюсь, [ref=#ff8000]pan[/ref], запускать плату с экраном ну очень не часто, в моем случае минимум раз в минуту достаточно. Метод от [ref=#ff8000]ecoins[/ref] я попробовал применить (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
Есть мысль использовать метод подсказанный, если не ошибаюсь, [ref=#ff8000]pan[/ref], запускать плату с экраном ну очень не часто, в моем случае минимум раз в минуту достаточно. Метод от [ref=#ff8000]ecoins[/ref] я попробовал применить (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
- Rovki
- Полковник
- Сообщения: 5835
- Зарегистрирован: 22 апр 2016, 17:25
- Откуда: Чехов
- Имя: Анатолий
- Благодарил (а): 77 раз
- Поблагодарили: 239 раз
- Контактная информация:
Подскажите, как шагать правильно?
Речь о самых простых интерфейсах -I2C,UART и блоках ШД ,которые используют прерыванияSSSergeich писал(а): 08 сен 2020, 21:28 [ref=#ff8000]Rovki[/ref], никаких "громоздких"не использую. Для шагового двигателя она в принципе не нужна.
Есть мысль использовать метод подсказанный, если не ошибаюсь, [ref=#ff8000]pan[/ref], запускать плату с экраном ну очень не часто, в моем случае минимум раз в минуту достаточно. Метод от [ref=#ff8000]ecoins[/ref] я попробовал применить (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
Электронщик до мозга костей и не только
-
- Капитан
- Сообщения: 708
- Зарегистрирован: 06 фев 2016, 11:01
- Откуда: Ярославль
- Имя: Сергей
Подскажите, как шагать правильно?
из всего используемого оказался дисплей i2c, прерывания использует энкодер, для ШД прерывания вааапче не нужны, ровно как и библиотекиRovki писал(а): 08 сен 2020, 22:59Речь о самых простых интерфейсах -I2C,UART и блоках ШД ,которые используют прерыванияSSSergeich писал(а): 08 сен 2020, 21:28 [ref=#ff8000]Rovki[/ref], никаких "громоздких"не использую. Для шагового двигателя она в принципе не нужна.
Есть мысль использовать метод подсказанный, если не ошибаюсь, [ref=#ff8000]pan[/ref], запускать плату с экраном ну очень не часто, в моем случае минимум раз в минуту достаточно. Метод от [ref=#ff8000]ecoins[/ref] я попробовал применить (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
Подскажите, как шагать правильно?
это наверное через использование интеджер, это его предел, нужно использовать лонг интеджерSSSergeich писал(а): 08 сен 2020, 21:28 (при подсчете шагов, коих оказалось 71815 шагов) не смог вывести на экран больше чем 32768
а экран можно задействовать как по таймеру (раз в секунду), так и метод включения при изменении числа
Отправлено спустя 2 минуты 1 секунду:
можно попробовать вместо екрана i2c взять тм1637
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя