-
Notifications
You must be signed in to change notification settings - Fork 40
Description
Hello!
I have initial success running FluidNC firmware as a Wallplotter: http://wiki.fluidnc.com/en/config/kinematics
It looks like FluidNC could use some help maintaining the kinematics though. I'll eventually get some time to dig into it but for now I'm still calibrating and tweaking my setup. I'm running 1/8 micro-stepping to keep it quieter I my open office and I'm still adjusting the steps per mm.
There are a few things to note in the following yaml. First I burned stepper drivers while setting up the servo and didn't realize it until I had shifted the servo pin to gpio22. It was working on gpio2 just fine but I didn't bother moving it back. Update for your firmware accordingly.
I also added an SD card breakout board to make it easy to run the machine headless. I can start and initialize it from a wifi access point then run gcode off of the SD Card. The pins for the sd card are:
MISO: gpio19
MOSI: gpio23
SCK: gpio18
CS: gpio5
board: None name: Mural stepping: engine: RMT (using GPIO) idle_ms: 255 pulse_us: 4 dir_delay_us: 0 disable_delay_us: 0 segments: 12 spi: miso_pin: gpio.19 mosi_pin: gpio.23 sck_pin: gpio.18 sdcard: cs_pin: gpio.5 card_detect_pin: NO_PIN frequency_hz: 8000000 kinematics: WallPlotter: left_anchor_x: 0 left_anchor_y: 1200 right_anchor_x: 2375 right_anchor_y: 1200 segment_length: 5 axes: homing_runs: 2 x: steps_per_mm: 20 max_rate_mm_per_min: 800 acceleration_mm_per_sec2: 15 max_travel_mm: 5000 soft_limits: true motor0: limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1 standard_stepper: step_pin: gpio.12 direction_pin: gpio.13 disable_pin: gpio.14 y: steps_per_mm: 20 max_rate_mm_per_min: 800 acceleration_mm_per_sec2: 15 max_travel_mm: 5000 soft_limits: true motor0: limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN limit_all_pin: NO_PIN hard_limits: false pulloff_mm: 1 standard_stepper: step_pin: gpio.26 direction_pin: gpio.27 disable_pin: gpio.25 z: steps_per_mm: 100 max_rate_mm_per_min: 5000 acceleration_mm_per_sec2: 100 max_travel_mm: 10 motor0: limit_all_pin: NO_PIN limit_neg_pin: NO_PIN limit_pos_pin: NO_PIN hard_limits: false pulloff_mm: 1 rc_servo: output_pin: gpio.22 soft_limits: false homing: cycle: 1 mpos_mm: 10 coolant: flood_pin: NO_PIN mist_pin: NO_PIN delay_ms: 0 macros: {} start: must_home: false deactivate_parking: false check_limits: false parking: enable: false axis: Z target_mpos_mm: -5 rate_mm_per_min: 800 pullout_distance_mm: 5 pullout_rate_mm_per_min: 250 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 digital4_pin: NO_PIN digital5_pin: NO_PIN digital6_pin: NO_PIN digital7_pin: NO_PIN user_inputs: analog0_pin: NO_PIN analog1_pin: NO_PIN analog2_pin: NO_PIN analog3_pin: NO_PIN digital0_pin: NO_PIN digital1_pin: NO_PIN digital2_pin: NO_PIN digital3_pin: NO_PIN digital4_pin: NO_PIN digital5_pin: NO_PIN digital6_pin: NO_PIN digital7_pin: NO_PIN arc_tolerance_mm: 0.002 junction_deviation_mm: 0.01 verbose_errors: true report_inches: false enable_parking_override_control: false use_line_numbers: false planner_blocks: 16
The gcode is generated from svgs using https://sameer.github.io/svg2gcode/
I'm on an 8x4 dry erase board thus the 2375mm x 1200mm. The firmware disables homing so the machine needs to boot at the origin. I'm halfway to shifting everything to boot in the center for the usable space but for now I start at the lower left of the board. Shifting it will take a combination of shifts in firmware and the svg2gcode settings. My settings for svg2gcode are as follows:
{ "conversion": { "tolerance": 0.002, "feedrate": 500.0, "dpi": 96.0, "origin": [ 0.0, 0.0 ], "extra_attribute_name": null }, "machine": { "supported_functionality": { "circular_interpolation": false }, "tool_on_sequence": "G1 Z0 F500", "tool_off_sequence": "G1 Z10 F500", "begin_sequence": "G1 Z10 F500", "end_sequence": "G1 Z10 F500\nG0 X0 Y0" }, "postprocess": { "checksums": false, "line_numbers": false, "newline_before_comment": false }, "version": "V5" }