[N-CHANNEL MOSFET] Gate keeps the source-drain open even when it gets a "LOW"

Hey everyone,

First, let me pay my dues as a first-time thread poster on this forum and, just as any good self-respecting n00b, I’ll start with self-flagellating and offering my humblest apologies for the triviality of my questions.

“I’ll start with self-flagellating and offering my humblest apologies for the triviality of my questions.”

Don’t talk like this :sob:

741a8dcaf8fbe2496860b2b8908bf41588bf0455.png

Wrong.

look at this:

What are you trying to do?

Thanks for your interest! Eventually, my goal is to set up a circuit with the Arduino, batteries, mosfet & push button so that the user pushes the button to activate the MCU, let it do its thing with the program, and once it's done, totally turn off the Arduino to limit battery consumption to the maximum.

Please correct me if I'm wrong:

  • battery negative and ground is the same thing, right? In your schematics, the source and the pull-down R2 are wired to GND, and in mine, both are wired to Bat-, isn't that equivalent?
  • in your schematics, pin 5 is sending current to the gate, in mine it has to be a control pin (to be exact, I'm using pin 10 of the MKR1000) because I want to be able to turn it on and off programmatically.
  • my mosfet drain sinks into the Arduino GND, and in yours it goes to the load. Am I doing something wrong?

Thanks in advance, I'm kind of lost here.

PS: I’ve just run a diode test on the mosfet.

  • When the gate is positively charged via the DMM positive lead, current flows between source and drain
  • When I touch the gate and the source with a finger, thus discharging the gate, I’ve got an open-circuit between source and drain.
    ==> mosfet seems to be working just fine. I have no idea where my error lies… :frowning:

NOTA BENE= I’m posting this question again as there was a bug on the forum and my previous post didn’t show up correctly :confused:

Hey everyone,

First, let me pay my dues as a first-time thread poster on this forum and, just as any good self-respecting n00b, I’ll start with self-flagellating and offering my humblest apologies for the triviality of my questions.
Not to mention how common my shameful problem seems to be given the number of threads I’ve been reading. But I really just can’t wrap my head around this.

So here we go:

I’ve got an Arduino MKR1000 that I’m trying to connect to a 4-AA battery pack, a RFP30N06LE 30A 60V N-Channel Power Mosfet and a push button. My goal is to have the MCU program run once at each push and then turn off the board until the next push, for the sake of low power consumption. The program is a simple and straightforward test: it sets the pin mode to output for the control pin and writes a HIGH. Then it makes the built-in led blink a few times and finally it writes LOW as the control pin output.

I’ve attached the breadboarding schematics I’m doing (no push button yet, I can’t even make it work as is so far so…)

I’ve tried most of the solutions I’ve found online:

  • A 10K pulldown resistor between digital output pin and gate to make sure voltage stays low when pin 10 = LOW
  • A 100K resistor between gate and source to avoid gate floating

I’ve read that I should connect the Arduino and the battery pack to a common GND, I’m not sure how to do this while keeping the mosfet into the closed circuit (and therefore creating an open circuit when no voltage is applied to its gate). (==> probably a super-giga n00b question, but hey, I gotta learn the hard way I guess).

One thing I do notice: after running 1 loop, the “on” built-in led of the Arduino dims down a little. I guess the voltage decreases in the circuit once the output Arduino pin gets a LOW value. But shouldn’t the circuit be totally open between drain & source when the gate gets “LOW”?

Also, some measures I’ve taken:
. V between gate and source goes from 3.1V to 2.1V after one program loop (when built-in LED dims down)
. V between drain and source goes from 3.1V to 2.1V after one program loop
. V at pulldown resistor goes from 0.3V to 0.2V after one program loop
. V at gate-source resistor goes from 3.1V to 2.1V after one program loop

I don’t know whether I’m doing the wiring right. I ran a diode test on the mosfet and it’s working fine.
I guess my main issue is that the source-drain doesn’t close because there’s a voltage differential between the gate and the source, hence the gate staying “open”.

I hope I’ve included enough details. Let me know if you need more info. I hope you guys can help me solve that thing!

Have a nice day
Gary

Here's the schematics I'm following (attached).

So not actually a schematic but an almost useless Frtizing layout diagram.

I've got an Arduino mkr1000

BUT the crap circuit shows an Arduino Uno not a mkr1000. This is one of the reasons why this is a crap way of pretending the diagram is useful in any way.

I'm trying to connect to a 4-AA battery pack

But your diagram shows you are only using two batteries.

Also that means the gate is only being driven by 3V at the best, you need a 5V signal to turn on the FET.

Using a 10K series resistor is just silly, it needs to be closer to 200R.

Also, I should note that the "on" builtin LED dims a little after the first loop. I don't know what I should conclude of this.

What on earth is the circuit trying to do?

DON'T CROSS POST
Thread reported.

I'll start with self-flagellating

Don't bother we can do that for you.

Hi Mike, thanks for your answer. Sorry, I'm not super familiar with the vernacular yet, but that's not the point. I couldn't find an mkr1000 on Fritzing and I added 2 sets of 2-AA batteries as I didn't know how to find the 4-AA battery pack for some reason. But back to the main issue:

  • the FET is definitely on (meaning the gate is positively charged, letting current flow between source and drain). What I don't manage to do is actually turning it off.
  • whether I use a 10K resistor or none, the result is the same.
  • for now, I'm just trying to build a circuit that will run once and then turn off the Arduino. Later on, I'll add a push button that will let the user turn on the arduino, run the program once, and then have the arduino turn on by itself, for low power consumption purposes.

A high side switch similar to this should work.

Threads merged.

couldn't find an mkr1000 on Fritzing and I added 2 sets of 2-AA batteries as I didn't know how to find the 4-AA battery pack for some reason. But back to the main issue:

No the main issue is you haven’t communicated the actual circuit you are using, what you have communicated is wrong in so many levels. Just what are you trying to do? What ever it is the circuit is not correct and stands no chance of working.

Unless you tell us what you are trying to do we can’t suggest anything. With out knowing what you have done we cannot tell you what you have done wrong. As presented and knowing you are using a MKR1000 processor then you are destroying your processor with that wiring.

The big problem with cross posting is that information is spread all over the place.

If you want the thing to start with a push button and

no push button yet, I can't even make it work as is so far so...)

Then how do you expect it to work in the first place without a push button?

Your whole idea is flawed, you do not / can not control power to an Arduino with an n-channel FET you need a p-channels one or an arrangement like Larry has in reply#7.

Larry, thanks for this answer. I’ll get myself the missing components and try it soon. Your usefulness/word count ratio is truly remarkable. Don’t you think, Mike?

Also, for the record, my end goal was to reproduce this: Arduino_self_shutoff/Regular_Arduino.png at master · LessonStudio/Arduino_self_shutoff · GitHub

But not sure if the source itself would be working as is.