Connect with us

Component help

Discussion in 'General Electronics Discussion' started by screwball, Jan 5, 2013.

Scroll to continue with content
  1. screwball

    screwball

    89
    1
    Jan 9, 2012
    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?
     
  2. screwball

    screwball

    89
    1
    Jan 9, 2012
    Coming to think of it, theres probably a number of transistors that would probably meet the criteria
     
  3. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,268
    Nov 28, 2011
    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.
     
  4. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,389
    2,774
    Jan 21, 2010
    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.
     
  5. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,268
    Nov 28, 2011
    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.
     
  6. screwball

    screwball

    89
    1
    Jan 9, 2012
    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?
     
  7. screwball

    screwball

    89
    1
    Jan 9, 2012
    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: Jan 6, 2013
  8. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,389
    2,774
    Jan 21, 2010
    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.

    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.
     
  9. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,389
    2,774
    Jan 21, 2010
    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 :)

    Your design sounds like it needs a microcontroller.
     
    Last edited: Jan 6, 2013
  10. screwball

    screwball

    89
    1
    Jan 9, 2012
    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?
     
  11. screwball

    screwball

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

    Attached Files:

    • 111.png
      111.png
      File size:
      6.4 KB
      Views:
      117
  12. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,268
    Nov 28, 2011
    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.
     
  13. screwball

    screwball

    89
    1
    Jan 9, 2012
    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:
     
  14. BobK

    BobK

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

    Bob
     
  15. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,389
    2,774
    Jan 21, 2010
    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
     
  16. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,268
    Nov 28, 2011
    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: Jan 7, 2013
  17. screwball

    screwball

    89
    1
    Jan 9, 2012
    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!!
     
  18. (*steve*)

    (*steve*) ¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd Moderator

    25,389
    2,774
    Jan 21, 2010
    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.
     
  19. screwball

    screwball

    89
    1
    Jan 9, 2012
    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?
     
  20. KrisBlueNZ

    KrisBlueNZ Sadly passed away in 2015

    8,393
    1,268
    Nov 28, 2011
    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
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-