Trouble with the Duet 2 on a Monoprice Maker Ultimate
-
@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 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...
-
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!
-
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
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,
Identify the phase pairs, then each pair goes together on either side of the board pins. As long as the pairs aren't crossed it doesn't matter which pair is on which side. You can change motor rotation direction in config.g.
-
@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.
How do you have the endstops wired? Are they standard 2 wire endstops, or 3 wire with a PCB?
https://duet3d.dozuki.com/Wiki/Connecting_endstop_switches
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?
-
@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?
-
@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.
-
@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).
-
Servo 0 not defined would make sense if you're still using rrf2
Can you send m122 and m98 p"config.g" and post the results ?
It would be a lot easier if we just configured for rrf3 at this point.
-
How are you switching between rrf2 and rrf3?
-
@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?
-
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
-
@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...
-
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
though it's been spinning for quite a while on 3.1.1.
should take less than a minute; reset and try again if it takes longer.
-
@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...
-
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 -
@thejmather said in Trouble with the Duet 2 on a Monoprice Maker Ultimate:
Error: Heater 0 fault: temperature rising much more slowly than the expected 1.7°C/sec
You'll need to PID tune your heaters.
Info: https://duet3d.dozuki.com/Wiki/Tuning_the_heater_temperature_control
Guide: https://duet3d.dozuki.com/Guide/Ender+3+Pro+and+Duet+Maestro+Guide+Part+4:+Calibration/40#s161 -
@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.
-
@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.
-
@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.