cnc controller arduino

Upload: bryx-william-garcia

Post on 02-Mar-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 CNC controller Arduino

    1/4

    ** This file is part of uCNC_controller.** Copyright (C) 2014 D.Herrendoerfer** uCNC_controller is free software: you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation, either version 3 of the License, or* (at your option) any later version.** uCNC_controller is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the* GNU General Public License for more details.** You should have received a copy of the GNU General Public License* along with uCNC_controller. If not, see .*

    ********************** BETA version ALERT !!!!!! **************************THIS IS BETA CODE, IT MAY BE INCOMPLETE OR BROKEN. YOU HAVE BEEN WARNED.

    uCNC_controller Readme file:

    ============================

    uCNC_controller is a g-code interpreting controller app that is intendedfor use on the Arduino platform. It interprets a number of g-codecommands and controls a number of unipolar stepper motors (3), somedigital outputs (2), and number of servos (1) accordingly.It is intended for use in home or educational projects, and as thelicense states: it comes with no waranty whatsoever. If you use itand it breaks in your hands, you get to keep all the pieces.

    Default configuration:======================

    Connector IO-Ports on Arduino nano w. ATMEGA328P------------>-------------------------------------------- Stepper 1: 8,9,10,11 Stepper 2: 4,5,6,7 Stepper 3: A5,A4,A3,A2 (digital out 19,18,17,16)12V out 1: 2

    12V out 2: 3 Laser out: 13 Servo out: 12 Unused : A0,A1,A6,A7 (A6 and A7 cannot be used as output)

    System Reset and Initialization routine

    --------------------------------------- Depending on the configuration the controller will: 1. Do nothing. Home is where the power was switched on. (G28 may lead to the controller to seek home) 2. Upon reset or power up the controller attempts to move all axis into their minimal position by traversing the configured distance into a solid zero position block - builds should be designed to cope with this.3. Try to touch an end switch on each axis, release it, and assume

    that position is zero.

  • 7/26/2019 CNC controller Arduino

    2/4

    Stepper configuration--------------------- The controller supports acceleration and braking. Each stepper can be configured with a start step frequency, and an increment and limit value. This is honored for G0 and G1 travel. The controller also supports slack/backlash compensation. Each stepper may be configured to add a number of steps at each change of direction. Resolution: Depending on the setup, the total resolution may be changed by adapting the raw position data type. An int gives you 64k positions on each axis, long 4G. But this increases the size of the sketch considerably.

    Device-specific values and devices==================================

    Control ports:--------------- Liquid coolant (M7,M8,M9) controls 12VO port 1- Vacuum (M10,M11) controls 12VO port 2- Spindle(M3,M4,M5) controls Laser and Servo ports (mode dependent)- Tool (TXX) controls Servo (mode dependent)- Z value controls Laser (on when Z negative - mode dependent)

    Device-specific G-Code commands:================================ NOTE: All of these settings can be made in the source code of the controller applivation, and should in fact be made there. The possibility to change them is intended to make it possible to create a controller module that can be shared between

    several installations, and that is configured by the init sequence of its controlling host. It is not possible to switch between modes or resolutions

    while the controller is running.

    M150: Set Z-Axis mode---------------------

    Defines the mode how the Steppers, the servo and the laser driver areused by the controller and which codes modify their states Mode 0: Stepper 1 is X Stepper 2 is Y Stepper 3 is Z Servo is spindle speed Laser is driven by spindleMode 1: Stepper 1 is X

    Stepper 2 is Y Stepper 3 is Y Servo is Z (down for Z

  • 7/26/2019 CNC controller Arduino

    3/4

    Servo is tool Laser is Z (on for Z

  • 7/26/2019 CNC controller Arduino

    4/4