Forum: Mikrocontroller und Digitale Elektronik Problem mit Mosfet in der Speiseleitung


von Stephan H. (hitz_95)


Angehängte Dateien:

Lesenswert?

Hallo

Für meine Lautsprecher möchte ich gerne eine Spannungsüberwachung bauen. 
Dazu habe ich einen Arduino Nano genommen (ATmega328p als uC). Im 
Schaltplan sieht man die "Anschlüsse". Dazu die Erklärung:
Bat1 ist mein Akku. Mit T1 will ich den Arduino ein und ausschalten 
können.
Zum Einschalten drücke ich den Taster S1, schliesse den FET kurz und der 
Arduino bekommt Strom und gibt dann am Output ein High aus damit der 
(momentan kurzgeschlossene) FET durchschaltet.
Ausschalten wollte ich indem ich kurz S2 drücke, der FET sperrt, der 
Arduino bekommt kein Saft mehr. Falls der Akku vorher leer ist bevor ich 
S2 drücke, geht der Output des Arduinos auf LOW, der FET sperrt und 
schaltet den uC ab.

T2 ist für einen Verbraucher da, momentan nicht angeschlossen. Die 
beiden LEDs sind nur für die Statusanzeige da.
Mit R1 und R2 messe ich die Akkuspannung (ja ich weiss, der FET ist noch 
dazwischen, das ist aber egal für meine Anwendung).

Soviel zur Theorie, in der Praxis ist es aber so dass der Arduino 
bereits beim Anlegen an 12V "startet". Über dem Mosfet liegen 2V, der 
Ausgang des Output des Arduinos ist auf Low, aber gegenüber Source 
jedoch 2V (das ist mir auch klar warum) und daher schaltet der FET auch 
zum Teil durch?!

Eigentlich müsste doch der FET sperren beim anlegen der Spannung, ohne 
S1 zu drücken?!! Wegen dem Pulldown R6.

Hoffe ich habe mich einigermassen klar ausgedrückt wo mein Problem ist.
Mlg

von Stephan H. (hitz_95)


Lesenswert?

Was mir noch aufgefallen ist, wenn ich S2 während dem einschalten drücke 
(unterbreche), dann leuchtet nur ganz kurz die Powerled des Arduinos, 
als würde ganz kurz ein Strom durch den FET fliessen?! ISt das möglich?

von posdfs (Gast)


Lesenswert?

Was du da zeichnest ist haarsträubender Blödsinn. Mosfets (und auch 
Bipolartransistoren) sind keine Relais. Nierderohmigkeit ist an gewisse 
Bedingungen gebunden. Du musst dich schon mit Mosfets beschäftigen, und 
dir mal genau anschauen wann sich der Kanal ausbildet und warum, ...
www.elektronik-kompendium.de ist ein guter Anfang sich mal Basiswissen 
anzulesen. Wenn dir das zu viel ist oder du nicht verstehen kannst was 
da steht empfehle ich Relais. Die sind wohl verständlicher ...

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Es ist also Sommerzeit - Grillzeit!

Wann grillt der verwendete uC ? Schon bei 12V ?


der ganze uC mit all seinen Ein/Ausgängen liegt über die Widerstände 
zusammen mit seinem Gnd auf 12V. Damit wird der MOSFET im Massezweig 
durchgesteuert und der uC kommt an seine 12V...

von Stephan H. (hitz_95)


Lesenswert?

posdfs schrieb:
> Was du da zeichnest ist haarsträubender Blödsinn. Mosfets (und auch
> Bipolartransistoren) sind keine Relais. Nierderohmigkeit ist an gewisse
> Bedingungen gebunden. Du musst dich schon mit Mosfets beschäftigen, und
> dir mal genau anschauen wann sich der Kanal ausbildet und warum, ...
> www.elektronik-kompendium.de ist ein guter Anfang sich mal Basiswissen
> anzulesen. Wenn dir das zu viel ist oder du nicht verstehen kannst was
> da steht empfehle ich Relais. Die sind wohl verständlicher ...

Dein Beitrag bringt mich aber nicht wirklich weiter, was ist den genau 
schlecht? Das ein Mosfet kein Relais ist musst du mir jedenfalls nicht 
beibringen. Wird am Gate ein positives Potenzial gegenüber Source 
angelegt, so entsteht ein Kanal, die "breite" bzw der Rds ist abhängig 
von der Spannung GS. Der FET ist ein Logic Level Typ was heisst 5V 
müssten laut Datenblatt genügen um ihn durchzuschalten. Da der 
Steuerstrom extrem gering ist und deshalb der FET, wenn unbeschaltet, 
tut was er gerade will, habe ich den Pulldown Widerstand eingefügt, 
damit Ugs= 0V wird.

Der uC, hier im Arduino Board integriert, hat logischerweise ein 
Spannungsregler (7805), welcher die für den ATmega gewünschte Spannung 
(5V) bereitstellt.
Aber da muss man halt wissen was ein Arduino ist...

von Peter R. (pnu)


Lesenswert?

Wenn vom einen MOSFET T1 die Masse des Arduino weggeschaltet ist, 
ergeben sich doch völlig unsinnige Spannungsverhältnisse an der 
Arduino-Platine. Der Kontroller hat keine Betriebsspannung und alle 
Anschlüsse inklusive GND liegen praktisch an +12V.

Den Ausgängen DOutput kann in dieser Schaltung passieren, dass sie -12V 
gegenüber dem GND der Arduino-Platine abbekommen.

Dass der Kontroller das überlebt ist nur dem Zufall oder den 
Schutzdioden an den Eingängen zu verdanken.

Man darf doch nicht die Masse eines Kontrollers wegschalten und 
erwarten, das er noch weiterarbeitet - besonders wenn noch weitere 
Schaltungen mit beteiligt sind wie der auf der NANO-Platine befindliche 
Spannungsregler von 12V auf die 5V des Kontrollers.

Aber da muss man halt wissen wie ein Arduino Nano aufgebaut ist.

von Stephan H. (hitz_95)


Lesenswert?

Bis jetzt lebt er noch - zum Glück :/

Gibt es denn irgend eine Lösung wie ich mit einem N-Channel Mosfet den 
Arduino ein und ausschalten kann?

von Holler (Gast)


Lesenswert?

Doofe Frage, warum nimmst du nicht einfach einen Schalter vor Vin, wenn 
du sowieso manuell schaltest?
Müssen es unbedingt zwei Taster sein mit SW-Abschaltung?

Wenn ja, würde ich zwei bipolare Transistoren in Emitterschaltung 
nehmen, einen PNP direkt zwischen Ubat (C) und Vin (E), die B über einen 
4k7 an den C eines NPN. Dessen E auf GND, die B über 10k an den 
Controller.

von Holler (Gast)


Lesenswert?

Sorry, Korrektur:
einen PNP direkt zwischen Ubat (E) und Vin (C)

von Peter R. (pnu)


Lesenswert?

entweder: sleep-modus des Kontrollers verwenden.

oder, weniger stromsparend, aber einfacher: einen Pin für Ein/Aus- 
Signal PIN_EINAUS festlegen.

Und dann Programmschleife ins Programm einbauen:
while PIN_EINAUS != 1   ;Warteschleife, solange Pin auf 0 ist, "hängt" 
der Kontroller.
else:  (reguläre Befehle des Programms)  ;Programm ausführen

von Stephan H. (hitz_95)


Angehängte Dateien:

Lesenswert?

Nur ein normaler Schalter geht nicht, ich will den Arduino selbst ein 
und ausschalten können, aber er soll sich auch selbstständig abschalten 
können. Der Strom dafür soll aber nicht zu gross werden, sprich kein 
Relais.
Andererseits darf im ausgeschaltenen Zustand auch (fast) kein Strom 
fliessen, da dies den leeren Akku über längere Zeit tiefentladen kann, 
was bei Lithium Akkus nicht gerade schön ist :/
Der Sleep Modus des Controller bringt doch nichts weil der 7805 immer 
noch viel Strom braucht, oder irre ich mich da?

Habe den Ansatz von Holler mal umgesetzt in der Zeichnung sowie den 
N-FET für den Verbraucher durch einen P-FET ausgetauscht.

Funktioniert das mit den Schaltern so? Einschalten mit S2 und 
ausschalten mit S1, S1 könnte ich auch weglassen und einfach den Switch 
zwischen Ubat und einem Eingang nehmen und dann mit dem Programm 
abschalten (natürlich mit pulldown widerstand usw.)

Wenn etwas nicht funktioniert, dann sagt bitte auch warum und nicht 
einfach "Das ist Käse was du da gemacht hast".

Nachtrag: Alternative zu S2: Unterer Anschluss von R4 mit einem Switch 
mit Masse verbinden.

von Klaus (Gast)


Lesenswert?

R4 durch einnen 1K ersetzen und an die Basis von T2 47K gegen 12V+.

Sonst sperrt der Transistor nicht wenn S1 betätigt wird.

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

Und am Spannungsteiler an AInput steht immer eine schöne Spannung an, 
der über die Clamp-Dioden den uC weiter versorgt und das Kartenhaus 
einbrechen läßt.

von Holler (Gast)


Lesenswert?

Bernd Rüter schrieb:
> Und am Spannungsteiler an AInput steht immer eine schöne Spannung an,
> der über die Clamp-Dioden den uC weiter versorgt und das Kartenhaus
> einbrechen läßt.

Wenn Du den R1 statt an Ubat an Vin legst, ist dieses Risiko beseitigt.
Besonders wahrscheinlich ist das Szenario nicht, da ja noch ein Regler 
dazwischen hängt und der mit einem 120k Vorwiderstand kaum die Arbeit 
aufnehmen wird.
Aber sicher ist sicher.
Über dem PNP werden je nach Stromaufnahme des uC ca 200-500mV abfallen.

Deshalb wirklich R4 auf 1k verkleinern, das reduziert den 
Spannungverlust.
Hast du noch BC327 o.ä. in der Bastelkiste? Der verträgt bis 1A, der 
BC556 nur 100mA. Oder spendiere noch einen P-FET.

von Stephan H. (hitz_95)


Lesenswert?

Vielen Dank für eure Hilfe!!
Habe leider keinen anderen PNP mehr zuhause, aber der Arduino braucht 
doch nicht mehr als 100mA, alles was ich dort dran hänge sind zwei LEDs 
mit max. 10mA zusammen sowie die 2 Transistoren T1/T3.

Die Widerstände habe ich angepasst, R1 an Vin gelegt.

von Harald W. (wilhelms)


Lesenswert?

Bernd Rüter schrieb:

> Es ist also Sommerzeit - Grillzeit!
>
> Wann grillt der verwendete uC ? Schon bei 12V ?

Wichtig ist vor allen, das man mit Kohle erzeugten Strom nimmt.
Wegen der Geschmacksstoffe. Mit Wasserkraft erzeugter Strom
schmeckt dagegen fade...
Gruss
Harald

von Stephan H. (hitz_95)


Lesenswert?

Layout umgekrempelt, ne weile gelötet und tada: Es funktioniert =D

Vielen Dank für eure Hilfe!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.