Maker Pro
Maker Pro

Component help

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
Hey,

I'm looking for a MOSFET that will allow 1000mA typical forward current atleast, voltage between Drain and source will be typically 12v,

The fet will be triggered by a PIC10F200 chip, so say about 5v at the gate,

Looking for something fairly cheap and fairly widely available, if anyone knows a component(s) that meets criteria then please say, much appreciated,

Or even better, how do i go about finding the component myself?
 

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
Coming to think of it, theres probably a number of transistors that would probably meet the criteria
 

KrisBlueNZ

Sadly passed away in 2015
Nov 28, 2011
8,393
Joined
Nov 28, 2011
Messages
8,393
Search on Digikey, Mouser or Newark.

I searched for a good cheap N-channel MOSFET recently and found the ON Semiconductor NTD4906N. It's very cheap and seems to be readily available. Basic specs are:

VDS = 30V
ID = 14A
RDS = 8 milliohms max at VGS=4.5V
ON Semi case 369 as SMT and THT (DPAK and IPAK)
PD = 2.6W

So it has a nice low ON-resistance and is cheap and small, but it is clearly designed to be switched very quickly, as it can only dissipate 2.6 watts.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
1) Go to http://digikey.com

2) type "mosfet" intot he search box.

3) you'll get a list of things, pick the one which seems most like what you want. It normally will have a lot of matches. In this case it is "FETs, single"

4) Select attributes that you need and click "apply filters". You can do this over and over again to narrow down the list. I would start by selecting all the N channel types, then logic level gate, then Vdss > 20V (use click and shift-click to select values in a range), and then Id of 1.5A and greater. (this still left over 10,000 mosfets. Adding "through-hole mounting" to that dropped the list to just over 1300.

5) sort the list by price, using the advanced option, selecting a qty of 1.

The top item that is stocked is this. It is a 60V, 20A device capable of 36W dissipation. It is not only likely to be suitable, but it is rated highly enough that you won't easily destroy it (except by static)

Note that the package is not east to fit to a heatsink, but for the current you specified, it should not be necessary.
 

KrisBlueNZ

Sadly passed away in 2015
Nov 28, 2011
8,393
Joined
Nov 28, 2011
Messages
8,393
The NTD5867 looks like a nice device but be careful with the RDS(on).

At VGS=4.5V its guaranteed maximum RDS(on) is 50 milliohms (compared to 8 milliohms for the NTD4906).

So at, say, 8A drain current, it will dissipate 3.2W, which would require heatsinking (a large pad on the board would be enough), compared to only 0.5W for the NTD4906, which could stand free without a heatsink.
 

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
So it has a nice low ON-resistance and is cheap and small, but it is clearly designed to be switched very quickly, as it can only dissipate 2.6 watts.

Thanks, that last sentence, is there a mistake? Do you mean its clearly not designed to be switched very quickly or?

I forgot to mention, I might be using the component from a PWM circuit so switching fast with quick dissipation is needed, the unit will be fully enclosed, i think we may have a problem?
 

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
Looking on digikey it says "Power - Max" Is that the max power that can be used through it or is that max dissipation it does on its own? (if not dissipation then which value tells me the dissipation)

They all appear very low so i assume dissipation? its 900mA x 10^-3 x 12v so about 10watts power,

It is to power an led unit which will be enclosed in small plastic casing, whats the best way to dissipate the heat in a small case, the biggest problem contending this is the fact it needs to be waterproof cased

I guess i could use a different type of circuit? The circuit is to control the brightness of 1 led by 1 button, so press once it goes to dim, press again, it goes abit brighter, again it goes to its brightest, and again it goes to off,

Im thinking this could be done by a few transistors (or probably mosfets) wired in a certain way? any ideas?

3 or 4 different brightness settings is suffice, again heat produced needs to be kept at a minimum :/
 
Last edited:

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
Thanks, that last sentence, is there a mistake? Do you mean its clearly not designed to be switched very quickly or?

No, it must be switched very quickly.

The mosfet will dissipate NO power when off, a little when turned on, but potentially *lots* while it is changing from ON to OFF or vice versa.

The faster you switch it, the less time it spends in the region that makes it heat up.

I forgot to mention, I might be using the component from a PWM circuit so switching fast with quick dissipation is needed, the unit will be fully enclosed, i think we may have a problem?
Not sure what you mean by "quick dissipation", but if you are building something that is enclosed then you need to make sure that you can eliminate heat fast enough. This generally means keeping the dissipation low and/or using the case itself as a heatsink.
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
Looking on digikey it says "Power - Max" Is that the max power that can be used through it or is that max dissipation it does on its own?

It is the maximum power that can be dissipated due to losses in the mosfet.

(if not dissipation then which value tells me the dissipation)
The headline figure is often misleading because it assumes conditions that you may not be able to achieve. There are generally graphs and other figures which give a more detailed picture.

The aim is generally to keep the dissipation low enough that you can used rules of thumb.

They all appear very low so i assume dissipation? its 900mA x 10^-3 x 12v so about 10watts power,
That is the power delivered to your load, not that which is dissipated by the mosfet.

In this case, assuming (say) 10 milliohm resistance, the dissipation is 0.9 * 0.9 * 0.01 = 0.0081 W (8 mW) -- or almost nothing.

However as suggested the losses in switching will be higher, and the total losses may be well over an order of magnitude higher.

It is to power an led unit which will be enclosed in small plastic casing, whats the best way to dissipate the heat in a small case, the biggest problem contending this is the fact it needs to be waterproof cased
In this case the mosfet will dissipate very little, the LEDs far more. Are they in the same sealed box?

I guess i could use a different type of circuit? The circuit is to control the brightness of 1 led by 1 button, so press once it goes to dim, press again, it goes abit brighter, again it goes to its brightest, and again it goes to off,
Aside from being turned off, PWM is going to be the most efficient way of doing it.

Im thinking this could be done by a few transistors (or probably mosfets) wired in a certain way? any ideas?
Understanding what power is dissipated is the answer :)

3 or 4 different brightness settings is suffice, again heat produced needs to be kept at a minimum :/

Your design sounds like it needs a microcontroller.
 
Last edited:

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
It is the maximum power that can be dissipated due to losses in the mosfet.

The headline figure is often misleading because it assumes conditions that you may not be able to achieve. There are generally graphs and other figures which give a more detailed picture.

The aim is generally to keep the dissipation low enough that you can used rules of thumb.

That is the power delivered to your load, not that which is dissipated by the mosfet.

In this case, assuming (say) 10 milliohm resistance, the dissipation is 0.9 * 0.9 * 0.01 = 0.0081 W (8 mW) -- or almost nothing.

However as suggested the losses in switching will be higher, and the total losses may be well over an order of magnitude higher.

In this case the mosfet will dissipate very little, the LEDs far more. Are they in the same sealed box?

Aside from being turned off, PWM is going to be the most efficient way of doing it.

Understanding what power is dissipated is the answer :)
3 or 4 different brightness settings is suffice, again heat produced needs to be kept at a minimum :/[/QUOTE]

Your design sounds like it needs a microcontroller.[/QUOTE]

Okay thanks thats great, very much appreciated,

ALL the circuitry will be housed in the same sealed box, the box will be moulded plastic,

Im using the PIC10F200 (no built in PWM) so im thinking scrap the PWM and have a simple input switch and the input makes the output place change
So when button not pressed - no light
Pressed once - give output to a mosfet with a resistor in series with the source and LED anode
Pressed again - same as above but with different size resistor
Pressed again - same as above but with different size resistor
Pressed again - no output

The user will select the setting they want and that will be it (no more switching of the mosfet) until they want it turned off, would that be suitable?
I could do it so instead of it just being on i could make the LED turn on and off every millesecond or whatever value is best if that would help reduce heat build up?
 

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
Kind of like this (attached), how does that seem?
 

Attachments

  • 111.png
    111.png
    6.4 KB · Views: 117

KrisBlueNZ

Sadly passed away in 2015
Nov 28, 2011
8,393
Joined
Nov 28, 2011
Messages
8,393
If your micro isn't doing anything other than controlling the LED and monitoring a pushbutton, you should be able to do the PWM in software. Especially if you only have four different brightness levels.

Using multiple MOSFETs and multiple resistors will waste a significant amount of power in the resistors, and this power will be converted to heat. I would use PWM if at all possible.

BTW my thumbs up to everything Steve has said in recent posts.
 

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
If your micro isn't doing anything other than controlling the LED and monitoring a pushbutton, you should be able to do the PWM in software. Especially if you only have four different brightness levels.

Using multiple MOSFETs and multiple resistors will waste a significant amount of power in the resistors, and this power will be converted to heat. I would use PWM if at all possible.

BTW my thumbs up to everything Steve has said in recent posts.

Thanks for your input, very valid points,

The issue with using the micro as PWM is that there is no built in PWM and in assembly its not that straight forward to code but ill see what i can do, If anyone is good on assembly coding please comment, ill be using the PIC10F200 unless you can think of another very cheap small chip (compatible with PICKIT2) that you can get in a fairly small size that has built in PWM

Yes, steve is a great help, definitely a great asset to the forum, got a fair few posts, no doubt all helpful :rolleyes:
 

BobK

Jan 5, 2010
7,682
Joined
Jan 5, 2010
Messages
7,682
Well, if you can stand 8 pins, there are several 12F parts that have PWM.

Bob
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
If the exact frequency is not a concern then your PWM can be done in the same loop that monitors the button.

Something like:

set output low

repeat
..check button
..set pwm ratio (say 0 to 100)
..set output high
..delay(pwm)
..set output low
..delay (100-pwm)
until false
 

KrisBlueNZ

Sadly passed away in 2015
Nov 28, 2011
8,393
Joined
Nov 28, 2011
Messages
8,393
It certainly would be simpler if you had a PWM on-chip but if pushbutton monitoring and LED control is all the micro is doing, it's pretty trivial to do it all in firmware.

Both the pushbutton monitoring/debouncing and the LED control require decision-making and I/O on a timed basis, and the time intervals for each are similar: around a few milliseconds. In between these intervals, there is nothing for firmware to do, so it could go to sleep, if timer wake-up was available (it seems that it's not available on this device) or just twiddle its thumbs in a wait loop.

Perhaps someone who is familiar with the PIC family could confirm that there's no way to put the micro to sleep and have the timer wake it up. That's how it seems from the data sheet. If this was possible, it would reduce the quiescent operating current while the LEDs are OFF by a significant amount.

Once the desired time duration has elapsed, it needs to read and process the pushbutton input, and calculate and output the LED control value.

From a quick read of the PIC10F200 data sheet, I see that it has an 8-bit free-running up-counter, which can be read and written, and in timer mode is clocked at FCLK/4 which is 1 MHz. You can use a prescaler, but that prescaler is shared with the watchdog timer, and it's not needed with the timer, so I would avoid using it with the the timer.

This means you have an 8-bit up-counter that will wrap around from 0xFF to 0x00 once every 256 microseconds. If you use a 3-bit counter to count wraparounds, that 3-bit counter will wrap from %111 to %000 once every 2048 microseconds (these figures are all approximate because the internal clock is only accurate to +/- 2%). This gives a scanning and PWM clock rate of about 488 Hz which seems reasonable to me.

So your code would look something like:

1. General setup and initialisation
2. Configure and enable timer0 with no prescaler
3. Is tmr0 < 128? (inspect bit 7) if so, loop to 3.
4. Is tmr0 > 127? (inspect bit 7) if so, loop to 4.
5. increment timer rollover counter mod 8
6. is timer rollover counter now zero? if not, loop to 3
7. another 2 ms tick has elapsed. read pushbutton, process new state
8. calculate LED control state and output it to the I/O pin
9. loop to 3.

The functions called at step 7 and 8 are where all the conditional logic resides. The pushbutton read function needs to read the new state of the pushbutton input and perform software debouncing. When a new press is detected, it needs to cycle the PWM control variable to the next value. You might want to include a feature whereby holding the pushbutton down for, say, one second resets the PWM control to OFF. This function will need various variables to keep track of the last known state of the pushbutton, the time since it changed, etc.

The PWM control function needs to calculate the correct state for the output pin that controls the LEDs. If the PWM control variable is 0, i.e. LED OFF, it should simply force the pin OFF and return. Otherwise it needs to keep track of the current position within the PWM cycle, and decide whether the LED should be ON or OFF based on the PWM control variable and the current position in the PWM cycle. The PWM cycle variable would be unconditionally incremented modulo something. You have a tick frequency of 488 Hz; if you want the PWM cycle to be around 80 Hz for no visible flicker, you can divide the 2 ms tick by six. You can then set your two intermediate intensity levels at any of 17%, 33%, 50%, 67% or 83%. If you want finer resolution and/or less flicker, you can increase the tick frequency. You can also use a technique called DPWM to give a smoother result at percentages further from the extremes. Let me know if you want details on DPWM.

Although I've described the pushbutton scanning and PWM update functions as if they were subroutines, there's no need for them to be; if you put them inline, this means the stack isn't used at all.

In this arrangement, a watchdog is not useful for detecting endless loops, since they can't happen unless the clock or counter fails. It would only be useful for detecting when the device has taken a glitch and jumped off and started executing code in neverland.

If you would like any more details feel free to ask.

Edit: Steve is quite right that there's no need for accuracy in this application. You could just as easily do all your timing using delay loops implemented by decrementing a register and looping until it's zero. This requires a bit of "cycle counting", i.e. using the instruction execution times in the data sheet to calculate how many times to loop, but only for the delay loop. If your delay loop delays for, say, 100 us, then you can use an exact percentage value to control the PWM output. For example, if the PWM percentage is 20%, you would turn the LED ON, call the delay function 20 times, turn the LED off, and all the delay function (100-20) times. That would give a PWM cycle time of 10 ms, i.e. a PWM frequency of 100 Hz. The execution time of the rest of the code will be insignificant by comparison to the time spent in the delay functions, and can be ignored.
 
Last edited:

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
Thanks all, especially Kris the time spent on your last post,

it has been at great help, Im sure i will find some way around it, if push comes to shove I will have to go to an 8pin 12F family PIC with a PWM built in,

Also, one quick one,

If I was to light 2 LEDs at the same time (900mA each), would i be best getting 2 separate MOSFETS or 1 better one (rated for 1800mA or more to flow?), baring in mind logic levels will be at the gate to switch on/off

Thanks again!!
 

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Jan 21, 2010
25,510
Joined
Jan 21, 2010
Messages
25,510
If I was to light 2 LEDs at the same time (900mA each), would i be best getting 2 separate MOSFETS or 1 better one (rated for 1800mA or more to flow?), baring in mind logic levels will be at the gate to switch on/off

If you have enough voltage to run both in series, then that would be the best thing.

However at 900mA, I would be employing a constant current driver.
 

screwball

Jan 9, 2012
89
Joined
Jan 9, 2012
Messages
89
If you have enough voltage to run both in series, then that would be the best thing.

However at 900mA, I would be employing a constant current driver.

Running in series would drag 1800mA through both right? Could you quick draw up of what you mean or explain a little more,

Ive never came across a constant current driver however i presume its to keep the current constant? How would this work with PWM?
 

KrisBlueNZ

Sadly passed away in 2015
Nov 28, 2011
8,393
Joined
Nov 28, 2011
Messages
8,393
No, running them in series would require 900 mA. When they're in series, the same electrons flow through both of them. The voltages add, so you would be supplying 900 mA at twice the LED forward voltage.

The alternative, with the LEDs in parallel (though you mustn't connect them directly in parallel because of matching issues) would use 1800 mA at a single LED forward voltage, which works out to the same amount of POWER (P = V I) as the series option.

It is possible to combine PWM with a constant current driver, but if you want efficiency, you should use a switching converter with output current regulation to power your LEDs. Using a linear current source or sink wastes significant power. If you're using a switching current source, you can vary the output current to set the brightness; PWM isn't needed, and doesn't gain you any advantages.

A switching converter has a reasonable efficiency over a fairly wide range of output currents and is the best way to minimise heat and wasted energy (which are the same thing, really).

Look at this thread: https://www.electronicspoint.com/power-supply-t255987.html
 
Top