@Phaedrux No ... That was not the version of the plug I've been messing with. That one went in fine.
It's always the little things :-p. Thanks for the assist.
@Phaedrux No ... That was not the version of the plug I've been messing with. That one went in fine.
It's always the little things :-p. Thanks for the assist.
https://docs.duet3d.com/User_manual/Tuning/Input_shaping_plugin
If I follow these directions (Upload and Start the InputShapingPlugin-master.zip in DWC), I get an error message that "Only a single file can be uploaded and started". I can drag the ZIP file in on the SYSTEM tab - it's gets unpacked and creates a folder for the plugin, but it does not show up on the Plugins tab.
I have turned up posts that say the documentation is incorrect, but I haven't found what works.
I have the Duet accelerometer. I have a few machines that are DWC 3.4.6, and a couple that are 3.4.5.
I can usually figure out the basics, but I've come up empty on this one.
Yesterday I made up new leads for the BL-Touch using shielded cable, and I routed the lead along the filament feed tube rather than through the print head harness.
All issues have cleared up on both machines. Gone a whole day without bending a pin!!!
Thanks for your time and assistance @droftarts & @Phaedrux
Have a couple more issues to clear up on these machines, but those will be different threads.
karl
@droftarts I finally witnessed the probe misbehaving during a print. Was just popping up and down pretty frequently while running the first layer ... then it seemed to settle down. So maybe EMI from the stepper?
I have some 5-conductor shielded cable on order. I'll make up new cables, and will route them along the filament tube initially to keep it clear of the wire harness. We'll see if that makes a difference.
Could that cause the probe to be come unresponsive?
@droftarts - not a code guy - just fumble my way through, so pardon any sloppy work here.
M115
FIRMWARE_NAME: RepRapFirmware for Duet 3 MB6HC FIRMWARE_VERSION: 3.4.5 ELECTRONICS: Duet 3 MB6HC v1.02 or later FIRMWARE_DATE: 2022-11-30 19:35:23
G21 ;Work in millimetres
G90 ;Send absolute coordinates...
M83 ;...but relative extruder moves
M552 I1 S1
M550 P"D2"
; Axis and motor configuration
;M569.1 P50.0 T2 C5 R70 I3000 D0.05 ; Configure the 1HCL board at CAN address 50 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
;M569.1 P51.0 T2 C5 R80 I4500 D0.07 ; Configure the 1HCL board at CAN address 51 with a quadrature encoder on the motor shaft that has 20 steps per motor full step.
;m569.1 P50.0 T2 C5 R82 I2500 D0.32
;m569.1 P51.0 T2 C5 R82 I2500 D0.32
m569.1 P50.0 T2 C5 R82 I2500 D0.24
m569.1 P51.0 T2 C5 R82 I2500 D0.24
;M569 P0 S1 ;Drive 0 X / Rear
;M569 P1 S1 ;Drive 1 Y / Front
M569 P2 S1 ;Drive 2 Z Front Left
M569 P3 S1 ;Drive 3 Z Rear Left
M569 P4 S1 ;Drive 4 Z Right
M569 P5 S1 ;Drive 5 Extruder
M669 K1 ;corexy mode
M569 P50.0 D4 S0 ; Configure the motor on the 1HCL at can address 50 as being in closed-loop drive mode (D4) and not reversed (S1)
M569 P51.0 D4 S0 ; Configure the motor on the 1HCL at can address 51 as being in closed-loop drive mode (D4) and not reversed (S1)
M917 X10 Y10
M584 X51.0 Y50.0 Z2:3:4 E5 ; Map X to drive 0 Y to drive 1, Z to drives 2, 3, 4, and E to drive 5
;Leadscrew locations
;M671 X-38:-38:340 Y62.5:247.5:139 S7.5 ;X -38, -38, 340
;Leadscrew locations
M671 X-24:-24:325 Y32:287:159 S7.5 ;X -38, -38, 340
M350 X16 Y16 Z16 E16 I0 ;set 16x microstepping for axes with interpolation
M92 X101.002 Y101.002 Z1600 E400 ;steps/mm 0.9 z
;M350 X64 Y64 Z64 E64 I0 ;set 64x microstepping for axes without interpolation
;M92 X404.0080 Y404.0080 Z6400 E1600 ;steps/mm 0.9 z
;M350 X128 Y128 Z16 E16 I1 ;set 128x microstepping for axes with interpolation
;M92 X808.016 Y808.016 Z1600 E400 ;steps/mm 0.9 z
M906 X2100 Y2100 Z1200 E600 I60 ;Set motor currents (mA)
M201 X3000 Y3000 Z600 E6000 ;Accelerations (mm/s^2)
M203 X24000 Y24000 Z900 E3600 ;Maximum speeds (mm/min)
M566 X300 Y300 Z100 E250 ;Maximum jerk speeds mm/minute
M208 X310 Y310 Z345 ;set axis maxima and high homing switch positions (adjust to suit your machine)
M208 X0 Y-3 Z-2 S1 ;set axis minima and low homing switch positions (adjust to make X=0 and Y=0 the edges of the bed)
; End Stops
M574 X1 S1 P"io3.in" ;Map the X endstop to io3.in
M574 Y2 S1 P"io1.in" ;May the Y endstop to io1.in
; Filament Sentinel
M591 P1 C"io4.in" S1 D0; filament monitor connected to E0 endstop
; Thermistors
M308 S0 P"temp0" Y"thermistor" A"bed_heat" T100000 B4240 H0 L0 ;Bed thermistor - duet 3, connected to temp0
;M308 S1 P"temp1" Y"thermistor" T100000 B4725 C7.060000e-8 ; sensor 1
M308 S1 P"temp1" Y"pt1000" ; configure sensor 1 as PT1000 on pin temp1
M308 S2 P"temp2" Y"pt1000" A"enclosure"; configure sensor 2 as PT1000 on pin temp2 - Enclosure
;Define Heaters
M950 H0 C"out0" T0 ;Bed heater is on out0
M950 H1 C"out1" T1 ;Hotend heater is on out1
M950 H2 C"out2" T2 ;Enclosure heater is on out2
M307 H0 A90.0 C700.0 D10.0 S1.00 B1 ;Bed Heater duet 3 configuration
M307 H1 A548.8 C298.6 D4.6 S1.00 B0 ;Hotend duet 3 configuration
;M307 H2 R0.060 D89 S1.00 B1 ;Enclosure Heater duet 3 configuration
M307 H2 B1 C96000 D1000 R0.01
M570 H1 P4 T15 ;Hot end may be a little slow to heat up so allow it 180 seconds
M143 S350 ;Set max hotend temperature
; Fans
M950 F0 C"out4" ;Hotend fan on "out4" connector
M106 P0 S255 H1 T50 ;enable thermostatic mode for hotend fan
M950 F1 C"out5" ;Layer fan on "out5" connector
M106 P1 S0 ;Layer Fan
M950 F2 C"out6" ;Layer fan on "out6" connector
M106 P2 S0 ;Layer Fan
M950 F3 C"out7" ;Enclosure fans on "out7" connector
M106 P3 S255 H2 T35 ;enable thermostatic mode for enclosure circ fans
M950 F4 C"out3" ;Exhaust blower on "out3" connector
M106 p4 h-1 S0 ;Exhaust blower off
;M106 P4 T{heat.heaters[2].active + 2} H2
; Tool definitions
M563 P0 D0 H1 F1:2 ;Define tool 0
G10 P0 S0 R0 ;Set tool 0 operating and standby temperatures
;R3D Probe
;M558 P5 C"io7.in" H2.5 A10 S0.02 F120 T12000 ; set Z probe type to EZ ABL and the dive height + speeds
;G31 X28 Y0 Z1.1 P25 ;Z offset can be adjusted here
;BL Touch
M950 S0 C"io7.out" ; create servo pin 0 for BLTouch
M558 P9 C"io7.in" H3.5 A10 F60 T12000 ; set Z probe type to bltouch and the dive height + speeds
G31 X30 Y0 Z1.0 P25 ; ;set the offsets for the bltouch
;Accelermeter
;M955 P0 C"spi.cs3+spi.cs2" I20 ; all wires connected to temp DB connector
M593 P"zvdd" F64.2
M575 P1 S1 B57600
;G29 S1
M557 X30:300 Y10:300 P7
M501
M140 H0 ;set bed heater as H0
M143 H0 S120 ;set max bed temp
M141 H2 S0 R0 ;set enclosure heater as H2
M143 H2 S65 T2 ;set enclosure max temperature
T0 ;select first hot end
M556 S100 X-0.0495 ; Skew Correction
M579 X0.9913 Y0.9923 ; Scale Correction
HomeAll
M280 P0 S160 ; reset BL Touch
G4 P500
M280 P0 S90 ; retract BLTouch
G4 P500
M280 P0 S10 ; deploy BLTouch
G4 P500
M280 P0 S90 ; retract BLTouch
M98 P"homexy.g" ; Home X and Y together
G90 G1 X125 Y145 F6000 ; Move to the center of the bed
; M558 Fxxx sets the probing speed.
; Probe rapidly to get us in the right ballpark.
; This brings the bed up quickly but may be less accurate.
M558 F250
G30
; Probe again slowly for precision
M558 F50
G30
;G1 H1 Z-340 F360 ; move Z down stopping at the endstop
;G90 ; absolute positioning
;G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
; Uncomment the following lines to lift Z after probing
G91 ; relative positioning
G1 Z10 F500 ; lift Z relative to current position
G90 ; absolute positioning
HomeZ
M280 P0 S160 ; reset BL Touch
G4 P500
M280 P0 S90 ; retract BLTouch
G4 P500
M280 P0 S10 ; deploy BLTouch
G4 P500
M280 P0 S90 ; retract BLTouch
G91 G1 Z10 F800 H2 ; lift z so we don't crash
G90 G1 X125 Y145 F6000 ; Move to the center of the bed
; M558 Fxxx sets the probing speed.
; Probe rapidly to get us in the right ballpark.
; This brings the bed up quickly but may be less accurate.
M558 F250
; Probe again slowly for precision
M558 F50
G30
; homez.g
; called to home the Z axis
;
; generated by RepRapFirmware Configuration Tool v2.1.8 on Sun Feb 02 2020 20:26:36 GMT-0600 (Central Standard Time)
;G91 ; relative positioning
;G1 H2 Z5 F6000 ; lift Z relative to current position
;G1 H1 Z-305 F1800 ; move Z down until the endstop is triggered
;G92 Z0 ; set Z position to axis minimum (you may want to adjust this)
; Uncomment the following lines to lift Z after probing
G91 ; relative positioning
G1 Z10 F500 ; lift Z relative to current position
G90 ; absolute positioning
Bed heater is Keenovo 300x300 24V 400W, which does push the limit on the bed output current. I've watched the 24V level as reported by the board and don't see any voltage drops from when the heater is on. PSU is a Meanwell 24V 25A. 5V for the Pi comes from a Daygreen DC converter with a 5V 10A output rating. I have one small strip of LEDs on the machine that is wired to the Duet.
I could move the bed to an SSR to take the current draw off the board. I have those parts on hand. Not blowing the 15A fuses though, so figured I should be good.
The bed is magnetic, but I have 3 other machines with identical mag bed designs that have never had issues. Enclosure is heated to 55C, but again I have other machines that I run at 60C without issues.
Interference from motor wires or heater PWM is a possibility. Any suggestions on how to diagnose that? Wiring to print head goes through a cable chain. My Raise machines have similar wiring and much longer bundles to the print head, but they are Duet2, not 3. I think the Raise hot end is 40W vs the 50W Slice on these machines. I could strip the probe ribbon cable from the print head harness and run it loose for a while.
Probing with the bed heating is never a problem. If I cycle power on the printer before starting a job, machine will heat up, home, probe the bed, all without issue. I have a 10 minute dwell in my start script to let the bed soak/settle before probing. I usually let the machine soak for 30 minutes before rechecking the Z-offset and startup is always fine.
It's somewhere mid-print that the probe will sometimes drop and get bent. Starting the next print is sketchy. If the probe appears to be responding, it may or may not keep working through the homing/probing sequence. If I cycle power, it's always solid for the print startup.
@droftarts Been through all that. Have not been able to ID any issues with wiring or codes.
I have two printers that are, theoretically, identical. CoreXY Duet 3 6HC with Pi SBC. BL-Touch is wired to IO_7. I have issues with the BL-Touch on both machines, but it's much worse on one than on the other.
BL-Touch deploys during printing. It's not a GCODE issue. I can run the same code multiple times. Sometimes the probe is bent at the end of the print. Sometimes it isn't.
After running a job or sitting idle for a while, the BL-Touch is not responsive. Reset commands run without error, but there is no response - the sensor doesn't blink or deploy. I have to cycle power on the machine to get the probe to wake up.
I've had a few times where the probe deploys for home Z. Bed doesn't stop rising when probe is hit. Printer reports probe not activated (or whatever it says) and Z axis crashes the nozzle, but it looks like all was working as expected.
I added probe RESET commands to the HOME and HOMEALL gcode files. I've replaced the probes.
What are some other troubleshooting steps I can take here to try to ID the issue.
@Phaedrux Maybe I'm missing something ...
The existing fans with thermostatic control are at a set temperature using the T parameter.
If I set the chamber temperature to 60C on the DWC page, I need the chamber cooling fan to be set at 62C. If I set the chamber temp to 30C, the cooling fan needs to trigger at 32C.
So for the M106 command, I need to read the chamber temperature setting, add an offset value, and make that the set point for the thermostatic control.
@Phaedrux Thanks. I haven't played with variables in GCODE yet. Could you post a simple example of interrogating the chamber temp value and using that in a subsequent command?
Feels like that would be a start-script thing and not a live relationship between the cooling and the chamber temp. IOW, if I change the chamber temp manually during a print, the cooling temp would not be updated automatically - I'd need to re-run the commands to read the chamber temp and write that to the cooling set point. That's OK - just wanting to understand things.
I have a machine with a Duet3 CH6 board.
I will be adding a heater in the enclosure. My machines live in the garage so ambient can be pretty cool in winter, and toasty in the summer.
I am rigging up an external 110VAC blower draw air from the top of the heated chamber when the temperature exceeds the set point by more than maybe 2 degrees.
I have the chamber heater configured. Don't know if I've done everything right yet as I don't have the heaters in hand. I know how to set fans to be thermostatically controlled, but I don't know how to reference the chamber temp for that.
The chamber heater will be controlled by an SSR connected to OUT2.
The exhaust fan for the chamber will be on an SSR off of OUT3.
Is it possible to have the setpoint for the chamber temperature also be the setpoint for the exhaust blower, plus an offset value? Chamber temp at 60C. If it reaches 62C, turn on the blower. If chamber temp is set to 45C, exhaust blower starts at 47C.
Thanks!
I run my machines in a mass production setup and need to have first layer consistency without resorting to manual baby stepping/tweaking at startup. I've been doing pretty well with my old machines, but just got a new rig that works a little differently and I have some questions.
My old machines are cartisian, 0,0 is at the front left. Zhome is near the front left.
New machine is CoreXY. xy 0,0 is at the also front left of the bed. Zhome happens near the center of the bed.
If bed map compensation does not consider the XY location of the home function, there could be first layer deviation if a build plate swap creates a different height map with more or less humpage in the center of the plate.
I'm thinking Zhome should be as close as possible to the bed map origin to ensure bed mapping does not impact z offset on the first layer.
I haven't studied things closely, but it seems that bed mapping may assume z=0 is at xy 0,0. I say this because when I do a 4-corner probe to check bed level on my old machines, the point closest to the origin is never way off. It's always the other three corners that show significant deviation.
That said, the first probe point isn't z=0. There's always a little deviation there. My first probe point can't be at xy=0,0 as the probe can't reach there, so there may be interpolation to XY=0,0.
So, should I change my new machine to zhome is as close as possible to XY=0,0? What happens to bed mapping if bed origin is in the center of the plate? Never tried that setup. Is Z=0 for the bed map then in the center of the plate?
Thanks!
I have a few printers running Duet2 boards. I have heated enclosures on an independent temperature controller.
There is one aspect of my heated enclosure setup that can cause damage in the event of a fan failure, so I'm wondering if I moved the enclosure temp control to a Duet3 board and add the fans to the PMW outputs, would it be possible to monitor the fan operation with the tach lead on 3-wire fans?
I have ceramic heaters with 12V 80mm fans blowing on them to heat the enclosure. If those fans fail, things melt from the heaters. Trying to figure out how I can shut down the heaters if those fans stop spinning. I have had two fan failures - one resulted in more melty stuff than the other. Neither was severe, but since my machines are often running unattended ... having the control board able to monitor the fan condition and make that a requirement for firing the heaters would be a great feature.
That's not the only reason I'm considering a Duet3 - the control board would be great for cutting down the mass of wires going to the print head too.
@dc42 said in Struggling with PT1000 calibration:
If you are sure of the accuracy of those resistors, then RRF is working as it should. Either your PT1000 sensor is inaccurate, or your thermocouple sensor is inaccurate, or you have not succeeded in getting those two sensors at exactly the same temperature.
I have far more faith in the accuracy of the resistors than the accuracy of the thermocouple readout. The 2000 ohm is a pair of 1K .01% resistors in series. The 1096 is a 1K and 100 ohm resistor - but I sorted through a number of 5% resistors to find a pair that added up to 1096. Checking these with a good Fluke digital meter. I have a couple more Slice PT1000 sensors on the way. If they are in line with the other, I won't sweat it. Having them consistent across several machines is the goal.
@deckingman said in Struggling with PT1000 calibration:
@zemlin Any noise on the signal? Are you using 2 wire or 4 wire? In general, thermocouples are less accurate, less stable and more inclined to drift over time compared to platinum resistance sensors. So maybe the PT is correct and the error is with the thermocouples?
Two wire, but all looks stable. No sign of noise. The thermocouple being off is a possibility and the reason for my noting the dubious nature of my temperature "standard" in the message - but as I said, I did confirm it at 0C and 100C, so it seems to be OK.
What do folks use a temperature standards for confirming extruder temps? Not keen on spending $400 for a Fluke meter.
@moth4017 it’s in a deep, close-fitting hole in the heat block.
First disclaimer - my reference device is a $30 crap thing from Amazon which uses type-K thermocouples. That said, checking with ice water and boiling distilled water the readings were where they should be.
I have three machines running Duet2 Wifi boards. I have been running cheap thermistors for the extruder temps, but I'm trying to get my machines more in sync - and extruder temps were not reading consistent across them so I changed one machine to a PT1000 from Slice to see if I can get readings to match my thermocouple thermometer. My machines are Raise3D N2-series printers and they have a long heat block. With the short Slice sensor I'm able to slide a 3mm diameter Type K probe well into the heat block and get a good temp measurements. I also tested with a bare TypeK junction shoved into the melted plastic in the hot end and that reads the same as the probe in the heat block, so I feel confident about my measurement technique.
I looked up the calibration processes. I have a 2000 (.01%) ohm resistor, which should compare to 266.4C on a PT1000. I also have an 1096 ohm array of resistors that should compare to 25C on a PT1000 and 1000 (.01%) resistor which should compare to 0C.
The semi-auto isn't an option on the Duet2 Wifi board. Tried the Manual calibration with resistors. That isn't calibrating the sensor, but the circuit. Are the PT1000 sensors supposed to be consistent enough that sensor-to-sensor differences can be disregarded?
If I put the 1096 ohm resistor on the E0 connector on the print head I get a reading of 25C with H15. With the 2000 ohm resistor I get 266.4 (or so) with L-2.
If I then hook up the PT1000 and set the heater temp for 270, the thermocouple reads 280. L-97 brings the PT1000 temp into line with the thermocouple. I then set the temp to 50C. With H127 the thermocouple reads 40C. I can't get an H value to make the PT1000 and thermocouple match.
The numbers I get with the resistor tests aren't correlating to an accurate temperature reading, and I have been unable to tweak the H and L numbers to get correlation to the thermocouple readings.
What am I doing wrong here?
Just to follow up on this thread, Gabe(@oozeBot) is dropping off an oozeBot XLevate Duo 16x16x12 IDEX machine with heated enclosure on Tuesday. Looking forward to pushing the limits of this machine.
@Phaedrux, I appreciate the suggestion.
The Duet Wifi board has been replaced with an Ethernet board, and the machine is now on a separate network that will not be accessible from the public wifi or publicly accessible computers.
Thanks.
I have replaced the control boards in my 3 printers with Duet boards, and it's the best thing I ever did to these machines. When I've had issues I've been able to post specific questions here on the forum and have always received prompt help that got me going.
Take a deep breath and give us enough information to start getting you going.