Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi 3 Schalter


von Sascha H. (shurik76)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich arbeite gerade an einem Opensource Projekt, und zwar ein Schalter 
für den  Raspberry Pi 3.
Habe da nun aber ein kleines Problem, der Schalter basiert auf einen 
Attiny 44. Habe für den Attiny einen 100Nf Keko und als Stützkondensator 
noch einen Elko mit 4,7 uf verwendet, was auf dem Breadboard ganz gut 
geklappt hat. Betonung liegt auf hat. Darauf habe ich eine kleine 
Leiterplatte entworfen, zusammen gelötet und das Ergebnis ist dass der 
Attiny beim einschalten kurzfristig nicht genug Strom bekommt und sich 
neu startet. Als Strom Quelle dient ein Schaltnetzteil mit 5V 3A.
Da es auf der Leiterplatte nicht geht, habe ich das Breadboard noch mal 
raus geholt, wo noch alles gesteckt war und siehe da, es funktioniert 
auch nicht mehr, obwohl mehrere Tests mit dem Aufbau erfolgreich wahren 
(Schaltplan hänge ich an). Wenn ich die Last abziehe (Raspberry Pi 3) 
geht es alles problemlos. Wenn ich nach dem Schalten die Last anhänge 
geht es bedingt, mal geht’s mal wird der Attiny kurzfristig 
unterversorgt und startet neu. Als Schalter verwende ich gerade ein 
Relais, was ich gerne gegen einen Mosfet austauschen würde. Kenne mich 
mich mit Mosfets aber leider nicht so aus und habe noch keinen gefunden, 
der mit dem bisschen Schaltstrom vom Attiny die 5V und 2,5A für den 
Raspberry schaltet. Das ist aber nur Optional, denn das Relais tut ja 
seinen Dienst.

Wichtiger ist was mache ich falsch, dass der Attiny beim schalten 
unterversorgt wird ? Das Netzteil sollte doch ausreichend sein 2,5A für 
den Raspberry und 100mA für den Attiny, da sollten 3A doch reichen.

Zur Funktionsweise des Schalters: Ich benötige 2 GPIO´s vom Raspberry. 
Habe einfach mal Pin 15 und 31 gewählt, das ist aber noch variabel. Pin 
15 soll dazu dienen, wenn der Raspberry über Software ausgeschaltet 
wird, dem Attiny ein Signal zu geben, das er nach dem shutdown (ca. 
15-20 sec) das Relais abschaltet (noch nicht Programmiert).  Pin 31 gibt 
dem Raspberry ein Signal zum shutdown wenn der Schalter gedrückt worden 
ist (das klappt auch hervorragend). Auf dem Raspberry läuft dafür 
natürlich eine kleine Software die den Pin 31 überwacht.
Pin 15 ist Low und soll Kurz High schalten, was dann wiederum den Pin 10 
am Attiny, der High ist auf Low zieht.
Pin 31 ist High und wird von Pin 7 am Attiny (High und nach drücken des 
Schalters kurz Low) auf Low gezogen.

Werde auch den Quelltext für den Attiny mit posten, der ist noch nicht 
sauber geschrieben. Erst mal zum testen, also nicht wundern. Ich weiß 
auch, dass man da noch mit ISR optimieren kann.

Ich hätte da auch noch eine Idee, wo ich mich aber noch gar nicht 
wirklich mit befasst habe, habe aber gesehen das es da hier im Forum 
eine gute Erklärung zu gibt. Würde nämlich auch gerne noch die optionale 
Möglichkeit mit einbauen, dass man einen IR Empfänger mit anschließen 
kann, der alle Signale an den Raspberry weiter gibt, nur das On/Off 
Signal wird vom Attiny abgegriffen und springt dann in die Power On oder 
shutdown Routine, also Pin 7 Low und nach ca. 20 sek. Relais aus.

Aber das wichtigste ist, meinen Fehler zu finden, dass der Attiny auch 
beim Schalten einwandfrei mit Strom versorgt wird. Ein Tipp welcher 
Mosfet das leistet, wäre hilfreich und das mit dem IR ist halt nur noch 
eine Idee, die gerade für ein Mediacenter sehr schön wäre.

MfG Shurik

: Bearbeitet durch User
von Helmut L. (helmi1)


Lesenswert?

Sascha H. schrieb:
> Wichtiger ist was mache ich falsch, dass der Attiny beim schalten
> unterversorgt wird ?

Aud dem Rasberry Board sind Elkos drauf. Die sind leer. Du schaltest 
jetzt das Board ein und dann lutschen die dir erstmal fuer einige ms 
Deine Elkos im Netzteil leer.

von Sascha H. (shurik76)


Angehängte Dateien:

Lesenswert?

Hallo helmi1,

ja das klingt plausibel für mich. Kann ich das Problem dann einfach mit 
einem zusätzlichen Elko vor dem Relais lösen, von dem aus die Elko´s auf 
dem Pi gespeist werden, um das Netzteil zu entlasten?
Auf die Idee den Raspberry zu puffern bin ich nicht gekommen.

Und dann wäre da noch die Frage welche Kapazität braucht der Elko? Kann 
ich irgendwo nachlesen  welche Kapazitäten auf dem Raspberry sind, die 
erst mal gefüllt werden müssen?

MfG Shurik

von HildeK (Gast)


Lesenswert?

Erst mal glaube ich nicht primär an eine Unterversorgung des Tiny. Der 
läuft noch bis runter auf 2.7V.
Vermutlich fängst du dir irgend was ein. Zuerst würde ich deshalb mal 
den Reset-Pin des Tiny beschalten: 5k nach +5V und 100nF nach GND.

Wenn aber doch die Versorgung noch unter die 2.7V einbrechen sollte (mal 
mit einem Skope gemessen?), dann sind ein paar andere Maßnahmen ev. 
hilfreich.
Du solltest die Leitungsführung beachten. Die 5V vom Netzteil sollten 
z.B. direkt an C3 angeschlossen sein und von da aus über eine Leitung an 
C1. Ev. kann man über eine Schottky-Diode in dieser Leitung die 
Tiny-Versorgung abkoppeln. Ein Einbruch der 5V würde dann vom C1 
abgefangen. Den ggf. auch erhöhen auf z.B. 100µF.
Werte für C3: Probier mal, ob 220µF schon helfen, sonst weiter erhöhen. 
Wenn du 1000µF zur Verfügung hast, nimm den.

Zum MOSFET: ein Logic-Level p-Kanal MOSFET ist hier richtig. 
MOSFET-Übersicht
Auf der sicheren Seite bist du mit dem IRF7410. Beachte: Output HIGH des 
Tiny bedeutet dann 'AUS' für den RasPi.

von Sascha H. (shurik76)


Lesenswert?

Erstmal herzlichen Dank.

Die Idee mit dem Puffer Elko für den RasPi hat funktioniert, ein 100uF 
reicht aus.
Das Beschalten des Reset Pins hat leider nichts ergeben, aber C3 als 
100uF zwischen Netzteil + und RasPi Masse läuft, keine Ausfälle des Tiny 
mehr.
Zu dem MOSFET sagte man mir im Elektrohandel, dass der IRF7410 ein 
Auslaufmodel sei, den gibt es wohl nicht mehr lange, hatten sie auch 
leider nicht vorrätig. Also mit dem MOSFET werde ich noch schauen und an 
das IR werde ich mich auch noch dran setzen.

Wenn das Projekt fertig ist kann ich es auch gerne hier posten mit 
Leiterplatten-Layout, Teileliste und Software für den Tiny und den 
RasPi.

MfG Shurik

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.