@Phaedrux Duly noted. Added to the slicer's pre-print gcode.
Latest print seems to be coming out fine.
Next up is the controller mount for the Duet 2...
Thanks to everyone for all the help!
@Phaedrux Duly noted. Added to the slicer's pre-print gcode.
Latest print seems to be coming out fine.
Next up is the controller mount for the Duet 2...
Thanks to everyone for all the help!
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
G29 S1
So without the G29 S1 in the print start code it doesn't use any bed leveling?
That could explain some of the other issues I've been having trying to use more of the build bed...
My lovely build bed, btw... lol...
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
https://duet3d.dozuki.com/Wiki/Connecting_and_configuring_fans
You're well on your way now that you have the right firmware and config paired.
When in doubt there's the gcode wiki. https://duet3d.dozuki.com/Wiki/Gcode
I'll be curious to see what the calibration cube looks like once this is all set.
The one on the v2 firmware looked pretty good, aside from some weirdness around the edge corners of the X, even after doing an extruder calibration.
Any recommendation on the best balance for auto bed leveling? Is there a such thing as "too many points of data" if I'm willing to wait for it to take tons of measurements?
On the Wanhao controller, there was only enough memory (or something) for Marlin to handle 9 points of data, but it seemed to still work fairly well.
This printer was a super cheap open-box-special, and I'm fairly certain it was open box because whoever got it realized the bed was ... we'll say "special".
@Phaedrux Thank you so much for the tips. The 500 seems to be working good for the fans I have in place at the moment, but I could totally see the LEDs being more fickle, and it's great to know what lever to start with.
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
Fan2 would be a good candidate for LEDs. Fan1 is intended for the hotend because it will power on automatically briefly at power up in case the hotend was hot during a reboot.
You'd need this in your config to add a thermostatically controlled fan for the hotend.
; Fans 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 when hotend is 45c
Awesome, after I'm pid-tuned I'll put the patient back on the operating table and flip things around a bit.
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather Bang-bang isn't recommended at all. Once the heaters are tuned with M303, you can send M500 to save the results to config-override.g. Your config.g already has M501 at the end to load them at boot.
Ah, good to know bang-bang isn't recommended. I'll get the pid tuning done in a jiffy here...
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
; 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
It looks like you're missing a hotend heatsink fan, which would normally be on fan1.
I'm lazy and have it plugged into one of the always-on fan spots.
I've read that I can hook up the built-in LED lights to one of the PWM fan connections too... might give that a try.
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+4:+Calibration/40#s161
Cool - I wasn't sure if that still applied when using the "bang-bang" control method.
Neat! It mostly seems to be working. Endstops are good. BLTouch is good.
I was warming things up to do a bed probe though, and got:
Error: Heater 0 fault: temperature rising much more slowly than the expected 1.7°C/sec
I don't see much for options in the config editor to counter this, though...
Config:
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Fri Oct 09 2020 21:30:59 GMT-0400 (Eastern Daylight Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"MPUltimate" ; set printer name
; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S1 ; enable Telnet
; Drives
M569 P0 S0 ; physical drive 0 goes backwards
M569 P1 S1 ; physical drive 1 goes forwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S1 ; physical drive 3 goes forwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z800.00 E94.30 ; set steps per mm
M566 X600.00 Y600.00 Z24.00 E60.00 ; set maximum instantaneous speed changes (mm/min)
M203 X7200.00 Y7200.00 Z300.00 E300.00 ; set maximum speeds (mm/min)
M201 X800.00 Y800.00 Z100.00 E500.00 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E1000 I50 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X200 Y200 Z175 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"!^xstop" ; configure active-high endstop for low end on X via pin !^xstop
M574 Y1 S1 P"!^ystop" ; configure active-high endstop for low end on Y via pin !^ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X31 Y-20 Z1 ; set Z probe trigger value, offset and trigger height
M557 X31:200 Y0:180 S10 ; define mesh grid
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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
M307 H0 B1 S1.00 ; enable 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"e0temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e0temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
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
; Tools
M563 P0 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
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool
@bearer Yep, it just needed the ol' "turn it off and then on again" treatment. Let's see where I'm at functionality wise with 3.1.1 now that I'm not trying to run a v3 config on v2 firmware LOL...
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
Ah, ok, then. That answers that.
Here's how you should proceed with the updates.
First make sure you're running 2.05.1, and it sounds like you are, but just to make sure you have all the files needed here's how you do a complete firmware update. It just involves uploading a single zip file for each version to the sys folder via the web interface.
Start with the 2.05.1 zip file. Then upload the 3.0 zip file. Then 3.1.1. It'll reboot between each. Then you can upload your config zip file if you haven't already.
Upload the whole zip file. don't extract it.
https://github.com/Duet3D/RepRapFirmware/releases/download/2.05.1/Duet2Firmware-2.05.1.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.0/Duet2and3Firmware-3.0.zip
https://github.com/Duet3D/RepRapFirmware/releases/download/3.1.1/Duet2and3Firmware-3.1.1.zip
Alright! This seems to be working a lot better. It got to 3.0.0 successfully, though it's been spinning for quite a while on 3.1.1.
The temp sensors were working though.
Still just waiting on it to come back up after the 3.1.1 upgrade though. Might have to go a more manual route for this one since it seems to not be coming back up...
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
How are you switching between rrf2 and rrf3?
This is the million dollar question... for some reason, I had thought that just uploading the config zip file was enough.
Your last comment lead me to check my assumptions, and yeah, it's still running 2.x...
I'm trying to upload the bin via the web control panel now... I've managed to get web control panel to report that it's 3.x but diagnostics is still saying reprap is 2.05.1...
Do I have to do a hard power cycle maybe?
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
I also can't get the Z-probe to work with this setup. Followed this guide with the exception of using Heater3 instead of Heater7.
What exactly doesn't work? Did you also change the deployprobe and retractprobe macros to use P0 instead of P3 or P7?
Yeah, I fixed all that, and even tried manually sending:
M280 P0 S10
to which it responds with "servo 0 is not defined" (or similar -- i'm printing a calibration cube on v2 firmware now or I'd check).
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
Endstops read as triggered when they are not.
Then remove the ! from the pin name.
With or without the !, it reads as triggered on V3 firmware.
How do you have the endstops wired? Are they standard 2 wire endstops, or 3 wire with a PCB?
They are 2 wire normally open.
This config works fine on the V2 firmware.
M574 X1 Y1 S0 ; set active low and disabled endstops
Am I going to need to change how they're wired up for the V3 firmware maybe? I think I have the lines connected to the two outside pins of the three pin connectors, but I'd have to double-check that.
2000c on the temp would indicate a short circuit fault. Which heater pins are you using? Your config says e1temp, but e0temp would be the first temp sensor. Which one are you plugged into?
I apparently had it plugged into the E1 thermistor spot before... I moved it to E0 and it works as expected on the V2 firmware with
M305 P0 T100000 B4138 R4700 ; set thermistor + ADC parameters for heater 0
M305 P1 T100000 B4725 C7.060000e-8 R4700 ; set thermistor + ADC parameters for heater 1
I tried the config a couple different ways, even after moving it to the E0 input and setting it to E0temp, it still wouldn't work. Both still read at 2000 on V3.
Forgot to add, here's what i've got for a V3 config:
; Configuration file for Duet WiFi (firmware version 3)
; executed by the firmware on start-up
;
; generated by RepRapFirmware Configuration Tool v3.1.4 on Fri Oct 09 2020 17:27:05 GMT-0400 (Eastern Daylight Time)
; General preferences
G90 ; send absolute coordinates...
M83 ; ...but relative extruder moves
M550 P"MPUltimate" ; set printer name
; Network
M552 S1 ; enable network
M586 P0 S1 ; enable HTTP
M586 P1 S0 ; disable FTP
M586 P2 S1 ; enable Telnet
; Drives
M569 P0 S1 ; physical drive 0 goes forwards
M569 P1 S0 ; physical drive 1 goes backwards
M569 P2 S0 ; physical drive 2 goes backwards
M569 P3 S0 ; physical drive 3 goes backwards
M584 X0 Y1 Z2 E3 ; set drive mapping
M350 X16 Y16 Z16 E16 I1 ; configure microstepping with interpolation
M92 X80.00 Y80.00 Z800.00 E94.30 ; set steps per mm
M566 X600.00 Y600.00 Z24.00 E60.00 ; set maximum instantaneous speed changes (mm/min)
M203 X7200.00 Y7200.00 Z300.00 E300.00 ; set maximum speeds (mm/min)
M201 X800.00 Y800.00 Z100.00 E500.00 ; set accelerations (mm/s^2)
M906 X1000 Y1000 Z1000 E1000 I50 ; set motor currents (mA) and motor idle factor in per cent
M84 S30 ; Set idle timeout
; Axis Limits
M208 X0 Y0 Z0 S1 ; set axis minima
M208 X200 Y200 Z175 S0 ; set axis maxima
; Endstops
M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin xstop
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin ystop
M574 Z1 S2 ; configure Z-probe endstop for low end on Z
; Z-Probe
M950 S0 C"exp.heater3" ; create servo pin 0 for BLTouch
M558 P9 C"^zprobe.in" H5 F120 T6000 ; set Z probe type to bltouch and the dive height + speeds
G31 P500 X31 Y-20 Z1 ; set Z probe trigger value, offset and trigger height
M557 X31:200 Y0:180 S10 ; define mesh grid
; Heaters
M308 S0 P"bedtemp" Y"thermistor" T100000 B4138 ; 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
M307 H0 B1 S1.00 ; enable 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"e1temp" Y"thermistor" T100000 B4725 C7.06e-8 ; configure sensor 1 as thermistor on pin e1temp
M950 H1 C"e0heat" T1 ; create nozzle heater output on e0heat and map it to sensor 1
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
; Tools
M563 P0 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
; Miscellaneous
M501 ; load saved parameters from non-volatile memory
T0 ; select first tool
Endstops read as triggered when they are not. Thermistors are reading at 2000. Total craziness. LOL!
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
I had to use the 2.x firmware in order to get the endstops to read correctly. From the factory they seem to be wired up for Normally Open, which the 3.x firmware didn't seem to like at all.
That's a pretty easy fix. You just need a ! in front of the pin name to invert the signal. Since you are new to reprap firmware I would suggest giving RRF3 a try. It's more flexible and capable and still being developed long term.
If you post your RRF3 config.g we can help you out.
It looks like you figured out your layer skips though. It's important to mind the units. mm/min versus mm/s. Convert by multiplying or dividing by 60.
So trying to get the same config on V3, I get:
M574 X1 S1 P"!xstop" ; configure active-high endstop for low end on X via pin !xstop
M574 Y1 S1 P"!ystop" ; configure active-high endstop for low end on Y via pin !ystop
and that ends up reporting that the endstops are triggered... which is the same as I get if I remove the !'s.
I also can't get the Z-probe to work with this setup. Followed this guide with the exception of using Heater3 instead of Heater7.
I am going to throw the 2.x firmware back on and print a calibration cube and see where I'm at on that front...
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
I had to use the 2.x firmware in order to get the endstops to read correctly. From the factory they seem to be wired up for Normally Open, which the 3.x firmware didn't seem to like at all.
That's a pretty easy fix. You just need a ! in front of the pin name to invert the signal. Since you are new to reprap firmware I would suggest giving RRF3 a try. It's more flexible and capable and still being developed long term.
If you post your RRF3 config.g we can help you out.
It looks like you figured out your layer skips though. It's important to mind the units. mm/min versus mm/s. Convert by multiplying or dividing by 60.
I'm pretty sure I tried the ! trick, but if I can get it working with V2, then I'll give V3 a shot again for good measure now that I feel like I know a bit more about what I'm doing.
@Phaedrux said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
I'm still VERY confused why the Wanhao controller works with 400.48 steps for Z axis but the Duet 2 needs 800.96 to work right.
Microstepping will also come into play in calculating steps per mm.
Z_steps_per_mm = (motor_steps_per_rev * driver_microstep) / screw_lead
The recommended default for the Duet is x16 microstepping with interpolation to x256 by the driver chip. So you would calculate based on x16. Maybe the microstepping for your old board was different?
Everything I was able to find said ~400 is the right answer... and most things seem to suggest the D6/MMU has 16x microstepping, which means it's a Tr8X8 screw... I dunno. It works, so I'm not really inclined to argue with it, but it sure is BIZARRE.
I can look at the Marlin firmware tonight and see if it specifies the microstepping anywhere... the up side of having installed the BLTouch previously, I guess, is I have the source code handy... lol.
I haven't been able to find a good reference for understanding /for sure/ which motor pins on the Duet go to which motor pins on the motors, but it seems odd that the Z axis motor would just be wired differently, too... so it's hard to say.
@Veti said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
maximum instantaneous speed changes
that is jerk in marlin. you are basically saying you can instantly go from 0 to 250mm/sec
Ahhh! Ok, that'll let me convert better. It seems like these tweaks mostly worked.
I'm still VERY confused why the Wanhao controller works with 400.48 steps for Z axis but the Duet 2 needs 800.96 to work right. I double-checked the cables last night and all of the wiring for Z matches X and Y. So weird.