Dit is een CPM 4030, van het duitse bedrijf ISEL.
De besturing en bijgeleverde software waren wat beperkt en verouderd, dus is hij omgebouwd naar FluidNC (grbl variant voor ESP32). http://wiki.fluidnc.com/
x: 380mm max 4000mm/min
y: 300mm max 4000mm/min
z: 200mm max 4000mm/min
toptool : Kiri:Moto browser based CAM
Settings : kiri-moto.zip
van de makers van lightburn : Millmage
PCB gerber omzetten naar gcode :
coppercam
online rapidpcb
flatcam
pcb2gcode en pcb2gcodeGUI
pcbgcode
2d/3d tekening omzetten naar 2d / 2.5d / 3d gcode :
cambam
carbidecreate
freemill
Fengrave
EstlCAM
PixelCNC
FreeMill
PyCAM
CAM in bestaande tekensoftware :
fusion360 CAM
Path workbench in Freecad
Inkscape
Grafische truukjes :
Halftone
Rasterbator
plaatjes naar svg
eventuele problemen met arcs en nauwkeurigheid:
G2/G3 error 33 uitleg en oplossing
Gcode streamers zijn bijna hetzelfde als 3D printer software die coördinaten naar de printer sturen vanaf de pc alleen zijn deze versies voornamelijk bedoeld voor Frezen of lasersnijden. Niet elke software voor grbl werkt ook met FluidNC, dit is testen of uitzoeken.
GSender
Universal G-Code Sender (Java Cross-platform - ook voor mac!)
bCNC
Candle
CamBam+ met plugin
van de makers van lightburn : Millmage
$HZ ;$HX;G10 P0 L20 X0;$HY; G10 P0 L20 Y0;
G21 ; metric units G91 ; Relative Positioning G38.2 Z-70 F100 ; probe down with maximum 70mm and speed 100 mm/min G10 L20 P1 Z65 ; set G54 Z to 65mm at contact G0 Z5 ; retract 5mm G38.2 Z-10 F50 ; probe down with maximum 10mm and speed 50 mm/min G10 L20 P1 Z65.3 ; set G54 Z to 65mm at contact G0 Z5 ; retract 5mm G90 ; back to absolute
g90;g21;g38.2 z-70 f100;G92 z65;g1 z67;g38.2 z-10 f50;G92 z65;g0 z75;
G90 G21; (Absolute position in mm.) G0 X10 Y10;
| Type | diameter | Lengte | snijlengte | Doel | Link voor als hij stuk gaat | |
|---|---|---|---|---|---|---|
![]() | 90 graden V-cutter | 6mm | 50mm | tip | Graveren / V-Carve | link |
![]() | Frees 1-snijder | 4mm | 45mm | 22mm | uitfrezen van objecten of pockets | link |
![]() | Frees 2-snijder | 0,6mm | ?mm | ?mm | Printplaten of fijn gaveerwerk | link |
Jens heeft een introductiefilmpje gemaakt over de CNC i.c.m. FreeCAD.
De freesmotor was een ISEL UFM 500 met OZ8A / EOC8A / DIN6388A spantangen (vergelijkbaar met kress FME serie) Deze gaf storingen bij langer gebruik, en onderdelen hiervoor bleken bijna even duur als een nieuwe spindel van vevor. Het gaat om de JST-JGF-F65A, een 800 watt 3-fasen spindel die op 400 Hz van de bijbehorende frequentieregelaar 10000 toeren draait. Er zit een complete set ER11 collets bij met alle metrische en imperial maten.
Er worden MSD-50-5.6 stepper driver aan de controller gekoppeld voor de aansturing van de stappenmotoren. Deze kunnen maximaal 5.6A en 50V aan.
Het betreft st5818m3008 stappenmotoren.
De spanning naar de stappenmotoren is 48v, de maximale stroom is gelimiteerd op 2,7A. De bekabeling naar de motoren is vervangen door nieuwe kabels zonder de limit switches er bij in.
Alle endswitches waren gewone schakelaartjes waarvan de draden door dezelfde kabels als de motoren liepen, dit veroorzaakte veel storing.
Alle bekabeling is vervangen door losse kabels naar de endswitches, de endswitches zijn vervangen door inductieve switches die op 12v werken.
Voor de besturing is een nieuwe print ontworpen (https://github.com/WRusman/FluidNC-BOB-v1.1) en besteld bij JLC.
In de ESP32 is FluidNC gezet voor aansturing. http://wiki.fluidnc.com/ Dit werkt als “vertaler” tussen de gcode die via USB naar de arduino wordt gestuurd en genereert stappenmotor pulsen en leest schakelaars. De software in de controller is te vergelijken met 3D printer software.
Na wat testen is een goede config gemaakt (zie onderaan) en zijn in Universal Gcode Sender een aantal macro's gemaakt voor makkelijker gebruik (zie ook hierboven).
board: Fluidnc-bob-v1.1
name: Maakmeneer Fluidnc-bob version 1.1
start:
must_home: true
check_limits: false
stepping:
engine: RMT
idle_ms: 255
pulse_us: 4
dir_delay_us: 1
disable_delay_us: 0
axes:
shared_stepper_disable_pin: NO_PIN
shared_stepper_reset_pin: NO_PIN
x:
steps_per_mm: 200.000
max_rate_mm_per_min: 4000.000
acceleration_mm_per_sec2: 100.000
max_travel_mm: 380.000
hard_limits: true
soft_limits: true
homing:
cycle: 2
allow_single_axis: true
positive_direction: false
mpos_mm: 1.000
feed_mm_per_min: 400.000
seek_mm_per_min: 1000.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100
motor0:
limit_all_pin: gpio:36:low
hard_limits: true
pulloff_mm: 1.000
standard_stepper:
step_pin: gpio.21
direction_pin: gpio.17
disable_pin: NO_PIN
y:
steps_per_mm: 200.000
max_rate_mm_per_min: 4000.000
acceleration_mm_per_sec2: 100.000
max_travel_mm: 300.000
hard_limits: true
soft_limits: true
homing:
cycle: 2
allow_single_axis: true
positive_direction: false
mpos_mm: 1.000
feed_mm_per_min: 400.000
seek_mm_per_min: 1000.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100
motor0:
limit_all_pin: gpio:39:low
hard_limits: true
pulloff_mm: 1.000
standard_stepper:
step_pin: gpio.16
direction_pin: gpio.25:low
disable_pin: NO_PIN
z:
steps_per_mm: 200.000
max_rate_mm_per_min: 4000.000
acceleration_mm_per_sec2: 100.000
max_travel_mm: 200.000
hard_limits: true
soft_limits: true
homing:
cycle: 1
allow_single_axis: true
positive_direction: true
mpos_mm: 1.000
feed_mm_per_min: 400.000
seek_mm_per_min: 1000.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100
motor0:
limit_all_pin: gpio:34:low
hard_limits: true
pulloff_mm: 1.000
standard_stepper:
step_pin: gpio.26
direction_pin: gpio.27:low
disable_pin: NO_PIN
a:
steps_per_mm: 800.000
max_rate_mm_per_min: 1000.000
acceleration_mm_per_sec2: 100.000
max_travel_mm: 300.000
hard_limits: false
soft_limits: false
homing:
cycle: 2
allow_single_axis: true
positive_direction: false
mpos_mm: 1.000
feed_mm_per_min: 100.000
seek_mm_per_min: 200.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100
motor0:
hard_limits: false
pulloff_mm: 5.000
standard_stepper:
step_pin: gpio.23
direction_pin: gpio.22
disable_pin: NO_PIN
control:
safety_door_pin: gpio.35
reset_pin: NO_PIN
feed_hold_pin: gpio.32
cycle_start_pin: NO_PIN
macro0_pin: NO_PIN
macro1_pin: NO_PIN
macro2_pin: NO_PIN
macro3_pin: NO_PIN
coolant:
flood_pin: gpio.19
mist_pin: gpio.18
delay_ms: 0
probe:
pin: gpio.33:low
check_mode_start: true
macros:
startup_line0:
startup_line1:
macro0:
macro1:
macro2:
macro3:
user_outputs:
analog0_pin: NO_PIN
analog1_pin: NO_PIN
analog2_pin: NO_PIN
analog3_pin: NO_PIN
analog0_hz: 5000
analog1_hz: 5000
analog2_hz: 5000
analog3_hz: 5000
digital0_pin: NO_PIN
digital1_pin: NO_PIN
digital2_pin: NO_PIN
digital3_pin: NO_PIN
pwm:
pwm_hz: 5000
direction_pin : gpio.4
output_pin: gpio.5
enable_pin: NO_PIN
disable_with_s0: false
s0_with_disable: true
spinup_ms: 5000
spindown_ms: 5000
tool_num: 0
speed_map: 0=0.000% 10000=100.000%
off_on_alarm: true
parking:
enable: true
axis: Z
pullout_distance_mm : 5.000
pullout_rate_mm_per_min: 250.000
target_mpos_mm: -5.000
rate_mm_per_min: 800.000
spi:
miso_pin: NO_PIN
mosi_pin: NO_PIN
sck_pin: NO_PIN
sdcard:
cs_pin: NO_PIN
card_detect_pin: NO_PIN
frequency_hz: 0