
Для чего нужен и как работает CNC Shield
CNC Shield (плата защиты станка с числовым программным управлением) — это плата расширения, которая используется в связке с Arduino Uno, Nano или Mega для управления шаговыми двигателями в станках с ЧПУ.
Она нужна для конвертации команд G-кода в шаги мотора с помощью прошивки с открытым исходным кодом GRBL.
Широко распространена третья версия платы CNC Shield размером 69 mm X 53 mm X 19 mm, работающая от напряжения питания в диапазоне 12-36V DC.
Плата расширения SHIELD CNC V3 ARDUINO UNO (вид сверху):

Плата расширения SHIELD CNC V3 ARDUINO UNO (задняя часть):

Шилд для Ардуино v3.0 позволяет подключать до четырех шаговых двигателей осей X, Y, Z и A, а также управлять шпинделем/лазером/головкой 3D-принтера (сигнал Spindle enable) и охлаждением станка с ЧПУ (Coolant enable):

Шаговые двигатели к плате CNC Shield подключаются через драйвера (например, A4988, DRV8825, TMC2208 или другие), которые формируют импульсы постоянного тока с напряжением, требующимся для работы моторов.
Назначение контактов на разъемах платы CNC SHIELD V3.00:

CNC Shield вместе с драйвером (драйверами) двигателей устанавливается поверх платы Arduino (Uno, Nano или Mega) через пины расширения:

Схема платы CNC Shield третьей версии:

Драйверы управляются сигналом от Arduino, который усиливается до тока, необходимого для работы шаговых двигателей.
Каждый драйвер управляет одним шаговым двигателем, отвечающим за движение по одной из осей (X, Y, Z или дополнительной оси, например, A). При необходимости, на одну ось может подключаться несколько одинаковых шаговых двигателей.
Для управления шаговыми двигателями контроллер Arduino формирует сигналы STEP (шаг) и DIR (направление), которые поступают на CNC Shield и усиливаются драйверами.
Сигнал STEP определяет, на сколько шагов повернется двигатель, а сигнал DIR задает направление вращения.

Для автоматического выключения шагового двигателя при достижении осью заданной координаты, к плате CNC Shield могут подключаться концевые выключатели (всего шесть, по два на каждую ось x, y, z):

Срабатывание выключателя-концевика позволяет предотвратить повреждение станка при продолжении движения вне рабочего поля.
CNC Shield запитывается питание от внешнего источника постоянного тока номиналом 12–36В. Это же питание используется для шаговых двигателей и шпинделя, поэтому подключаемый блок питания должен обеспечивать достаточную мощность.
CNC Shield является посредником между слаботочной платой Arduino и компонентами станка ЧПУ. Она обеспечивает передачу сигналов, управление питанием и интеграцию всех элементов системы.

Как работает драйвер шагового двигателя?
Драйвер шагового двигателя преобразует цифровые сигналы управления от контроллера (Arduino) в импульсный ток, необходимый для работы шагового двигателя.
Плата драйвера шагового двигателя DRV8825 имеет 16 выводов:.

Для управления шаговым двигателем используются следующие сигналы управления:
- STEP (STP) — импульсный сигнал, при появлению которого шаговый двигатель отрабатывает шаги (или микрошаги). Один импульс соответствует одному шагу (микрошагу);
- DIR (Direction) — сигнал, согласно которому выбирается направление вращения двигателя (соответствует движению по оси вперед или назад);
- ENABLE (EN) — сигнал, который включает или выключает драйвер. Если ENABLE активен (логический сигнал LOW), то драйвер активирован.
Обмотки шагового двигателя подключаются к драйверу через контакты A1, A2, B1, B2. Ограничение максимального тока через двигатель задается потенциометром.
Пины M0, M1, M2 с помощью джамперов (перемычек) позволяют выбрать полный шаг или режим микрошага (с кратностью 1/2, 1/4, 1/8, 1/16 или 1/32) шагового двигателя:
MODE0 | MODE1 | MODE2 | Microstep Resolution |
Low | Low | Low | Full step |
High | Low | Low | Half step |
Low | High | Low | 1/4 step |
High | High | Low | 1/8 step |
Low | Low | High | 1/16 step |
High | Low | High | 1/32 step |
Low | High | High | 1/32 step |
High | High | High | 1/32 step |
Подключение шаговых двигателей от DVD-привода (напряжение питания DC 0.2-0.25V, угол шага 18°) с помощью CNC Shield в мини лазерном гравере (драйвера не показаны):

Схема подключения шагового двигателя через драйвер A4988:



