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

Duet 2 Ethernet and SBC

Scheduled Pinned Locked Moved
Beta Firmware
29
302
32.7k
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.
  • undefined
    smoki3 @wilriker
    last edited by smoki3 28 Jul 2020, 07:54

    @wilriker said in Duet 2 Ethernet and SBC:

    @smoki3 Can you then please post your config.g as well as your home*.g files?

    I was able to simulate a print as well as (air) print without issues. Basically everything worked for me except flashing new firmware so it must be something in your config that I do not have that might help to narrow down the problem further.

    I don't think it has something to do with the config. I believe that the issue is more randomly. Because I sometimes get a "hanging forever printer", sometimes the printer resets.

    config.g:

    ; General preferences
    G90                                                					; Send absolute coordinates
    M83                                                					; relative extruder moves
    
    ;Panel Due
    M575 P1 S1 B57600
    
    ; Drives
    M584 X7 Y8 Z0 E5:6:2:1 U9 V4 W3                         			; Map Drives to Axis
    M669 K1                                            					; Select CoreXY mode
    M569 P0 S0                                         					; Drive 0 goes forwards
    M569 P1 S0                                         					; Drive 1 goes forwards
    M569 P2 S0                                         					; Drive 2 goes forwards
    M569 P3 S1                                         					; Drive 3 goes forwards
    M569 P4 S1                                         					; Drive 4 goes forwards
    M569 P5 S0                                         					; Drive 5 goes forwards
    M569 P6 S1                                         					; Drive 6 goes forwards
    M569 P7 S0                                        					; Drive 7 goes forwards
    M569 P8 S0                                        					; Drive 8 goes forwards
    M569 P9 S0                                        					; Drive 9 goes forwards
    M350 X16 Y16 Z16 E16:16:16:16 V16 W16 I1                   			; Configure microstepping with interpolation
    M350 U8 I0					   		                    			; Configure microstepping without interpolation
    M92 X100 Y100 Z1600 U100 V400 W400 E420:420:420:420          		; Set steps per mm
    M566 X600 Y600 Z35 U2 V8 W8 E800:800:800:800         		        ; Set maximum instantaneous speed changes (mm/min)
    M203 X35000 Y35000 Z1200 U5000 V1200 W2400 E5000:5000:5000:5000    	; Set maximum speeds (mm/min)
    M201 X6000 Y6000 Z400 U500 V400 W400 E2500:2500:2500:2500         	; Set accelerations (mm/s^2)
    M906 X1650 Y1650 Z1100 U400 V1000 W1000 E1450:1000:1000:1450 I30    ; Set motor currents (mA) and motor idle factor in per cent
    M84 S120                                           					; Set idle timeout
    
    ; Axis Limits
    M208 X-35 Y-49 Z0 U0 V0 W0 S1                          		    	; Set axis minima
    M208 X328.5 Y243 Z300 U500 V34 W34 S0                     			; Set axis maxima
    
    ; Thermal Sensors
    M308 S0 P"bedtemp" Y"thermistor" T100000 B3950                   	; Set thermistor + ADC parameters for heater 0
    M308 S1 P"duex.e2temp" Y"thermistor" T100000 B4725 C7.060000e-8     ; Set thermistor + ADC parameters for heater 1
    M308 S2 P"e0temp" Y"thermistor" T100000 B4725 C7.060000e-8       	; Set thermistor + ADC parameters for heater 2
    M308 S3 P"duex.e3temp" Y"thermistor" T100000 B4725 C7.060000e-8     ; Set thermistor + ADC parameters for heater 3
    M308 S4 P"duex.e4temp" Y"thermistor" T100000 B4725 C7.060000e-8     ; Set thermistor + ADC parameters for heater 4
    
    ; Hardware
    M950 H0 C"bedheat" T0							; Bed Heater
    M950 H1 C"duex.e2heat" T1						; Tool 0 Heater
    M950 H2 C"e0heat" T2							; Tool 1 Heater
    M950 H3 C"duex.e3heat" T3						; Tool 2 Heater
    M950 H4 C"duex.e4heat" T4						; Tool 3 Heater
    M950 F0 C"fan0"									; Tool 1 PCF
    M950 F1 C"fan1"									; Tool 1 HEF
    M950 F3 C"duex.fan3"							; Tool 0 PCF
    M950 F4 C"duex.fan4"							; Tool 0 HEF
    M950 F5 C"duex.fan5"							; Tool 2 PCF
    M950 F6 C"duex.fan6"							; Tool 2 HEF
    M950 F7 C"duex.fan7"							; Tool 3 PCF
    M950 F8 C"duex.fan8"							; Tool 3 HEF
    M950 F9 C"duex.e5heat"							; LED
    
    ; Max Temp Protection
    M140 H0
    M143 H0 S140                                   	; Set temperature limit for heater 0 to 140C
    M143 H1 S275                                   	; Set temperature limit for heater 1 to 270C
    M143 H2 S275                                   	; Set temperature limit for heater 2 to 270C
    M143 H3 S275                                   	; Set temperature limit for heater 3 to 270C
    M143 H4 S275                                   	; Set temperature limit for heater 4 to 270C
    
    ; Fanmapping
    M106 P3 S0 I0 F500 H-1 C"Tool 0"               	; Set fan 3 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P0 S0 I0 F500 H-1 C"Tool 1"               	; Set fan 0 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P5 S0 I0 F500 H-1 C"Tool 2"               	; Set fan 5 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P7 S0 I0 F500 H-1 C"Tool 3"               	; Set fan 7 value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P9 S0 I0 F500 H-1 C"LED"               	; Set LED value, PWM signal inversion and frequency. Thermostatic control is turned off
    M106 P4 S1 I0 F500 H1 T75                      	; Set fan 4 value for Tool 0, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P1 S1 I0 F500 H2 T75                      	; Set fan 1 value for Tool 1, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P6 S1 I0 F500 H3 T75                      	; Set fan 6 value for Tool 2, PWM signal inversion and frequency. Thermostatic control is turned on
    M106 P8 S1 I0 F500 H4 T75                      	; Set fan 8 value for Tool 4, PWM signal inversion and frequency. Thermostatic control is turned on
    
    ; Endstops
    ;M915 H300 X Y S4 R0 F0 	    					; Set Stall detection sensitivity
    ;M915 V S2 H350 F0 R0                        	; Calibration
    ;M915 W S2 H350 F0 R0                          	; Cleaner
    ;M574 Y1 S3                           			; Set endstops controlled by motor load detection
    ;M574 X1 S3                            			; Set endstops controlled by motor load detection
    ;M574 U0                             			; Set endstops controlled by motor load detection
    ;M574 V1 S3                           			; Set endstops controlled by motor load detection
    ;M574 W1 S3                         				; Set endstops controlled by motor load detection
    
    ; Z-Probe
    M558 K0 P5 C"^!zprobe.in" H3 F180 T25000	   	; Z probe connected to Z endstop input
    G31 K0 X0 Y0 Z0.15 P500          	            ; Set Z probe offset + naher ran - weiter weg
    M557 X10:290 Y20:180 S40 					   	; Define mesh grid
    
    ; Tool Probe
    M558 K1 P8 C"!e0stop" H5 F80 T3000  		  	; Tool probe connected to Z endstop input
    G31 K1 X0 Y0 Z0 P500          	               	; Set Z probe offset + naher ran - weiter weg
    
    ; Tools
    M563 P0 D0 H1 F3                               	; Define tool 0, Fan 3
    M563 P1 D1 H2 F0                               	; Define tool 1, Fan 0
    M563 P2 D2 H3 F5                               	; Define tool 2, Fan 5
    M563 P3 D3 H4 F7                               	; Define tool 3, Fan 7
    
    ; PID Settings Tools
    M307 H1 A595.9 C199.5 D4.5 S1.00 V24.1 B0      	; Set PID settings tool 0
    M307 H2 A775.0 C252.4 D8.2 S1.00 V24.1 B0      	; Set PID settings tool 1
    M307 H3 A716.5 C237.1 D8.7 S1.00 V24.1 B0      	; Set PID settings tool 2
    M307 H4 A567.7 C241.0 D6.7 S0.80 V24.1 B0      	; Set PID settings tool 3
    M307 H0 A181.4 C631.5 D4.9 S1.00 V24.1 B0      	; Bed PID Settings
    
    ; Tools Temperatures
    G10 P0 R0 S0                                   	; Set initial tool 0 active and standby temperatures to 0C
    G10 P1 R0 S0                                   	; Set initial tool 1 active and standby temperatures to 0C
    G10 P2 R0 S0                                   	; Set initial tool 2 active and standby temperatures to 0C
    G10 P3 R0 S0                                   	; Set initial tool 3 active and standby temperatures to 0C
    
    ; Calibrate MCU Temperature
    M912 P0 S-8
    
    ; LED
    M106 P9 S0.5
    
    ; DAA
    M593 F50
    
    ; Pressure Advance
    ; M572 D0:3 S0.5
    M572 D1:2 S0.05
    
    ; Load config override
    M501
    

    homeall.g:

    ; homeall.g
    ; called to home all axes
    
    M98 P"/sys/homey.g"
    
    M98 P"/sys/homex.g"
    
    M98 P"/sys/homez.g"
    
    M98 P"/sys/homeu.g"
    
    M98 P"/sys/homev.g"
    
    M98 P"/sys/homew.g"
    

    homex.g:

        
    ; homex.g
    ; called to home the x axis
    
    G91 			; use relative positioning
    G1 H2 X0.5 Y-0.5 F10000		; energise
    
    M913 X25 Y25		; drop motor currents to 50%
    
    G1 H2 Z3 F5000		; lift Z 3mm
    G1 H1 X-400 F3200 	; move left 400mm, stopping at the endstop
    G4 P100
    G1 X2 F2000 		
    G1 H2 Z-3 F1200		; lower Z
    G90 			; back to absolute positioning
    
    M400 			; make sure everything has stopped before we reset the motor currents
    G4 P100			; wait 400ms
    M913 X100 Y100 		; motor currents back to 100%
    
    

    homey.g:

    
    ; homey.g
    ; called to home the Y axis
    
    G91 			; use relative positioning
    G1 H2 X0.5 Y-0.5 F10000		; energise
    
    M913 X25 Y25 		; drop motor currents to 25%
    
    
    G1 H2 Z3 F5000		; lift Z 3mm
    G1 H1 Y-400 F3200 	; move to the front 400mm, stopping at the endstop
    G4 P200
    G1 Y2 F2000 		
    G1 H2 Z-3 F1200		; lower Z
    G90 			; back to absolute positioning
    
    M400 			; make sure everything has stopped before we reset the motor currents
    G4 P100			; wait 400ms
    M913 X100 Y100 		; motor currents back to 100%
    

    homez.g:

    ; homez.g
    ; called to home the Z axis
    ;
    ; generated by RepRapFirmware Configuration Tool on Wed Sep 19 2018 21:12:53 GMT+0200 (MitteleuropƤische Sommerzeit)
    G29 S2
    G1 H2 Z3 F5000		; lift Z 3mm
    G1 X150 Y100 F25000 ; go to first probe point
    G30              ; home Z by probing the bed
    G91
    G1 Z20 F2500
    G90              ; absolute positioning
    G1 X0 Y-40 F25000
    

    homeu.g:

    ; homeu.g
    ; called to home the U axis (coupler)
    
    ;crashu
    G92 U500
    M913 U40
    G1 U-500 F2400
    M400
    M913 U100
    G1 U1 F5000
    G92 U0			
    
    ;Open Coupler
    M98 P"/macros/Toolhead/1. Toolhead unlock"
    

    homev.g:

    G91
    M913 V70		; drop motor currents to 50%
    
    G1 H1 V-50 F1000 	; move left 400mm, stopping at the endstop
    G4 P100
    G1 V2 F600 		
    G90 			; back to absolute positioning
    
    M400 			; make sure everything has stopped before we reset the motor currents
    G4 P100			; wait 400ms
    M913 V100 		; motor currents back to 100%
    

    homew.g:

    G91
    M913 W70		; drop motor currents to 50%
    
    G1 H1 W-50 F1000 	; move left 400mm, stopping at the endstop
    G4 P100
    G1 W2 F600 		
    G90 			; back to absolute positioning
    
    M400 			; make sure everything has stopped before we reset the motor currents
    G4 P100			; wait 400ms
    M913 W100 		; motor currents back to 100%
    
    1 Reply Last reply Reply Quote 0
    • ?
      A Former User @wilriker
      last edited by 28 Jul 2020, 21:58

      @wilriker said in Duet 2 Ethernet and SBC:

      Basically everything worked for me except flashing new firmware so it must be something in your config that I do not have that might help to narrow down the problem further.

      Ditto. I notice hes using a Duex5 - are you? I'm not.

      undefined wilrikerundefined 2 Replies Last reply 29 Jul 2020, 06:10 Reply Quote 0
      • undefined
        smoki3 @A Former User
        last edited by 29 Jul 2020, 06:10

        @bearer said in Duet 2 Ethernet and SBC:

        @wilriker said in Duet 2 Ethernet and SBC:

        Basically everything worked for me except flashing new firmware so it must be something in your config that I do not have that might help to narrow down the problem further.

        Ditto. I notice hes using a Duex5 - are you? I'm not.

        Maybe it also make a difference if you have just 4 Motor drivers active. I actually have all 10 drivers active

        ? 1 Reply Last reply 29 Jul 2020, 06:48 Reply Quote 0
        • ?
          A Former User @smoki3
          last edited by 29 Jul 2020, 06:48

          @smoki3 said in Duet 2 Ethernet and SBC:

          Maybe it also make a difference if you have just 4 Motor drivers active. I actually have all 10 drivers active

          if you upload a sliced file we could test if it is the config or physical presence that makes a difference (if either). running just your config doesn't seen to be a problem with or without Vin, but my simulation doesn't use multiple tools.

          undefined 1 Reply Last reply 29 Jul 2020, 07:06 Reply Quote 0
          • undefined
            smoki3 @A Former User
            last edited by smoki3 29 Jul 2020, 07:06

            @bearer said in Duet 2 Ethernet and SBC:

            @smoki3 said in Duet 2 Ethernet and SBC:

            Maybe it also make a difference if you have just 4 Motor drivers active. I actually have all 10 drivers active

            if you upload a sliced file we could test if it is the config or physical presence that makes a difference (if either). running just your config doesn't seen to be a problem with or without Vin, but my simulation doesn't use multiple tools.

            Without the duex5 you should get a lot of errors that the motor drivers are not connected. My test file also was just one tool head.

            1 Reply Last reply Reply Quote 0
            • wilrikerundefined
              wilriker @A Former User
              last edited by 29 Jul 2020, 07:50

              @bearer said in Duet 2 Ethernet and SBC:

              Ditto. I notice hes using a Duex5 - are you? I'm not.

              No, I'm not but since the reason so far is that it's caused by interrupts clashing somehow having to handle more interrupts when DueX5 is connected will probably even worsen the situation.

              @smoki3 said in Duet 2 Ethernet and SBC:

              Maybe it also make a difference if you have just 4 Motor drivers active. I actually have all 10 drivers active

              No, it's not even having the drivers active but in a powered state, i.e. input voltage is > ~10V . Whenever this state is detected it will enable an interrupt to receive data from the drivers. On my setup without DueX5 and without stallGuard I can solve the issue of flashing by just disabling the corresponding interrupt handler in the preparation steps for flashing. But of course this cannot be done in regular printer use.

              Manuel
              Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
              with probably always latest firmware/DWC (incl. betas or self-compiled)
              My Tool Collection

              undefined 1 Reply Last reply 29 Jul 2020, 08:14 Reply Quote 0
              • undefined
                JoergS5 @wilriker
                last edited by 29 Jul 2020, 08:14

                @wilriker said in Duet 2 Ethernet and SBC:

                disabling the corresponding interrupt handler

                I always wanted to know but did not find the answer yet, but you may know: is the interrupt request lost then or is it queued?

                wilrikerundefined 1 Reply Last reply 29 Jul 2020, 08:17 Reply Quote 0
                • wilrikerundefined
                  wilriker @JoergS5
                  last edited by 29 Jul 2020, 08:17

                  @JoergS5 TBH I am not 100% certain but my understanding is that if the IRQ handler is disabled there is no one interested in this event and then it's discarded. Also since interrupts are high priority "look at me NOW!" events I don't think it would even make sense to queue them.

                  Manuel
                  Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                  with probably always latest firmware/DWC (incl. betas or self-compiled)
                  My Tool Collection

                  undefined 1 Reply Last reply 29 Jul 2020, 08:21 Reply Quote 0
                  • undefined
                    JoergS5 @wilriker
                    last edited by 29 Jul 2020, 08:21

                    @wilriker thank you! I feared it. I am currently reading books about Cortex MCUs, but this question is not answered yet.

                    wilrikerundefined 1 Reply Last reply 29 Jul 2020, 08:28 Reply Quote 0
                    • wilrikerundefined
                      wilriker @JoergS5
                      last edited by 29 Jul 2020, 08:28

                      @JoergS5 I would assume that this behavior is not limited to microcontrollers but due to the NOW!-nature of interrupts it doesn't make sense on any platform to store them - I imagine this similar to dropping broken/not-fetched-in-time frames in video playback since it would not make sense to insert them at a later point in the stream.

                      Manuel
                      Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                      with probably always latest firmware/DWC (incl. betas or self-compiled)
                      My Tool Collection

                      undefined 1 Reply Last reply 29 Jul 2020, 08:55 Reply Quote 0
                      • undefined
                        JoergS5 @wilriker
                        last edited by 29 Jul 2020, 08:55

                        @wilriker the Cortex interrupts can nest, ie a higher priority can interrupt an interrupt, the original one proceeding after. I ask because in RRF is a place with interrupt disabled with the comment to hold execution time as short as possible. Makes sense then.

                        wilrikerundefined 1 Reply Last reply 29 Jul 2020, 09:27 Reply Quote 0
                        • wilrikerundefined
                          wilriker @JoergS5
                          last edited by 29 Jul 2020, 09:27

                          @JoergS5 Oh, you mean when there actually are handlers for different interrupts. I thought you were talking about what happens when the interrupt handler is disabled. Misunderstanding. 🤦

                          That's actually a field of learning for me still, too.

                          But more relevant to this topic again: it's not simply interrupts clashing but interrupts also using DMA. So there are multiple priorities to juggle.

                          Manuel
                          Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                          with probably always latest firmware/DWC (incl. betas or self-compiled)
                          My Tool Collection

                          undefined 1 Reply Last reply 29 Jul 2020, 09:50 Reply Quote 0
                          • undefined
                            JoergS5 @wilriker
                            last edited by 29 Jul 2020, 09:50

                            @wilriker no, you understood me correctly, I meant it the way you answered.
                            I was talking about nested interrupts (NVIC) only because they are in a sense a queuing mechanism, because if a higher interrupt comes, the interrupt which is running is saved and later proceeded.

                            1 Reply Last reply Reply Quote 0
                            • undefined
                              smoki3
                              last edited by 5 Aug 2020, 13:42

                              I give up!
                              I can not get any stable connection between my raspberry and the duet.

                              I tried different cables, removed all high current wires in the near of the raspberry. Connected every GND Pin directly to my Power Supply.

                              ? 1 Reply Last reply 5 Aug 2020, 13:45 Reply Quote 0
                              • ?
                                A Former User @smoki3
                                last edited by 5 Aug 2020, 13:45

                                @smoki3 said in Duet 2 Ethernet and SBC:

                                I tried

                                did you try without the duex? i realize you probably need the duex, but if nothing else it could help narrow down what to focus on

                                undefined 1 Reply Last reply 5 Aug 2020, 13:56 Reply Quote 0
                                • undefined
                                  smoki3 @A Former User
                                  last edited by 5 Aug 2020, 13:56

                                  @bearer said in Duet 2 Ethernet and SBC:

                                  @smoki3 said in Duet 2 Ethernet and SBC:

                                  I tried

                                  did you try without the duex? i realize you probably need the duex, but if nothing else it could help narrow down what to focus on

                                  Not as easy. Then I have to wire my complete printer again

                                  1 Reply Last reply Reply Quote 0
                                  • ?
                                    A Former User
                                    last edited by 5 Aug 2020, 13:57

                                    If I could load and simulate with your config shouldn't you be able to just disconnect the 50 pin ribbon and power and run a simulation as well?

                                    undefined 1 Reply Last reply 5 Aug 2020, 13:59 Reply Quote 0
                                    • undefined
                                      smoki3 @A Former User
                                      last edited by smoki3 8 May 2020, 16:44 5 Aug 2020, 13:59

                                      @bearer then I already get a lot of errors while booting, because the drivers are missing

                                      wilrikerundefined 1 Reply Last reply 5 Aug 2020, 16:54 Reply Quote 0
                                      • wilrikerundefined
                                        wilriker @smoki3
                                        last edited by 5 Aug 2020, 16:54

                                        @smoki3 Don't worry about your wiring. It most likely is a firmware issue. Unfortunately I did not have any time since the last time I wrote here to look into that.

                                        Manuel
                                        Duet 3 6HC (v0.6) with RPi 4B on a custom Cartesian
                                        with probably always latest firmware/DWC (incl. betas or self-compiled)
                                        My Tool Collection

                                        Baenwortundefined 1 Reply Last reply 6 Aug 2020, 15:29 Reply Quote 0
                                        • Baenwortundefined
                                          Baenwort @wilriker
                                          last edited by 6 Aug 2020, 15:29

                                          So when this works for the Ethernet model would it be possible to run spaghetti detective?

                                          Also, for the D2E, would this offloading to the SBC enable smoother segments on Delta's using mesh compensation?

                                          ? 1 Reply Last reply 6 Aug 2020, 21:56 Reply Quote 0
                                          • First post
                                            Last post
                                          Unless otherwise noted, all forum content is licensed under CC-BY-SA