Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heated bed / ground bounce issues #26

Open
FlyingLotus1983 opened this issue Jul 20, 2015 · 1 comment
Open

Heated bed / ground bounce issues #26

FlyingLotus1983 opened this issue Jul 20, 2015 · 1 comment

Comments

@FlyingLotus1983
Copy link
Contributor

Peter Shabino posted this to the FirePick group, copying and pasting it here so that it doesn't get forgotten about.


Finally got the heaters to work as expected. (missed the #def for 3D printing)

While trying to recreate the bed heater fet damage I notice something odd on the graphs. Whenever either of the heaters would turn on both thermistors would drop ~10-20C and when the heaters turned back off the temp would pop back up the same amount.

Poking around the circuit I am seeing ~30mV of ground bounce on the bed heater thermisor ground pin vs the main power connector ground pin when the hot end heater turns on. The heat bed also cause shifts but no where near as bad since the power and ground lines for the heater run external to the logic cards and directly back to the power supply. Watching the 5V rail on the power supply it jumps up ~20mV when the heaters turn on (loads the 12V regulators which compensate and raise all the voltages in the power supply a small amount.)

Another thing that may cause issues is each thermistor is basically on it's own LDO regulator and not a common domain with the AREF pin on the arduino. Looking though the code I don't see the analogReference() function called so the default of the power rail is used. So the ADC is comparing the voltage divider generated off a random LDO with the 5V coming out of the PC's USB port. The downside of this is depending on the PC / USB cable you use your reference voltage can very greatly causing all your analog measurements to be off.

Not sure what smoothies plan is for analog measurements since it is running off 3.3V. But assuming your using the same total temperature range the affect of the ground bounce will only be worse on the temperature reading. To fix this issue you really need to have a dedicated analog ground on which only the tool regulator, eeprom, and thermistor cap are connected. then run a isolated trace from that pin on each module back to the ground pin on the arduino socket. The goal here is to keep any high power current paths from traversing between the arduino and the sensors.

As for the multiple power regulator issues I think we can calibrate the offsets out using the eeproms. BUT... relying on the USB power voltage from a random PC as your reference is a bad idea. Would recommended adding another 5V LDO reg to the AREF pin of the arduino and update the code to use this pin as the ref voltage instead of USB power.

Looking at the 3.3V support I think it is going to cause you headaches when folks switch over to 3.3V boards. The extra voltage divider without a opamp greatly affects the slope of the response curve by loading down the 4.7k pull up resistor. This can be calibrated out but since it is a nonlinear curve your looking at a lot of work if it has not been done before. Attached is a quick graph of the output voltage from the two circuits over a small range (thermistor 80 ohms to 90 ohms) normalized to the 5V output levels. Only way to really fix this is to add a voltage follower op amp between the thermistor divider and the 5V to 3V divider. This could go on either the EMC or the EATs.

If you want to simplify things even more on the next pass switch the I2C bus to 3.3V and swap out the 5V LDO on each tool with 3.3V ones. You still need to add a LDO (3.3V in this case) to the arduino but gets around all the messyness with the voltage dividers, opamps, and jumpers. More or less run the 5V arduino at 3.3V analog voltage ref and I2C bus all the time.

But do have some good news...

Verified the hot end and bed temp matches what is reported using my thermocouple reference +/- a degree or two with the heaters off.
The EPO button does shut down the Heaters when pressed.

So far no issues with the Hot bed fet... BUT I may have wired mine differently than everyone else. On my machine I have a dedicated 16 gauge wire pair from the power supply 12V2 and ground pins up to the EAT. Then from the EAT down to the heater bed I have 18 gauge wire. With this setup I see a IR drop voltage (measured from the power supply ground pin on the EAT to the power supply ground pin on the EMC) of 0.275V. Across the fet I see a drop of 0.091V and a current draw of 7.7A which gives the power loss in the fet of about 0.75W. They fet on mine stayed cold to the touch even after running the heat bed up to 110C.

Would be interesting to see what kind of voltage drop folks are seeing on a official build between Logic reference ground on the EMC and the power supply ground input pin on the ETA. If this drop was significantly higher It would explain any fet heating / death.

It is very late here now so excuse anything that came across as gibberish. Brain is already starting to fall asleep.

Later,
Peter

image

@DouglasPearless
Copy link

Hi Peter,

As I am using a MotionBoard now, the LDO regulators on my EAT00x boards are all 3v3 LDO parts so my EAT00x boards are 3v3 and not 5v ones.

On my EMC02 I set the jumpers for the AIN pins to 5V to short out the inline resistor that is there so the circuit looks the same as the one Smoothie uses EXCEPT for the power to the Thermistor, it is via the LDO.

I am looking at grabbing one of my ‘spare’ EAT001’s and routing just the 3V3 used by the thermistor via a wire directly to the analog reference on the MotionBoard and this will make the analog circuit identical to Smoothie to see if this works better.

Neil: Are you open to changes to the interface to the tool boards, primarily to bring an AREF to the board?

Cheers
Douglas

On 20/07/2015, at 12:31 pm, Neil Jansen notifications@github.com wrote:

Peter Shabino posted this to the FirePick group, copying and pasting it here so that it doesn't get forgotten about.

Finally got the heaters to work as expected. (missed the #def for 3D printing)

While trying to recreate the bed heater fet damage I notice something odd on the graphs. Whenever either of the heaters would turn on both thermistors would drop ~10-20C and when the heaters turned back off the temp would pop back up the same amount.

Poking around the circuit I am seeing ~30mV of ground bounce on the bed heater thermisor ground pin vs the main power connector ground pin when the hot end heater turns on. The heat bed also cause shifts but no where near as bad since the power and ground lines for the heater run external to the logic cards and directly back to the power supply. Watching the 5V rail on the power supply it jumps up ~20mV when the heaters turn on (loads the 12V regulators which compensate and raise all the voltages in the power supply a small amount.)

Another thing that may cause issues is each thermistor is basically on it's own LDO regulator and not a common domain with the AREF pin on the arduino. Looking though the code I don't see the analogReference() function called so the default of the power rail is used. So the ADC is comparing the voltage divider generated off a random LDO with the 5V coming out of the PC's USB port. The downside of this is depending on the PC / USB cable you use your reference voltage can very greatly causing all your analog measurements to be off.

Not sure what smoothies plan is for analog measurements since it is running off 3.3V. But assuming your using the same total temperature range the affect of the ground bounce will only be worse on the temperature reading. To fix this issue you really need to have a dedicated analog ground on which only the tool regulator, eeprom, and thermistor cap are connected. then run a isolated trace from that pin on each module back to the ground pin on the arduino socket. The goal here is to keep any high power current paths from traversing between the arduino and the sensors.

As for the multiple power regulator issues I think we can calibrate the offsets out using the eeproms. BUT... relying on the USB power voltage from a random PC as your reference is a bad idea. Would recommended adding another 5V LDO reg to the AREF pin of the arduino and update the code to use this pin as the ref voltage instead of USB power.

Looking at the 3.3V support I think it is going to cause you headaches when folks switch over to 3.3V boards. The extra voltage divider without a opamp greatly affects the slope of the response curve by loading down the 4.7k pull up resistor. This can be calibrated out but since it is a nonlinear curve your looking at a lot of work if it has not been done before. Attached is a quick graph of the output voltage from the two circuits over a small range (thermistor 80 ohms to 90 ohms) normalized to the 5V output levels. Only way to really fix this is to add a voltage follower op amp between the thermistor divider and the 5V to 3V divider. This could go on either the EMC or the EATs.

If you want to simplify things even more on the next pass switch the I2C bus to 3.3V and swap out the 5V LDO on each tool with 3.3V ones. You still need to add a LDO (3.3V in this case) to the arduino but gets around all the messyness with the voltage dividers, opamps, and jumpers. More or less run the 5V arduino at 3.3V analog voltage ref and I2C bus all the time.

But do have some good news...

Verified the hot end and bed temp matches what is reported using my thermocouple reference +/- a degree or two with the heaters off.
The EPO button does shut down the Heaters when pressed.

So far no issues with the Hot bed fet... BUT I may have wired mine differently than everyone else. On my machine I have a dedicated 16 gauge wire pair from the power supply 12V2 and ground pins up to the EAT. Then from the EAT down to the heater bed I have 18 gauge wire. With this setup I see a IR drop voltage (measured from the power supply ground pin on the EAT to the power supply ground pin on the EMC) of 0.275V. Across the fet I see a drop of 0.091V and a current draw of 7.7A which gives the power loss in the fet of about 0.75W. They fet on mine stayed cold to the touch even after running the heat bed up to 110C.

Would be interesting to see what kind of voltage drop folks are seeing on a official build between Logic reference ground on the EMC and the power supply ground input pin on the ETA. If this drop was significantly higher It would explain any fet heating / death.

It is very late here now so excuse anything that came across as gibberish. Brain is already starting to fall asleep.

Later,
Peter

https://cloud.githubusercontent.com/assets/6293202/8768617/a723a6c4-2eb9-11e5-8f84-841ba87e333c.png

Reply to this email directly or view it on GitHub #26.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants