Синхронизация работы шаговика по датчику положения.
-
Leon1
- Новичок
- Сообщения: 3
- Зарегистрирован: 08 фев 2020, 18:15
- Репутация: 0
- Настоящее имя: Leonid
- Контактная информация:
Синхронизация работы шаговика по датчику положения.
Ардуино уно.+ шильд cnc 3.00 + прошивка grbl + Grbl Controller
Нужно чтобы шаговик Z крутил только вперёд и ни шагу назад. (чреватой поломкой механизма)
В связи с постоянным направлением вращения и длительным периодом работы Z возможна разсинхронизация работы механизма относительно заданных координат. Я думаю что в коде лучше сразу прописать лишнее количество шагов, про запас и периодически синхронизировать двигатель Z по датчику (геркон, фотодиод, хол - не важно).
Как это можно реализовать чтобы по необходимости лишние шаги двигателя Z урезались и это не влияло на работу, чтобы небыло заметно в работе всех трех двигателей?
По концевым выключателям? Но это будет влиять на весь процес работы. Может где прописать в прошивке, указать только одно направление вращения и урезание количества шагов по сигналу по датчику касания? Или есть проще варианты.
Нужно чтобы шаговик Z крутил только вперёд и ни шагу назад. (чреватой поломкой механизма)
В связи с постоянным направлением вращения и длительным периодом работы Z возможна разсинхронизация работы механизма относительно заданных координат. Я думаю что в коде лучше сразу прописать лишнее количество шагов, про запас и периодически синхронизировать двигатель Z по датчику (геркон, фотодиод, хол - не важно).
Как это можно реализовать чтобы по необходимости лишние шаги двигателя Z урезались и это не влияло на работу, чтобы небыло заметно в работе всех трех двигателей?
По концевым выключателям? Но это будет влиять на весь процес работы. Может где прописать в прошивке, указать только одно направление вращения и урезание количества шагов по сигналу по датчику касания? Или есть проще варианты.
-
bolek4321
- Мастер
- Сообщения: 217
- Зарегистрирован: 27 сен 2014, 07:59
- Репутация: 38
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Непонятна причина опасений.
1. вращение в 1 сторону - механический люфт выбран.
2. вход DIR подключить к нужному для задания правильного направления потенциалу. Или посадить его на 0, а направление - сменой концов обмотки.
3. шаговик берут именно потому, что ему не нужна обратная связь по положению, если он работает без перегрузки и не пропускает шаги.
1. вращение в 1 сторону - механический люфт выбран.
2. вход DIR подключить к нужному для задания правильного направления потенциалу. Или посадить его на 0, а направление - сменой концов обмотки.
3. шаговик берут именно потому, что ему не нужна обратная связь по положению, если он работает без перегрузки и не пропускает шаги.
-
Leon1
- Новичок
- Сообщения: 3
- Зарегистрирован: 08 фев 2020, 18:15
- Репутация: 0
- Настоящее имя: Leonid
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
1. С DIR разобрался и смену концов обмоток не нужно, только установить нужный потенциал на DIR. Удалил контакт который входит в мамку ардуины на самом драйвере 4988 и установил перемычку с DIR на минус (противоположный контакт). Если кому направление вращение не подойдёт - можно через резистор на + питание 3,3В. (тоже на драйвере). Это самый надёжный вариант. Ни чел фактор ни мозг ардуины самостоятельно не сменит направление вращения.
2. Синхронизация работы нужна потому что много если: если без перегрузки, если не пропускает шаги, если правильно шаг выбран и т.д. К примеру. Шаговик вращает диск, для полного оборота 360град. 200шагов. Даже если на 1000 шагов будет пропускать по одному, то через 200 000 это уже будет 200 пропущеных шагов, полный оборот на 360град. будет потерян. Работа шаговика устроена так что количество шагов он никогда не сделает больше чем ему задали, зато пропустить шаг может. И в любом случае - хоть какая то есть вероятность пропуска шага. Если крутить вправо-влево, туда шаг пропустил, сюда шаг пропустил - результат пропуска вычитается, в среднем будет нормально. А если крутить только в одну сторону - каждый пропуск шага суммируется и при большом количестве шагов в одном направлении и случайном пропуске шага, хоть 1 из 1000 со временем приведёт к большой погрешности, что не допускается, последствие -разсинхронизация и поломка механизма. Вот по этому и задался вопросом периодической синхронизацией.
2. Синхронизация работы нужна потому что много если: если без перегрузки, если не пропускает шаги, если правильно шаг выбран и т.д. К примеру. Шаговик вращает диск, для полного оборота 360град. 200шагов. Даже если на 1000 шагов будет пропускать по одному, то через 200 000 это уже будет 200 пропущеных шагов, полный оборот на 360град. будет потерян. Работа шаговика устроена так что количество шагов он никогда не сделает больше чем ему задали, зато пропустить шаг может. И в любом случае - хоть какая то есть вероятность пропуска шага. Если крутить вправо-влево, туда шаг пропустил, сюда шаг пропустил - результат пропуска вычитается, в среднем будет нормально. А если крутить только в одну сторону - каждый пропуск шага суммируется и при большом количестве шагов в одном направлении и случайном пропуске шага, хоть 1 из 1000 со временем приведёт к большой погрешности, что не допускается, последствие -разсинхронизация и поломка механизма. Вот по этому и задался вопросом периодической синхронизацией.
- Rom327
- Почётный участник

- Сообщения: 2989
- Зарегистрирован: 03 апр 2015, 13:23
- Репутация: 437
- Настоящее имя: Роман
- Откуда: Подольск
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Может использовать ШД со встроенной обратной связью (сервопривод) ?Leon1 писал(а):Или есть проще варианты.
Это сугубо мое мнение, могу и ошибаться...
https://vk.com/rom327
GRBL настройки: http://blogandbux.blogspot.com/2018/07/ ... revod.html
G коды: http://3d-stanki.ru/spravochnik/program ... stankov-2/
https://vk.com/rom327
GRBL настройки: http://blogandbux.blogspot.com/2018/07/ ... revod.html
G коды: http://3d-stanki.ru/spravochnik/program ... stankov-2/
-
bolek4321
- Мастер
- Сообщения: 217
- Зарегистрирован: 27 сен 2014, 07:59
- Репутация: 38
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Неубедительно. ШД правильно работает именно при учете всех этих факторов, поэтому его берут не поковыряв пальцем в носу, а после расчетов. Если не хочется считать - нужно взять 86-й а не 28-й габарит (условно говоря), ну и драйвер соответствующий. Все остальное - припарки.Leon1 писал(а):2. Синхронизация работы нужна потому что много если: если без перегрузки, если не пропускает шаги, если правильно шаг выбран и т.д
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Тот-же человеческий фактор точно также может поменять фазы двигателя...Leon1 писал(а):1. С DIR разобрался и смену концов обмоток не нужно, только установить нужный потенциал на DIR. Удалил контакт который входит в мамку ардуины на самом драйвере 4988 и установил перемычку с DIR на минус (противоположный контакт). Если кому направление вращение не подойдёт - можно через резистор на + питание 3,3В. (тоже на драйвере). Это самый надёжный вариант. Ни чел фактор ни мозг ардуины самостоятельно не сменит направление вращения.
Leon1 писал(а):Ардуино уно.+ шильд cnc 3.00 + прошивка grbl + Grbl Controller
Вы сами себя жёстко ограничили в вариантах, поэтому их у вас только два - переделывать прошивку grbl или использовать сервопривод.Leon1 писал(а):Может где прописать в прошивке, указать только одно направление вращения и урезание количества шагов по сигналу по датчику касания? Или есть проще варианты.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
Leon1
- Новичок
- Сообщения: 3
- Зарегистрирован: 08 фев 2020, 18:15
- Репутация: 0
- Настоящее имя: Leonid
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Спасибо.
Чел. фактор - в железо и схему никто больше лезть не будет. Имелось в виду типа не ту кнопку нажать, не туда клацнуть в программе.
Было бы не плохо. Ардуинка должна это делать. Комп, Grbl Controller, послал команду о количестве шагов, а ардуинка включила ШД, получила необходимое количество импульсов, сравнила и выкл. ШД. Вот только как это сделать, вшить в мозг ардуине чтобы она не шаги посылала, а импульсы считала и управляла ШД (вкл, выкл, скорость). При этом остальные два ШД должны работать по шагах. Нужны изменения в прошивке ардуины, изменить прошивку grbl. Я в этом не спец. Но если носом ткнуть что куда, буду учится.
Прошивка под grbl - 3 ШД. Под 2 ШД и сервопривод - не встречал. Может кто видел, подскажите пожалуйста. А если прошивка под 3 ШД и один из них будет с обратной связью - то это вообще супер.
Чел. фактор - в железо и схему никто больше лезть не будет. Имелось в виду типа не ту кнопку нажать, не туда клацнуть в программе.
Было бы не плохо. Ардуинка должна это делать. Комп, Grbl Controller, послал команду о количестве шагов, а ардуинка включила ШД, получила необходимое количество импульсов, сравнила и выкл. ШД. Вот только как это сделать, вшить в мозг ардуине чтобы она не шаги посылала, а импульсы считала и управляла ШД (вкл, выкл, скорость). При этом остальные два ШД должны работать по шагах. Нужны изменения в прошивке ардуины, изменить прошивку grbl. Я в этом не спец. Но если носом ткнуть что куда, буду учится.
Прошивка под grbl - 3 ШД. Под 2 ШД и сервопривод - не встречал. Может кто видел, подскажите пожалуйста. А если прошивка под 3 ШД и один из них будет с обратной связью - то это вообще супер.
- inFamous
- Мастер
- Сообщения: 801
- Зарегистрирован: 04 янв 2018, 15:33
- Репутация: 278
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Придумали себе лишний гемморой. Шаговик с энкодером, и то, чтобы спать спокойнее, а так правильно просчитанного шаговика достаточно.Leon1 писал(а):Спасибо.
Чел. фактор - в железо и схему никто больше лезть не будет. Имелось в виду типа не ту кнопку нажать, не туда клацнуть в программе.
Было бы не плохо. Ардуинка должна это делать. Комп, Grbl Controller, послал команду о количестве шагов, а ардуинка включила ШД, получила необходимое количество импульсов, сравнила и выкл. ШД. Вот только как это сделать, вшить в мозг ардуине чтобы она не шаги посылала, а импульсы считала и управляла ШД (вкл, выкл, скорость). При этом остальные два ШД должны работать по шагах. Нужны изменения в прошивке ардуины, изменить прошивку grbl. Я в этом не спец. Но если носом ткнуть что куда, буду учится.
Прошивка под grbl - 3 ШД. Под 2 ШД и сервопривод - не встречал. Может кто видел, подскажите пожалуйста. А если прошивка под 3 ШД и один из них будет с обратной связью - то это вообще супер.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Ну тогда самый надёжный вариант - это не цеплять внешние резисторы на DIR, а просто поменять фазу, если понадобится.Leon1 писал(а):Чел. фактор - в железо и схему никто больше лезть не будет.
Гугл - ваше всё! Есть сервоприводы, которые управляются как шаговые.Leon1 писал(а):Прошивка под grbl - 3 ШД. Под 2 ШД и сервопривод - не встречал. Может кто видел, подскажите пожалуйста. А если прошивка под 3 ШД и один из них будет с обратной связью - то это вообще супер.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
shur
- Опытный
- Сообщения: 158
- Зарегистрирован: 09 сен 2011, 22:39
- Репутация: 30
- Контактная информация:
Re: Синхронизация работы шаговика по датчику положения.
Leon1 писал(а):В связи с постоянным направлением вращения и длительным периодом работы Z возможна разсинхронизация работы механизма относительно заданных координат
Делайте обратную связь по положению механизма . Линейный или дисковый энкодер - зависит от вашей механики , отслеживайте положение механики по энкодеру и подавайте импульсы СТЕП доLeon1 писал(а):2. Синхронизация работы нужна потому что много если: если без перегрузки, если не пропускает шаги, если правильно шаг выбран и т.д. К примеру. Шаговик вращает диск, для полного оборота 360град. 200шагов. Даже если на 1000 шагов будет пропускать по одному, то через 200 000 это уже будет 200 пропущеных шагов, полный оборот на 360град. будет потерян. Работа шаговика устроена так что количество шагов он никогда не сделает больше чем ему задали, зато пропустить шаг может. И в любом случае - хоть какая то есть вероятность пропуска шага. Если крутить вправо-влево, туда шаг пропустил, сюда шаг пропустил - результат пропуска вычитается, в среднем будет нормально. А если крутить только в одну сторону - каждый пропуск шага суммируется и при большом количестве шагов в одном направлении и случайном пропуске шага, хоть 1 из 1000 со временем приведёт к большой погрешности, что не допускается, последствие -разсинхронизация и поломка механизма. Вот по этому и задался вопросом периодической синхронизацией.
необходимого положения энкодера .