Comments 11
Так как человечество ещё ничего принципиально более нового и совершенного не изобрело для управления двигателями, кроме ШИМ-контроля (хотя, учитывая технический прогресс, автор уже ни в чём не уверен :-)) ), то и мы будем использовать этот же подход.
На картинках и в видео показаны шаговые двигатели, там не ШИМ сигнал в управлении, а скорость определяется частотой тактовых импульсов, один импульс один шаг двигателя, для NEMA 17 один оборот это 200 шагов, или через драйвер микрошаги можно использовать 1/16 или 1/256 (у драйверов A4988, DRV8825 и TMC2208), подробней тут можно посмотреть
https://alexgyver.ru/gyverstepper/?ysclid=ldlddpa7yd830943549
Совершенно верно, забыл дописать: для ускорения работы я решил использовать не шаговые двигатели, а обычные мотор-редукторы постоянного тока. Почему: быстрая работа (если сравнивать с шаговыми) + минимум шума. Сверхточность для настольной игры не требуется - это не 3D печать :-). Поэтому....
P.S. кстати, именно поэтому там в статье упомянута возможность увеличения разрешения ШИМ сигнала (взять не 8-ми битный, а, например, 16- ти). Чтобы можно было более точно контролировать скорость двигателей, и , соответственно, точнее наводиться. Такая своеобразная альтернатива точности шаговых двигателей.
Шаговые двигатели при использовании микрошага тоже не особо шумные. Двигатели постоянного тока еще и датчик положения потребуют для обратной связи.
Просто у меня в наличии были мотор-редукторы. А шаговых не было (нужной мощности) ;-). Насчёт обратной связи - знаю. Решил игнорировать это и кинуть на человека (будет подруливать). Так даже интереснее.
Плюс можно откалибровать моторы, при фиксированном токе и напряжении скорость перемещения должна быть идентичной.
Ну да...я про это и говорю выше...То есть в данный момент: система предназначена для игры и поэтому точность наведения "исключительно на глазок" + подруливать надо. Т.к. скорости двигателей программно никак не выравниваются. Как я и говорил, думал над этим всем. Но решил - что так интереснее. Эффект неожиданности появляется. Кто заинтересуется -вполне могут допилить этот момент: по энкодеру на каждый двигатель + алгоритм ПИД-регулятора.
А как микростеппинг в этих драйверах сделан?
Это интересная тема, тут с картинками сигнал и статистика по микрошагам
https://electroprivod.ru/microstepping_mode.htm?ysclid=ldls7dlmcn729635052
Тут размышления о минимально возможном шаге
https://3dtoday.ru/blogs/dagov/what-they-sing-motors?ysclid=ldls7bubv327884521
К сожалению, обе ссылки так себе, и не описывают, как сделаны сами драйверы. На самом деле либо у драйвера на одну обмотку по одной ноге и ШИМ для микростеппинга (потому что как иначе MOSFETами усиливать полушаги? они ж сгорят без насыщения), либо там несколько ножек и каскад из MOSFETов, подтягивающих обмотку на разные уровни.
Можно сделать плагин к репрап подобному принтеру, поставить вместо головы манипулятор (магнитный захват например) и получить рельсовый кран ;)
XY-робот с удалённым управлением