====== ISEL CPM 4030 ======
Dit is een CPM 4030, van het duitse bedrijf ISEL.
{{:profiler:cpm4030.jpeg?400|}}
De besturing en bijgeleverde software waren wat beperkt en verouderd, dus is hij omgebouwd naar FluidNC (grbl variant voor ESP32). http://wiki.fluidnc.com/
ook eens proberen met grblHAL? (https://github.com/grblHAL)
Jens heeft een introductiefilmpje gemaakt over de CNC i.c.m. FreeCAD. {{youtube>Ix1RpRocqSg?}}
===== Software =====
=== GCode Creeren / CAM ===
PCB gerber omzetten naar gcode : \\
[[https://www.galaad.net/coppercam-eng.html|coppercam]] \\
[[https://copper.carbide3d.com/rapidpcb|online rapidpcb]] \\
[[http://flatcam.org/|flatcam]] \\
[[https://github.com/pcb2gcode/pcb2gcode|pcb2gcode]] en [[https://github.com/pcb2gcode /pcb2gcodeGUI|pcb2gcodeGUI]] \\
[[https://github.com/JohnAtl/pcbgcode|pcbgcode]] \\
2d/3d tekening omzetten naar 2d / 2.5d / 3d gcode : \\
[[http://www.cambam.info/|cambam]] \\
[[https://carbide3d.com/carbidecreate/|carbidecreate]] \\
[[https://mecsoft.com/freemill/|freemill]] \\
[[https://www.scorchworks.com/Fengrave/fengrave.html|Fengrave]] \\
[[https://www.estlcam.de/anleitung.php|EstlCAM]] \\
[[https://deftware.myshopify.com/pages/pixelcnc|PixelCNC]] \\
[[https://mecsoft.com/products/freemill/free-cad-cam-software/|FreeMill]] \\
[[https://pycam.sourceforge.net/3d-view/|PyCAM]] \\
CAM in bestaande tekensoftware : \\
[[https://www.autodesk.com/products/fusion-360/blog/getting-started-introduction-to-cam-and-toolpaths/|fusion360 CAM]] \\
[[https://wiki.freecad.org/Path_Workbench|Path workbench in Freecad]] \\
[[https://forums.maslowcnc.com/t/generating-gcode-with-inkscape-instead-of-cam-software/12058|Inkscape]] \\
Grafische truukjes : \\
[[https://jasondorie.com/page_cnc.html|Halftoner en Reactor]] \\
[[https://rasterbator.net/| Rasterbator]] \\
[[https://picsvg.com | plaatjes naar svg]] \\
problemen met arcs: \\
[[https://softsolder.com/2020/03/18/grbl-error-33-arc-coordinates-vs-decimal-places/|G2/G3 error 33 uitleg en oplossing ]]
=== GCode Simulator : ===
http://camotics.org/
=== GCode Streamers : ===
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.
{{:profiler:gsender-main-screen-layout-850x441.png?400|}}
[[https://resources.sienci.com/view/gs-installation/#download| GSender]]
{{:profiler:sending_file_1.0.5.png?400|}}
[[https://github.com/winder/Universal-G-Code-Sender|Universal G-Code Sender (Java Cross-platform - ook voor mac!) ]]
{{:profiler:bCNC.png?400|}}
[[https://github.com/vlachoudis/bCNC|bCNC ]]
{{:profiler:grblControl.png?400|}}
[[https://github.com/Denvi/Candle|Candle ]]
{{:profiler:cambam.jpg?400|}}
[[http://www.cambam.co.uk/forum/index.php?topic=6482|CamBam+ met plugin ]]
====== Freesjes ======
^ ^ Type ^ diameter ^ Lengte ^ snijlengte ^ Doel ^ Link voor als hij stuk gaat ^
|{{:profiler:v-cutter.jpg?200|}}| 90 graden V-cutter | 6mm | 50mm| tip | Graveren / V-Carve | [[https://www.amazon.nl/gp/product/B07RZ4HS2J/ref=ppx_yo_dt_b_asin_title_o06_s00 | link]]|
|{{:profiler:1snijder.jpg?200|}}| Frees 1-snijder | 4mm | 45mm | 22mm| uitfrezen van objecten of pockets | [[https://www.amazon.nl/dp/B07RHH5B5V?ref=ppx_yo2ov_dt_b_product_details | link]]|
|{{:profiler:pcbfrees.jpg?200|}}| Frees 2-snijder | 0,6mm | ?mm | ?mm| Printplaten of fijn gaveerwerk | [[https://www.amazon.nl/dp/B09DCLQ5NL?ref=ppx_yo2ov_dt_b_product_details | link]]|
====== Electronica ======
{{:profiler:cpm4030-electronica.jpeg?400|}}
===== Freesmotor =====
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.
===== Electronica - Drivers =====
{{:profiler:msd5056.jpg?200|}}
Er worden {{ :profiler:msd-50-56.pdf |MSD-50-5.6}} stepper driver aan de controller gekoppeld voor de aansturing van de stappenmotoren.
Deze kunnen maximaal 5.6A en 50V aan.
===== Electronica - stappenmotoren =====
Het betreft {{ :profiler:st5818m3008.pdf |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.
===== Electronica - Endswitches =====
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.
{{:profiler:inductive.jpg?200|}}
===== Electronica - controller =====
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 onderaan).
====== Settings ======
===== CAM en Sender instellingen =====
x: 380mm max 4000mm/min \\
y: 300mm max 4000mm/min \\
z: 200mm max 4000mm/min \\
===== FluidNC Settings =====
=== config.yaml ===
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
===== Macro's =====
=== "Home All" ===
$HZ ;$HX;G10 P0 L20 X0;$HY; G10 P0 L20 Y0;
=== "Probe Z" voor gebruik met de toolsetter (kan nog beter)===
g90;g21;g38.2 z-70 f100;G92 z65;g1 z67;g38.2 z-10 f50;G92 z65;g0 z75;
=== "Probe Z" voor gebruik met de toolsetter v2 (kan nog beter?)===
G91 G21 ; (Relative position in mm.)
G38.2 Z-70 F100 ;(Search of the probe on 70 mm. speed 100, if not found after 70 mm. Alarm GRBL)
G0 Z2 ; (back 2mm.)
G38.2 Z-2 F50 ; (Searching the probe for 2 mm, slower, speed 50)
G92 Z65 ; (Adjustment of the Z offset according to the thickness of the probe, 65 mm in this case)
G0 Z75 ; (back 10mm.)
M0; (pause)
=== "Ga naar positie x10 y10"===
G90 G21; (Absolute position in mm.)
G0 X10 Y10;