ryannining / karyacontroller

4 axis CNC, 3D, Laser Controller
GNU General Public License v2.0
59 stars 26 forks source link
3d-firmware cnc-controller grbl teacup

karyacontroller

New upload schematic and PCB for simple 3 axis CNC / LASER. image Checkout the wemosminiboard folder

NEW ! IR Remote and Oled Display

I make this project to learn about the controller.

Description

simple multi axis motor controller for use in cnc project. This project is possible because other people work:

its not 100% exact code, but i have read lots of their code, so my code will effected by them

Feature

feature i need to have in this software is: (* implemented)

MCU

EEPROM

Yes, its support EEPROM and modification in repetier host.

WIFI

Still work in progress, especially for ESP8266 Progress:

Drive system

NONLINEAR -Delta -Deltasian -Scara

Other

Subpixel bresenham algorithm, will increase the resolution of the bresenham especially on low speed movement. just like AMASS on GRBL.

Non linear slicing happen in the core of movement. By implementing a virtual step/mm and calculate real step in the motion loop. So 1 Gcode will save in 1 path buffer, then segmented when this buffer is active.

for now it already use timer interrupt, but still can use polling mode using micros() to control the timing (especially for new mcu that we dont know how to use timer, or for simulation in pc)..

Files

Project files: karyacontroller.project - just for editing in codelite karyacontroller.ino - arduino ide motion [motion.exe].PRJ - for quincy IDE, we can show graphics of the motion simulation here

Original code is in freebasic, you can check the old folder

log

5-11-2019 Multiple job stored on flash, and more other feature. image

5-3-2019 Auto level using MESH bilinear interpolation.

10-12-2018 image Able to upload gcode to internal wemos flash, and start print without pc, without sdcard

20-5-2018 image New PCB using Wemos D1 mini, the smallest CNC/3D board ! not tested yet.

12-5-2018 Backplanner using grbl code, minimum corner using repetier code.

recode backlash algorithm laser cutting co2 work (m3 S100 to turn on laser on G1) fix timer problem on very slow speed (below 1)

i share my stm32 board too image

5-2-2018

I change the feedrate acceleration algorithm, previously using mainloop that calculate f by adding it with a*dl , which dl is from 1/f, this cause problem cannot reach the target velocity.

Now it use inversesquare of accumulative value from acceleration, which is maybe costly on the mainloop, but more easy on path planner.

Also i have make the analog read better by able to pool more than 1 analogread and keep the result on buffer.

Also i plan to use more library, such as DIO2.