Arduino CNC Shield

Печать
V3.00
cnc-2
cnc-3
cnc-4
cnc-5
Описание

Плата расширения Arduino используется для создания недорогих функциональных ЧПУ станков, в том числе гравировальных, фрезерных, маркировальных, станков портальной резки, промышленных роботов и др. Контроллер Arduino позволяет работать станку автономно или управлять с помощью компьютера через USB-порт.

Характеристики:

  • Возможность работать с открытым универсальным ПО (GRBL) и стандартным G-кодом;
  • До 4-х осей управления;
  • До 6-ти концевых выключателей;
  • Управление шпинделем(включение, направление вращения, охлаждение) или другим исполнительным устройством;
  • Драйверы шаговых двигателей: A4988, DRV8825 или аналогичные;
  • Поддержка микрошага;
  • Компактный дизайн;
  • Напряжение питания: 12...36В.

Для настройки дублирования осей X, Y, Z на плате есть контакты, обозначенные X, Y, Z, D12, D13, которые необходимо замкнуть перемычками из комплекта.

5.png

Колодка D12 замыкается для управления шагом. 

Колодка D13 замыкается для управления направлением вращения. 

Направление вращение двигателя меняется путем смены контактов двигателя или изменение маски в прошивки. 

Меняются местами контакты B- и B+. 

На плате CNC Shield есть контакты для подключения: 

 

6.jpg

Аварийной кнопки остановки (E-STOP);

Кнопка паузы (Hold);

Кнопка продолжения (Resume);

Кнопка возвращения на исходную позицию (Abort);

Включения шпинделя (SpnEn);

Направления шпинделя (SpnDir);

Включения подачи охлаждения (CoolEn);

Концевики (X+ X- Y+ Y- Z+ Z-). 

 


Пример кода в Arduino IDE для Arduino UNO, полезен в случае нестандартных разработок или для написания автономных управляющих программ:

/ / The following is a simple stepper motor control procedures,

# define EN 8 / / stepper motor enable , active low
# define X_DIR 5 / / X -axis stepper motor direction control
# define Y_DIR 6 / / y -axis stepper motor direction control
# define Z_DIR 7 / / z axis stepper motor direction control
# define X_STP 2 / / x -axis stepper control
# define Y_STP 3 / / y -axis stepper control
# define Z_STP 4 / / z -axis stepper control
/ *
/ / Function : step . function: to control the direction of the stepper motor , the number of steps .
/ / Parameters : dir direction control , dirPin corresponding stepper motor DIR pin , stepperPin corresponding stepper motor "step" pin , Step number of step of no return value.
* /
void step (boolean dir, byte dirPin, byte stepperPin, int steps)
{
digitalWrite (dirPin, dir);
delay (50);
for (int i = 0; i <steps; i + +) {
digitalWrite (stepperPin, HIGH);
delayMicroseconds (800);
digitalWrite (stepperPin, LOW);
delayMicroseconds (800);
}
}
void setup () {/ / The stepper motor used in the IO pin is set to output
pinMode (X_DIR, OUTPUT); pinMode (X_STP, OUTPUT);
pinMode (Y_DIR, OUTPUT); pinMode (Y_STP, OUTPUT);
pinMode (Z_DIR, OUTPUT); pinMode (Z_STP, OUTPUT);
pinMode (EN, OUTPUT);
digitalWrite (EN, LOW);
}
void loop () {
step (false, X_DIR, X_STP, 200); / / X axis motor reverse 1 ring, the 200 step is a circle.
step (false, Y_DIR, Y_STP, 200); / / y axis motor reverse 1 ring, the 200 step is a circle.
step (false, Z_DIR, Z_STP, 200); / / z axis motor reverse 1 ring, the 200 step is a circle.
delay (1000);
step (true, X_DIR, X_STP, 200); / / X axis motor forward 1 laps, the 200 step is a circle.
step (true, Y_DIR, Y_STP, 200); / / y axis motor forward 1 laps, the 200 step is a circle.
step (true, Z_DIR, Z_STP, 200); / / z axis motor forward 1 laps, the 200 step is a circle.
delay (1000);
}