Author Topic: Can Heat from Heating Resistor Damage Arduino Board?  (Read 18705 times)

0 Members and 1 Guest are viewing this topic.

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4317
  • Country: us
  • KJ7YLK
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #25 on: December 28, 2015, 07:57:37 pm »
We cannot see your diagram.
If you remove the connection between the transistor gate and the Arduino, does the transistor turn on?  (i.e. do the transistors heat?)
If the transistor won't turn off when it isn't connected to the Arduino, then either the transistor is shorted or you don't have an effective pull-down resistor for the gate circuit.
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #26 on: December 28, 2015, 08:22:20 pm »
Hey Richard, not sure why the pic isn't working. I've heard that the host (tinypic) may be blocked on some work computers

Here it is again on a different host

Also attached it below on the EEVBlog host (click paperclip)

 

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4317
  • Country: us
  • KJ7YLK
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #27 on: December 28, 2015, 08:41:40 pm »
OK. If you disconnect that green wire from the Arduino board pin 3, does the LED/heat turn off?
 

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4317
  • Country: us
  • KJ7YLK
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #28 on: December 28, 2015, 08:47:50 pm »
If you REALLY have your breadboard plugged as shown in your diagram, then neither end of the 100 ohm resistor is connected to anything and the gate of the transistor is floating in the air.
 

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #29 on: December 28, 2015, 09:04:08 pm »
@Potomac:

Zerost: As Richard says, the 100R in your Fritzing diagram isn't connected to anything and so there is no path from the Arduino to the mosfet Gate. If the mosfet is ON anyway... it's probably shorted and you need a new mosfet.
However, sometimes a mosfet with a "floating" or disconnected Gate can be turned on by static charges, even from your finger. This is one reason why the Gate pulldown resistor should be used, and should connect the Gate to the Source directly.

First: You need a current-limiting resistor in series with the LED on your Fritzing diagram. 220-280 ohms should do it. With a 4.5 volt supply the LED may burn out without the resistor, if the mosfet turns on. Also I think you have the LED in the wrong way around, I think the kinked lead is the Anode and should go towards the positive battery (or powersupply) terminal. The LED should have a flat spot on the lower edge rim, this indicates Cathode. Also the Anode lead is longer on most LEDs if it hasn't been cut. Also the Cathode of the LED is usually the "cup" structure inside the LED. SO Anode goes to battery positive, Cathode goes to mosfet Drain. (The currentlimiting resistor can go on either side of the LED but general practice is to put it on the Anode side between the LED and battery.)

Second: Richard's test is trying to see if perhaps the mosfet is shorted from Drain-Source. If the heat resistor, or LED+resistor, stays on with the wire to Arduino Pin 3 disconnected, the mosfet may be bad.

Third: The 100 k gate pulldown resistor should go directly from the Gate pin to ground (mosfet Source pin). You have it on the wrong side of the 100R gate series resistor. This is a minor point, though, and won't make any real difference in your case.

Fourth: The breadboard wiring looks good except for the 100R resistor error, but try to avoid having wires crossing over on the breadboard. This is also a minor point but will help avoid confusion in the long run. Just change which holes you are using for the wires plugging into the mosfet pin strips so those wires don't cross.

ETA: On the breadboard, in the central area the 5-hole columns have all holes connected together vertically, but they are _not_ connected sideways unless you connect them with a jumper. This is why your 100R isn't connected to anything.  The columns are also not connected across the very central gap. (This is where you'd put a standard "DIP" integrated circuit package if you were using one, across this gap.)

The power busses on the top and bottom of the breadboard _are_ connected all the way across horizontally, as the Red and Blue lines are indicating. These rows are used for positive and negative power rails, and you jump them over to the central columns as necessary to feed power and ground connections to your circuit.

Some larger breadboards have these power rails split into left and right halves, and this will usually be indicated by a corresponding break in the red and blue (or black) lines.
« Last Edit: December 28, 2015, 09:13:35 pm by alsetalokin4017 »
The easiest person to fool is yourself. -- Richard Feynman
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #30 on: December 28, 2015, 09:42:08 pm »
I think I fixed the silly mistake of the floating pin here, but when I implement this, I still don't get PWM.  And when I disconnect the green cable from pin 3, the heating resistor stays hot.

Hope your patience isn't wearing thin. I feel like this is a simple circuit. Don't know what's going wrong.  |O

I attached a new Fritzing JPEG.  (Again, LED replaced with a heating resistor, and battery pack replaced with AC-DC 4.5 volt)

I tried uploading the FZZ file to EEV blog but it won't let me.  This one can be opened in the Fritzing program.  https://www.sendspace.com/file/m9nkut
« Last Edit: December 28, 2015, 09:43:54 pm by Potomac »
 

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4317
  • Country: us
  • KJ7YLK
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #31 on: December 28, 2015, 09:55:16 pm »
Everyone here would feel better if you connected that 100K resistor directly from the gate to the source pins on the transistor.
Remember that each row of five holes is connected together. 
There are plenty of holes left in the breadboard to put the resistor directly across the transistor pins.

If the 100K resistor pulling "down" (to ground) on the transistor gate cannot cause the transistor to turn off,
then the transistor is shorted or otherwise defective (or mis-labeled).
 

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #32 on: December 28, 2015, 10:34:09 pm »
Everyone here would feel better if you connected that 100K resistor directly from the gate to the source pins on the transistor.
Remember that each row of five holes is connected together. 
There are plenty of holes left in the breadboard to put the resistor directly across the transistor pins.

If the 100K resistor pulling "down" (to ground) on the transistor gate cannot cause the transistor to turn off,
then the transistor is shorted or otherwise defective (or mis-labeled).

Yep, I concur.

Just for fun I put Potomac's code into a ProMini and hooked up the circuit. (I took out the long delay between cycles though.) I used a #1156 automotive brake light bulb as the load, powered from a separate 12 volt supply. The ProMini itself is powered from a 5 volt supply. The brake light bulb uses nearly 2 amps when fully bright. I used an IRF3205 mosfet, a 100R gate resistor and a 100k gate pulldown connected from Drain to Source.

The easiest person to fool is yourself. -- Richard Feynman
 

Offline aaronwiz

  • Contributor
  • Posts: 11
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #33 on: December 28, 2015, 10:56:10 pm »
I think I fixed the silly mistake of the floating pin here, but when I implement this, I still don't get PWM.  And when I disconnect the green cable from pin 3, the heating resistor stays hot.

Hope your patience isn't wearing thin. I feel like this is a simple circuit. Don't know what's going wrong.  |O

I attached a new Fritzing JPEG.  (Again, LED replaced with a heating resistor, and battery pack replaced with AC-DC 4.5 volt)

I tried uploading the FZZ file to EEV blog but it won't let me.  This one can be opened in the Fritzing program.  https://www.sendspace.com/file/m9nkut
I'm starting to suspect your mosfet is burned out. I would test it first without pwm, and make sure the mosfet can actually switch the load off. Write a simple program that just writes the gate pin low, and make sure the LED/heating resistor is off. If the LED/heating resistor is still on the mosfet is bad or the microcontroller's output pin is burnt out.
 

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #34 on: December 28, 2015, 11:01:35 pm »
Potomac reported that the Pin 3 PWM does fade an LED properly when connected directly, so it's not that.

I think the mosfet is probably shorted.
The easiest person to fool is yourself. -- Richard Feynman
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #35 on: December 28, 2015, 11:27:20 pm »
Should the prongs of a MOSFET and other IC's always be stored in foam?  (Or a metal electrostatic bag?)
 

Offline aaronwiz

  • Contributor
  • Posts: 11
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #36 on: December 28, 2015, 11:32:56 pm »
Should the prongs of a MOSFET and other IC's always be stored in foam?  (Or a metal electrostatic bag?)
It is good practice, but it really is not that important especially with modern ICs and MOSFETS. In fact, most devices have built in protection diodes to protect against ESD.
 

Offline Richard Crowley

  • Super Contributor
  • ***
  • Posts: 4317
  • Country: us
  • KJ7YLK
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #37 on: December 28, 2015, 11:35:05 pm »
Should the prongs of a MOSFET and other IC's always be stored in foam?  (Or a metal electrostatic bag?)

All semiconductors can be damaged by electro-static discharge (ESD).
Semiconductors with very high input impedances (like a FET) are particularly vulnerable.
It is pretty easy to zap something like a FET if you do not take proper precautions at EVERY step.

SOME FETs have built-in ESD protection.  But you can still zap them without even knowing it.
 

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #38 on: December 29, 2015, 12:23:29 am »
Here's a tip. For mosfets in the TO-220 package, the pins are wider than is good for the breadboard sockets. So I take a fine pair of pliers and "rotate" them 90 degrees so that they are edge-on when looking at the face of the mosfet. Then they will fit into the breadboard sockets better. See the photo below.

I also fooled around with Potomac's Fritzing file to make the layout "prettier".

The easiest person to fool is yourself. -- Richard Feynman
 

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #39 on: December 29, 2015, 12:40:25 am »
This video may be of use.

Quick and dirty Mosfet Testing using the Diode Check function of the Fluke 83 DMM:
The easiest person to fool is yourself. -- Richard Feynman
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #40 on: December 29, 2015, 12:41:24 am »
^ You guys are the best. 

Special thanks for that Fritz diagram. Very helpful.  I'll study it so I can get a more intuitive sense for next time I have to use a MOSFET
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #41 on: December 29, 2015, 12:43:21 am »
And will test out that MOSFET to see if it's shorted with that video
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #42 on: December 29, 2015, 02:50:57 am »
Argh, I followed that perfect circuit design from alsetalokin but I think all my MOSFETs are messed up. I tried a 2nd one and it didn't work either. Only thing i can think of.

Only thing I did different was use 270 Ohm resistors in place of the 220 and 100 Ohm resistors in Alsetalokin's circuit. They were the closest values I had on hand to 220 and 100

Even tried with a LED for visual indication. Nothing.

Attached pictures

« Last Edit: December 29, 2015, 06:04:00 am by Potomac »
 

Offline KL27x

  • Super Contributor
  • ***
  • Posts: 4108
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #43 on: December 29, 2015, 05:17:27 am »
FYI, easy way to test a logic level FET out of circuit for a quick sanity check:

Diode check puts out ~3V on the positive lead of your DMM. So turn the DMM to diode check and put the positive lead on the gate, negative lead on the source to switch the [NFET/PFET] [on/off]. Then switch the DMM to continuity test or ohm meter, and put the leads on the source and drain to verify that is [on/off] as expected.

Now switch the DMM back to diode check and put the negative probe on the gate, positive probe on the source. Use the continuity/ohm test on the drain-source to verify that it has turned [off/on].
« Last Edit: December 29, 2015, 05:20:12 am by KL27x »
 

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #44 on: December 29, 2015, 05:28:21 pm »
Argh, I followed that perfect circuit design from alsetalokin but I think all my MOSFETs are messed up. I tried a 2nd one and it didn't work either. Only thing i can think of.

Only thing I did different was use 270 Ohm resistors in place of the 220 and 100 Ohm resistors in Alsetalokin's circuit. They were the closest values I had on hand to 220 and 100

Even tried with a LED for visual indication. Nothing.

Attached pictures

Well, that may be easy to fix. Note that your actual breadboard might have the power busses broken into left and right halves. See the breaks in the Red and Blue lines just up and to the left of your mosfet? Bridge those gaps with jumpers and let's see what happens. (Actually you only need to bridge the negative (blue) rail for your particular circuit, but do them both for completeness sake anyhow. See the image below.)
Also make sure you have the LED the right way around, with Cathode to the mosfet Drain and Anode to the resistor>positive rail.

Also, resistors can be used in parallel. If you put 2,  270 ohm resistors in parallel you get 135 ohms. But in your case it probably doesn't matter, the 270R for the mosfet gate series resistor will still work OK, and the 270 ohm for the LED current-limiting resistor will just make the LED a little bit dimmer.

To confirm, I just tried it on my breadboard with a 330 ohm series gate resistor, 100k gate pulldown,  and a bog-standard IRF530n mosfet and it still works fine.

Although with a 530n mosfet, I'd suggest using a heatsink on the mosfet if you are using a heavier load like a light bulb or a low-resistance heating resistor, as the 530n mosfet will dissipate some power in its internal Rdss resistance under these conditions of low gate voltage and higher current draw. With the IRF3205 I didn't need a heatsink since it has such a low Rdss and it works fine with about 5V at the gate at these slow switching speeds.


ETA: When using the heating resistor as the load, don't use the 220 (or 270) ohm current-limiting resistor, this is just for the LED. Remove it and put a jumper there instead. 

You can use another PWM output line from the Arduino , with its own LED+resistor, to monitor the state of the circuit if you want. Just add the appropriate statements in your sketch code for another PWM pin. And you won't need a separate switching transistor, you can just run the monitor LED+resistor directly from the second PWM output pin.

Or, if you need to know the actual state of the mosfet switching the heating load, you can put an LED+resistor in parallel with the heater resistor load.

By now it should be easy to wire it up and program it!

(ETA2: I see in the Fritzing program, the breadboard type "full" has the power rails split into left and right halves like your breadboard (but doesn't have the red and blue lines.) The breadboard type "full+" has the power rails continuous all the way across and has the red and blue lines.  I have both types of breadboards on my bench, and this gave me fits too when I first used one with the split L and R rails.)
« Last Edit: December 29, 2015, 06:43:49 pm by alsetalokin4017 »
The easiest person to fool is yourself. -- Richard Feynman
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #45 on: December 29, 2015, 07:03:10 pm »
OK just got finished doing a full set of MOSFET tests.  All of them actually seem to have passed.

(Just saw your message from earlier this morning, alsetalokin4017. Will read that suggestion next about the wiring)

Anyways, I think this rules out the MOSFET's. They all seem to be fine.

See attached picture.  I did a side-by-side showing the DMM settings I used and the results I got with alsetalokin's step by step video.  I wrote out all the instructions and showed the data I got.  Results were very consistent. These things must have good ESD protection because I've been storing them in a small plastic box and have not been handling them with kid gloves during the tests.
« Last Edit: December 29, 2015, 07:06:09 pm by Potomac »
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #46 on: December 29, 2015, 07:06:38 pm »
Just to keep the train of thought clear for future viewers, here's a link again to alsetalokin's helpful video.  The diode test at the 2:38 mark seems to be the critical one.  Compare to my data in the attached picture in my previous post.

 
« Last Edit: December 29, 2015, 07:08:22 pm by Potomac »
 

Offline alsetalokin4017

  • Super Contributor
  • ***
  • Posts: 2055
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #47 on: December 29, 2015, 07:27:15 pm »
Your results are showing that your mosfets are not shorted, at least.

The 200 ohm resistance setting isn't using enough voltage to overcome the diode's forward voltage drop, so that's why you are getting a different result (and is also why I use the diode check function rather than the ohmmeter in my suggested testing.)

Install the power-rail jumpers to connect the left and right halves of your breadboard's power rails, and eliminate the 270R LED current-limiting resistor (or just put a jumper in parallel to it to "short it")  if you are using the Heating Resistor as load,  and you should see your system working.
« Last Edit: December 29, 2015, 07:37:41 pm by alsetalokin4017 »
The easiest person to fool is yourself. -- Richard Feynman
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #48 on: December 29, 2015, 07:44:38 pm »
It works! All I did was bridge the gaps as you suggested  :-+
 

Offline PotomacTopic starter

  • Regular Contributor
  • *
  • Posts: 71
  • Country: us
Re: Can Heat from Heating Resistor Damage Arduino Board?
« Reply #49 on: December 29, 2015, 07:47:58 pm »
Here's the video



Sketch

int heaterPin = 3;    // heating resistor connected to digital pin 3

void setup() {
pinMode(heaterPin, OUTPUT);
}

void loop() {
  for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
    analogWrite(heaterPin, fadeValue);
    delay(100);
  }
 

 

  for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
    analogWrite(heaterPin, fadeValue);
    delay(100);
  }
}
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf