I figured it out! If anyone else runs into this, in the M558 documentation it mentions in one spot that the zprobe pin pull-up is disabled and it needs to be enabled with a ^
M558 P5 C"!^zprobe.in" H3 F900 T12000
I figured it out! If anyone else runs into this, in the M558 documentation it mentions in one spot that the zprobe pin pull-up is disabled and it needs to be enabled with a ^
M558 P5 C"!^zprobe.in" H3 F900 T12000
I've got a weird one here. I am switching my bltouch over to a EZABL, but I don't think this is related to that.
I'm using the zprobe header. As far as I know, I should be able to get the state to change with a jumper wire between zprobe.in and gnd with a probe type of 5.
;M558 P5 C"!zprobe.in" H3 F900 T12000
;G31 P25 X0 Y-41 Z2
m119 when triggered and latched
Endstops - X: no endstop, Y: no endstop, Z: no endstop, Z probe: at min stop
Because the state was stuck as a 1000 value for the z probe, I tried a jumper wire. If I boot the board with no jumper, the zprobe=0. If I connect the jumper, it switches to zprobe=1000. If I remove the jumper, it stays at 1000. Am I correct about this assumption? Or is zprobe.in expecting my zprobe to provide a high signal instead of grounding it and maybe it's just floating on startup?
M98 P"config.g"
HTTP is enabled on port 80
FTP is disabled
TELNET is disabled
Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 365C
Warning: Heater 0 appears to be over-powered. If left on at full power, its temperature is predicted to reach 256C
m115
FIRMWARE_NAME: RepRapFirmware for Duet 2 WiFi/Ethernet FIRMWARE_VERSION: 3.3 ELECTRONICS: Duet Ethernet 1.02 or later FIRMWARE_DATE: 2021-06-15 21:45:03
config.g
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"CoreXY" ; set printer name
M540 PBE:EF:DE:AD:FE:ED
M584 X0 Y1 Z2 E3 ; set drive mapping
M667 S1 ; select CoreXY mode
; Network
; M551 P"apassword" ; set password
M551 ; no 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 forwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S0 ; physical drive 2 goes forwards
M569 P3 S1 ; physical drive 3 goes backwards
M350 Z4 E8 I0 ; configure microstepping without interpolation
M350 X16 Y16 I1 ; configure microstepping with interpolation
M92 X100.00 Y100.00 Z400.00 E199.00 ; set steps per mm
M566 X900.00 Y900.00 Z12.00 E120.00 ; set maximum instantaneous speed changes (mm/min)
M203 X18000.00 Y18000.00 Z1980.00 E1000.00 ; set maximum speeds (mm/min)
M201 X1500.00 Y1500.00 Z20.00 E250.00 ; set accelerations (mm/s^2)
M906 X1600 Y1600 Z1600 E800 I30 ; set motor currents (mA) and motor idle factor in per cent
M84 S160 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z-2 S1 ; set axis minima
M208 X305 Y325 Z340 S0 ; set axis maxima
; M579 X-1 ; swap X direction
; Endstops
M574 X1 S3 P"xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S3 P"ystop" ; configure active-high endstop for high end on Y via pin ystop
;M574 Z1 S2 ; configure Z-probe endstop for low end on Z
M915 X Y R0 F0
; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P5 C"!zprobe.in" H3 F900 T12000 ;EZ-ABL
G31 P25 X0 Y-41 Z2 ; set Z probe trigger value, offset and trigger height
M556 S50 X0 Y0 Z0 ; set orthogonal axis compensation parameters
M557 X15:285 Y15:300 S20 ; define mesh grid
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B3950 ; 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 S125 ; 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"spi.cs1" Y"rtd-max31865" ; configure sensor 1 as PTC thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
M143 H1 S300 ; 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 S"Extruder" 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 are not defined
M591 D0 P1 C"e1stop" S1 ; filament out sensor
;M581 E0 T1 S0 C1 ; filament out sensor using trigger file, prefer the 591 over this
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
;M911 S22 R30 P"M913 X0 Y0 G91 M83 G1 Z3 E-5 F1000" ; set voltage thresholds and actions to run on power loss
T0 ; select first tool
M81 S1 ; turn off atx power if fans are off
M564 H0 ; turn off movement lock when not homed, I don't like it
…........................................
I'm still puzzled as to why I dont see any clues to this anywhere other than in the measuring or underperforming infill. On all of my other machines, when underextrusion has occurred for a chemical, thermal, or mechanical reason, there's evidence. Filament grinding, motor stalling, tubes popping out of PTC connectors, etc...Do all of your other machines use Titan extruders?
I'm currently doing some research into maximum melt rates using a Titan extruders and a Diamond hot end under printing conditions, and finding it very difficult to determine exactly when I've hit the limit. I was expecting to suddenly find clear evidence of drastic under extrusion, similar to the signs you mention, but in reality all I'm getting is a rough finish and ripples on the surface at a certain speed, which get worse as I increase the speed. It seems the Titan is doing too good a job of forcing the filament through "under duress".
nope, my other machines use a 3dator style extruder (fixed tension rather than spring loaded). My first indication that I hit any kind of limit was infill not able to run a complete line across the interior of the part (rectilinear infill).
Have you tried different brands of ABS, some flow much better than others. 40mm^3/sec requires some flowy polymers.
yup. almost identical. small variation though. I was quoting 40mm/sec linearly, not volumetrically (which, now that I do the volumetric math, is worse). Sill, you'd think E3d would have told me about melt rate limits of that combo when I emailed in. They appeared just as puzzled.
What heater cartridge are you using? Maybe it's not 40w and can't keep up with the flow rate? I have a cloned volcano and with 0.8mm nozzles I can't go faster than 35mm/s, it just stops melting if I go any faster. As such for a large object it's not really faster as a 0.4mm nozzle running at 80-100mm/s would be as fast. However the large object with coarse layers is very strong, one is a lookout from paw patrol that my son has dropped an amount of times that would have destroyed an object printed with a 0.4mm nozzle. So I don't see volcano as a way to go faster, rather a way to print big things with big nozzles which are stronger.
I don't see more than 1C variation out of the temp graph during the minute and a half test, I don't think it's a temp drop. I've experienced a temp drop trying to use a .8mm nozzle on a standard v6 block and saw that in the graphs.
strength is certainly extreme. I may just have to adjust my expectations to be in line with your view.
I get a different answer (but I'm a 63 year old who has forgotten much of the maths I learned). Area = Pi x Radius ^2. Radius of 1.75mm filament is 0.875mm That squared is 0.765625 x 3.142 (Pi) =1.20559375 mm^2. That x length of 915mm is 2,201.11828125 mm^3. That divided by 91.5 seconds is 24.0559375 mm^3/sec. From what I have read, a volcano can do 20-30 mm^3 /sec so it looks about right to me.
One other thought. I've hardly ever used ABS (the fumes trigger my cluster headaches) but is it harder to extrude than PLA? I'm assuming it is, as the melting point is higher. The point being that you might get a higher melt rate with PLA.
yup, looks good to me. I tried to take a shortcut and got a wrong number. I underestimated just how much plastic that was flowing. I guess what needs adjusting is my perspective! I can't find anywhere if Reprapfirmware supports volumetric extrusion, do you know? I might be able to get this whole thing automated for me. It would be nice to be able to define a maximum volumetric rate, and no matter which nozzle size I put in there, it'll handle the speed for me.
I've been printing almost exclusively ABS for 2 years, I find PLA to be less tolerant on everything except shrinkage (abs is far more tolerant for retraction length settings, multiple retractions over the same length of filament, and a relatively wide glass transition temp, doesn't require as much if any forced cooling for small slow details, etc). I've discovered that some brands are super stinky and make lots of fumes, and some brands make pretty much none. I'll try a roll of PLA I've got kicking around, that might prove this out.
I'm still puzzled as to why I dont see any clues to this anywhere other than in the measuring or underperforming infill. On all of my other machines, when underextrusion has occurred for a chemical, thermal, or mechanical reason, there's evidence. Filament grinding, motor stalling, tubes popping out of PTC connectors, etc…
ok, so working from the speed that I just start seeing an issue at,
915mm of 1.75mm filament (that's how long my stupid measuring stick is, double checked with another tape measure) extruded over 91.5 seconds is 17.5mm/sec cubed but 15mm/sec cubed is fine. Interesting.
yeah I've checked for obstructions and even have gone as far as completely replacing my entire feed path including the nozzle with genuine e3d stuff. No change.
I keep forgetting about M122, I'm going to go look at that.
I've got a 1.3A 40 oz-in motor running at 1.3A but I question the quality. Came in one of those cheap printer kits. I'll replace it with something well known before I start chasing too many more things.
Hmm, that's certainly something to consider. I'm going to go off in the corner and play with a calculator for a while.
I've used .8mm nozzles for all of this. heck, the reliable speed is slower with this volcano/duet/titan-direct setup with a .8 nozzle than with my v6/smoothieware combo when I had a .8 mm nozzle. I saw clear symptoms of melt-rate problems with v6/smoothieboard/direct drive bowden with a .8mm nozzle there, the motor would audibly skip if I went too fast. Nothing like that here, no symptoms other than measurable underextrusion. wouldn't I see some evidence of slippage, grinding, or a more normal indication of loss of steps if that were the case? I can get those symptoms to show if I go reaaally fast, like 2000mm/min, I start getting extruder motor clicking and skipping.
e3d's support contact doesn't seem to think I'm hitting anywhere near the melt rate limits.
Maybe it's finally time for me to convert to volumetric extrusion
I'm experiencing some extremely repeatable underextrusion that increases with extruder feed rates above 500mm/min with no skipping of the extruder motor and no slipping of the filament. I've gone through a round of support emails with E3d but we didn't get to the bottom of it. The faster I go, the more it underextrudes.
I have an E3D PT100 sensor on a Duet Ethernet with PT100 board as my hotend thermistor, a normal EPCOS100k thermistor for my bed and my chamber heater monitor. I've got an E3D Titan extruder with a common stepper motor, not the smaller pancake motor. I've got a Volcano block with the 0.8mm and 1.2mm nozzles. At room temperature, all thermistors are within 0.3C of each other, and I've confirmed that temp compared to room temperature with a Fluke thermocouple. Then I kapton taped my chamber thermistor to the volcano block, and graphed the difference in temps up to 285c. Turns out the taped on chamber thermistor reads consistently 20C low once it gets above about 100C, but I'm not sure if that's normal for that thermistor, the less contact with the block than the cartridge PT100, or some other factor. Anyway, I did some more testing with extrusion rates and temperatures.
I tested marking out and then extruding 1000mm at various feed rates. I started at 440mm per minute, which was giving excellent print results, but is a pretty slow print on a big layer height. I was able to easily confirm my steps per mm were correct this way as well.
I found that at 245C on the coolest reading thermistor, 440mm per minute got perfect results. No measurable slippage.
Leaving it at 245C, I tried 500mm/min, 600mm/min, 700mm/min, and 800mm/min several times each, cleaning the hobbed bolt with a brush between each test. I used new ABS of a brand I've had excellent success with.
The temperature graph was steady, there was no drop or increase in temp more than about 2C during these tests.
I then returned to 600mm/min (a little underextrusion, same as before) and repeated the testing, increasing the hot end temp 10C per try. I went from 245C up to 285C in 10C increments, and over that 40C range, the underextrusion improved by only about 5mm, still underextrusion by about 20mm.
I dropped the temp back to 265 (it was starting to stink at 285), and then began retesting at 600mm/min, increasing tension by 1 turn on the knob each try. I got to the maximum tension where I was no longer able to release the filament by pushing the lever over, with no more than 5mm underextrusion improvement. (still underextruding by 15 to 20mm).
I tried pushing 1000mm at 800mm/sec on my long-suffering hard-used delta that has a direct drive bowden extruder with a large motor on it, and I was able to extrude at 15mm/sec (900mm/min) on a standard 0.4mm nozzle V6 hotend. On that one I was able to extrude fast enough to see a temperature drop without any grinding but I didn't remember to note the feed rate for comparison after 900mm/min. The 96oz/inch motor will actually stall and start skipping before the filament grinds. I've got a standard 40oz/in stepper on the titan, with no skipping or stalling ever occurring that I can tell. I've even pulled on the filament so that I could experience what stalling or slipping would be like, and it's a very audible clicking noise with pulsations through the machine. None of that occurs during the normal higher speed underextrusion.
I've tried turning the microsteps down by half at a time all the way down to 1/2 (adjusting the steps per mm to be correct), and turning interpolation off and on at each setting, with no change in the results.
Does anyone have any ideas what could be wrong? I know a volcano setup is capable of more than this. I've found people being able to get 40mm/sec (2400mm/min) out of theirs.
Any ideas? I've been working on this for weeks and I'm all out of things to check. There's nothing mechanically or electrically wrong that I can find, I've even rewired the motor twice and used two different (though identical model) motors!
yup, all 5 crimped onto the insulation instead of bare wire, by the supplier.
Thanks! That was exactly the suggestion I needed to figure it out. Turns out the 5 thermistors I have on hand that came with connectors pre-crimped, something is wrong with them. None of them give a temperature reading, but plugging in the bed thermistor gives a sane chamber reading. Obviously that means something is wrong or unknown about my spare thermistors. An ohm meter also doesn't give a reading with them. Must have got a bad batch.
I'm also wanting to help protect people that buy cheap printers that have too powerful heaters and don't know better than to solve that. There are use cases for this feature than just the people printing high temp stuff.
2 fets in series doesn't solve it either actually. You won't have any indication that the first has failed and latched into the on position, and will keep on using your backup. The second can then do the same maybe years later. A good safety valve needs to 1) work, and 2) let you know that it worked.
Cartridge heaters are not the only heaters in use on printers. The bed won't reach autoignition temperatures for the filament, but it can cause other effects like breakdown of insulation and release of adhesives which can then grow into a bigger problem, with the heater not heatsinking into a big plate. Bed mass is a necessary function of the flatness and rigidity that I'm going for over about 2 square feet. I can share my CAD simulations if you like but justifying my choice in heater wasn't really the point of this thread. Stopgaps aren't either. Again, you're suggesting I do a bunch of machine rework on an already excellently performing machine as a stopgap measure.
The more obvious stop gap measure is to go back to a board that has this feature that I already have in stock, but I actually like the duet and I'm hoping we can help more people than just me!
A nice bonus would be to pause the host, turn off the stepper drivers, and turn off the remaining heaters too.
You need to supply 5v power to make best use of an atx supply anyway, how else will you turn PS_ON on? It can just stay in memory till retrieved. That's a far lower technical hurdle for people already using atx power supplies.
Heaters are $7, less in bulk. To get to $500, that'd be ~80 hotends worth of printers. Are you genuinely talking about 40-80 printers? If so, that large of a bulk order would likely move the firmware feature request up in the queue.
It's also not 100% failsafe like you suggest. Internal shorting of heater coils (happened once to me on a common silicone bed heater) can produce higher temperatures than intended. It also existed for some time before I realized it, giving an opportunity for a mosfet to latch closed. It's also not at all practicable in my application (my goals are engineering around some bed mass vs losses near the edges, which require a particular watts per square inch, and are at odds with the goal of designing for a maximum attainable temp. I have a custom made bed that would need to be changed, as well as my goals for that bed.
If I must do a firmware modification myself, I will. Luckily I have the skills to do this. Many people don't.
My suggestion is to add a common and easy to fast track the additional layer of security for if all the others fail.
A second fet requires a board modification that many users are not confident doing. I'd really much rather not make modifications to a perfectly working brand new board. It's an easy modification, just need to tap into the Gate signal, but still, I don't see this as a replacement for my suggestion. Infact, I may end up doing both, thermal fuses for this application are tricky to do well.
I'm still requesting that if there's a compromise we can come to that can result in this being implemented for everyone across the board faster, we should do it.
What do you all think about an Mcode that allows you to request the reason for a power-off event if you weren't connected to the machine to observe the gcode window?
That also gave me an error state with a large negative temperature. I'm wondering if the combination of the first hotend temperature control using a PT100 is a factor?
And the temperature reading?
I don't get a reading, it just says "error", unless I use the X3 parameter, in which case I get 88
Why not use heaters that physically can't reach dangerous temperatures? A E3Dv6 with 30w heater shouldn't exceed 300C or so.
I prefer shutting my power down at the first sign of trouble, rather than having a runaway cook and char filament until I've noticed the problem, making the cleanup job on small nozzles on complicated direct extruders bigger.
I use that exact setup to print at 330c regularly. It still doesn't help those that need to use the heaters they are stuck with, for one reason or another. A commonly supported firmware feature makes that doable. What if someone needs to print at 400+ sometimes, like if they print PEEK and requires a powerful heater to do that? too bad?
I don't see "repurchase all of your heaters if you switch from a RAMPS or Smoothieboard to a Duet" to be a reasonable thing to ask, especially when some are quite expensive or specialized, do you? In my case it adds about $500 to my "upgrade to a duet" project and negates the reasons I chose the heaters I did.
Any other users like to comment? I feel that this is a very important safety feature. I don't have any other way to automatically handle the "mosfet failed in the latched on position" situation other than the less reliable and responsive thermal fuse.
I did, infact I tried a spare thermistor, then I tried with a new thermistor plugged into the spare channel so that it had a thermistor in each channel. Then I swapped them around. No such luck.
Did you try plugging the bed thermistor into the E1 connector as I suggested? This would tell us whether it it the thermistor that is at fault.
In the error state, what is the temperature reading?
Ah, thanks, I'll switch to M307.
It's in the error state immediately as i power it on. No change if I swap to the other extruder thermistor connector. I did execute X3 on the end of M305, which got me a temp display pegged at 88c, it doesn't really move.
M305 P2 T100000 B3974 R4700 H30 L0 X3
But X3 must not be right.