====== 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/ ===== 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;