Take the 2-minute tour ×
Electrical Engineering Stack Exchange is a question and answer site for electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.

I'm going to use a microcontroller to switch a vehicle horn on and off intermittently for maybe one second on and one off for a period of 15 seconds; the horn will pull an estimated 3 Amps. I know I can do this with either a relay or transistor, but saving space/money is a concern and I'm really just not sure which way to go.

share|improve this question
1  
N-channel MOSFET (logic level). –  Majenko - not Google Jun 22 at 19:42
    
Any reason as to why that's better? –  Sam Williams Jun 22 at 19:43
    
I image the horn pulls 3A DC? What voltage? Will the micro share the same ground as the horn? –  Solitz Jun 22 at 19:47
    
Will share same ground, at 12v DC. –  Sam Williams Jun 22 at 19:49
1  
What is more important: Space or money? How many do you want to make? –  Solitz Jun 22 at 19:54

2 Answers 2

up vote 4 down vote accepted

Either will work. A relay has the advantage that it can stand very high transient voltages and won't be disturbed by transients across the contacts.

A suitably rated MOSFET can work too, but you'll probably have to overrate it by quite a bit for it to be reliable. It may need a heat sink if you're operating in under-hood conditions at high ambient temperature (Rds(on) goes up quite a bit with temperature).

The relay is bigger (it will consume a bit more current, but that is immaterial in comparison to the 3A horn), and it will not need a heat sink.

Cost could definitely go either way, depending on quantity etc., so if it's a volume product I suggest pricing it out both ways before you decide.

If it's just a one-off, you can ignore cost and use a huge overkill MOSFET such as an FDH5500 (I'm using this one for a vehicle application). If you feed it 10V at the gate (not directly from the micro, you'll need to step up the voltage), it has an Rds(on) not exceeding 0.01 ohm at 100°C. It won't need a heatsink for a 3A load and has a good chance of blowing a fuse without dying in case of a short. Even so, it's only about $4.50 in singles.

share|improve this answer

You can use BUZ11 N-MOSFET transistor.

It's a bit overkill (50V, 30A), but at Vgs = 5V you can draw 8A (see transfer characteristic in datasheet).

It has TO-220 package - smaller than typical relays capable to switch 3A current.

You probably won't need heatsink for it at 3A.

It's cheap (I found $3 per 5 pieces on ebay).

Alternatively - you can use 2SK2553 transistor. It's a bit smaller (LDPAK), its capable to transfer higher currents at Vgs = 5V but probably is more expensive.

You can also look at other N-channel mosfets with "logic-level" (you need Vgs < 5V to drive transistor gate directly from microcontroller).

Edit/added later:

All informations above apply to circuit with 5V (not 3.3V) microcontroller. For 3.3V you need very low Vgs transistor.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.