• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

RepRapFirmware 3.0beta 11 released

Scheduled Pinned Locked Moved
Beta Firmware
13
72
3.5k
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • ?
    A Former User @dc42
    last edited by 24 Oct 2019, 20:31

    @dc42 FOUND THE CAUSE OF THE BUG 😄

    This is ZPROBE.IN in beta10 (bltouch disconnected)

    34b3b580-bc57-4f8a-908d-2ffea12884f3-image.png

    as you can see ~3V with some ugly 50Hz garbage that should not interfere

    but this is ZPROBE.IN in beta11 (bltouch disconnected)

    60c767d3-a300-4035-a997-b5be9b246698-image.png

    as you can see it's floating around 1V at 50Hz so I'd say ZPROBE.IN is HIZ at this point and there is no pullup enabled... I don't see on schematic where zprobe_in becomes zprobe_mcu, are you using external pullup or you just need to configure it as in with pullup enabled .. anyhow .. there's no pullup on zprobe.in with beta11

    undefined 1 Reply Last reply 25 Oct 2019, 15:16 Reply Quote 0
    • ?
      A Former User
      last edited by 24 Oct 2019, 20:56

      found the zprobe_in to zprobe_mcu .. just 10k trough and 2n2 down .. so def port configuration missing 😄

      and I also found the commit that introduced the bug:

      src/Endstops/LocalZProbe.cpp:42

      https://github.com/dc42/RepRapFirmware/blame/c25d73194252791ceb479ced79ffc77b31c810fe/src/Endstops/LocalZProbe.cpp#L42

      you switched it from PinAccess::readWithPullup; to PinAccess::read;

      undefined 1 Reply Last reply 25 Oct 2019, 12:24 Reply Quote 0
      • ?
        A Former User
        last edited by 25 Oct 2019, 07:57

        This will probbly work ok with bltouch v2 or v1 as they have 0/1 output, v3/v3.1 is open drain output so it can only pull low. Not sure why you switched from readWithPullup to read, but maybe create a new probe type with pullup, or should we add external pullup if this is to remain without one on the port?

        b7c4c4fe-7b67-4c36-8584-1c94bcea4f30-image.png

        1 Reply Last reply Reply Quote 0
        • undefined
          Nuramori @A Former User
          last edited by Nuramori 25 Oct 2019, 12:24

          @smece sadly, I saw your posts 3 minutes too late :p.

          Thought my errant height map was a fluke due to a part swap. I dug a nice groove into my test spring plate (luckily I always use a sacrificial test plate whenever I change anything on the printer, hardware or software).

          Moving back to 10 brought everything back to “normal”.

          1 Reply Last reply Reply Quote 0
          • undefined
            dc42 administrators @A Former User
            last edited by dc42 25 Oct 2019, 15:16

            @smece said in RepRapFirmware 3.0beta 11 released:

            so I'd say ZPROBE.IN is HIZ at this point and there is no pullup enabled... I don't see on schematic where zprobe_in becomes zprobe_mcu, are you using external pullup or you just need to configure it as in with pullup enabled .. anyhow .. there's no pullup on zprobe.in with beta11

            Thanks for tracking this down. I removed implicit enabling of pullup resistors in beta 11 because it meant that you couldn't turn them off. If you want to enable the pullup resistor, you need to be explicit by using C"^zprobe.in" in your M558 command.

            The BLTouch that I test with is the older version that drives the output high when triggered, that's why I didn't see the problem during testing.

            I'll update the documentation to make this clear.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            ? 1 Reply Last reply 25 Oct 2019, 16:10 Reply Quote 2
            • ?
              A Former User @dc42
              last edited by 25 Oct 2019, 16:10

              @dc42 said in RepRapFirmware 3.0beta 11 released:

              you need to be explicit by using C"^zprobe.in" in your M558 command.

              Perfect, this solves the problem. Everything works ok now.

              M558 P9 C"^zprobe.in" H5 F120 T3000 A2
              M950 S0 C"exp.heater3"
              G31 P100 X35 Y0 Z2.2
              1 Reply Last reply Reply Quote 0
              • undefined
                fma
                last edited by fma 26 Oct 2019, 17:04

                I just installed RRF3.0beta11 on my DuetWifi2, and I have troubles configuring Fans. In my config.g file, I have:

                M950 F0 C"heater1" Q100 ; Fan 0 (water pump) is connected to heater 1, PWM at 100Hz
                M950 F1 C"heater2" Q100 ; Fan 1 (Berd air pump) is connected to heater 2, PWM at 100Hz
                M950 F2 C"duex.fan3" Q100 ; Fan 2 (Leds) is connected to heater 2, PWM at 100Hz
                M950 S0 C"fan0" ; Servo 0 is connected to "fan0" pin
                ; Tools
                M563 P0 D0 H1 F1 S"Manual" ; Define tool 0 using Drive 0, Heater 1 and Fan 1

                But I don't see any fan controls in DWC2... What I missed?

                I also would like to know:

                • how to setup thermostatic control for a fan
                • how to name a fan

                Thanks,

                PS: the tool is working fine.

                Frédéric

                undefined 1 Reply Last reply 26 Oct 2019, 18:45 Reply Quote 0
                • undefined
                  gtj0 @fma
                  last edited by 26 Oct 2019, 18:45

                  @fma You still need M106 commands...

                  This is for a Duet3 but

                  ; Fans & LEDs
                  M950 F0 C"out7" Q25000
                  M106 P0 C"PartCooling" S0 H-1
                  M950 F1 C"out8" Q25000
                  M106 P1 C"HotEnd" T45 H1
                  M950 F2 C"out9" Q100
                  M106 P2 S255 B0 C"Bed LED"
                  1 Reply Last reply Reply Quote 1
                  • undefined
                    fma
                    last edited by 26 Oct 2019, 18:50

                    Ok, I see. Thanks!

                    Frédéric

                    1 Reply Last reply Reply Quote 0
                    • undefined
                      fma
                      last edited by 28 Oct 2019, 12:43

                      I also have the homing issue G0/G1: insufficient axes homed.

                      But it does not happen all the time. It can home fine, then it does not. I can't find a pattern, it can happens at different stages...

                      I'm using a Duet2Wifi.

                      Here are my congif.g and all homing files:

                      ; Configuration file for Duet WiFi
                      ; executed by the firmware on start-up
                      ; General preferences
                      M111 S0 ; Debugging off
                      G21 ; Work in millimetres
                      G90 ; Send absolute coordinates...
                      M83 ; ...but relative extruder moves
                      M555 P2 ; Set firmware compatibility to look like Marlin
                      M667 S1 ; Select CoreXY mode
                      ; Drives
                      M208 X-60:302 Y-100:305 Z0:320 U-1000:1000 ; Set axis limits
                      M584 X0 Y1 Z2 E5 U6 ; Remap axes
                      M569 P0 S1 ; Drive 0 goes forwards
                      M569 P1 S1 ; Drive 1 goes forwards
                      M569 P2 S0 ; Drive 2 goes reverse
                      M569 P5 S0 ; Drive 5 goes reverse
                      M569 P6 S1 ; Drive 6 goes forward
                      M350 X16 Y16 Z16 E16 U16 I1 ; Configure microstepping with interpolation
                      M92 X66.667 Y66.667 Z1417.323 E530 U140 ; Set steps per mm
                      M203 X30000 Y30000 Z1200 E3600 U3600 ; Set maximum speeds (mm/min)
                      M201 X1000 Y1000 Z100 E3000 U3000 ; Set accelerations (mm/s^2)
                      M566 X900 Y900 Z60 E600 U600 ; Set maximum instantaneous speed changes (mm/min)
                      M906 X1750 Y1750 Z1750 E750 U1250 I30 ; Set motor currents (mA) and motor idle factor in per cent
                      M84 S30 ; Set motors idle timeout
                      ; Endstops (must be defined after any M584 command)
                      M574 X2 S1 P"xstop" ; X min active high endstop switch
                      M574 Y2 S1 P"ystop" ; Y min active high endstop switch
                      M574 Z1 S1 P"zstop" ; Z min active high endstop switch
                      ; Sensors
                      M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 R4700 ; bed temperature sensor uses 'bedtemp' pin
                      M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.06e-8 R4700 ; E0 temperature sensor uses 'deux.e2temp' pin
                      ; Heaters
                      M950 H0 C"bedheat" T0 ; heater 0 uses the 'bedheat' pin and sensor 0
                      M143 H0 S120 ; Set maximum heater 0 temperature to 120°C (not yet supported)
                      M307 H0 A105.6 C627.9 D1.5 B0 ; Auto-tune values for heater 0
                      M950 H1 C"duex.e2heat" T1 ; heater 1 uses the 'duex.e2heat' pin and sensor 1
                      M143 H1 S280 ; Set maximum heater 1 temperature to 280C (not yet supported)
                      ; Fans
                      M950 F0 C"e0heat" Q100000 ; Fan 0 connected to 'e0heat' pin, PWM at 100KHz
                      M106 P0 C"Part cooling" ; Part cooling fan uses fan 0
                      M950 F1 C"e1heat" Q100000 ; Fan 1 connected to 'e1heat' pin, PWM at 100KHz
                      M106 P1 C"Water pump" T45 H1 X0.25 ; Thermostatic fan uses fan 1, monitor heater 1, max PWM 25% (6V out of 24V)
                      M950 F2 C"duex.fan3" Q100 ; Fan 2 connected to 'duex.fan3' pin, PWM at 100Hz
                      M106 P2 C"Leds" ; Leds uses fan 2
                      ; Servos
                      M950 S0 C"fan0" ; Servo 0 connected to 'fan0' pin
                      ; Tools
                      M563 P0 D0 H1 F1 S"Manual" ; Define tool 0 using Drive 0, Heater 1 and Fan 1
                      G10 P0 X0 Y0 Z0 ; Set tool 0 axis offsets
                      G10 P0 R190 S190 ; Set initial tool 0 active and standby temperatures
                      M207 S1.5 F2400 ; Set retraction length (G10/G11)
                      M572 D0 S0.08 ; Pressure advance
                      ; Network
                      M550 PDuetWifi ; Set machine name
                      M551 Pxxxxxx ; Set password
                      M552 S1 ; Enable network
                      ; Access point is configured manually via M587 by the user
                      M586 P0 S1 ; Enable HTTP
                      M586 P1 S1 ; Enable FTP
                      M586 P2 S0 ; Disable Telnet
                      ; Misc
                      M912 P0 S-13 ; Calibrate CPU temp.
                      M106 P2 S0.1 ; Turn leds on 10%
                      ; Custom settings are not configured
                      ; homeall.g
                      ; called to home all axes
                      M98 P0:/sys/homexy.g
                      M98 P0:/sys/homez.g
                      M98 P0:/sys/homeu.g
                      ; homexy.g
                      ; called to home the X and Y axis
                      G91 ; relative positioning
                      G1 Z1 F1200 H2 ; lift Z
                      G1 X325 Y325 F1800 H1 ; course home X or Y
                      G1 X325 H1 ; course home X
                      G1 Y325 H1 ; course home Y
                      G1 X-5 Y-5 F6000 ; move away from the endstops
                      G1 X325 F300 H1 ; fine home X
                      G1 Y325 H1 ; fine home Y
                      G1 Z-1 F1200 H2 ; lower Z
                      G90 ; absolute positioning
                      ; homez.g
                      ; called to home the Z axis
                      G91 ; relative positioning
                      G1 Z-325 F600 H1 ; course home Z
                      G1 Z5 F1200 ; move away from the endstop
                      G1 Z-325 F120 H1 ; Fine home Z
                      G90 ; absolute positioning
                      ; homeu.g
                      ; called to home the U axis
                      G92 U0

                      Thanks for you help.

                      Frédéric

                      undefined undefined 2 Replies Last reply 28 Oct 2019, 13:14 Reply Quote 0
                      • undefined
                        deckingman @fma
                        last edited by 28 Oct 2019, 13:14

                        @fma You need to put your M584 before M667 and M208. Look at the order dependencies here https://duet3d.dozuki.com/Wiki/Gcode#Section_M584_Set_drive_mapping. Also, it probably won't make any difference but M667 is deprecated and you should really be using M669 instead of M667.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

                        1 Reply Last reply Reply Quote 0
                        • undefined
                          fma
                          last edited by 28 Oct 2019, 13:44

                          Ok, thanks. I applied all these corrections, but I still have the issue.

                          I tried to removed the U axis: not better.

                          Frédéric

                          undefined 1 Reply Last reply 28 Oct 2019, 14:45 Reply Quote 0
                          • undefined
                            deckingman @fma
                            last edited by 28 Oct 2019, 14:45

                            @fma Then I guess what's needed is some way of reproducing the problem - it's always difficult to diagnose when there is an element of "randomness" involved.

                            Unfortunately, I'm unable to help much more because I can't home my printer at all. Some of my end stops are on expansion boards and RRF 3 firmware doesn't yet work for homing with end stops on expansion boards.

                            Ian
                            https://somei3deas.wordpress.com/
                            https://www.youtube.com/@deckingman

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              JoergS5 @fma
                              last edited by JoergS5 28 Oct 2019, 15:03

                              @fma said in RepRapFirmware 3.0beta 11 released:

                              M208 X-60:302 Y-100:305 Z0:320 U-1000:1000

                              I would propose as reason:
                              M208 X-60:302 Y-100:305 Z0:320 U-1000:1000
                              means X maximum distance is 362, Y is 405, but you home only 325 each in
                              G1 X325 Y325 F1800 H1
                              , so depending on your current position you reach one of the endstops or not, assumed, 0 position is not defined after turning the printer on. I would change to
                              G1 X500 Y500 F1800 H1
                              and the followong two also to be sure they reach the endstops..

                              1 Reply Last reply Reply Quote 0
                              • undefined
                                JoergS5
                                last edited by 28 Oct 2019, 15:17

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • undefined
                                  JoergS5
                                  last edited by 28 Oct 2019, 15:32

                                  If G1 X325 Y325 F1800 H1 reaches X immediately, M208 defines X/Y position as 302/305, but in reality Y may be at -100. So it will not reach the endstop with the following Y move, even when the first line reached an endstop. So better 500 for the following two lines also.

                                  1 Reply Last reply Reply Quote 0
                                  • undefined
                                    fma
                                    last edited by fma 28 Oct 2019, 16:25

                                    The min values are wrong; I didn't noticed it because I home on max values. Anyway, total travel for X and Y is < 325mm, so the endstops are always reached (I'm using relative positionning). And in my tests, I'm close to the max positions, so carriage travels only a few mm before hitting the endstops.

                                    And it was working fine with 2.02/2.03 firmwares; I just changed the S param to H param in the G1 moves.

                                    Frédéric

                                    1 Reply Last reply Reply Quote 0
                                    • undefined
                                      fma
                                      last edited by 28 Oct 2019, 16:39

                                      I confirm it is totally random.

                                      Say I'm on the max position, both endstops X/Y activated. If I hit the homing button several times, I can see the machine homing X then fail, or Y, the fail, or none, or successfully home all axis.

                                      But I find a workaround: I changed

                                      G1 X-5 Y-5 F6000 ; move away from the endstops

                                      to

                                      G1 X-5 Y-5 F6000 H2 ; move away from the endstops

                                      and it now works fine. If it can helps to find the problem...

                                      Frédéric

                                      1 Reply Last reply Reply Quote 0
                                      • Danalundefined
                                        Danal
                                        last edited by Danal 28 Oct 2019, 16:45

                                        This may or may not be related, I didn't completely follow all above... if it helps:

                                        I have noticed that RepRap 3 on Duet 3 hardware gets "stuck" if the endstop is already triggered (physically) when a G28 is issued. Stuck meaning it won't successfully show as homed, and therefore won't G0/G1 (to move off the switch). Just won't move at all.

                                        I've had to either manually back it off (forcing the steppers) or add something like an M564 (to allow unhomed movement) and a G0 back off of a millimeter or two (and then turn M564 back to normal), or similar, to my home... files. Of course, this back off would be problematic if the axis happened to be a physical max when the home... file was invoked.

                                        Anyway, one of those two things is required to get that axis to move again. Not even a reboot will help.

                                        Delta / Kossel printer fanatic

                                        1 Reply Last reply Reply Quote 0
                                        • undefined
                                          fma
                                          last edited by 28 Oct 2019, 16:52

                                          I though it was the case here, but even when I was not on the endstops, the problem occured (again, not all the time). And I was able to successfully homed even when starting from endstops position.

                                          With the H2 param added on the mov away, it works all the time.

                                          Frédéric

                                          1 Reply Last reply Reply Quote 0
                                          55 out of 72
                                          • First post
                                            55/72
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA