Found an issue yesterday that I couldn't find anyone else mentioning.
I have swapped my Da Vinci 1.0 hot end for a E3D V6. In the conversion I continued to use the small circuit card from the Da Vinci hot end with connector break outs originally for the Extruder fan and the thermistor, I have wired the 12V hot end fan to the 12V power supply, so it is powered at all times. I have re-purposed the 5V extruder fan from the Da Vinci hotend as a layer fan with intentions of controlling the fan from Repetier-Host.
I had the .91 firmware loaded without issue. It was printing fine. When I would run ABS I would manually unplug the Layer fan from the connector, as I didn't have fan control from Host. I flashed with .92 firmware a few days ago and everything seemed to work fine. I could control the fan from Host and was able to setup my configurations from Slic3r for ABS and PLA. The issue became apparent when I tried to print PLA.
As soon as the fan turned on when plugged into the Da Vinci circuit card, the thermistor values began going haywire, over and undershooting by as much as 10 degrees. it would only go for a minute or so before the machine LCD would show a message of "Heater Discoupled" and the extruder would stop and the hot end would cool.
I did some playing around and found that it had nothing to do with the fan cooling anything. I could replicate it by taking the fan off it's mount and reversing airflow. I could avoid it from happening if I wired the fan directly to the pins on the main CCA in the back of the machine. I'm not sure what's happening on that small CCA, but whenever a load is hung off the fan connector on that CCA, the thermistor input is messed with. Wiring directly to the main CCA in the back of the machine appears to work and is an adequate workaround.
Ideally, I'd like to be able to use the connector that is located right there to minimize wiring and keep the traveling carriage clean. Does anyone know of a fix?
decouple extruder is a feature of 0.92 - a "safety feature"
it is already mentioned here https://forum.voltivo.com/showthread.php?tid=7975
with explaination and workaroud
From the viewpoint of someone that's been in electronics design and repair for 35+ years, I would think if Davinci is sharing a gound connection to that breakout PCB on the extruder, that the ground currents from the VERY noisy fan motor is what's causing the noise on the thermistor readings. Digital/sensor grounds and analog power/motor grounds are always separated in proper designs, only coming together at a single point near the main power supply.
It's a good bet that a 47 microfarad capacitor across the fan would reduce it considerably, as those BDCM fans have huge current spikes when they run.
The thermistor characteristics cause the most important ADC readings to be compressed into a very small range near the low end of the ADC, and any noise spikes on the thermistor will cause huge random read errors. It only needs one or two huge spikes to trip the safety checks in the firmware.
Really, the fan should have its own ground and power source straight back to the main PCB, and be unconnected in any way to the thermistor (or extruder, for that matter) ground. That could also cause intermittent errors during bed auto calibration, as the extruder is grounded as well.
I understand the safety feature, however, the discussion thus far seems to be related to cooling air impacting the hotend actually affecting the temperature reading. This is not the case I'm describing. I get significant variation in the termistor readings as soon as a load is pulled from the fan connector on the break-out PCB. I went as far as to locate the fan outside of the enclosure and activate it and still saw the variations that lead to the decoupling. I understand that I could increase the window on the application of the safety-feature, but that won't address the inaccurate temperature readings that are, according to the temperature and output plots, driving erratic heating profiles.
I tend to agree with PCB_Man that there is a grounding and noise issue with the Da Vinci Breakout PCB that is driving erroneous data on the thermistor lines when a noisy load is applied on the fan circuit. I'm curious as to if this is a specific fault of my hardware, or has been replicated within other's hardware.
Whatever the case, I would recommend to others to using the Da Vinci breakout PCB to power any sort of with the .92 firmware. Within the .91 firmware, I do not see any variations in the thermistor values when the fan is running...however, there is no fan control inherently within the .91 firmware. I haven't checked myself with a multimeter, but are the thermistor signals passed straight thru the Break-out PCB to the main board, or is there circuitry on the break-out pcb that those signals are affected by? Ultimately, the best path may be to pull both set of signals directly to the main PCB via a new wiring harness and eliminate the breakout pcb all together.
so far there should not have difference of reading temperature between 0.91 and 0.92, and fan control feature are identical, none by default, need to use repurpose feature to have one.
which 0.91 fw are you refering to ?
I got the .91 firmware in a zipped file that included an installer "dav10-master.zip". This was prior to me understanding where the original source for the code was and whom was responsible for it. The installer didnt' work, and I ended up flashing via a Bossac command line.
I believe the issue is the Da Vinci hardware, particularly the Break-out PCB. I don't have the issue at all when I run direct wires from the fan to the pins on the main PCB. If I run a print with the fan enabled, but no fan plugged in, I don't have any issue...but as soon as I plug the fan into the break-out PCB, without stopping the print, I see massive jumps in the temperature readings. +/- 10 degree swings.....roughly 20 jumps in the 20-30 seconds before the heater decouples. These can't be real values either, seeing it jump from 230 to 245 down to 220 in one refresh cycle of the software.
Not sure....but .91 works well, and running a dedicated fan cable from the main PCB also works. ]
you can try updated version of 0.91 - I released RC just before Xmas, it allows fan control and does not have decoupled test
it may be more easy to do measurement using fan
So you say it happens with the new extrusion fan you've installed, which is pulling 5v from the stock fan connector, right? And it doesn't happen with the stock extruder fan connected to the same place? Then maybe something is wrong with your new fan?
No, it happens with the stock fan plugged into the break-out PCB. The E3D hot end comes with a 30mm(?) 12V fan of it's own to cool the hotend. I have that fan wired up independently off a 12V supply, separate from the break-out PCB. I took the existing 5V fan from the stock da vinci extruder setup and re-located it as a layer fan for PLA and left it plugged into the Break-Out PWB. I'm running with a bowden extruder, and don't currently have a fan on that yet.
Again. without changing ANYTHING physcially in my setup, the fan powers up without issue and the thermistor values remain constant with .91 firmware (however, I have no control over turning the fan on or off). I just flash the firmware with .92 ,with the settings to extend control of the fan to Repieter-Host, and the thermistor values go haywire as soon as the fan powers on.
The fan that I'm using is the stock 50mm fan that was originally cooling the extruder.
I think I'm actually suffering of the exact same issue now! I've only been using 0.92 since a few days ago and I'm getting many 'decoupled' errors. Initially I thought it'd be the crappy connector of the heater cartridge, since many other people have reported it failing. So I've replaced it, and also the heater cartridge itself, as I had a cheap 40W waiting to be installed. The issue however still persists, and I'm pretty sure it's related to the use of the extrusion cooling fan, which uses the re-purposed connector of the stock fan (whereas the stock fan is now wired directly to the 5v output of the power supply). It seems to happen only during printing but as soon as I enable the fan in Repetier Host or gcode, the temperature readings become crazy, over and under-shooting by 10ºC or more, like a roller-coaster, even if the fan itself is not actually blowing into the nozzle. It's very weird.
I've downgraded to 0.91 and so far (3 short prints) so good, no temperature issues whatsoever. In fact the new heater cartridge provides the flattest temperature curves I've ever seen, even with the stock extruder fan blowing more directly to the heat sink. It's super stable and heats up a lot faster than the old one.
MAtt, did you figure out what it was?
did you try the work around to avoid decoupling : changing decouple parameter as said above ?
No, not yet. But I'd rather find the root cause that use that workaround... the fact is that the temperature readings are reported wrong (also in the LCD) when the fan is enabled. I presume the same thing will happen with the watchdog disabled, only the print job won't be killed, so it could have other (bad) consequences.
can you reproduce the problem using only manual control/gcode ?
I'll have to give it another try, but it seemed to happen only when the fan is enabled (manually or via gcode) while you are actually printing, but not with the printer idle.
you mean heating is not enough you need also extruding ?
Apparently, yeah. But I'd want to do some more tests before confirming that.
So I'm doing some tests now. First thing I found out: it doesn't need to be printing to reproduce the issue. I could just do it with the heater and the fan ON, but the trick is that the fan speed needs to be set to something below 100%. At 100% the temperature readings are normal, stable, but going something like 70-80% will trigger the decoupled heater error in little more than one minute. Other values like 50-60% and 85-99% will cause rapid temp fluctuations but not large enough to trigger the watchdog.
Here is an example of how things look:
Is the curve similar or different with 0.91 ?
On 0.91 the temp curve is almost perfectly flat
Looks like I've found the issue though. I noticed that Repetier 0.92 comes configured to use PDM instead of PWM to control the fan speed.
// You can use either PWM (pulse width modulation) or PDM (pulse density modulation) for
// extruders or coolers. PDM will give more signal changes per second, so on average it gives
// the cleaner signal. The only advantage of PWM is giving signals at a fixed rate and never more
// then PWM.
#define PDM_FOR_EXTRUDER 1
#define PDM_FOR_COOLER 1
This feature was added here: https://github.com/repetier/Repetier-Fir...7c0ec034bf
Setting #define PDM_FOR_COOLER to 0 appears to fix the problem for me
Maybe we should automatically do this in the davinci firmware when REPURPOSE_FAN_TO_COOL_EXTRUSIONS is set to 1?
Good catch ^_^
yes what about this :
#define PDM_FOR_COOLER 0
#define PDM_FOR_COOLER 1