CR10 S5 upgrade to Duet 2 Wifi



  • Hi Everyone,
    Im hoping I can get a bit of assistance. This is the first time Im trying to do something like this, and the first time Im trying to learn anything to do with Gcode.
    Im upgrading my CR10 S5 to the following:
    3D Fused Linear rails - this should make no difference.
    Keenovo AC heatbed with SSR - again with the SSR it shouldnt make any difference
    Hemera direct drive
    BL Touch 3.1
    (If someone has done this and would be happy to share their config and firmware files with me, Id appreciate it)

    Below please see my wiring, I think I have it done correctly, but though it was worth posting in case I hadnt.
    Duet Wiring.jpg
    One this that I did change, I had the Extruder plugged into E1, I have moved this to E0.

    Things that seem to be working:
    X, Y, Z motors are driving. However I dont think Z is setup correct. If someone can confirm settings for the S5?
    The steppers are all the standard ones that came with the machine.

    Extruder (Hemera)
    Heats up fine / Cools down fine
    Fans switch on once temp is about 45 degrees.
    Forwards/Backwards works but esteps seem completely out - would appreciate assistance in getting this right?

    BL Touch wiring is as follows:
    White and black to the probe in's on the board.
    Brown wire to GPIO 1
    Red wire to GPIO 2
    Blue wire to GPIO 8

    When I power on, the BLtouch does its normal start up check by dropping the pin twice. So I believe the wiring is correct.

    When I try run G29 i get the following error:
    G29 Error.PNG
    Absolutely lost with what to do here?

    Thanks for the assist



  • @GT1Za
    Sounds like you're missing the definition of the bed mesh in config.g. This is from my CR-10S, so it'll need adjusting for you:

    M557 X35:265 Y35:265 S46		; Define a 5x5 mesh grid
    

    https://duet3d.dozuki.com/Wiki/Gcode#Section_M557_Set_Z_probe_point_or_define_probing_grid

    You may also want to post your full config.g for further help 🙂



  • Thanks @NexxCat. It is there but values are different. Not sure if these values are correct either though! See config.g below

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 P"S5 Linear" ; set printer name
    M918 P1 E4 F2000000 ; configure direct-connect display

    ; Network
    M552 S1 ; enable network
    M586 P0 S1 ; enable HTTP
    M586 P1 S0 ; disable FTP
    M586 P2 S0 ; disable Telnet

    ; Drives
    M569 P0 S0 ; physical drive 0 goes backwards
    M569 P1 S0 ; physical drive 1 goes backwards
    M569 P2 S1 ; physical drive 2 goes forwards
    M569 P3 S0 ; physical drive 3 goes backwards
    M584 X0 Y1 Z2 E3 ; set drive mapping
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z400.00 E93.00 ; set steps per mm
    M566 X1200.00 Y1200.00 Z24.00 E300.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X9000.00 Y9000.00 Z180.00 E6000.00 ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z100.00 E5000.00 ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E1000 I50 ; set motor currents (mA) and motor idle factor in per cent
    M84 S30 ; Set idle timeout

    ; Axis Limits
    M208 X0 Y0 Z0 S1 ; set axis minima
    M208 X510 Y510 Z500 S0 ; set axis maxima

    ; Endstops
    M574 X1 Y1 Z1 S1 ; set active high endstops

    ; Z-Probe
    M307 H64 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch
    M558 P9 H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-3 Y0 Z3 ; set Z probe trigger value, offset and trigger height
    M557 X15:495 Y15:495 S20 ; define mesh grid

    ; Heaters
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B4092 R4700 ; set thermistor + ADC parameters for heater 0
    M143 H0 S150 ; set temperature limit for heater 0 to 150C
    M305 P1 T100000 B4092 R4700 ; set thermistor + ADC parameters for heater 1
    M143 H1 S275 ; set temperature limit for heater 1 to 275C

    ; Fans
    M106 P0 S0 I0 F500 H-1 ; set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P1 S1 I0 F500 H1 T45 ; set fan 1 value, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P2 S1 I0 F500 H1:0 T45 ; set fan 2 value, PWM signal inversion and frequency. Thermostatic control is turned on

    ; Tools
    M563 P0 D0 H1 F0 ; define tool 0
    G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
    G10 P0 R0 S0 ; set initial tool 0 active and standby temperatures to 0C

    ; Custom settings are not defined



  • @GT1Za
    I think your problem is your mesh definition is too aggressive. You're probing 480x480mm at 20mm increments, that's 576 points which I think is above the limit. Try changing your M557 line to this:

    M557 X15:495 Y15:495 S40 ; define mesh grid
    

    That's 144 points over the bed, 40mm spaced. See if it works then



  • @NexxCat that worked, I took it up to S80 for a 6x6 mesh. Ill experiment later to find the right values.

    Now the if I run the Auto Bed Compensation, its starts, but the BL touch probe doesnt deploy?



  • @GT1Za
    Do you have deployprobe.g and retractprobe.g files? If so, what are the contents of each? 🙂



  • @NexxCat

    ; deployprobe.g
    ; called to deploy a physical Z probe
    M280 P64 S10 ; deploy BLTouch

    ; retractprobe.g
    ; called to retract a physical Z probe
    M280 P64 S90 ; retract BLTouch



  • @GT1Za
    In config.g, change:

    M307 H64 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch
    

    to

    M307 H3 A-1 C-1 D-1 ; disable heater on PWM channel for BLTouch
    

    and in both deployprobe.g and retractprobe.g, change the P64 to P3. Then try 🙂



  • Nope.. Still says Z probe was not triggered during move.



  • @GT1Za
    Does it deploy now though? From the photos it looks to be wired into pin 8 of the expansion connector, which is Heater 3. Your config had it looking on Heater 64, hence the change.



  • @GT1Za
    Just noticed something else also. You have the original Z endstop plugged in and configured. I don't as the BLTouch does all Z homing. Try the following changes in config.g:

    M574 X1 Y1 Z1 S1 ; set active high endstops
    

    to

    M574 X1 Y1 S1 ; set active high endstops
    

    Add:

    M574 Z1 S2                              ; Set Z endstop controlled by probe
    


  • @NexxCat

    Ill try it now. Ive always liked the idea of keeping the z stop incase the BLtouch fails. Is there no way to keep both?



  • @GT1Za
    I have no experience with that I'm afraid, so I can't help, but people here are really friendly and knowledgeable, so someone else may know 🙂



  • ok, Z probe still didnt deploy when trying to home the Z. I had to hit the stop button.



  • @GT1Za
    Just to double check. The brown wire from the BLTouch is definitely plugged into Pin 8 of the expansion connector?



  • definitely into pin 8
    GPIO pins.jpg



  • @GT1Za
    DOH! I know what I missed.

    In both deployprobe.g and retractprobe.g, add I1 to the end of the parameters:

    deployprobe.g
    M280 P3 S10 I1
    
    retractprobe.g
    M280 P3 S90 I1
    


  • @NexxCat
    I have just checked the wiring diagram:
    Pin 1: To Red
    Pin 2: To Blue/Brown
    Pin 8: To Orange/Yellow

    This is as per: https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe

    This is how I have it wired

    I have added the I1 to both, but still not deploying

    NB: This is not deploying on HOMING the Z as I cant run the mesh bed before homing.



  • @GT1Za
    Hmm, and you still have the config.g M307 set to H3?

    Looks like the BLTouch isn't receiving the servo signal. The "I" parameter in the deploy and retract is needed because we're wired directly into the expansion connector, if you had a Duex, it wouldn't be required, but with the correct heater configured (heater 3), and the inversion, it should work 😕

    Edit: Can you post your homez.g and homeall.g please?



  • in the config.g:
    082d864b-4588-4b03-9c78-743d490f7f9d-image.png

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Mar 20 2020 11:57:17 GMT+0200 (South Africa Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 X-515 Y-515 F3000 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 H2 X5 Y5 F6000 ; go back a few mm
    G1 H1 X-515 Y-515 F240 ; move slowly to X and Y axis endstops once more (second pass)
    G1 H1 Z-505 F240 ; move Z down stopping at the endstop
    G90 ; absolute positioning
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Fri Mar 20 2020 11:57:18 GMT+0200 (South Africa Standard Time)
    G91 ; relative positioning
    G1 H2 Z5 F6000 ; lift Z relative to current position
    G1 H1 Z-505 F3000 ; move Z down until the endstop is triggered
    G92 Z0 ; set Z position to axis minimum (you may want to adjust this)

    ; Uncomment the following lines to lift Z after probing
    ;G91 ; relative positioning
    ;G1 Z5 F100 ; lift Z relative to current position
    ;G90 ; absolute positioning



  • @GT1Za
    Ok, the home macros aren't configured for a z-probe. Here are mine:

    ; homez.g
    ; called to home the Z axis
    ;
    M290 R0 S0	; Reset babystepping
    G91             ; relative positioning
    G1 Z5 F6000 S2  ; lift Z relative to current position
    G90             ; absolute positioning
    G1 X118 Y148 F6000      ; go to the bed centre and home Z
    G30             ; home Z by probing the bed
    
    ; homeall.g
    ; called to home all axes
    ;
    M290 R0 S0		; Reset babystepping
    G91                     ; relative positioning
    G1 Z5 F6000 S2          ; lift Z relative to current position
    G1 S1 X-305 Y-305 F3600 ; move quickly to X and Y axis endstops and stop there (first pass)
    G1 X5 Y5 F6000          ; go back a few mm
    G1 S1 X-305 Y-305 F360  ; move slowly to X and Y axis endstops once more (second pass)
    G90                     ; absolute positioning
    M98 Pdeployprobe.g      ; deploy mechanical Z probe
    G1 X118 Y148 F6000      ; go to the bed centre and home Z
    G30                     ; home Z by probing the bed
    M98 Pretractprobe.g     ; retract mechanical Z probe
    

    You'll need to adjust X and Y in both for your printer because you are 500x500.



  • wow ok a whole new issue

    in homez.g
    G1 X118 Y148 F6000 ; go to the bed centre and home Z

    I changed to:
    G1 X250 Y250 F6000 ; go to the bed centre and home Z

    this should be the center of the bed. but it tried to send it way off and I had to hit stop.

    The Y steps dont seem to be right as 150 is taking me just short of center. 250 basically made it travel off and I had to hit stop.
    The good news is the probe worked!



  • @GT1Za
    Did you also adjust:

    G1 S1 X-305 Y-305 F3600
    

    to

    G1 S1 X-515 Y-515 F3600
    

    and

    G1 S1 X-305 Y-305 F360
    

    to

    G1 S1 X-515 Y-515 F360
    


  • Yes I did.
    The Y is just going too far. Everything else is as its meant to be



  • @GT1Za
    What happens if you manually home X and Y in the web UI, then use the jog controls to move them. Do they move the expected distance?


Log in to reply