@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.
@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.
RRF Config Tool Settings:
What am I doing wrong here?
I/O Mapping screenshot:
Heaters screenshot:
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.
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
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.
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.
@bot Why thank you Bot (not actually a bot)!
I'll give it a try as soon as the current print is finished
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
@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
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
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?
@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.
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
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...)
@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.
@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
@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.
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!
@Phaedrux - I'll give that a try tomorrow. Thanks for your help.
@Phaedrux - Thanks for that suggestion.
I tried this to no avail, same error:
M307 H0 B1 ; enable bang-bang mode for the bed heater
M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
M143 H0 S60 ; set temperature limit for heater 0 to 60C
M570 H0 P400 T15 S400
Hi guys. Duet Wifi powered large deltabot. I am attempting to run PID autotune on a very large heated bed and need to set a much longer time before it times out during autotune.
The bed heater is powered using a 120v AC resistance coil underneath tempered glass. Duet Wifi is switching an SSR (bang-bang) by the H0 bed output.
I'm running this design on several other large printers and it works well.
Everything works great except a bed of this size takes approximately 5 minutes to reach temperature so during the PID autotune sequence it's timing out.
How can I increase the error checking timeouts for the M303 command? Or is there some other way to skin this cat?
Currently running - M303 H0 B1 S50
Standard 2Kg reel shown for size reference
image url)