Duet3D Logo Duet3D
    • Tags
    • Documentation
    • Order
    • Register
    • Login
    1. Home
    2. grabercars
    3. Posts
    • Profile
    • Following 0
    • Followers 0
    • Topics 8
    • Posts 36
    • Best 4
    • Controversial 0
    • Groups 0

    Posts made by grabercars

    • RE: Unable to set up a servo pin for BLTouch - Error in config.g "

      @grabercars I think I solve my own problem. It was the QUOTES.

      posted in Duet Hardware and wiring
      grabercarsundefined
      grabercars
    • Unable to set up a servo pin for BLTouch - Error in config.g "

      Unable to set up a servo pin for BLTouch

      When attempting to set up a BLtouch (genuine) for the first time I followed the BlTouch guided install PDF. The directions are clear and foolproof. However my system does not like the M950 command and returns the error message "Error in macro line 45 while starting up: exactly one of EFHJPSR must be given". Line 45 corresponds to M950 S0 C"exp.heater3"

      I've tried variations of the M950 command by mapping other available heater pin names on the expansion header and the result is always the same error.

      And here I'm stuck. Any suggestions?

      Steve Graber

      Config.g

      ; General preferences
      G90                                                    ; send absolute coordinates...
      M83                                                    ; ...but relative extruder moves
      M550 P"Cerberus400_1"                                  ; set printer name
      M665 R220.7 L454.9876 B180 H334                        ; Set delta radius, diagonal rod length, printable radius and homed height
      M666 X0 Y0 Z0                                          ; put your endstop adjustments here, or let auto calibration find them
      
      ; 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 S0                                             ; physical drive 2 goes backwards
      M569 P3 S1                                             ; physical drive 3 goes forwards
      M584 X0 Y1 Z2 E4                                       ; set drive mapping
      M350 X32 Y32 Z32 I0                                    ; configure microstepping without interpolation
      M350 E16 I0                                            ; configure microstepping with no interpolation
      M92 X160.00 Y160.00 Z160.00 E2725.00                   ; set steps per mm
      M566 X1200.00 Y1200.00 Z1200.00 E40.00                ; set maximum instantaneous speed changes (mm/min)
      M203 X18000.00 Y18000.00 Z18000.00 E3000.00            ; set maximum speeds (mm/min)
      M201 X1700.00 Y1700.00 Z1700.00 E120.00                ; set accelerations (mm/s^2)
      M906 X1100 Y1100 Z1100 E550 I40                        ; set motor currents (mA) and motor idle factor in per cent
      M84 S30                                                ; Set idle timeout
      
      ; Axis Limits
      M208 Z0 S1                                             ; set minimum Z
      
      ; Endstops
      M574 X2 S1 P"xstop"                                    ; configure active-high endstop for high end on X via pin xstop
      M574 Y2 S1 P"ystop"                                    ; configure active-high endstop for high end on Y via pin ystop
      M574 Z2 S1 P"zstop"                                    ; configure active-high endstop for high end on Z via pin zstop
      
      ; BLTouch
      M558 P9 C"^zprobe.in" H5 F100 T2000
      M950 S0 C”exp.heater3”
      G31 X0 Y-37 Z3.3 P25
      M557 R150 S25
      
      ; Heaters
      M308 S0 P"e0temp" Y"thermistor" T100000 B4092           ; configure sensor 0 as thermistor on pin e0temp
      M950 H0 C"e0heat" T0                                    ; create bed heater output on e0heat and map it to sensor 0
      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
      M143 H0 S120                                            ; set temperature limit for heater 0 to 120C
      M308 S1 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8   ; configure sensor 1 as thermistor on pin bedtemp
      M950 H1 C"bedheat" T1                                   ; create nozzle heater output on bedheat and map it to sensor 1
      M307 H1 B0 S1.00                                        ; disable bang-bang mode for heater  and set PWM limit
      M143 H1 S280                                            ; set temperature limit for heater 1 to 280C
      
      ; Fans
      M950 F1 C"fan0" Q25000                                 ; create fan 0 on pin fan0 and set its frequency
      M106 P1 S0 H1 B.3 T45                                    ; set fan 0 value. Thermostatic control is turned on
      M950 F0 C"fan1" Q25000                                 ; create fan 1 on pin fan1 and set its frequency
      M106 P0 S0 H-1                                         ; set fan 1 value. Thermostatic control is turned off
      
      ; Tools
      M563 P0 S"Hotend" D0 H1 F0           			; define tool 0
      G10 P0 X0 Y0 Z0                                	; set tool 0 axis offsets
      G10 P0 R0 S0   
      
      ; Miscellaneous
      M501                                                   ; load saved parameters from non-volatile memory
      M911 S11 R12 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000"     ; set voltage thresholds and actions to run on power loss
      

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.1 (2024-04-19 14:40:46) running on Duet WiFi 1.02 or later
      Board ID: 08DGM-917NK-F2MS4-7JTDL-3S46N-TDSND
      Used output buffers: 3 of 26 (14 max)
      Error in macro line 45 while starting up: exactly one of EFHJPSR must be given
      === RTOS ===
      Static ram: 23256
      Dynamic ram: 72180 of which 0 recycled
      Never used RAM 14852, free system stack 184 words
      Tasks: NETWORK(1,ready,15.0%,220) HEAT(3,nWait 5,0.0%,328) Move(4,nWait 5,0.0%,359) MAIN(1,running,84.8%,761) IDLE(0,ready,0.1%,29), total 100.0%
      Owned mutexes:
      === Platform ===
      Last reset 00:16:18 ago, cause: software
      Last software reset at 2024-05-10 13:39, reason: User, Gcodes spinning, available RAM 14876, slot 1
      Software reset code 0x0003 HFSR 0x00000000 CFSR 0x00000000 ICSR 0x0041f000 BFAR 0xe000ed38 SP 0x00000000 Task MAIN Freestk 0 n/a
      Error status: 0x00
      MCU temperature: min 32.7, current 33.2, max 34.2
      Supply voltage: min 11.9, current 12.0, max 12.2, under voltage events: 0, over voltage events: 0, power good: yes
      Heap OK, handles allocated/used 99/2, heap memory allocated/used/recyclable 2048/48/0, gc cycles 0
      Events: 0 queued, 0 completed
      Driver 0: standstill, SG min n/a
      Driver 1: standstill, SG min n/a
      Driver 2: standstill, SG min n/a
      Driver 3: standstill, SG min n/a
      Driver 4: standstill, SG min n/a
      Driver 5:
      Driver 6:
      Driver 7:
      Driver 8:
      Driver 9:
      Driver 10:
      Driver 11:
      Date/time: 2024-05-10 13:56:08
      Cache data hit count 4294967295
      Slowest loop: 9.51ms; fastest: 0.18ms
      I2C nak errors 0, send timeouts 0, receive timeouts 0, finishTimeouts 0, resets 0
      === Storage ===
      Free file entries: 10
      SD card 0 detected, interface speed: 20.0MBytes/sec
      SD card longest read time 0.8ms, write time 0.0ms, max retries 0
      === Move ===
      DMs created 83, segments created 0, maxWait 0ms, bed compensation in use: none, height map offset 0.000, max steps late 0, min interval 0, bad calcs 0, ebfmin 0.00, ebfmax 0.00
      no step interrupt scheduled
      Moves shaped first try 0, on retry 0, too short 0, wrong shape 0, maybepossible 0
      === DDARing 0 ===
      Scheduled moves 0, completed 0, hiccups 0, stepErrors 0, LaErrors 0, Underruns [0, 0, 0], CDDA state -1
      === Heat ===
      Bed heaters 0 -1 -1 -1, chamber heaters -1 -1 -1 -1, ordering errs 0
      === GCodes ===
      Movement locks held by null
      HTTP is idle in state(s) 0
      Telnet is idle in state(s) 0
      File is idle in state(s) 0
      USB is idle in state(s) 0
      Aux is idle in state(s) 0
      Trigger is idle in state(s) 0
      Queue is idle in state(s) 0
      LCD is idle in state(s) 0
      Daemon is idle in state(s) 0
      Autopause is idle in state(s) 0
      Q0 segments left 0
      Code queue 0 is empty
      === Network ===
      Slowest loop: 9.45ms; fastest: 0.00ms
      Responder states: HTTP(0) HTTP(0) HTTP(0) FTP(0) Telnet(0)
      HTTP sessions: 1 of 8
      === WiFi ===
      Interface state: active
      Module is connected to access point
      Failed messages: pending 0, notrdy 0, noresp 0
      Firmware version 2.1.0
      MAC address 60:01:94:2e:c7:08
      Module reset reason: Turned on by main processor, Vcc 3.39, flash size 4194304, free heap 42784
      WiFi IP address 10.1.1.117
      Signal strength -71dBm, channel 11, mode 802.11n, reconnections 0
      Clock register 00002002
      Socket states: 0 0 0 0 0 0 0 0

      posted in Duet Hardware and wiring
      grabercarsundefined
      grabercars
    • RE: Heaters not remapping upgrading from RRFv2 to v3.3

      @phaedrux -- Problem resolved on my end.

      Thank you very much for getting me over that hurdle. I'm very appreciative of your time and expertise with something that really had me stumped.

      posted in Firmware installation
      grabercarsundefined
      grabercars
    • RE: Heaters not remapping upgrading from RRFv2 to v3.3

      RRF Config Tool Settings:

      What am I doing wrong here?

      I/O Mapping screenshot:

      bd24f27e-8c4e-42c8-bf67-cc877203b2e5-image.png

      Heaters screenshot:

      6edc76ad-882e-40e0-b6a7-2de41348f880-image.png

      Web Interface screenshot: Notice that the bed heat is working but the hotend is disabled:
      This is what I get when using the code generated above by the RRF Config Tool.
      c85d0aee-0b0d-4cdf-8da0-364025d53659-image.png

      posted in Firmware installation
      grabercarsundefined
      grabercars
    • Heaters not remapping upgrading from RRFv2 to v3.3

      I finally decided to take the plunge and upgrade my deltabot printer from v2 to v3 firmware. This was very scary in concept, and not so hard in reality. Except that the bed and hotend heaters didn't remap properly. Honestly the V3 codes are much harder for me to understand and 5 hours into this I still can't edit my way out of the problem. Aside from feeling like a loser, the heater remapping is my problem that I need help with.

      I'm using a 24v SuperVolcano hotend and a 110v SSR controlled bed heater. Because of this I have the heater and bed outputs remapped/swapped. The bed heater mosfet being better suited to the current draw from the 80W SuperVolcano heater, and the Duet hotend mosfet controlling the bed SSR.

      M122
      === Diagnostics ===
      RepRapFirmware for Duet 2 WiFi/Ethernet version 3.3 (2021-06-15 21:44:54) running on Duet WiFi 1.02 or later

      My functional 'Heaters' code from my V2 config.sys is;

      ; Heaters
      M140 H1                                     ; remap heated bed to heater 1
      M307 H1 B0 S1.0                             ; disable bang-bang mode for the bed heater and set PWM limit
      M305 P0 T100000 B4388 R4700                 ; set thermistor + ADC parameters for heater 0
      M143 H0 S290                                ; set temperature limit for heater 0 to 280C
      M305 P1 T100000 B3950 R4700                 ; set thermistor + ADC parameters for heater 1
      M143 H1 S120                                ; set temperature limit for heater 1 to 120C
      

      I used the RRF config tool and uploaded my v2 JSON template, specifying V3 config.sys output. But this is not working.

      
      ; Heaters
      M308 S0 P"bedtemp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 0 as thermistor on pin bedtemp
      M950 H0 C"bedheat" T0                                   ; create nozzle heater output on bedheat and map it to sensor 0
      M307 H0 B0 S1.00                                        ; disable bang-bang mode for heater  and set PWM limit
      M143 H0 S290                                            ; set temperature limit for heater 0 to 290C
      M308 S1 P"e0temp" Y"thermistor" T100000 B4092           ; configure sensor 1 as thermistor on pin e0temp
      M950 H1 C"e0heat" T1                                    ; create bed heater output on e0heat and map it to sensor 1
      M307 H1 B0 S1.00                                        ; disable bang-bang mode for the bed heater and set PWM limit
      M140 H1                                                 ; map heated bed to heater 1
      M143 H1 S120                                            ; set temperature limit for heater 1 to 120C
      
      posted in Firmware installation
      grabercarsundefined
      grabercars
    • RE: What is the correct Mcode to restart a completed print job?

      It struck me last night as I was falling asleep that I wasn't seeing the super basic and easy way to accomplish what I want.

      The best overall solution would of course be to set up a dynamic macro to repeat any currently selected print via a physical button. And that would require knowing the current print file name and path which would require upgrading to RRF3.1. That way the button would be maintenance free.

      In my case I'm printing a known file over and over and I don't have time to upgrade right now. So I'll simply hard-code the macro with the filename I want to reprint. If that file ever changes due to versioning, etc. I'll just edit the macro.

      M32 "0:/gcodes/Cerb400_1-1.0mmNozz/PETG/30xMB_V4.0-Plated.gcode"

      When I finalize the physical button housing attached to the printer it will include several other momentary push buttons for preheat, motors off, home and board reset. Maybe I'll include a little clip to hold a post-it with the macro-filename listed on it.

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: What is the correct Mcode to restart a completed print job?

      Unfortunately, M24 and M23 commands both expect a filename to be included with the command. So that's a no-go.

      The 'Start Again' button in the DWC uses M32 command but it too is asking for the filename, and in the DWC the command+filename is written out directly to the html page when it's generated.

      It appears that any macro created to restart a completed job using the M23, 24 or 32 commands would need to have the filename of the currently selected file written to it each time a print was selected. Or maybe the filename would need to be held in memory.

      Unless there is some other option.

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: What is the correct Mcode to restart a completed print job?

      @bot Why thank you Bot (not actually a bot)!

      I'll give it a try as soon as the current print is finished

      ✌

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • What is the correct Mcode to restart a completed print job?

      Hi guys,

      I've been printing the same plate of mask buckles in production mode over and over with no issues. It would be great if I had a physical push button on the printer to start the last print over again after clearing the bed instead of having to wake the pc from sleep, wait for it to reconnect to the wifi and then click the restart print button in the DWC.

      I understand how to set up physical buttons to run macros, but what is the Mcode to restart a print that completed successfully? (I did look for this but maybe I'm going blind? ...)

      Thanks!

      Steve Graber

      Board: Duet WiFi 1.02 or later
      Firmware: RepRapFirmware for Duet 2 WiFi/Ethernet 2.02(RTOS) (2018-12-24b1)
      Duet WiFi Server Version: 1.23

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Drive mapping not quite working for mixing extruder setup

      @dc42 Well.... 🤷 No worries. I'm just happy to get it working and to move on to my next issue, which is to figure out exactly how many steps/mm this big stepper puppy needs and what the actual mix ratio is supposed to be. The Cerambot documentation is thin, to put it kindly.

      Thanks again for a really fantastic piece of configurable hardware.

      Steve Graber

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Drive mapping not quite working for mixing extruder setup

      Ok, I resolved the issue by moving the E0 stepper to E1 connector and making the change for that stepper output 3 to 4 in the config.g file.

      M569 P4 S1 ; physical drive 4 goes forwards
      M569 P5 S1 T2.5:2.5:5:2 ; physical drive 5 goes forwards
      M584 X0 Y1 Z2 E4:5 ; set drive mapping

      It appears that you can skip a stepper driver P3 after defining the xyz motion steppers, but the extruder mixing stepper drivers have to sequential? E4:E5

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Drive mapping not quite working for mixing extruder setup

      Is it allowed to skip the second board driver E1 in the mapping?

      Danal, because of the way the 'Tool' is set up as mixing, it is treated like any extruder extrusion command the firmware does the mixing based on the M567 ratio.

      But, this is my first attempt at a mixing extruder, so I've almost certainly fat-fingered something?

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Drive mapping not quite working for mixing extruder setup

      @Danal said in Drive mapping not quite working for mixing extruder setup:

      Most external drivers need a longer pulse width than Duet default. See doc for M569.

      Of the two, the external driver is the one that's working though.

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • Drive mapping not quite working for mixing extruder setup

      Hi there again. Another unusual setup. I am building a delta ceramic printer using extrusion components sourced from Cerambot.

      This printer uses a Nema 23 piston-powered main clay reservoir and a Nema 17 driven auger extruder. I've got everything working, except that the Nema 17 auger extruder is not functioning (connected to the Duet wifi E0 internal stepper driver). Big stepper external driver is connected using step/dir/enable via E3 on the expansion header.

      Board: RepRapFirmware for Duet 2 WiFi/Ethernet version 2.05 running on Duet WiFi 1.02 or later

      In my config file drive mapping section, P5 is the external stepper driver to the Nema 23 piston extruder and that's working great. Nema 17 motor P3 is the auger, connected to the E0 stepper driver output.

      ; Drives
      M569 P0 S0 ; physical drive 0 goes forwards
      M569 P1 S0 ; physical drive 1 goes forwards
      M569 P2 S0 ; physical drive 2 goes forwards
      M569 P3 S1 ; physical drive 3 goes forwards (Nema 17)
      M569 P5 S1 T2.5:2.5:5:2 ; physical drive 5 goes forwards (External, Nema 23)
      M584 X0 Y1 Z2 E3:5 ; set drive mapping
      M350 X16 Y16 Z16 E16:16 I1 ; configure microstepping with interpolation
      M92 X200.00 Y200.00 Z200.00 E663.00:663.00 ; set steps per mm
      M566 X600.00 Y600.00 Z600.00 E1200.00:1200.00 ; set maximum instantaneous speed changes (mm/min)
      M203 X12000.00 Y12000.00 Z12000.00 E1200.00:1200.00 ; set maximum speeds (mm/min)
      M201 X500.00 Y500.00 Z500.00 E1000.00:1000.00 ; set accelerations (mm/s^2)
      M906 X1700 Y1700 Z1700 E800:800 I60 ; set motor currents (mA) and motor idle factor in per cent
      M84 S30 ; Set idle timeout

      ; Tools
      M563 P0 S"Clay" D0:1 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
      M568 P0 S1 ; enable mixing for tool 0
      M567 P0 E0.5:0.5 ; set mixing ratios for tool 0
      ;M302 P1 ; Allow cold extrusion
      T0

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Filename too long error in WebControl.

      I'm experiencing the same error on a new machine I'm setting up right now. Fresh install. I have re-uploaded the firmware and Webcontrols using Duet2Firmware-2.05.zip to no avail. This is the first time I've seen this particular error. It pops up every minute to let me know.

      (Edit to say that the 'name=' itself is different on my printer. name=R/A3gKIDdlMW...)

      posted in Duet Web Control
      grabercarsundefined
      grabercars
    • RE: Very large heated bed - autotune cancelled error

      @T3P3Tony - The heater does heat quite slowly, but that is due to the fact that the maximum achievable temperature is fairly low, something like 90C at full power. For obvious safety reasons. This is a PLA/PETG printer so really no reason to go higher.

      It takes approximately 8 minutes to reach 50C from ambient, with an initial overshoot of around 3C, but it never appears to go out of the configured temperature window. I haven't put a timer on the appearance of the error to check the P parameter time. It's printing a large job at the moment but as soon as we can I'll check on that.

      The issue is that there is no error if we are not actively printing. The error occurs at the start of a print job, even if the bed has been preheated to 50C and is set to 50C in the gcode.

      The printer then pauses on error and bed halts. The temp error can be cleared with M562 but as soon as the print is resumed it halts within a short period of time (I need to time this). Clearing the fault some number of times (I need to verify the exact number) then seems to allow the printer to continue printing EVEN THOUGH... the error message pops back up but then it's no longer pausing the print.

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Very large heated bed - autotune cancelled error

      @dc42 Well unfortunately the joy has not lasted very long. Even though the bed heater will manually allow itself to be heated to its commanded temperature and will hold temp within a degree or so for hours, it will only do that if the heater is commanded manually. Any attempt to use the bed heater (H0) during a print job causes a temperature fault after a few minutes. This error occurs AFTER the bed has been manually brought up to temperature (in this case 55 or 60C) and then the print job gets started once it has stabilized. In some cases I have been able to issue M562 multiple times and the print will finally get underway, even though the temperature fault error message still appears on the screen!

      To recap: The bed is preheated to 55C, the print job is started with the bed commanded to 55C. The bed is AT 55C (or 56, or 54) for ~15 minutes before the print job is then started, within the first couple of minutes a bed temperature fault error pauses the print and disables the heaters. Restarting via M562 multiple times seems to finally allow the print to continue, but the fault message still appears onscreen.

      It's very likely I'm doing something wrong as I am still on a steep learning curve and in the deep end of the pool. 🙂

      Relevant config entries:

      config.g
      Heaters;
      M305 P0 T100000 B4138 R4700
      M143 H0 S60
      M570 H0 P400 T15 S400

      config-override.g
      ; Heater model parameters
      M307 H0 A90.0 C7000.0 D70.0 S1.00 V12.4 B0

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Very large heated bed - autotune cancelled error

      @dc42 - Thank you. I may attempt the autotune again at some point now that I've increased the dead-time significantly, but the bed appears to be quite stable now in any case. Good to know about the bed pwm frequency.

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Very large heated bed - autotune cancelled error

      Yes! Success.

      (edit: I manually entered the tuning paramters, not using autotune)

      The following parameters did the job with a +3C overshoot to the commanded 55C, which is pretty good considering the significant thermal mass involved.

      ; Heater model parameters
      M307 H0 A90.0 C7000.0 D70.0 S1.00 V12.4 B0
      M570 H0 P400 T30 S400

      M307 H0

      Heater 0 model: gain 900.0, time constant 7000.0, dead time 70.0, max PWM 1.00, calibration voltage 12.4, mode PID, inverted no, frequency default
      Computed PID parameters for setpoint change: P19.8, I0.028, D971.8

      Those PID parameters are in the ballpark compared to when the printer was running on Smoothieware.

      I notice the words 'frequency default'. What is the default pwm frequency and would it be beneficial to the SSR lifespan to lower that? If so, how do I do that?

      Thanks again. I'm still getting up to speed but so far Duet3D ROCKS!

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars
    • RE: Very large heated bed - autotune cancelled error

      @Phaedrux - I'll give that a try tomorrow. Thanks for your help.

      posted in Tuning and tweaking
      grabercarsundefined
      grabercars