RRF Config Mapping



  • Hi, running 3.1.1 on Duet 2 Wifi with BL-Touch, no Duex addon.
    How do I setup this?
    Thank you

    bltouch.png



  • @printthatthing
    Leave it as it is....
    You can edit that later on in the config.g

    M950 S0 C"duex.pwm5" ; create servo pin 0 for BLTouch
    You have to change that to
    M950 S0 C"!duex.pwm5"
    or rename to
    M950 S0 C"exp.heater7"

    You will find the full list of heater pin names here
    https://duet3d.dozuki.com/Wiki/RepRapFirmware_3_overview#Section_Pin_names_for_Duet_2_WiFi_Ethernet


  • Moderator

    There's currently a bug in the configurator that doesn't present the correct pin choices. So you'll have to rename the pin to match what you're using as @DIY-O-Sphere says. This will hopefully be corrected soon.



  • Thank you, I can now deploy and retract bltouch pin manually by
    M280 P0 S10 I1
    M280 P0 S90 I1

    When running home all X & Y homes okay and Z starts moving down to bed without deploying pin so I have to kill the power before it hits the bed.

    If I deploy the pin manually before home all it stop Z when pin detect surface but it does not raise Z to do a second messurement.

    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"Formbot Raptor 2"                       ; set printer name
    
    ; Network
    M552 S1                                        ; enable network
    M586 P0 S1                                     ; enable HTTP
    M586 P1 S0                                     ; disable FTP
    M586 P2 S0                                     ; disable Telnet
    
    ; Drives
    M569 P0 S1                                     ; physical drive 0 goes forwards
    M569 P1 S1                                     ; physical drive 1 goes forwards
    M569 P2 S1                                     ; physical drive 2 goes forwards
    M569 P3 S1                                     ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3                               ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z640.00 E415.00              ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00            ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00        ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00            ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30                   ; 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 X400 Y400 Z500 S0                         ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"!xstop"                           ; configure active-high endstop for low end on X via pin !xstop
    M574 Y1 S1 P"!ystop"                           ; configure active-high endstop for low end on Y via pin !ystop
    M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
    
    
    ; Z-Probe
    M950 S0 C"!duex.pwm5"                          ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T6000            ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X66 Y33 Z2.5                          ; set Z probe trigger value, offset and trigger height
    M557 X35:215 Y35:195 S20                       ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                        ; map heated bed to heater 0
    M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138  ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                              ; set fan 1 value. 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
    


  • @printthatthing please use M558 first, then M950 for the zprobe. If this is not sufficient, please show homeall.g

    And there is something wrong, you dont need I1 with rrf3. https://duet3d.dozuki.com/Wiki/Connecting_a_Z_probe#Section_Software_setup_RepRapFirmware_Num_3 last section.



  • Thank you, here is my homeall.g

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jul 08 2020 20:58:26 GMT+0200 (centraleuropeisk sommartid)
    G91                     ; relative positioning
    G1 H2 Z5 F6000          ; lift Z relative to current position
    G1 H1 X-405 Y-405 F1800 ; 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-405 Y-405 F360  ; move slowly to X and Y axis endstops once more (second pass)
    G1 H1 Z-355 F360        ; 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
    


  • @printthatthing the printer doesnt know where z 0 is, a G30 is missing. G30 uses the bltouch to set it. Call G30 after x and y endstop setting, but before G1 Z0

    After the G90 in most cases x and y are moved to the middle of the bed, then G30



  • @JoergS5 I get it a try tomorrow. Thank you for all help.



  • @printthatthing the
    G1 H1 Z-355 F360
    should be a replacement for what I proposed (the G30 proposal), but 355 is less than the 500 height of M208, so 0 may not be reached, I would set it higher to Z-600.
    And the G92 Z0 is not needed, because the G1 H1 Z... already sets Z to the M208 minimum for Z, ie 0.
    The sensitivity setting G31 P is probably wrong, please set P25 instead.


  • Moderator

    ; Z-Probe
    M950 S0 C"duex.pwm5"                          ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T6000            ; set Z probe type to bltouch and the dive height + speeds
    G31 P25 X66 Y33 Z2.5                          ; set Z probe trigger value, offset and trigger height
    

    Remove the ! from duex.pwm5
    Change G31 P500 to P25

    in homeall change

    G1 H1 Z-355 F360        ; move Z down stopping at the endstop
    G90                     ; absolute positioning
    G92 Z0                  ; set Z position to axis minimum (you may want to adjust this)
    

    To

    G90                     ; absolute positioning
    G1 X150 Y150 F6000        ; move Z down stopping at the endstop
    G30 ; probe the bed
    


  • Thank you all again. I think I have it running now.
    I had to keep ! for duex.pwm5 else it does not probe.
    config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jul 08 2020 21:18:31 GMT+0200 (centraleuropeisk sommartid)
    
    ; General preferences
    G90                                            ; send absolute coordinates...
    M83                                            ; ...but relative extruder moves
    M550 P"Formbot Raptor 2"                       ; set printer name
    
    ; Network
    M552 S1                                        ; enable network
    M586 P0 S1                                     ; enable HTTP
    M586 P1 S0                                     ; disable FTP
    M586 P2 S0                                     ; disable Telnet
    
    ; Drives
    M569 P0 S1                                     ; physical drive 0 goes forwards
    M569 P1 S1                                     ; physical drive 1 goes forwards
    M569 P2 S1                                     ; physical drive 2 goes forwards
    M569 P3 S1                                     ; physical drive 3 goes forwards
    M584 X0 Y1 Z2 E3                               ; set drive mapping
    M350 X16 Y16 Z16 E16 I1                        ; configure microstepping with interpolation
    M92 X80.00 Y80.00 Z640.00 E415.00              ; set steps per mm
    M566 X900.00 Y900.00 Z12.00 E120.00            ; set maximum instantaneous speed changes (mm/min)
    M203 X6000.00 Y6000.00 Z180.00 E1200.00        ; set maximum speeds (mm/min)
    M201 X500.00 Y500.00 Z20.00 E250.00            ; set accelerations (mm/s^2)
    M906 X800 Y800 Z800 E800 I30                   ; 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 X400 Y400 Z350 S0                         ; set axis maxima
    
    ; Endstops
    M574 X1 S1 P"!xstop"                           ; configure active-high endstop for low end on X via pin !xstop
    M574 Y1 S1 P"!ystop"                           ; configure active-high endstop for low end on Y via pin !ystop
    M574 Z1 S2                                     ; configure Z-probe endstop for low end on Z
    
    
    ; Z-Probe
    M950 S0 C"!duex.pwm5"                           ; create servo pin 0 for BLTouch
    M558 P9 C"^zprobe.in" H5 F120 T6000            ; set Z probe type to bltouch and the dive height + speeds
    G31 P25 X-25 Y-5 Z0.489                          ; set Z probe trigger value, offset and trigger height
    M557 X5:380 Y5:380 S20                       ; define mesh grid
    
    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; configure sensor 0 as thermistor on pin bedtemp
    M950 H0 C"bedheat" T0                          ; create bed heater output on bedheat and map it to sensor 0
    M307 H0 B1 S1.00                               ; enable bang-bang mode for the bed heater and set PWM limit
    M140 H0                                        ; map heated bed to heater 0
    M143 H0 S120                                   ; set temperature limit for heater 0 to 120C
    M308 S1 P"e0temp" Y"thermistor" T100000 B4138  ; configure sensor 1 as thermistor on pin e0temp
    M950 H1 C"e0heat" T1                           ; create nozzle heater output on e0heat and map it to sensor 1
    M307 H1 B0 S1.00                               ; disable bang-bang mode for heater  and set PWM limit
    
    ; Fans
    M950 F0 C"fan0" Q500                           ; create fan 0 on pin fan0 and set its frequency
    M106 P0 S0 H-1                                 ; set fan 0 value. Thermostatic control is turned off
    M950 F1 C"fan1" Q500                           ; create fan 1 on pin fan1 and set its frequency
    M106 P1 S1 H1 T45                              ; set fan 1 value. 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
    
    

    homeall.g

    ; homeall.g
    ; called to home all axes
    ;
    ; generated by RepRapFirmware Configuration Tool v3.1.3 on Wed Jul 08 2020 20:58:26 GMT+0200 (centraleuropeisk sommartid)
    G91                     ; relative positioning
    G1 H2 Z5 F6000          ; lift Z relative to current position
    G1 H1 X-405 Y-405 F1800 ; 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-405 Y-405 F360  ; move slowly to X and Y axis endstops once more (second pass)
    
    
    G90                     ; absolute positioning
    G1 X150 Y150 F6000        ; move Z down stopping at the endstop
    G30                     ; home Z by probing the bed
    
    
    ; Uncomment the following lines to lift Z after probing
    G91                    ; relative positioning
    G1 Z5 F100             ; lift Z relative to current position
    G90                    ; absolute positioning
    

    Is the heatmap very bad or ok to use without adjustments?
    heat.png


  • administrators

    As you have no DueX, you are not connecting the servo pin of the BLTouch duex.pwm5, so you should not use that selection in configtool or config.g. Use the name of the actual pin that you have connected it to, which is exp.heater7, and don't invert it. Although as it happens, using duex.pwm5 and inverting it will work.



  • @dc42 Aha, okay that make sense.


  • Moderator

    @dc42 said in RRF Config Mapping:

    so you should not use that selection in configtool

    Unfortunately the config tool currently doesn't show the expansion pins right now, just duex pins.


  • Moderator

    @printthatthing said in RRF Config Mapping:

    Is the heatmap very bad or ok to use without adjustments?

    That's a bit of a saddle shape for sure. You may or may not be able to fix that physically. You can test the effect of the compensation by printing a bed test like this: bedlevel_nozzle_0.4_200x200-0.3-0.8.stl



  • @Phaedrux Ok thanks.



  • Now I'm stuck with error at bed heating.
    Error: Heater 0 fault: temperature rising much more slowly than the expected 1.7°C/sec
    Duet 2 Wifi power a solid state relay for a 220v heater.

    I executed M307 H0 S90
    M307 H0 results in below.
    Heater 0 model: gain 340.0, time constant 140.0, dead time 5.5, max PWM 1.00, calibration voltage 0.0, mode bang-bang

    Then I tried to save the value
    M307 H0 A340 C140 D5.5 V0 B0
    But it result in
    Warning: M307: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C


  • Moderator

    That's expected. The warning is letting you know what the max uncontrolled temp could be.



  • @Phaedrux Ok, but I still not able to heat the bed. It start heating but halt after few seconds. Error: Heater 0 fault: temperature rising much more slowly than the expected 1.7°C/sec


  • Moderator

    Are you sure you saved the PID tuning results with M500? Do you also have an M501 at the end of config.g to load the saved results?



  • @Phaedrux i was missing M501 in config.g
    Restarted boad but getting same error when trying to heat bed.
    Tried to run M307 H0 S90 again but it fails with Error: M307: bad model parameters

    ; config-override.g file generated in response to M500 at 2020-07-10 23:02
    ; This is a system-generated file - do not edit
    ; Heater model parameters
    M307 H0 A340.0 C140.0 D5.5 S1.00 V0.0 B1
    M307 H1 A340.0 C140.0 D5.5 S1.00 V0.0 B0
    ; Workplace coordinates
    G10 L2 P1 X0.00 Y0.00 Z0.00
    G10 L2 P2 X0.00 Y0.00 Z0.00
    G10 L2 P3 X0.00 Y0.00 Z0.00
    G10 L2 P4 X0.00 Y0.00 Z0.00
    G10 L2 P5 X0.00 Y0.00 Z0.00
    G10 L2 P6 X0.00 Y0.00 Z0.00
    G10 L2 P7 X0.00 Y0.00 Z0.00
    G10 L2 P8 X0.00 Y0.00 Z0.00
    G10 L2 P9 X0.00 Y0.00 Z0.00
    

  • Moderator

    In config.g change M307 H0 B1 S1.00 to B0

    Then delete your config-override.g and run M307 H0 S90 again after a reboot. Then save with M500.


  • Moderator

    Also make sure you're starting from a cold bed state.



  • @Phaedrux said in RRF Config Mapping:

    Executed M307 H0 S90 after the suggested changes.
    Error: M307: bad model parameters

    Update:
    My bad, it might be M303 H0 S90


  • Moderator

    @printthatthing said in RRF Config Mapping:

    Update:
    My bad, it might be M303 H0 S90

    😑 Yes of course.


Log in to reply