Saturday, 26 November 2016

mosfet - Controlling higher voltage and load via high-side switch from a microcontroller


I am building a battery-powered uC circuit with an RGB LED. The LED is common cathode, so the circuit for switching the LED elements has to be high-side. The LED is a higher-current LED, so it cannot be driven by the uC directly.


To save power, I was planning to have the uC (AVR ATmega328) run at whatever voltage the 2 AAA batteries will provide (1.8-3.0V), while the LEDs need to be driven at 4.0V to account for the LED vdrop - the plan was to use a boost converter to power the LEDs. I was wondering what is the best way to drive the LED output from the uC. I can think of a few ways:


PNP BJT switch with three diodes


AVR docs state that the chip cannot "see" more then 0.5V above Vcc on any of the pins, so one option would be to use a diode \$V_{forward}\$ to present a lower voltage to the uC:



schematic


Perhaps D1 can be omitted? I am not sure if there is a E->B voltage drop in a PNP transistor.


P-Channel MOSFET with an NPN BJT


Another option is to control the P-Channel MOSFET with an NPN BJT


schematic


simulate this circuit – Schematic created using CircuitLab


N-Channel high-side MOSFET switch


This requires a charge-pump or something equivalent, so I am leaning against this solution.




Currently I am leaning towards the second solution, for no particular reason. Are there other solutions I should be considering? Are there other considerations that I should be thinking about?





No comments:

Post a Comment

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...