Electronics > Projects, Designs, and Technical Stuff

Optimal way to drive Pfets with 3.3V signal

(1/3) > >>

3dgeo:
Well hello there,

I have 3v3 MCU with 5V tolerant IO and want to drive these puppies to switch 5V.

I thought I can just pullup MCU pin to 5V like in my first example below, but boy I was wrong – it seems MCU pin acts as a ground for those 1.7V that are above MCUs 3.3V and I'm getting only 3.3V still (correct me if I'm wrong understanding why I'm getting 3.3V). So, my next solution would be to use cheapo darlington transistor array like this one Potential problem with using array is that Pfets gates will get it's power entirely from pullup resistor, so I assume resistor have to be low value for fast switching, that means more wasted power and loosing power is an issue... I don't have experience driving Pfets, so I hope someone with experience will give his 2cents.

Pfets will be switched up to 200 times a second (not PWM) and a bit of "lag" is not an issue cos between switches I2C communication has to happen. Switching current up to 1A.

I'm not happy I need extra chips to drive them at all, but as I have 7 Pfets adding one darlington array is'nt end of the world. This is hopefully a comercial product, so component and an assembly price does matter.

P.S. I have next to me working 2nd example in the picture, Pfets seems to be a bit slow switching cos I'm using 10K pullups for now. Will test lower values. Sadly I don't have fancy oscilloscope to test this so I'm eye balling  :palm:

Thank you for your time reading and hopefully helping :)

DON'T MIND FLIPPED FET CONNECTIONS

magic:
I have seen the term "high side load switch" several times in similar threads on this forum, it sounds like a kind of IC that would solve your problem.


--- Quote from: 3dgeo on October 31, 2019, 06:27:11 pm ---I have 3v3 MCU with 5V tolerant IO and want to drive these puppies to switch 5V.

I thought I can just pullup MCU pin to 5V like in my first example below, but boy I was wrong – it seems MCU pin acts as a ground for those 1.7V that are above MCUs 3.3V and I'm getting only 3.3V still (correct me if I'm wrong understanding why I'm getting 3.3V).

--- End quote ---
5V tolerant pin shouldn't pull down to 3.3V. But it's possible that only some pins are 5V tolerant or they are 5V tolerant only in input or open drain mode. You need to study the datasheet closer.

3dgeo:

--- Quote from: magic on October 31, 2019, 07:06:37 pm ---5V tolerant pin shouldn't pull down to 3.3V. But it's possible that only some pins are 5V tolerant or they are 5V tolerant only in input or open drain mode. You need to study the datasheet closer.

--- End quote ---

If you measure voltage between positive 5V and positive 3.3V you'll get ~1.7V, that means for that 1.7V 3.3V pin is like a ground, it's basically if you short out 1.7V to GND, that's why I'm getting 3.3V, at least that's my reasoning, I'm no expert tho. Cos I'm using pullups MCU and those pins are fine, but Pfet is not working. Yes, those pins probably can sink 5V or read 5V logic, but as MCU high is only 3.3 it will not work with 5V pullups.

By writing "high side load switch" they probably had in mind Pfet or bootstrapped Nfet. Bootstrappis is a bit overkill in my circuit and it will add more cost than darlington array :)
Sadly, I can't find PNP darlington arrays, only NPN, that would make my life easier.

OM222O:
the solution is quite simple:

1) Connect the mosfet the right way around  :-DD
2) Use a logic level N channel fet instead   :-//

In the schematic you have the drain connected to 5V instead of the source which doesn't work with P channel fets. Or again, simply use a N channel fet instead with source tied to ground and the load connected to drain.

3dgeo:
Nah, this is not real schematic, I made it just to illustrate my point, so don't mind bad connections. Connections in real schematic is in a right way.
I know I may look like and idiot, and arguably probably I'm :D , but if I could I would have used Pfets.

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod