Upgrading from RRF2 to RRF3 issues



  • Thanks in advance

    I had done a huge amount of messing around with my v2.05 config and hadn’t use the web configuration tool for some time. When I initially tried to generate my RRF3 config I had all sorts of issues one they were loaded into my DuetWifi v2 – all of which was down to my fat fingers/brain. So I decided to take a different approach and use the config tool to take my v2 and flip it to v3. I took my working RRF2 v2.05 settings and manually re-generated the config.json file using the configuration web tool. Once I had that dialed in I loaded it into the DuetWifi and it worked as expected. I then switched to v3 on the web config tool and went through the settings to double check they were the same on the pages that are similar between RRF2 and RRF3. Bltouch settings were a pain and still not working properly , I’m using heater 7 as I did in RRF2

    I have tried v3.0 and 3.01-RC11 so far with mixed results

    Current issues

    • The Bltouch will deploy and then retract as the bed touches it but the deb does not stop moving and emergency stop has to be pressed. Same on v3.0 and v3.0RC11

    • Cannot home Y axis. on v3.0 it moves very slightly and then nothing will move until a reset. On v3.0RC11 it fails with

          G28 Y 
          Error: Failed to enable endstops
      
    • V3.0 shows 1 more endstop than is physically present

    1.png

    • v3.01-RC11 shows the Y endstop as n/a (this is a currently a mechanical endstop NO, ultimately it will become NC in time)

    2.png

    New RRF3 config.g

    ; Configuration file for Duet WiFi (firmware version 3)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 03 2020 18:10:19 GMT-0600 (Mountain Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves
    M550 XXXXXXXXX ; set machine name

    M667 S1 ; select CoreXY mode

    ; Network
    M551 P"XXXXXXXXXX" ; set password
    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 S0 ; physical drive 2 goes backwards
    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 X79.29 Y79.48 Z400.63 E467.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 X275 Y275 Z300 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 P"xstop" ; configure active-high endstop for low end on X via pin xstop
    M574 Y1 S0 P"ystop" ; configure active-low 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"exp.heater7" ; create servo pin 0 for BLTouch
    M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
    G31 P500 X-26.5 Y-12 Z2.14 ; set Z probe trigger value, offset and trigger height
    M557 X20:275 Y20:275 S20 ; define mesh grid

    ; Heaters
    M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 ; 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
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M140 H0 ; map heated bed to heater 0
    M308 S1 P"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; 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
    M143 H1 S280 ; set temperature limit for heater 1 to 280C
    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
    ;Correct CPU temp
    M912 P0 S-10.1

    ; Miscellaneous
    M501 ; load saved parameters from non-volatile memory



  • @Foden
    This is my original working RRF2 config.g

    Original RRF2 config.g
    ; Configuration file for Duet WiFi (firmware version 1.21)
    ; executed by the firmware on start-up
    ;
    ; generated by RepRapFirmware Configuration Tool on Sun Sep 09 2018 17:28:37 GMT-0600 (Mountain Daylight Time)

    ; General preferences
    G90 ; send absolute coordinates...
    M83 ; ...but relative extruder moves

    M667 S1 ; select CoreXY mode

    ; Network
    M550 PLB-HEVO ; set machine name
    M551 PXXXXXXXXXX ; set password
    M552 S1 ; Enable network
    M587 S"XXXXXXXXXXXXX" P"XXXXXXXXXXXXXXX" ; Configure access point. You can delete this line once connected
    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 S0 ; physical drive 2 goes backwards
    M569 P3 S1 ; physical drive 3 goes forwards
    ; physical drive 3 goes forwards
    M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
    M92 X79.29 Y79.48 Z400.63 E467.00 ; set steps per mm - calibrated from 20mm cube Jan 13 2018

    M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
    M203 X8000.00 Y8000.00 Z2000.00 E1000.00 ; set maximum speeds (mm/min)
    M201 X2000 Y2000 Z400 E10000 ; set maximum accelerations (mm/s^2)
    M906 X1500 Y1500 Z1200 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 X275 Y275 Z300 S0 ; set axis maxima

    ; Endstops
    M574 X1 S1 ; set active high endstops
    M574 Y1 S0 ; set active high endstops
    M574 Z1 S2 ; set endstops controlled by probe

    ; Z-Probe
    M307 H7 A-1 C-1 D-1 ; disable the 7th Heater to free up PWM channel 5 on the Duex board
    M558 P9 H5 R0.3 F1000 T4000 X0 Y0 Z1 A4 S0.04 ; set Z probe type/mode 9. H=Dive Height. F=Speed the bed
    G31 P25 X-26.5 Y-12 Z2.14 ; Z probe trigger value, offset in relation to nozzle. And trigger height adjustment
    M557 X0:275 Y15:275 S30 ; define mesh grid - S=spacing between points in mm

    ; Heaters
    M307 H0 B0 S1.00 ; disable bang-bang mode for the bed heater and set PWM limit
    M305 P0 T100000 B4725 C0 R4700 ; set thermistor + ADC parameters for heater 0
    M143 H0 S120 ; set temperature limit for heater 0 to 120C
    M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1
    M143 H1 S280 ; set temperature limit for heater 1 to 280C

    ; Fans
    ;Fan 0-Bed, 1-Hotend
    M106 P0 H-1
    M106 P1 T45 H1 ;Hot End fan, thermostatic control is turned on at 45c runs at 100%

    ; Tools
    M563 S"Nozzle1" P0 D0 H1 ; 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

    ;Correct CPU temp
    M912 P0 S-10.1

    ; Miscellaneous
    M501 ; Load saved parameters from non-volatile memory


  • Moderator

    Your motor currents are much lower in our RRF3 config.

    M574 S0 is not supported in RRF3 anymore.

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

    Endstop type S0 (active low switch) is no longer supported in M574 commands. Instead, use type S1 and invert the input by prefixing the pin name with '!'. Ex: M574 X1 S1 P"!xstop". Invert the input when using an NPN output inductive or capacitive sensor, or using a NO switch (not recommended, use a NC switch instead).

    So that may explain your Y endstop issue.

    Use M574 Y1 S1 P"!ystop" instead.

    For the BLTouch you have M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 remove the +zprobe.mod part. The modulation shouldn't be used. In the configurator it is selected by default and should be deselected. It's on the change list to have that fixed as it tends to catch people out quite often. Sorry about that.

    Also for the BLTouch, what do you have for your deploy and retract macros? Does M401 and M402 work to deploy and retract the pin?


  • administrators

    @Foden said in Upgrading from RRF2 to RRF3 issues:

    M558 P9 C"zprobe.in+zprobe.mod" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds

    Recent versions of BLTouch need the pullup resistor enabled too:

    M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds



  • @Phaedrux Thanks Phaedrux

    Motor currents - looks like i messed up there as it is taking the values now

    Missed the M574 info - thought i had read it all properly, obviously not and appreciate the heads up. However that code was all created by the configuration tool

    BLTouch - yes M401 & M402 work as expected

    ; deployprobe.g
    ; called to deploy a physical Z probe
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 03 2020 18:10:19 GMT-0600 (Mountain Daylight Time)
    M280 P0 S10 ; deploy BLTouch

    ; retractprobe.g
    ; called to retract a physical Z probe
    ;
    ; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun May 03 2020 18:10:19 GMT-0600 (Mountain Daylight Time)
    M280 P0 S90 ; retract BLTouch



  • @dc42 Thanks DC42

    Working through Phaedrux and your updates

    Much appreciated guys!!!



  • @Foden Quick and outstanding support as ever - THANK YOU guys

    Homing of the Y axis now works as expected as does the BLTouch. So was I selecting the wrong thing(s) here are there changes coming for the config tool? I was trying to keep my initial, baseline, config clean and created by the config tool before I dirty it with tweaking and fiddling with it

    3.png


  • Moderator

    The config tool is yet to be updated fully and is still outputting S0 rather than ! on the pin. It's on the list for the next update.

    Glad it's working though,



  • @Phaedrux

    Just noticed that if i do X home more than once (paranoia kicking in) X axis keeps moving to the right. Checked the endstop status and X is showing as triggered regardless of whether it actually is or not. Haven't messed with any cables and the optical sensor itself was working properly

    ; 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-low 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"exp.heater7" ; 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 X-26.5 Y-12 Z2.14 ; set Z probe trigger value, offset and trigger height
    M557 X20:275 Y20:275 S20 ; define mesh grid

    Stepped away from it for awhile, hit the emergency stop so it knows I'm still in charge and now it works like it should

    No sane person would build their own 3D printer I guess

    Thanks again!


  • Moderator

    Given that this is a CoreXY we should verify that your motor directions are correct and that you are configured to use a right hand coordinate system.

    I'll point you to this post which goes through the steps of verifying that everything is set correctly (end stop positions, homing directions, and motor rotations)

    https://forum.duet3d.com/topic/12676/mirrored-x-axis/9?_=1588616543576



  • @Phaedrux

    I looked through the link

    Motor directions are correct and haven't changed since original setup some years ago. Y endstop was changed when an optical sensor died and I only had mechanical spares so it was swapped and I haven't swapped it back since

    As I mentioned, once I left it alone and the hit the emergency button all is well - go figure


  • administrators

    @Foden said in Upgrading from RRF2 to RRF3 issues:

    Just noticed that if i do X home more than once (paranoia kicking in) X axis keeps moving to the right. Checked the endstop status and X is showing as triggered regardless of whether it actually is or not. Haven't messed with any cables and the optical sensor itself was working properly

    Is this with RRF 3.0 or with RRF 3.01-RC11 ? I recommend you use 3.01-RC11.



  • @dc42 said in Upgrading from RRF2 to RRF3 issues:

    3.01-RC11

    It was with 3.01-RC11 - once I left it alone and the hit the emergency button all was well


Log in to reply