GithubHelp home page GithubHelp logo

cnc-controller's Introduction

Devtronic CNC Controller

Why one more controller needed? All controllers has connectors all over the PCB. As result, to make accurate wiring it require a lot of space. If we look on stepper motor drivers, all of them has connectors only on one side which allow to stack them as "sandwich". Why not design CNC controller like that? It exactly what Devtronic CNC Controller is:

Image

This board is everything you need to build a high functioning CNC machine.

Store: https://devtronic.square.site/

The key features of the Devtronic CNC controller

  • Support grblHAL
  • 5 Axis of step/direction motor control: 5V, external stepper driver required(closed-loop recommended)
  • Optocouplers used on all inputs
  • Onboard 32KB FRAM to store setting
  • Input voltage up to 48V which allow to power CNC controller directly from power supply for NEMA23/24 stepper motors
  • UART for control CNC machine with another controller(SmartPendant recommended)

Note: Devtronic CNC Controller V1 is obsolette.

Firmware

grblHAL Web Builder

Configuration:

  • Driver: STM32F4xx
  • Board: Devtronic CNC Controller V2 (BlackPill F411)
  • Plugins -> MPG & DRO mode: Test 2
  • Plugins -> Settings EEPROM: 24x256(32k)
  • Plugins -> EEPROM is FRAM: Should be set

To load new firmware STM32CubeProgrammer is used. Connect CNC controller to PC using USB-C cable. Press and hold BOOT0 button, then short press NRST button, couple seconds later BOOT0 button can be released. Open STM32CubeProgrammer. In top right corner choose "USB" from drop down list. If field "Port" in "USB Configuration" show "No DFU detected" click update button near it. Click "Connect" button - STM32CubeProgrammer should establish connection and show current device memory content. Click "Open File" in left to corner, select firmware HEX file, then click "Download" button in top left corner. When flashing is done, close STM32CubeProgrammer and short press NRST button on the Controller to restart it.

Dimensions

120 mm x 66 mm x 24 mm Approx. 4-3/4" x 2-5/8" x 1"

Pinout

Image

Connectors on bottom row

  • Power connector: configurable between 7-12V and 12-48V by jumper (-, +)
  • X motor (Direction-, Direction+, Step-, Step+)
  • Y motor (Direction-, Direction+, Step-, Step+)
  • Z motor (Direction-, Direction+, Step-, Step+)
  • Motor Enable output (Ground, Signal, Voltage)
  • Spindle control (Ground, Enable, Direction, Speed, Voltage)
  • Flood Coolant output (Ground, Signal, Voltage)
  • Encoder input (Ground, A, B, Z, Voltage)
  • Probe input (Ground, Signal, Voltage)
  • UART (Ground, RX, TX, +5V)
  • Fault input (Ground, Signal, Voltage)

Connectors on top row

  • B motor (Direction-, Direction+, Step-, Step+)
  • A motor (Direction-, Direction+, Step-, Step+)
  • Flood Mist output(Ground, Signal, Voltage)
  • X Limit input (Ground, Signal, Voltage)
  • Y Limit input (Ground, Signal, Voltage)
  • Z Limit input (Ground, Signal, Voltage)
  • A Limit input (Ground, Signal, Voltage)
  • Door input (Ground, Signal, Voltage)
  • USB

Inputs

Optocouplers used on all inputs. Voltage used to light up LED inside optocouplers depends on output voltage configuration. If +12V is selected, optocouples will be connected to +12V and current trough LED will be about 20mA. In case of 5V current will be about 7 mA.

Because of schematic, only NPN sensors is recommended. Sensors can have internal pull-up resistor. If mechanical switch used as endstop it should connect input terminal to GND, not to +V.

Configuration

Image

There three configuration blocks of jumpers.

Power control

This controller can be powered by two ways:

  1. +7-12V applied to PWR connector: Spindle analog control(0-10V) will work only if +12V applied.
  2. +12-48V applied to PWR connector: Input voltage reduced to +12V via integrated DC-DC Step-Down converter.

Note: when USB cable connected to controller, it powers BlackPill only, it is possible to communicate with controller from PC, but any functions requaired more than +3.3V will be unavailable.

There two jumpers to control power:

  • VIN: input voltage selector, two jumpers, should be switched as pair. PWR for input voltage +7-12V and REG for input voltage +12-48V. One jumper does actual selection, another jumper disconnects power from DC-DC converter in case if PWR used directly. Default is REG.
  • VOUT: output voltage selector. Output voltage applied to all screw terminal marked as +V and optocouplers. It may be +12V voltage or +5V from linear regulator. UART connector always has +5V regardless of this jumper position. Default is +5V.

Note: default position when delivered to prevent damage in case of power up without checking settings. Those jumpers should be configured for particular build.

Output control

Some outputs can be configured between Push-Pull(PP) or Open Collector(OC):

  • EN: enable signal for steppers, default is PP.
  • COOLANT MIST: default is OC.
  • COOLANT FLOOD: default is OC.
  • SPINDLE EN: spindle enable signal, default is PP.
  • SPINDLE DIR: spindle direction signal, default is PP.
  • SPINDLE PWM: spindle PWM signal, default is PP.
  • SPINDLE SPD: spindle speed control method. Can be set between PWM or 0-10V. Default is 0-10V.

Push-Pull mean that output pin will have either GND(inactive) or +5V(active) generated by buffer IC. This option sutible for external controllers. Open Collector mean that output pin will gave either Hi-Z state(inactive) or GND(active) via darlington array IC. This option suitable for relays.

5th Axis/Debug control

Most users don't need to touch this jumpers. If you plan to build and debug firmware yourself, then you need Serial Wire Debugger(SWD). In this case flip those jumpers into SWD position to pass SWCLK and SWDIO signals directly to BD+ and BS+. Then you can connect debug probe to those terminals. Connect debug probe GND signal to BD- or BS-.

Schematic

Image Image Image

cnc-controller's People

Contributors

nickshl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.