Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. vockleya
    • Profile
    • Following 0
    • Followers 0
    • Topics 2
    • Posts 4
    • Best 0
    • Controversial 0
    • Groups 0

    vockleya

    @vockleya

    0
    Reputation
    3
    Profile views
    4
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    vockleya Unfollow Follow

    Latest posts made by vockleya

    • RE: BLTouch mesh bed leveling, but first layer isn't level

      Thanks for all the ideas. I've got a lot more testing to do now.

      When I manually level the bed to the nozzle and then run G29, I get the mesh below, I think the entire toolhead is deflecting as it travels across the X axis. I'll need to do a bit of a redesign to stiffen it more. I also want to add 2 fixed probe points attached directly to the Z gantry, insteaf of using the bed for auto leveling. That should give a more reliable starting point.

      The homing and bed probing files seem to be working correctly, so I don't think thats the issue. Although I've cleaned them up a bit and all 3 are included below.

      mesh.png

      bed.g

      M561				; clear stored mesh
      G28				; home all
      
      ; rough bed leveling pass
      M558 H10 F1500			; dive height, speed
      G30 P0 X50  Y150  Z-99999	; probe points
      G30 P1 X150 Y150  Z-99999
      G30 P2 X250 Y150  Z-99999 S2	; and run probe
      
      ; fine bed leveling pass
      M558 H3 F300			; dive height, speed
      G30 P0 X100 Y100 Z-99999	; probe points
      G30 P1 X200 Y100 Z-99999
      G30 P2 X100 Y200 Z-99999
      G30 P3 X200 Y200 Z-99999 S2	; and run probe
      
      ; mesh bed leveling
      M557 X20:280 Y20:280 P3		; probe grid
      G29				; run probe
      

      homeall.g

      ; Home X/Y
      G91				; relative positioning
      G1 H2 Z5 F1000			; drop bed
      G1 H1 X320 Y-320 F10000		; move to X or Y endstop (fast)
      G1 H1 X320	F10000		; move to X endstop (fast)
      G1 H1 Y-320	F10000		; move to Y endstop (fast)
      G1 X-5 Y5 F10000		; go back a few mm
      G1 H1 X320 F1000		; move to X endstop (slow)
      G1 H1 Y-320	F1000		; move to Y endstop (slow)
      G90				; absolute positioning
      
      ; Home z
      M98 P"homez.g"
      

      homez.g

      G91				; relative positioning
      G1 H2 Z5 F6000			; drop bed
      G90				; absolute positioning
      G1 X150 Y150 F30000		; move to probe point
      M558 H10 F2500			; fast home
      G30				; home Z
      M558 H3 F300			; slow home
      G30				; home Z
      
      posted in General Discussion
      vockleyaundefined
      vockleya
    • BLTouch mesh bed leveling, but first layer isn't level

      I'm building a custom-designed coreXY printer with dual independent Z axis motors, and am currently running into an absolutely baffling problem with my bed leveling. I've been chasing this problem in circles for weeks, and I'm hoping that a few more knowledgeable sets of eyes might catch something I've missed.

      In short, the "level" plane calculated using a BLTouch and mesh bed leveling does not seem to match the bed. The general result is the right side of the bed being significantly further from the nozzle than the left, but also the rear right is the furthest point, and the rear left is the closest.

      I know the bed isn't particularly flat, but this issue persists regardless of any bed adjustments. In fact, the printer seems to compensate for these changes, and the high and low spots in the print are exactly the same no matter the absolute flatness or "levelness" of the bed. Also, the high and low spots in the print don't match up with high and low spots in the height map at all. Most of the bed is within about .1-.2mm of flat, with only the outer edges (50mm or so) deviating significantly from that.

      Above the 1st level, it prints nearly flawlessly. I have plenty of tweaking left to do, but levelness and distance between higher layers seems to be just fine.

      At this point, I'm not even sure where the issue lies. I'm fairly certain the mechanical design is sound. The frame is incredibly rigid, and I've spent hours adjusting the geometry of the various gantries and linear rails and rods to be running as perfectly square and/or level as possible.

      Even if something isn't quite right, shouldn't bed leveling be able to adjust for whatever offset or geometry change that introduces? If the toolhead/nozzle were lower at one end of an axis compared to the other, wouldn't the bed just move up or down to cancel that out? Or am i misunderstanding how mesh bed leveling works? It seems to me that this is a software/config issue, but I'm not sure of anything at this point.

      Any help would be greatly appreciated.

      Images and config files below. Hopefully you're able to get a decent idea of what I'm working with. I can post more config files, images, or renderings from the 3d model if any other information will help.

      Test Print.jpg

      height map.png

      Printer.jpg

      config.g

      M80 C"pson"									; power on
      
      ; Basic setup
      M575 P1 S1 B57600							; enable PanelDue
      G90											; absolute coordinates
      M83											; relative extruder moves
      M550 P"CoreXY Printer"						; printer name
      M669 K1										; CoreXY mode
      M552 S1										; enable network
      M586 P0 S1									; enable HTTP
      M586 P1 S0									; disable FTP
      M586 P2 S0									; disable Telnet
      
      ; Drives
      M569 P0 S1									; drive 0; forwards
      M569 P1 S0									; drive 1; backwards
      M569 P2 S0									; drive 2; backwards (left Z leadscrew)
      M569 P3 S1									; drive 3; forwards (extruder)
      M569 P4 S0									; drive 4; backwards (right Z leadscrew)
      M584 X0 	Y1 		Z2:4 	E3				; drive mapping
      M906 X1800	Y1800	Z1400	E1000	I40		; motor currents (mA); idle factor
      M84 S1										; idle timeout
      M350 X16 	Y16 	Z16 	E16 	I1		; 16x microstepping with interpolation
      M92  X80	Y80		Z400	E415			; steps per mm
      M566 X2100	Y2100	Z1200	E600			; jerk (mm/min)
      M203 X36000 Y36000	Z3600	E6000			; maximum speed (mm/min)
      M201 X15000 Y15000	Z1000	E3000			; acceleration (mm/s^2)
      M204 P5000 T10000							; print and travel acceleration
      
      ; Axis Limits
      M208 X-10 Y-10 Z0 S1						; axis minima
      M208 X318 Y300 Z370 S0						; axis maxima
      
      ; Endstops
      M574 X2 S1 P"xstop"							; X endstop high end; NO; pin xstop
      M574 Y1 S1 P"ystop"							; Y endstop low end; NO; pin ystop
      
      ; Z-Probe
      M950 S0 C"exp.heater3"						; servo 0; pin exp.heater3
      M558 P9 C"^zprobe.in" H5 F120 T40000		; Z probe type BLTouch; pin zprobe.in; dive height, speed
      G31 P500 X0 Y25 Z2.4						; Z probe trigger value; position offset
      M376 H3
      
      ; Z-leveling
      M671 X370:-58 Y150:150 S10					; leadscrew positions; 10mm correction limit
      
      ; Bed heater
      M308 S0 P"bedtemp" Y"thermistor" A"Bed Heat" T100000 B4138   		; sensor 0; pin bedtemp; type thermistor; name
      M950 H0 C"bedheat" T0                            					; heater 0; pin bedheat; sensor 0
      M307 H0 R0.230 K0.266:0.000 D2.74 E1.35 B0			; PID parameters; disable bang-bang
      M140 H0
      M143 H0 S120                                     					; temperature limit 120C
      
      ; Hotend
      M308 S1 P"e0temp" Y"thermistor" A"Hotend" T100000 B4138			; sensor 1; pin e0temp; type thermistor; name
      M950 H1 C"e0heat" T1											; heater 1; pin e0heat; sensor 1
      M307 H1 R3.034 K0.525:0.211 D5.88 E1.35 V23.8 B0					; PID parameters; disable bang-bang
      M143 H1 S300													; temperature limit 300C
      
      ; Fans
      M950 F0 C"fan0" Q20							; fan 0; pin fan0; 20Hz PWM
      M106 P0 C"Part Cooling"
      
      M950 F1 C"fan2"								; fan 1; pin fan2
      M106 P1 C"Hotend" S1 H1 T50					; fan 1; temperature controlled; heater 1; 50C
      
      ; Tools
      M563 P0 S"Hotend" D0 H1 F0 L0				; define tool 0
      G10 P0 X0 Y0 Z0								; set tool 0 axis offsets
      G10 P0 R180 S235							; set initial tool 0 active and standby temperatures to 0C
      M572 D0 S0.05								; linear advance
      

      bed.g

      M561							; clear stored mesh
      G28
      
      ; Bed leveling pass 1
      M558 H10						; 10mm probe dive height
      ; Define probe points
      G30 P0 X50 Y150  Z-99999
      G30 P1 X150 Y150  Z-99999
      G30 P2 X250 Y150  Z-99999 S2	; and run probe
      
      ; Home Z
      G1 X150 Y150 F40000				; move to probe point
      M558 H5 F300					; dive height, slow home speed
      G30							; home Z
      
      ; Bed leveling pass 2
      G30 P0 X50  Y50  Z-99999
      G30 P1 X150 Y50  Z-99999
      G30 P2 X250 Y50  Z-99999
      G30 P3 X250 Y150 Z-99999
      G30 P4 X150 Y150 Z-99999
      G30 P5 X50  Y150 Z-99999
      G30 P6 X50  Y250 Z-99999
      G30 P7 X150 Y250 Z-99999
      G30 P8 X250 Y250 Z-99999 S2		; and run probe
      
      ; Home Z
      G1 X150 Y150 F40000				; move to probe point
      M558 H3 F300					; dive height, slow home speed
      G30							; home Z
      
      ; Mesh bed leveling
      M557 X20:280 Y20:280 P7			; define probe grid
      G29								; run probe
      
      posted in General Discussion
      vockleyaundefined
      vockleya
    • RE: Extruder motor current not set at power up [solved]

      Perfect! I love a simple fix. Thanks for the help!

      posted in Using Duet Controllers
      vockleyaundefined
      vockleya
    • Extruder motor current not set at power up [solved]

      I'm in the process of building a custom 3d printer using a Duet 2 WIFI as the controller.
      I am having an issue where the extruder motor current is not set from a cold power-on.

      After power-on, running M906 give the following response:

      Motor current (mA) - X:1800, Y:1800, Z:1400, E:0, idle factor 30%
      

      If I then run the M906 line from config.g in the console, or go to the system file directory, open config.g, click "Save", and then click "Run Config File", the next time I run M906 shows the extruder current and idle factor have been set properly.

      Motor current (mA) - X:1800, Y:1800, Z:1400, E:1000, idle factor 40%
      

      If I click on "Restart Mainboard" instead of "Run Config File", it results in the same issue as from a cold power-on.

      I'm having a hard time tracking down the cause of this. If my memory is correct, it started at the same time as I changed from a single driver for the 2 Z motors to 2 separate drivers to allow for auto bed levelling. I've included my config.g below. I imagine there's something fairly straightforward that I've missed, but I've been staring at this config file for far too long. Any help would be greatly appreciated.

      config.g

      posted in Using Duet Controllers
      vockleyaundefined
      vockleya