Философский вопрос по управлению драйвера ШД (TMC2208, TMC2209 etc)

Коллеги, возник тут такой вопрос, есть некое устройство, подача на ШД с двумя “концевиками” на концах, ШД управляю драйверами TMC2208, TMC2209.
Управлял раньше ногодрыгом на пине STEP, пока не сработает один из концевиков ,все замечательно.
Но мыж настоящие программисты, понятно, что стоять в этом цикле, порядка 3 сек, неправильно, заморочился, настроил на таймере выход PWM на нужную частоту (аля скорость), а входы от концевиков настроил внешнее прерывание.

тоже все ок и работает замечательно.
теперь вопрос, при прерыванию от концевика, даю единичку на ENABLE драйвера, он останавливает мотор, так вот - нужно ли останавливать таймер, тем самым снимая шим с ноги STEP?
вроде ничему он не мешает, но “что скажут люди” ?))

Если неопределенность одного шага роли не играет, то можно не снимать.

нет, прецизионности нет никакой, плюс минус трамвайная остановка.

а откуда вопрос?
Остановить таймер - один бит в регистр…

от туда - “ты в бога веришь”, я атеистов спрашивал.

за резкость извини, совет твой глупый, в контексте вопроса.

ок, значит я не понял вопроса

Здесь скорее будет стоять вопрос не остановки двигателя, а его запуска. Тормознуть то можно (хотя разрешение только отключит драйвер и при большой массе ШД не хватит своих силенок разом остановить всю систему и движение продолжится хотя и резко замедляясь). А вот сдвинуть вдруг на полную скорость может не получиться - ШД будет “проскальзывать”.
По поводу наличия “шагов” при отсутствии разрешения на работу драйвера - ему до лампочки, по барабану и т.д.

1 лайк