I am now experiencing a problem where the second extruder (the one connected to the first port on the Extrudrboard,) experiences greater than 20º C oscillation around the set point. The first extruder, connected to the Printrboard, is rock steady, as is the bed. If I set the extruders for ABS at 235ºC, the Extrudrboard extruder oscillates between 259º C and 211º C.

As noted in the last part of one of Brook's videos on the Extrudrboard, the thermistor for the potential third extruder has to be connected. Despite this requirement, unstated on the website at purchase, one wasn't' shipped and it's one of the few parts I don't have a spare of (I've been a thermocouple kinda guy and have lots of those, but no additional thermistors.) I fabbed up a 10K dummy load (resistor on a plug,) to mimic the 10K thermistor and attached it to the proper plug. This may be the problem, but I'm HIGHLY skeptical since a thermistor is electrically indistinguishable from a resistor in this circuit. Perhaps the value is wrong, but if there is some magic temperature that has to be mimic'd, it wasn't stated in the video. If readers know of any other hidden requirements, I would LOVE to hear them!!

I have run PID Autotune, but while M303 (Autotune) allows specification of the extruder to test, M301 (Set PID values) applies global, not extruder specific values.

Extrudrboard hotend > ±20ºC oscillation (solved!)

Are the extruders really that different? What happens if you plug the original extruder (with its thermistor, of course) into the second extruder ports and the second extruder into the original ports? What happens if you use the tuning parameters for the original hot end as the parameters for the second one too?

Normally, when a control loop goes into oscillation it's because one or more of the P-I-D values are too high. So it's strange that your second hot end oscillates when its PID values are lower than the original ones.

If you want to manually tune, a somewhat crude but generally effective procedure is this: You would set I (integral) and D (derivative) to zero, and adjust P (proportional) so that the temperature comes somewhere near your setpoint. It should be stable or have a small overshoot upon setpoint temperature changes, but converge to a stable offset from the setpoint. Then you increase I until the error (offset) goes to zero as quickly as possible while the system is still basically stable (oscillations get smaller over time, not larger). Finally, you turn up D until the overshoot is reduced. But be careful here: D can be overdone very easily and create oscillations. I have made the assumption that increasing values mean "more" but it's possible that the mathematical algorithms used might be inverted, in which case values of zero are not going to fly; you would start instead with very large numbers and then make them smaller.

The 100k resistor on the third thermistor input should be simulating 25C. Is that what you see on the readout? You could use smaller resistors (all the way down into the range of a few hundred ohms) to simulate higher temperatures. (I don't have any of this hardware, so I can't imagine why the third thermistor is needed.)

There were some issues I remember Brook telling me with using two different power supplies for the Extrudrboard and the Printrboard. I believe a ground-loop forms which causes the analog values from the thermistor to wildly vary when one of the heaters start up, even though the actual temperature doesn't change. Try using the same power supply for both boards, and/or put a good ground from one power supply to the other.

This is what one of the customers contacted PBHQ with:So, I've run into an issue:

when I have both extruders and the heat bed on, the second extruder (A on the extrudrboard) has some wild osculations in reported temperature. I'm not sure if this a firmware (how the temp is calculated from the voltage it gets from the thermistor) or hardware issue (the reference voltage is getting skewed when the bed turns on and off, for example the current draw from the bed heater is causing the reference voltage to droop)

It very much looks like it it is linked to the switching of the heat bed... When the bed turns on the reported Extruder A temp jumps and it stabilizes when the bed turns off

I still haven't seen the schematics (eagle files) for the extrudrboard to check the hardware side intelligently and I haven't looked deeply into the code ball I got from you'all because it doesn't compile as it is.. I have to assume the hex file came from a successful compilation so I'm thinking this zip may not be completely in sync with the state when the hex was built... maybe earlier or later then the build?

Maybe if you could try sending me another archive of the source code, and maybe if you could send me the the eagle files I could try to look for voltage sag or some other issue to cause these readings... I fairly confident that the actual temperature isn't fluctuating as wildly as the plot suggests... I'm sure the temp is fluctuating, but that is because it is following the erroneously reported temp

Has anybody report a similar issue? I've tried it with two boards so far and I'm getting the same results

Any ideas would be helpful, even if they turn out to be wrong or misleading...

thanks!-dlp

0

You do not have the required permissions to view the files attached to this post.

Since the bed is bang-bang, that would nicely match what I'm seeing on the temperature readout of the thermistor. It's not a gradual oscillation, it ramps up towards the set point, then jumps immediately to the top, ramps down to the set point and then has a hard down to the low value ad infinitum.

I see this mostly when trying to heat up for a print run. It never settles. But because I'm trying to do a run, the bed is on as well. I'll slice something bogus with no bed heat and see if that changes it.

Thanks! I should have strapped my oscilloscope to this aleady. I'm getting brain dead.

RetireeJay wrote:Are the extruders really that different? What happens if you plug the original extruder (with its thermistor, of course) into the second extruder ports and the second extruder into the original ports? What happens if you use the tuning parameters for the original hot end as the parameters for the second one too?

I haven't tried swapping the extruders (means cutting a crapload of zip ties, but so it goes...). Unfortunately, the firmware doesn't allow different values for the two extruders. You can only enter one global value (which is weird, but also true for the EStep number which is even weirder.)

RetireeJay wrote:The 100k resistor on the third thermistor input should be simulating 25C. Is that what you see on the readout? You could use smaller resistors (all the way down into the range of a few hundred ohms) to simulate higher temperatures. (I don't have any of this hardware, so I can't imagine why the third thermistor is needed.)

The firmware was compiled for 2 extruders, so I don't see any readout at all for the third thermistor (at least on the LCD, I didn't think about seeing if Pronterface would see it.) Bringing the value down to equate to room temp (well, not Texas room temp if 25C is the target ) is a good idea as well. I was really hoping it was just checking if it was an open circuit rather than looking for a min temp. That check, based on what I derived from Brook's video, is in the Extrudrboard chip not the Marlin firmware.

Thanks for the PID manual tuning info. I tried paying with that some but I was pretty ham fisted about it.

The bed bang bang heating is definitely impacting the second extruder.

The second extruder will level out fine at target temp until the bed is heated. When the bed comes on, it starts doing it's oscillation.

I attached scope probes to the power line of both the bed heater and the second extruder heater (top is bed, bottom is extruder.)

Normally, while the bed is heating and the extruder is at temp, they look like this (I'm still a bit confused about why the heating occurs when the voltage drops to zero, but the polarity of everything is correct.):

But once the bed hits target temp and stops bang-banging, the heating cycle for the second extruder kicks into high gear:

I'm still confused about what, exactly is going on (the first, Printrboard, extruder is rock steady,) but it's clear that there is a linkage between the bed bang banging and the extruder PID/thermistor cycle.

The way the circuit works, one terminal of the bed heater is constantly connected to +12 volts. The other, terminal is connected to a MOSFET transistor whose other terminal is ground. In order to avoid overheating the transistor, it operates as a switch: fully off = 12V at zero amps = zero power dissipation; fully on = a few millivolts at 10 amps = a few tens of milliwatts dissipation. (If it tried to do "analog" control at 6V for example, then it could be carrying 5 Amps and be dissipating 30 watts.)

The problem seems to be associated with voltage drops in the conductors due to high current. It might have to do with the layout of the daughter board.

Can you get your scope onto the +12V and the +5V lines on the daughter board? For that matter, can you scope the "ground" voltage on the daughter board relative to the main ground on the Printrboard?

Upon reflection, I realized you may be wondering, "isn't an on/off circuit just a bang-bang controller?"

So here's what is going on. If you think of a very simple house thermostat, it "clicks" on when the house temperature crosses a certain setpoint temperature, and the HVAC system starts pumping energy at a fixed rate (in or out of the house, depending) until the inside temperature passes back across that setpoint temperature with a little hysteresis; then the system shuts down. This is called the "bang-bang" control. The controlled location must measurably oscillate back and forth across the setpoint. The temperature cycling is relatively slow.

However, we want to use a Proportional - Integral - Derivative controller to minimize thermal variations. How can we do this with a simple on/off switch? The answer is that we switch the heat on and off quite rapidly relative to the time constant for heat to flow and diffuse from the heater. So it's a "duty cycle" control that creates the effect of an analog heat control by using a digital control rapidly.

RetireeJay wrote:Can you get your scope onto the +12V and the +5V lines on the daughter board? For that matter, can you scope the "ground" voltage on the daughter board relative to the main ground on the Printrboard?

For the previous traces above I attached: - Probe1-GND to a spare ground line from the Printrboard power supply - Probe1-SIG to the 12V line of the bed heater - Probe2-GND to a spare ground line from the Extrudrboard power supply - Probe2-SIG to the 12V line of the HotendA heater

<bitch> This would all be a LOT easier if I'd go ahead and strip everything out of the frame like Brook does on his Extrudrboard video. I haven't gone that far yet, but given the surreal number of hours I've now invested in trying to get this Extrudrboard/LCD combo to work instead of having a working printer, I suppose I should give up and do so. Especially since this is starting to smell like a product return. $130 for the LCD and Extrudrboard plus well over 30 hours troubleshooting. aargh. sorry. </bitch>

The EXT plug on the Printrboard supplies 5V from the Printrboard power supply. It's the bottom left pin in the picture below. I've highlighted all the points it attaches to. Unless I can get a probe onto the header pin and still get the ribbon header on, I can't really get a reliable test point off the surface mounts to which it attaches while the bot is running. I could maybe hold probe up against the MS-A pads, but that's going to make a noisy trace.

extrudrboard_layout_5V.jpg

For the ground comparison, are you looking for a single probe, ground attached to Printrboard ground and Signal attached to Extrudrboard ground?

Thanks for the help!!

0

You do not have the required permissions to view the files attached to this post.

This should be easy: Connect your probe ground to Printrboard ground, and then look at the signals on the unused thermistor pins. One of them is ground, and the other is +5V through a resistor - which should be in effect +5V if you have normal 1M or 10M resistance probes.

What we're looking for here is variations measured in tens of millivolts, so crank up the gain. If you see a "bounce" that correlates with the heated bed circuit on/off then you've found the cause of your temperature "oscillation." The next question would be, why does this "bounce" happen?

lwalkera wrote:There were some issues I remember Brook telling me with using two different power supplies for the Extrudrboard and the Printrboard. I believe a ground-loop forms which causes the analog values from the thermistor to wildly vary when one of the heaters start up, even though the actual temperature doesn't change. Try using the same power supply for both boards, and/or put a good ground from one power supply to the other.

RetireeJay wrote:This should be easy: Connect your probe ground to Printrboard ground, and then look at the signals on the unused thermistor pins. One of them is ground, and the other is +5V through a resistor - which should be in effect +5V if you have normal 1M or 10M resistance probes.

Sorry, I clearly drank too much last night (birthday and a bottle of Texas Gin , which, in retrospect is really ironically named 'Genius Gin' )

It's probably not the 5V. It's probably the grounds of both boards are varying. Try soldering a large wire between one of the mounting holes on each of the boards, or just connect the grounds of your two power supplies together. The large IR drop on the printrboard power supply is probably causing it's ground to move higher than the other power supply. To verify this, take a scope probe and connect the ground clip to one of the boards, and measure the ground of the other board.

RetireeJay wrote:This should be easy: Connect your probe ground to Printrboard ground, and then look at the signals on the unused thermistor pins. One of them is ground, and the other is +5V through a resistor - which should be in effect +5V if you have normal 1M or 10M resistance probes.

Sorry, I clearly drank too much last night (birthday and a bottle of Texas Gin , which, in retrospect is really ironically named 'Genius Gin' )

Are the connections referred to above comparing

Probe 1 - 12V on extrudrboard

Probe 2 - 5V on extrudrboard

or

Probe 1 - ground on printrbrboard

Probe 2 - ground on extrudrboard

or (and this is my guess)

Probe 1 - 12V bed heater on printrboard

Probe 2 - ground (then) 5V on extrudrboard unused thermistor

Well, you did the first part the way I meant: one probe on the extruderboard +5V (proxy) and one probe on the main board heater circuit. And you did see a change. Now what lwalkera and I would like to see is one probe on the extruderboard ground (at the thermistor header) and the other probe on the main board heater circuit. To answer the question of whether the 5V is changing all on its own, or does its change merely reflect a change in the extruderboard ground voltage.

RetireeJay wrote:Well, you did the first part the way I meant: one probe on the extruderboard +5V (proxy) and one probe on the main board heater circuit. And you did see a change. Now what lwalkera and I would like to see is one probe on the extruderboard ground (at the thermistor header) and the other probe on the main board heater circuit. To answer the question of whether the 5V is changing all on its own, or does its change merely reflect a change in the extruderboard ground voltage.

This is the moment when the Bed heater goes from bang bang heating to stable. There is about a 100mV drop on the Extrudrboard ground when this occurs. This is also when the Extrudrboard thermistor starts oscillating.

From the schematic, it does not appear that there is any A/D conversion or analog buffering going on on the Extruderboard. But the excitation for the thermistor comes from the 5V supply on the Extruderboard. And anything that changes the ground potential of the Extruderboard relative to the ground potential of the Printrboard will be seen by the Atmel chip as a "signal" - and only a few millivolts are required to generate the temperature swings you are seeing.

There are a number of "best practices" for good grounding and signal integrity. Heavier conductors are always good, but there are other things too, like avoiding "ground loops" and having a "spider" pattern where all circuits with different signal characteristics have their own independent "leg" from the central "body" where all grounds reach a common point. But not a lot of that is under your control as a purchaser of the boards. Look very carefully at all of lwalkera's recommendations regarding single or dual power supplies, supplemental bonding, and so on. I'm sure you can scour Wikipedia or other web sources to look for things about good grounding practices.

Sigh, both the LCD controller and the Extrudrboard are turning out to be unusably flawed.

I tried tying a ground between the two power supplies and that didn't make a difference (even with no tie between them, they have a shared ground somewhere.) I've got a monster 750W power supply from an old Dell server, but it's got it's got gruesome funky molex connectors. Otherwise neither the 300W or 320W I'm using now is going to cut it alone.

This is all turning out to be a lot more expensive than the RAMPS 1.4 w/ LCD rig I bought. I'm thinking that the $130 for the Extrudrboard and LCD is a bust, I should return them and run the bot stock. Throwing more money at it is depressing, especially since the entire RAMPS rig with LCD only cost $165.

You need to connect a heavy wire between both boards, not just connect the two grounds of the power supplies together. On the power supply heating the heatbed, the high current causes a voltage drop across the wire connecting it to the power supply, raising it's ground relative to the power supply which is probably earth grounded through the third pin on the wall cord. When you just connect the grounds of both power supplies together you're not really doing anything since they are connected together though the earth connection in the wall.All of the mounting holes on both boards are connected to the ground planes on top, bottom, and inside the board. Try running some wire between the mounting holes on both boards.

lwalkera wrote:You need to connect a heavy wire between both boards, not just connect the two grounds of the power supplies together. On the power supply heating the heatbed, the high current causes a voltage drop across the wire connecting it to the power supply, raising it's ground relative to the power supply which is probably earth grounded through the third pin on the wall cord. When you just connect the grounds of both power supplies together you're not really doing anything since they are connected together though the earth connection in the wall.All of the mounting holes on both boards are connected to the ground planes on top, bottom, and inside the board. Try running some wire between the mounting holes on both boards.

Thanks for the help!!

After a surprisingly bloody (I managed to cut myself in a really stupid way,) wiring of the two boards together (16ga wire between a mounting hole on the printrboard and one on the extrudrboard,) There is joy!

Despite what I saw on the traces below, which led me to believe nothing had really changed, I noticed that the thermistor was actually staying pretty steady (a couple degrees oscilation still occuring, but only about 2C in either direction, PID tuning should help that.) I went ahead and tried a hilbert cube dual extrusion print and it was looking pretty good!

Here are the traces, note how noisy the last one (during the dual extrusion print run,) is!

Tim, I'd suggest if you want to work on this any more (maybe you don't!) that you connect the ground leads for both scope probes to the same Printrboard ground. When you connect one scope ground to the Extruderboard and one to the Printrboard, you are in fact creating a parallel grounding path through the scope leads connecting Ex-ground to PB-ground. Hopefully your good results will continue after you remove the scope leads.

I'm bumping this thread because it helped me solve this exact same issue I was having with my Printrbot Plus 1404 dual extruder PRE-ASSEMBLED. That's right. Pre-Assembled.

When I started having this issue, I emailed back and worth with Printrbot for over a month, but they could not help me resolve it, even though they built the thing and it was under warranty. Eventually I found this post and started looking more closely at the grounding wire. I found that the way the wire is "attached" to the two boards at the factory is far from secure; on the Printrboard side it was so loose you could jiggle it, and tightening the screw enough to cause the wire to touch the board would have cracked the board because of the lack of mounting posts.

So I used some washers to make the connection more secure on both sides, and used a multimeter to check continuity. Everything looked good, but when I fired it back up the oscillations had only reduced to ±10ºC, not disappeared.

Following the advice of this post, I soldered a 12 AWG wire (EDIT: the factory wire is incredibly thin, probably 24 or 26 AWG) between the two closest mounting holes. Sure enough, the oscillations are now barely there, and I suspect another PID tuning will make the second extruders temp run as smooth as the firsts always has.

Probably a little late, but I encountered the same issue and since Printrbot no longer sells the extrudrboard I had to go with a third party remake. I had issues since the third party remake did not have the nice mount screw grounds and after finding an alternate ground still gave +-10 degree oscillations. Since one from the leads from the thermistor goes to ground I ended up bypassing the extrudrboard and connected that wire to the ground on the mounting screw of the printrboard it's self. The temperature of the second thermistor is now as solid as the first.