Forum: Mikrocontroller und Digitale Elektronik Atmega8 - Pinverhalten ohne Masse


von DR (Gast)


Lesenswert?

Hallo zusammen,

ich möchte mit einem Atmega8 u.a. eine Selbsthalteschaltung bauen. Meine 
Idee war, dass ich einen IRL6372 als Low-Side Switch für die gesamte 
Schaltung (enthält noch ein LCD) benutze, dessen Gate ich mit dem Atmega 
ansteuern kann. Zwischen Drain und Source habe ich einen Taster 
geschaltet. Mit dem Taster soll man also den Stromkreis schließen, und 
der Atmega steuert dann den FET so lange an, bis die Schaltung ausgehen 
soll.

Das funktioniert leider überraschend schlecht: Sobald ich die Batterie 
anschließe läuft der Atmega bereits (seh ich an einer blinkenden LED), 
obwohl ich den Taster noch nicht gedrückt habe. Wenn ich aber die 
Verbindung zwischen Gate und PB0 (mit dem ich den FET ansteuern will) 
trenne geht die gesamte Schaltung nur so lange an, wie ich den Taster 
gedrückt halte (was ja Sinn macht).

Außerdem ist mir folgendes aufgefallen: Wenn ich den Atmega nur mit dem 
Pluspol der Versorgungsspannung, nicht aber mit Masse verbinde, kann ich 
zwischen allen GPIO-Pins und Masse ca. Versorgungsspannung-1V messen. 
Ich nehme also an, dass das dazu führt, dass das Gate nach Einschalten 
der Stromversorgung bereits angesteuert wird, bevor überhaupt Code 
ausgeführt wird.

Nun meine Frage: Wie kommt es, dass die Pins schon vor Ausführen des 
Codes High sind? Wenn ich das Datenblatt des Atmega richtig verstehe, 
sollten die GPIO-Pins als Default doch Tristate sein?

von Kluffi (Gast)


Lesenswert?

Lädst du bitte noch einen Schaltplan hoch? Danke.

von X. (Gast)


Lesenswert?

Wie kommt man auf die Idee, die Masseleitung nicht anzuschließen?

von LostInMusic (Gast)


Lesenswert?

>ich möchte mit einem Atmega8 u.a. eine Selbsthalteschaltung bauen.

Warum? Er hat doch schon eine interne. Die Benutzung aus dem Programm 
heraus erfolgt über den Schlafmodus "Power down".

von DR (Gast)


Angehängte Dateien:

Lesenswert?

Im Anhang ist ein skizzierter Schaltplan. Nach meinem Verständnis dürfte 
nach dem Anschließen der Batterie doch erstmal nichts passieren, oder?

X. schrieb:
> Wie kommt man auf die Idee, die Masseleitung nicht anzuschließen?
Meine Überlegung war folgende: Der Atmega lief direkt nach Anschließen 
der Batterie, obwohl er das eigentlich erst nach Betätigen des Tasters 
sollte. Also musste der MOSFET bereits vor Ausführen des Codes oder 
Betätigen des Tasters halbwegs leitend sein. Das kann aber nur der Fall 
sein, wenn eine Spannung am Gate ist. Die kann aber eigentlich nirgendwo 
herkommen, dennoch hab ich da 1,3V gemessen. Also hab ich sozusagen als 
sanity check mal den MOSFET ganz entfernt und die Pins des Atmega nach 
Anschließen der Batterie gemessen - und tatsächlich eine hohe Spannung 
(ca. 8V) festgestellt. Dass ich Masse im fertigen Design nicht getrennt 
lasse sollte wohl klar sein.

LostInMusic schrieb:
>>ich möchte mit einem Atmega8 u.a. eine Selbsthalteschaltung
> bauen.
>
> Warum? Er hat doch schon eine interne. Die Benutzung aus dem Programm
> heraus erfolgt über den Schlafmodus "Power down".
Das ging ja schnell, auf die Frage hab ich gewartet :-)
Antwort: Ich MÖCHTE einfach eine Schaltung bauen, die im ausgeschalteten 
Zustand tatsächlich keinen Strom braucht. Ja, ich weiß, da kann ich auch 
einen MSP430 nehmen, das ist dann praktisch "kein Strom", hab mich aber 
dagegen entschieden. Das ganze ist ein Hobby-Projekt, deswegen ist der 
Grund auch nicht ganz so wichtig.

von LostInMusic (Gast)


Lesenswert?

>Das ging ja schnell, auf die Frage hab ich gewartet :-)
>Antwort: Ich MÖCHTE einfach eine Schaltung bauen, die [...]

Des Menschen Wille ist sein Himmelreich :-) Have a lot of fun!

von ich (Gast)


Lesenswert?

Nimm einen HighSide Switch. Die Masse unterbricht man nicht, wenn die 
Spannung noch anliegt. Das kann zu unerklärlichem Verhalten führen (hast 
du ja selbst gemerkt) und kann auch die Ports töten, oder/und die 
Eingangsschutzdioden, wenn sie die "Stromversorgung" des µC unfreiwillig 
übernehmen. Mit einem HighSideSwitch unterbrichst du die Spannung und 
nicht die Masse.

von HildeK (Gast)


Lesenswert?

Betrachte einfach den ATMEGA als Widerstand, der zwischen VCC und dem 
Schaltpin liegt. Dann überlege, was dein FET tun wird.

ich schrieb:
> Nimm einen HighSide Switch.

Auch ich plädiere dafür!

von DR (Gast)


Lesenswert?

Klingt einleuchtend... Zwei Fragen:

1) Gibt es denn überhaupt Situationen, in denen ein Low-Side Switch Sinn 
macht?
2) Hat jemand eine Idee, wie ich mit möglichst wenig zusätzlichen 
Bauteilen den MOSFET noch als High-Side Switch nutzen kann? Oder ists 
einfacher, einen passenden P-Channel zu suchen?

Vielen Dank für die schnelle Hilfe!

von Schaulus Tiger (Gast)


Lesenswert?

DR schrieb:

> 1) Gibt es denn überhaupt Situationen, in denen ein Low-Side Switch Sinn
> macht?

wenn man z.B. ein Relais schalten möchte...

> 2) Hat jemand eine Idee, wie ich mit möglichst wenig zusätzlichen
> Bauteilen den MOSFET noch als High-Side Switch nutzen kann? Oder ists
> einfacher, einen passenden P-Channel zu suchen?

> Ich MÖCHTE einfach eine Schaltung bauen, die im ausgeschalteten
> Zustand tatsächlich keinen Strom braucht.

Weder - noch, kein Strom geht nicht. Normale MOSFET lassen auch im 
abgeschalteten Zustand soviel Strom durch, wie ein guter uC im Power 
Down Mode braucht. Mit einem BC856 käme man auf 15nA bei 
Zimmertemperatur, aber dann darf die ganze Schaltung nur 10 bis 20 mA 
brauchen.

Nimm ein bistabiles Relais mit 2 Wicklungen, das kannst du dann mit dem 
vorhandenen MOSFET abschalten.

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.