Problem using a mosfet to switch devices on/off

Hi, I'm trying to use a MOSFET whose gate is controlled by an MCU to switch on/off the Vcc of 2 devices. I'm using a spare TP0610 P channel enhancement mode vertical DMOSFET to accomplish this. Here are the connections. Source - 3.3V Gate - MCU control output and 50K pullup(hence default switched OFF) Drain - device Vcc and 1M pulldown(hence Vcc = 0V when mosfet OFF)

When I take the MCU out of the picture and simply use a jumper to ground the gate input, and using this to switch the devices on/off, it works perfectly. However, when I use the MCU to control the gate voltage, I get some problems.

1) Drain voltage is initially 0V when power is applied. However, when my MCU switches the mosfet ON and then OFF again, drain voltage sometimes doesn't return back to 0V, but is about 1.2V

2) When the MCU tries to switch the mosfet ON by applying a logic 0, my multimeter says it's not actually 0V but more like 300+mV. Does this cause any problems, and why is logic 0 so high in the first place?

I'm having some intermittent problems so I suspect that my hardware's the problem here. Judging from the behavior and measurement I'm getting this may very well be the case.

Any thoughts/suggestions/fixes?

Thanks!

Reply to
galapogos
Loading thread data ...

I'll give good odds that changing the pullup from 50k to 10k or

4.7k will cure it. Things leak.
--
Chuck F (cbfalconer at maineline dot net)
   Available for consulting/temporary embedded and systems.
Reply to
CBFalconer

Maybe you're connecting more than just the MCU to those switches-- and the MCU is partially powering the devices through it's outputs and the input protection diodes on whatever you are switching. If that seems likely, try programming any such outputs to go low before you cut the Vcc.

The 300mV does not make much sense, so it bears further investigation. Scope the line to make sure there are not pulses on there, and check that there is no voltage differential on your grounds.

Best regards, Spehro Pefhany

--
"it\'s the network..."                          "The Journey is the reward"
speff@interlog.com             Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog  Info for designers:  http://www.speff.com
Reply to
Spehro Pefhany

Wow you're a genius. I figured that out after tracing my code to where the problem starting appearing, and indeed it's the TX line that's causing the problem. 1 of my devices communicates with the MCU's UART and when I turned Vcc off, the TX was still set to output high. I set it to become an input instead and now I get close to 0V when turning off Vcc. Why would the TX matter though?

The weird thing is that the 300mV only happens when I upload my firmward to my flash MCU. When I'm debugging on my emulator, I get a pretty clean 0V(

Reply to
galapogos

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.