Welcome! Log In Create A New Profile

Advanced

Swaping thermistor channel when using DueX4

Posted by appjaws1 
Swaping thermistor channel when using DueX4
November 26, 2014 06:13AM
Transferred from other thread


Quote
dc42
One solution that occurred to me just now is to connect the second hot end thermistor to the heated bed thermistor pins on the Duet, and the heated bed thermistor to the DueX4 board hot end thermistor pins. Then add support in the firmware for a configuration gcode to deal with this change. The heated bed thermistor reading is less critical and less affected by noise because of its lower value. I think I'll add this configuration option in my next firmware release.

Quote
appjaws1
This sounds really good, I don't know why I didn't think of it.
I think this will solve the problem and report accurate temperatures for the second nozzle, I won't need to modify my boards
Looking forward to your next release, will it include all of zpl's changes? especially the external fan control and the pause and resume action.

Quote
dc42
On the Ormerod 1, the wiring will be a little tricky because the thermistor uses the 2 middle wires of the ribbon cable. So you will need to cut just those 2 conductors at the Duet end of the cable, peel them back a bit, and connect them to a 2-pin header connector to plug in to the DueX4. The conductors are quite thin, so you might want to use some silicone rubber or similar as a strain relief. Make sure you use the correct 2 conductors, otherwise you will end up connecting 12V to the thermistor input via the thermistor! Alternatively, run a separate cable from the bed thermistor to the DueX4. Connecting the second hot end to the bed thermistor input can be done using the separate BED_TEMP pins provided on the Duet (you will need to solder a couple of header pins or a terminal block to those pads on the Duet).

For describing the change to the firmware, I think the M305 code could have an option to specify the thermistor channel. All the obvious parameter letters are already used in the M305 command, but X Y Z and J are free. So perhaps M305 P0 X2 would tell the Duet that heater 0 uses thermistor channel 2, and M305 P2 X0 would tell it the converse for the second hot end.

If I do you a special temporary firmware release that swaps the channels, would you like to test this out? I'd like to know whether the noise on the bed temperature is acceptable before I make the changes to M305. My firmware already has cooling fan support. What it doesn't have yet is the code queue for synchronizing fan speed change commands with movements in the queue, or the instant pause facility where moves already in the queue are paused as well as new moves. This is partly because I need to keep the Move code simple pending my next round of changes to it, and partly because the instant pause facility could result in missed steps if it isn't carefully timed. I have already included zpl's pause/resume macro files and networking changes.

Yes I will test this out, I think I will run a separate cable for the bed thermistor and try and keep everything intact so I can revert back if this doesn't work or doesn't resolve the noise on the temperature readings.

I seem to remember reading sometime ago that part of the problem with the duet was the 5 volt regulator. I have a separate regulated output and was wondering if you think that might help with the problems.


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Re: Swaping thermistor channel when using DueX4
November 26, 2014 09:37AM
The Duet 5V switching regulator induces a little noise on any loops of wiring in the vicinity, such as the blue z-probe wire (because the Z probe ground wire is connected at the opposite edge of the board, so it is hard to avoid a loop in the circuit). However I don't think it causes any significant problem with the thermistor readings.

The main reason why readings are inaccurate for thermistors connected to the X4 is that the thermistors and associated smoothing capacitors on the X4 are referenced to the common ground on the X4, and this common ground has noise on it from the stepper motors, in particular the second extruder motor that is driven by the X4. This is the cause of fluctuations in the reading. A second factor is that there is a small voltage drop between the 3.3V supply on the Duet and the 3.3V supply on the X4. It's only a few millivolts, but this is enough to cause hot end thermistors attached to the X4 to overread, especially at low temperatures.

Possible solutions for when the boards are redesigned would be to run separate Agnd and Avcc signals from the Duet to the X4 (sacrificing a couple of the other signals in the ribbon cable between them), or to put additional thermistor inputs on the Duet so that they don't have to be connected to the X4.

[Note to RepRapPro & TPT3: if you do decide to sacrifice a couple of the other signals in the expansion connector, please leave UTDX and URXD alone! My TFT control panel needs them.]

Edited 1 time(s). Last edit at 11/26/2014 10:52AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Swaping thermistor channel when using DueX4
November 26, 2014 10:43AM
I've just released version 0.78y-dc42 at [github.com]. This includes support for the M305 X command. I've checked that swapping the thermistors for heaters 0 and 2 works, but as I have already modify my Duet and X4 to reduce the noise, I don't know whether or not the noise on the heated bed will be acceptably low using unmodified boards. Paul, over to you!

Edited 1 time(s). Last edit at 11/26/2014 11:47AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Swaping thermistor channel when using DueX4
November 27, 2014 08:28AM
@dc42
I have made the changes to the thermistor connections, included the X parameter in the config file and installed your 0.78y-dc42 firmware.

Well done David, a great suggestion by you to solve the second nozzle temperature problem.

I am very happy to report that all seems well. All 3 temperatures are reported rock steady, although the temperature of Head 2 took a very long time to stabalise at the set value after overshooting, then undershooting

bed set at 65 ranges 64.7 - 65.6 after a long time settled in the range of 64.9 - 65.4
Head 1 set standby 150 reached 150.8 and took 6 mins to reach 150
Head 2 set active 185 reached185.6 and took 5 mins to reach 185.0

The Nozzles are taking far too long to settle at the set temperatures, a 2 degree difference could have a big impact on the print quality when printing with 2 colours and the nozzles changing from standby to active to standby all the time (depending what is being printed).

I am so pleased that this change has worked. will zpl impliment this in his fork?

My external fans are working well but the reporting of the Fan rpm is very inaccurate and fluctuates wildly. Can anything be done to improve this?

Paul

edit
Meant to include the relevant part of my config file:-
;Two nozzle
M301 H1 S1 ; Two Nozzle - Set S parameter for heater 1
M301 H2 S1 ; Two Nozzle - Set S parameter for heater 2
M305 P0 H48 L-26 X2 ; Two Nozzle - H and/or L values - bed thermistor ADC correction X2 DueX4 connector
M305 P1 H48 L-26 X1 ; Two Nozzle - H and/or L values here to set the first nozzle thermistor ADC correction
M305 P2 H48 L-26 X0 ; Two Nozzle - H and/or L values - second nozzle thermistor ADC correction Duet bed connector
M563 P1 D0 H1 ; Define tool 1
G10 P1 X6 Y0 Z0 S0 R150 ; Set tool 1 offset, operating and standby temperatures
M563 P2 D1 H2 ; Define tool 2
G10 P2 X-6 Y0 Z0 S0 R150 ; Set tool 2 offset, operating and standby temperatures

Edited 1 time(s). Last edit at 11/27/2014 08:31AM by appjaws1.


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Re: Swaping thermistor channel when using DueX4
November 27, 2014 09:37AM
Hi Paul, I'm glad it is working for you. I'll update my blog entry.

By how much is the head 2 temperature overshooting? If it is a large amount, this may indicate that you need to reduce the M301 S parameter for that heater. I had to reduce S on my #1 nozzle to 0.9. The heater cartridges form RRP seem to vary somewhat, the new ones I bought from them are more powerful than the original one that came with the kit.

Are you using a 4-wire PWM fan, and if so, how do you have it connected? The tacho output on a 3-wire fan won't work properly if you PWM the ground wire, which is what the Duet does. Also, if you connect a 3-wire fan to the Fan output on the Duey and then connect the tacho output to the Duet, you may end up damaging the Duet, because 12V may get fed through the tacho output when the fan mosfet is off.

Heating a nozzle from standby (150C) to active (185C) on my system takes only 35 seconds to get within the allowed 2C of target temperature. I don't wait for the active nozzle to cool right down to standby temperature in my tool change files. Do you really thing a 2C temperature error would make that much difference to print quality?

Edited 1 time(s). Last edit at 11/27/2014 09:39AM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Swaping thermistor channel when using DueX4
November 27, 2014 10:27AM
Quote
dc42
By how much is the head 2 temperature overshooting? If it is a large amount, this may indicate that you need to reduce the M301 S parameter for that heater. I had to reduce S on my #1 nozzle to 0.9. The heater cartridges form RRP seem to vary somewhat, the new ones I bought from them are more powerful than the original one that came with the kit.

The overshoot is less than 3 degrees it's just that it takes a very long time to stabilize at the set temperature.

Quote
dc42
Are you using a 4-wire PWM fan, and if so, how do you have it connected? The tacho output on a 3-wire fan won't work properly if you PWM the ground wire, which is what the Duet does. Also, if you connect a 3-wire fan to the Fan output on the Duey and then connect the tacho output to the Duet, you may end up damaging the Duet, because 12V may get fed through the tacho output when the fan mosfet is off.

Yes I am using two 4 wire fans, connected to the normal fan output which is working well and gives me a wide range, 20% to 100%. The yellow wire I have connected to the dueX4 as suggested by zpl and when running the fan can be at a constant speed but the Fan RPM on the web interface fluctuates constantly so you never know what the speed is.

Quote
dc42
Heating a nozzle from standby (150C) to active (185C) on my system takes only 35 seconds to get within the allowed 2C of target temperature. I don't wait for the active nozzle to cool right down to standby temperature in my tool change files. Do you really thing a 2C temperature error would make that much difference to print quality?

I'm not sure what the design recommendations are for the hot end temperature but I would have thought that the tolerance would be quite small. In all the prints I have done it seems quite critical that the correct temperature is operated for the filament used and the speed of printing etc. Otherwise you can get bobbling, sagging, stray filament wisps or at the other extreme poor adhesion between layers. Maybe a 2 degree difference is quite acceptable, I need to do some more testing.


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Re: Swaping thermistor channel when using DueX4
November 27, 2014 10:50AM
Quote
appjaws1
Yes I am using two 4 wire fans, connected to the normal fan output which is working well and gives me a wide range, 20% to 100%. The yellow wire I have connected to the dueX4 as suggested by zpl and when running the fan can be at a constant speed but the Fan RPM on the web interface fluctuates constantly so you never know what the speed is.

That's not the right way to connect a 4-wire fan. The fan red and black wires should be connected to +12V and ground (you can use the Fan+ output for the +12V if you wish). The fan PWM inputs should be connected to the anode of a small signal diode e.g. 1N4148, and the cathode of that diode should be connected to the Fan- output. You will need to use the M106 option to invert the PWM. There is another way to connect the fan RPM inputs using an NPN transistor and resistor instead, which avoids the need to invert the PWM.

I presume you have just one of the yellow wires connected to the Duet ran RPM input pin?



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Swaping thermistor channel when using DueX4
November 27, 2014 11:18AM
Quote
dc42
That's not the right way to connect a 4-wire fan. The fan red and black wires should be connected to +12V and ground (you can use the Fan+ output for the +12V if you wish). The fan PWM inputs should be connected to the anode of a small signal diode e.g. 1N4148, and the cathode of that diode should be connected to the Fan- output. You will need to use the M106 option to invert the PWM. There is another way to connect the fan RPM inputs using an NPN transistor and resistor instead, which avoids the need to invert the PWM..

Months ago I tried to connect the fans as you suggested but couldn't get it to work. The original fan I tried was the same as the hot end fan but that gave a very poor range of speed when connected to the fan0 connections, You then suggested that I should obtain a 4 wire fan, which I did but as I say could not get it to work the way you suggested it be connected. In frustration I connected the 4 wire fan to the fan 0 output and it worked really well, giving me the full range of speeds.

When you have time could you give me detailed instructions on an alternative way to connect the yellow wire so that the web interface will display a steady reading

Quote
dc42
I presume you have just one of the yellow wires connected to the Duet ran RPM input pin?

Yes just one


appjaws - Core XYUV Duet Ethernet Duex5
firmware 3.1.1 Web Interface 3.1.1
Ormerod 1-converted to laser engraver, Duet wifi
OpenSCAD version 2020.07
slic3r-1.3.0, Simplify3D 4.1.2, Cura-4.4.1
Re: Swaping thermistor channel when using DueX4
November 27, 2014 06:03PM
Quote
appjaws1
When you have time could you give me detailed instructions on an alternative way to connect the yellow wire so that the web interface will display a steady reading

It's not the yellow wire that's the problem, it's the black wire. It needs to be connected to ground to get an proper tacho reading. Here are 3 different ways of driving the fan RPM control wire. In all cases, connect the fan red wire to +12V and the black wire to ground (I suggest you use the ground pin above or below the one that you have the hot end fan black wire connected to).



There is a possibility that the Duet PWM frequency for the fan output may need to be increased, because the Intel specification calls for a PWM frequency around 25kHz. However, the default Duet PWM frequency worked OK with my PWM fan.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].

Sorry, only registered users may post in this forum.

Click here to login