Идея Черноусова Алексея, реализация моя. Он предложил для оси Z станка применить недорогие миниатюрные приводы с червячно-шестеренчатым редуктором, которые можно купить на Aliexpress:
Обычный драйвер шагового двигателя станка CNC управляется минимум двумя цифровыми сигналами: направление (сигнал DIR) и шаг (сигнал STEP). Нужно собрать такой драйвер, чтобы он на входе получал эти же два сигнала, но управлял коллекторным двигателем. Я это сделал на обычном микроконтроллере ATtiny45, на выходе подключил мост из MOSFET-транзисторов.
Пояснения по схеме:
1. Транзисторы VT5 и VT6 нужны для согласования уровней логики выхода микроконтроллера с уровнями напряжений драйвера. Схема составлена таким образом, что силовая часть может получать любое напряжение питания в диапазоне +5..+12V. 2. Индуктивность L1 нужна для устранения коротких импульсов сквозного тока, протекающих через силовые ключи MOSFET при их переключении. 3. Светодиод VD1 нужен для индикации работы и отладки. 4. 6-выводный коннектор слева вверху нужен для ISP-программирования микроконтроллера. 5. Резисторы R4 и R5 носят защитную функцию, и позволяют осуществлять ISP-программирование драйвера без его отключения от CNC-системы.
Алгоритм работы следующий:
1. Запускается прерывание INT0 по спаду импульса STEP, оно должно считать шаги, записывая их количество в переменную stepcnt. 2. Запускается переполнение таймера TC1 каждые 8 мс для отсчета времени управления мотором. 3. Обработчик прерывания таймера TC1 работает следующим образом:
a) Если значение stepcnt не равно 0, то на мотор выдается напряжение в соответствии с сигналом DIR; stepcnt--. b) Иначе stepcnt равен 0, тогда мотор блокируется (оба его вывода замыкаются на землю, при этом моторчик быстро останавливается).
Получается грубый, но простой и сердитый аналог привода шагового двигателя, который можно применить для оси Z. Фото макета драйвера:
Исходный код и документацию проекта можно скачать по ссылке [3].
[Ссылки]
1. Advantages & Disadvantages of Stepper motors & DC servo motors site:machinetoolhelp.com. 2. Using an encoded DC motor as a stepper equavalent CNC site:forums.parallax.com. 3. 181009Z-brush-project.zip - исходный код, схема, документация. |