Страница 1 из 1
Синхронизация работы шаговика по датчику положения.
Добавлено: 08 фев 2020, 22:32
Leon1
Ардуино уно.+ шильд cnc 3.00 + прошивка grbl + Grbl Controller
Нужно чтобы шаговик Z крутил только вперёд и ни шагу назад. (чреватой поломкой механизма)
В связи с постоянным направлением вращения и длительным периодом работы Z возможна разсинхронизация работы механизма относительно заданных координат. Я думаю что в коде лучше сразу прописать лишнее количество шагов, про запас и периодически синхронизировать двигатель Z по датчику (геркон, фотодиод, хол - не важно).
Как это можно реализовать чтобы по необходимости лишние шаги двигателя Z урезались и это не влияло на работу, чтобы небыло заметно в работе всех трех двигателей?
По концевым выключателям? Но это будет влиять на весь процес работы. Может где прописать в прошивке, указать только одно направление вращения и урезание количества шагов по сигналу по датчику касания? Или есть проще варианты.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 02:07
bolek4321
Непонятна причина опасений.
1. вращение в 1 сторону - механический люфт выбран.
2. вход DIR подключить к нужному для задания правильного направления потенциалу. Или посадить его на 0, а направление - сменой концов обмотки.
3. шаговик берут именно потому, что ему не нужна обратная связь по положению, если он работает без перегрузки и не пропускает шаги.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 12:59
Leon1
1. С DIR разобрался и смену концов обмоток не нужно, только установить нужный потенциал на DIR. Удалил контакт который входит в мамку ардуины на самом драйвере 4988 и установил перемычку с DIR на минус (противоположный контакт). Если кому направление вращение не подойдёт - можно через резистор на + питание 3,3В. (тоже на драйвере). Это самый надёжный вариант. Ни чел фактор ни мозг ардуины самостоятельно не сменит направление вращения.
2. Синхронизация работы нужна потому что много если: если без перегрузки, если не пропускает шаги, если правильно шаг выбран и т.д. К примеру. Шаговик вращает диск, для полного оборота 360град. 200шагов. Даже если на 1000 шагов будет пропускать по одному, то через 200 000 это уже будет 200 пропущеных шагов, полный оборот на 360град. будет потерян. Работа шаговика устроена так что количество шагов он никогда не сделает больше чем ему задали, зато пропустить шаг может. И в любом случае - хоть какая то есть вероятность пропуска шага. Если крутить вправо-влево, туда шаг пропустил, сюда шаг пропустил - результат пропуска вычитается, в среднем будет нормально. А если крутить только в одну сторону - каждый пропуск шага суммируется и при большом количестве шагов в одном направлении и случайном пропуске шага, хоть 1 из 1000 со временем приведёт к большой погрешности, что не допускается, последствие -разсинхронизация и поломка механизма. Вот по этому и задался вопросом периодической синхронизацией.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 15:05
Rom327
Leon1 писал(а):Или есть проще варианты.
Может использовать ШД со встроенной обратной связью (сервопривод) ?
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 15:52
bolek4321
Leon1 писал(а):2. Синхронизация работы нужна потому что много если: если без перегрузки, если не пропускает шаги, если правильно шаг выбран и т.д
Неубедительно. ШД правильно работает именно при учете всех этих факторов, поэтому его берут не поковыряв пальцем в носу, а после расчетов. Если не хочется считать - нужно взять 86-й а не 28-й габарит (условно говоря), ну и драйвер соответствующий. Все остальное - припарки.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 17:22
Serg
Leon1 писал(а):1. С DIR разобрался и смену концов обмоток не нужно, только установить нужный потенциал на DIR. Удалил контакт который входит в мамку ардуины на самом драйвере 4988 и установил перемычку с DIR на минус (противоположный контакт). Если кому направление вращение не подойдёт - можно через резистор на + питание 3,3В. (тоже на драйвере). Это самый надёжный вариант. Ни чел фактор ни мозг ардуины самостоятельно не сменит направление вращения.
Тот-же человеческий фактор точно также может поменять фазы двигателя...
Leon1 писал(а):Ардуино уно.+ шильд cnc 3.00 + прошивка grbl + Grbl Controller
Leon1 писал(а):Может где прописать в прошивке, указать только одно направление вращения и урезание количества шагов по сигналу по датчику касания? Или есть проще варианты.
Вы сами себя жёстко ограничили в вариантах, поэтому их у вас только два - переделывать прошивку grbl или использовать сервопривод.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 17:46
Leon1
Спасибо.
Чел. фактор - в железо и схему никто больше лезть не будет. Имелось в виду типа не ту кнопку нажать, не туда клацнуть в программе.
Было бы не плохо. Ардуинка должна это делать. Комп, Grbl Controller, послал команду о количестве шагов, а ардуинка включила ШД, получила необходимое количество импульсов, сравнила и выкл. ШД. Вот только как это сделать, вшить в мозг ардуине чтобы она не шаги посылала, а импульсы считала и управляла ШД (вкл, выкл, скорость). При этом остальные два ШД должны работать по шагах. Нужны изменения в прошивке ардуины, изменить прошивку grbl. Я в этом не спец. Но если носом ткнуть что куда, буду учится.
Прошивка под grbl - 3 ШД. Под 2 ШД и сервопривод - не встречал. Может кто видел, подскажите пожалуйста. А если прошивка под 3 ШД и один из них будет с обратной связью - то это вообще супер.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 17:56
inFamous
Leon1 писал(а):Спасибо.
Чел. фактор - в железо и схему никто больше лезть не будет. Имелось в виду типа не ту кнопку нажать, не туда клацнуть в программе.
Было бы не плохо. Ардуинка должна это делать. Комп, Grbl Controller, послал команду о количестве шагов, а ардуинка включила ШД, получила необходимое количество импульсов, сравнила и выкл. ШД. Вот только как это сделать, вшить в мозг ардуине чтобы она не шаги посылала, а импульсы считала и управляла ШД (вкл, выкл, скорость). При этом остальные два ШД должны работать по шагах. Нужны изменения в прошивке ардуины, изменить прошивку grbl. Я в этом не спец. Но если носом ткнуть что куда, буду учится.
Прошивка под grbl - 3 ШД. Под 2 ШД и сервопривод - не встречал. Может кто видел, подскажите пожалуйста. А если прошивка под 3 ШД и один из них будет с обратной связью - то это вообще супер.
Придумали себе лишний гемморой. Шаговик с энкодером, и то, чтобы спать спокойнее, а так правильно просчитанного шаговика достаточно.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 09 фев 2020, 18:16
Serg
Leon1 писал(а):Чел. фактор - в железо и схему никто больше лезть не будет.
Ну тогда самый надёжный вариант - это не цеплять внешние резисторы на DIR, а просто поменять фазу, если понадобится.
Leon1 писал(а):Прошивка под grbl - 3 ШД. Под 2 ШД и сервопривод - не встречал. Может кто видел, подскажите пожалуйста. А если прошивка под 3 ШД и один из них будет с обратной связью - то это вообще супер.
Гугл - ваше всё! Есть сервоприводы, которые управляются как шаговые.
Re: Синхронизация работы шаговика по датчику положения.
Добавлено: 10 фев 2020, 06:31
shur
Leon1 писал(а):В связи с постоянным направлением вращения и длительным периодом работы Z возможна разсинхронизация работы механизма относительно заданных координат
Leon1 писал(а):2. Синхронизация работы нужна потому что много если: если без перегрузки, если не пропускает шаги, если правильно шаг выбран и т.д. К примеру. Шаговик вращает диск, для полного оборота 360град. 200шагов. Даже если на 1000 шагов будет пропускать по одному, то через 200 000 это уже будет 200 пропущеных шагов, полный оборот на 360град. будет потерян. Работа шаговика устроена так что количество шагов он никогда не сделает больше чем ему задали, зато пропустить шаг может. И в любом случае - хоть какая то есть вероятность пропуска шага. Если крутить вправо-влево, туда шаг пропустил, сюда шаг пропустил - результат пропуска вычитается, в среднем будет нормально. А если крутить только в одну сторону - каждый пропуск шага суммируется и при большом количестве шагов в одном направлении и случайном пропуске шага, хоть 1 из 1000 со временем приведёт к большой погрешности, что не допускается, последствие -разсинхронизация и поломка механизма. Вот по этому и задался вопросом периодической синхронизацией.
Делайте обратную связь по положению механизма . Линейный или дисковый энкодер - зависит от вашей механики , отслеживайте положение механики по энкодеру и подавайте импульсы СТЕП до
необходимого положения энкодера .