>After my first rushed attempt to get MOSFETs for the Firebird microcontroller project that still needs a name (Maybe I should have a naming contest!), I’m taking my time researching to determine the right part. I’ve been keeping a list of candidate MOSFETs here.
Yesterday, while sitting somewhere, “relaxing”, I went on a marathon component web search. I just kept thinking that I couldn’t have been the only person trying to solve this problem. I made a list of my “ideal output stage” features:
- 25 Amp continuous High-Side Switch
- ATX or Mini-ATX fusing
- Fuse Blown detection
- Open circuit detection
- Short circuit detection
- Current measurement
- Transistor Heat detection
- Logic-level control (safe for microcontrollers)
- PWM capability for “soft-start” of load
- Manual override switch in case of microcontroller failure (limp-home mode…)
Given this list, I went searching for circuit designs and components, expecting that I’d use one of the MOSFETs I’d already found plus some extra components to keep the MOSFETs safe.
One of the best ways to find microcontroller-safe circuits is to search with Ardunio or PIC in the search terms. Sure enough I tripped on this post – “MOSFET to drive load, cables“.
I saw a reference to something called an Intelligent Power Switch. Now THAT sounded like what I was looking for…
Sure enough, I hit the jackpot… Meet the IPS6011…Datasheet
• Over temperature shutdown (with auto-restart)
• Short circuit protection (current limit)
• Reverse battery protection (turns On the MOSFET)
• Full diagnostic capability (short circuit to battery)
• Active clamp
• Open load detection in On and Off state
• Ground loss protection
• Logic ground isolated from power ground
• ESD protection
The IPS6011(S)(R)Pb Switch (IPS) for use in a high side configuration. It features short circuit, over-temperature, ESD protection, inductive load capability and diagnostic feedback. The output current is limited to the Ilim value. The current limitation is activated until the thermal protection acts. The overtemperature protection turns off the device if the junction temperature exceeds the shutdown value. It will automatically restart after the junction has cooled 7°C below the Tshutdown value. The reverse battery protection turns On the MOSFET. A diagnostic pin provides different voltage levels for each fault condition.
The double level shifter circuitry will allow large offsets between the logic and load ground.
Digikey sells the IPS6011 for $5.57 each. While this seems expensive at first, if I priced adding all the other components for thermal protection, logic-level MOSFET driver, etc – this is very reasonable, AND a big space savings. I don’t get current measurement (I don’t know why I really needed it…) and it is limited to 18A continuous (but has current limiting above 60A, so good headroom for in-rush current), but it looks like the right component!
I then found the application notes for the IPS60xx series
– This thing is DESIGNED for my application – switching automotive loads! The application notes explain what happens if you disconnect the battery with the alternator running, if you remove the battery with active inductive loads, etc. I wanted to try to make the system resilient, this thing is perfect.
1) 18A Continuous limit – I really don’t think this is a problem since I plan to run most devices discretely – for example, headlights will be split into driving lights, lowbeam and highbeam vs. one circuit that powers all three. This will likely put a fully-loaded car near 30 circuits, which means $167 in just these components. I never said this would be cheap 🙂
2) PWM – The max switching frequency is listed as 0.3kHz which is 300Hz. The standard Arduino PWM is 500Hz, but a little research showed that the next step down is 250Hz, and there are even lower frequencies. I don’t know enough about PWM to know if that would give me soft-start if needed, but it seems promising.
I need to get a few ordered (Not ordering 50 of these!) and then learn how to use the diagnostic circuit works (you have to “switch-in” two different resistors to find some detailed problem states – not sure if I need to know those specifics, versus just “something not right…”)