Forum: Mikrocontroller und Digitale Elektronik Minimale Schaltung für Arduino


von Marcel M. (marcel_m144)


Lesenswert?

Hallo zusammen,
ich möchte eine Mini Ampel als Erweiterung unseres Playmobil 
Sammelsurium zu bauen.
Als Basis dient ein Arduino Nano Board, das Programm ist auch schon 
fertig.
Nun aber zu meinem Problem. Mir kam die Idee, den Arduino mittels einer 
sehr schlanken Schaltung vom Strom zu trennen.

Mittels eines Tasters soll der Arduino mit Strom versorgt werden und 
aufwachen. Direkt beim Setup wird ein digitaler Ausgang geschaltet, 
welcher
einen bipolarer Transistor versorgt (an Basis). Dieser wiederum sorgt 
dann mit dem Durchlassen des Stroms dafür, dass der Arduino Nano über 
den Transistor so lange mit Strom versorgt wird, bis am Ende des 
Ampelprogramms der digitale Ausgang den Transistor trennt und damit die 
Stromversorgung unterbricht.

Leider geht der Arduino jetzt schon direkt an, obwohl ja der digitale 
Ausgang noch garnicht schalten hätte können, da ja an der Basis noch 
nichts anliegt. Dennoch geht er an. Trenne ich die Basis vom digitalen 
Ausgang, geht er nicht mehr an. Wie kann der Transistor durchgängig 
sein, wenn der Arduino noch aus ist?

Vielen Dank für eure Hilfe!

Grüße
Marcel

von Wastl (hartundweichware)


Lesenswert?

Marcel M. schrieb:
> Mittels eines Tasters soll der Arduino mit Strom versorgt werden und
> aufwachen. Direkt beim Setup wird ein digitaler Ausgang geschaltet,
> welcher
> einen bipolarer Transistor versorgt (an Basis). Dieser wiederum sorgt
> dann mit dem Durchlassen des Stroms dafür, dass der Arduino Nano über
> den Transistor so lange mit Strom versorgt wird, bis am Ende des
> Ampelprogramms der digitale Ausgang den Transistor trennt und damit die
> Stromversorgung unterbricht.

Schaltpläne in Prosa sind scheisse.
Zeige einen - wie auch immer gezeichneten - Schaltplan.

Übrigens: wer suchet der findet:
Beitrag "Selbsthalteschaltung (mit µC) gesucht"

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Marcel M. schrieb:
> Wie kann der Transistor durchgängig sein, wenn der Arduino noch aus ist?
Üblicherweise kommt sowas von einem Fehler in der Schaltung oder im 
Aufbau. Deshalb kann man nur dann sinnvoll helfen, wenn man eibrn 
Schaltplan und Fotos vom Aufbau hat.

Weil die Aufgabe so alltäglich ist: hast du einfach mal geschaut,wie 
andere das machen, oder hast du die Schaltung zum 1000 und ersten Mal 
neu erfunden?

Ein Tipp: mit nur 1 Transistor geht das nicht.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

> Ein Tipp: mit nur 1 Transistor geht das nicht.

...

von Michael B. (laberkopp)


Lesenswert?

Marcel M. schrieb:
> Wie kann der Transistor durchgängig sein, wenn der Arduino noch aus ist?

Vermutlich (keiner kennt deinen Schaltplan) weil über den 
Arduino-Ausgang Strom (nach Masse) fliesst.

https://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.29.1

von Enrico E. (pussy_brauser)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Ein Tipp: mit nur 1 Transistor geht das nicht.

Man muss nur den Taster T1 und einen Ausgang vom Arduino mit zwei 
Dioden, oder einer BAV70 ODER-verknüpfen und anschließend auf die LED 
vom Optokoppler schalten, dann geht's.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Enrico E. schrieb:
> Optokoppler
Passt doch, denn ich schrieb davon, dass es nur mit 1 **Transistor** 
nicht geht. Gemeint war (basierend auf der Frage des TO) ein üblicher 
**bipolarer Transistor** mit den üblichen 3 Anschlüssen.

Und wenn schon ein OK (hier aka. Halbleiterrelais) verwendet werden 
soll, dann würde ich die LED mit einem Portpin zur Selbsthaltung 
ansteuern, damit der uC sich selber abschalten kann:
1
          Start
2
           _|_
3
       .---o o----.
4
       |          |
5
 Vcc --o---.  .---o----------o--> 
6
           |  |              |
7
           ====           .-----
8
     AQY211 \\            |     
9
    .-------|<----R2------|   µC
10
    |      Selbst-        |
11
   ---     haltung        '-----

: Bearbeitet durch Moderator
von Rolf (rolf22)


Lesenswert?

Marcel M. schrieb:
> Mittels eines Tasters soll der Arduino mit Strom versorgt werden und
> aufwachen

Was für ein Prozessor ist denn auf den Board. Hat der keinen 
Deep-Sleep-Modus?
Dann kann er ständig an der Versorgung hängen und per Taster ohne 
weitere Hardware aufgeweckt werden. Zurück in den Schlaf geschickt 
werden kann er per Software-Befehl, den die Ampel-Software gibt.

Beim AtMega 328P (der z. B. auf dem Arduino Pro Mini sitzt) geht das 
jedenfalls. Im Sleep-Modus braucht der weniger als 1 µA, und ein Taster 
gegen Masse am INT0-Pin genügt, wenn man den internen Pullup nutzt.

von Wastl (hartundweichware)


Lesenswert?

Rolf schrieb:
> Was für ein Prozessor ist denn auf den Board. Hat der keinen
> Deep-Sleep-Modus?

Ist ausreichend eindeutig beschrieben.
Wer lesen kann ist klar im Vorteil.

Marcel M. schrieb:
> Als Basis dient ein Arduino Nano Board

von Brüno (dominic_m833)


Lesenswert?

Lothar M. schrieb:
> Passt doch, denn ich schrieb davon, dass es nur mit 1 Transistor nicht
> geht.

Warum sollte es mit einem Transistor nicht gehen? Wenn der Arduino aus 
ist, sind die GPIOs hochohmig. PNP in die Zuleitung, ausreichend 
niederohmiger Widerstand zwischen Basis und Emitter um ungewolltes 
Einschalten zu verhindern und ein Basiswiderstand der über den Taster 
oder einen GPIO auf GND gezogen werden funktioniert super - zumindest 
wenn man den Taster so lange gedrückt hält bis der GPIO auf Ausgang und 
LOW gesetzt wurde.

von Udo S. (urschmitt)


Lesenswert?

Die Variante mit einem einfachen Schalter oder rastenden Taster ist wohl 
zu "old school"?

von Sebastian W. (wangnick)


Lesenswert?

Brüno schrieb:
> Wenn der Arduino aus ist, sind die GPIOs hochohmig.

Das ist nur die halbe Wahrheit. Natürlich sperren die Ausgangsfets. 
Allerdings bleiben die Schutzdioden vom GPIO zu VCC und GND, die leitend 
werden können ...

LG, Sebastian

von Jens M. (schuchkleisser)


Lesenswert?

Udo S. schrieb:
> Die Variante mit einem einfachen Schalter oder rastenden Taster ist wohl
> zu "old school"?

Kinder im Plärrmobil-Alter tendieren dazu sowas zu vergessen.
Auf den Knopf drücken können sie, und wenn das Ding ein paar Minuten 
nicht mehr bespielt wird geht es aus.
Spart Batterien, kann jeder mit umgehen.

Brüno schrieb:
> ein Basiswiderstand der über den Taster
> oder einen GPIO auf GND gezogen werden funktioniert super

Ähm, nö.
Im Auszustand wird die Basis des PNP über die ESD-Dioden im Port gegen 
Masse gezogen = das Gerät ist immer an.

Zusätzlicher Trick ist evtl. noch: der Taster soll evtl. nicht nur "An" 
sein, sondern auch noch eine andere Funktion haben.
Oder: Mehrere Taster sollen das können.
Dazu nutzt man dann normalerweise die Pinchange-Interrupts, und evtl. 
bastelt man den Chip direkt an 2 Mignonzellen o.ä.
Geht dann mit minimalem Ruhestrom und maximaler Funktion.
Mit einem Arduinoboard ist das aber gebastel und nicht mehr Plug and 
Play.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Brüno schrieb:
> Wenn der Arduino aus ist, sind die GPIOs hochohmig.
Einen Schritt weiter denken und die Schutzdiode im Pintreiber nach Vcc 
mit in die Überlegungen einbeziehen. Und beachten, dass Vcc bei 
"abgeschalteter Vcc" eben 0V ist und auch bleiben sollte.

> PNP in die Zuleitung, ausreichend niederohmiger Widerstand zwischen
> Basis und Emitter um ungewolltes Einschalten zu verhindern und ein
> Basiswiderstand der über den Taster oder einen GPIO auf GND gezogen
> werden funktioniert super
Garantiert nicht. Und wenn du es trotzdem schaffst, den Transistor 
gewalttätig mit einem niederohmigen BE-Widerstand auszuschalten, dann 
taugt diese Schaltung tadellos zur **parasitären Versorgung** des µCs 
samt Peripherie. Hier fließt der Strom dann über die BE-Strecke samt R1 
und den R2 über die obere Diode Do nach Vcc und versorgt ungewollt den 
µC und die restliche Schaltung:
1
 Vcc -o---    --------------------o---------> restliche Schaltung
2
      |    v /               _____|____
3
     R1    ---           µC |     -
4
      |     |               |     ^ Do
5
      |     |               |     |
6
      '-----o----R2---------|-----o--- 
7
                     IO-Pin |     |
8
                            |     -
9
                            |     ^ Du
10
                            |_____|___
11
                                  |
12
                                 --- GND

Wo die parasitäre Versorung tatsächlich funktioniert und verwendet wird, 
ist dort im Beitrag "Re: Bosch E-Bike Antrieb Geschwindigkeitssensor"

: Bearbeitet durch Moderator
von Rolf (rolf22)


Lesenswert?

Wastl schrieb:
> Rolf schrieb:
>> Was für ein Prozessor ist denn auf den Board. Hat der keinen
>> Deep-Sleep-Modus?
>
> Ist ausreichend eindeutig beschrieben.
> Wer lesen kann ist klar im Vorteil.
>
> Marcel M. schrieb:
>> Als Basis dient ein Arduino Nano Board

Du möchtet dich darüber informieren, dass es außer dem "Ur-Nano" längst 
Varianten mit unterschiedlichen Prozessoren gibt:
https://de.wikipedia.org/wiki/Liste_von_Arduino-Boards

Die Liste der WP ist übrigens nicht vollständig, es gibt zumindest noch 
Versionen mit dem RP2040 und dem ESP32.

Soviel zum Thema "ausreichend eindeutig beschrieben".

Und zum von dir schon früher gern gewählten Thema "Ich will auch mal was 
sagen, auch wenn es sachlich 'leer' ist": -.-.-.-.-.-!

: Bearbeitet durch User
von Steve van de Grens (roehrmond)


Lesenswert?

Brüno schrieb:
> Warum sollte es mit einem Transistor nicht gehen?

Das wird hier alle paar Wochen diskutiert. Bitte benutze die 
Suchfunktion oder Google.

Langer Rede, kurzer Sinn: Du brauchst zwei Transistoren, oder einen 
Optokoppler bzw. PhotoMOS.

von Stefan F. (Gast)


Lesenswert?

Die minimale Schaltung würde die Stromversorgung des Mikrocontroller gar 
nicht aus schalten, sondern dessen Sleep Modus benutzen. An einer CR2032 
kann der AVR durchaus einige Jahre in Bereitschaft sein.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan F. schrieb:
> An einer CR2032 kann der AVR durchaus einige Jahre in Bereitschaft sein.
Aber eben nicht "der Arduino Nano" mit seiner kompletten und aus 9V 
versorgten Beschaltung und zusätzlich den LEDs der Playmobil-Ampel...

von Manfred P. (pruckelfred)


Lesenswert?

Rolf schrieb:
> Soviel zum Thema "ausreichend eindeutig beschrieben".

Doch ausreichend, weil alle Nanos ein USB-Interface haben, was man nicht 
schlafen legen kann.

Stefan F. schrieb:
> Die minimale Schaltung würde die Stromversorgung des Mikrocontroller gar
> nicht aus schalten, sondern dessen Sleep Modus benutzen.

Das war hier nicht gefragt:

Marcel M. schrieb:
> Als Basis dient ein Arduino Nano Board,

Das ist wieder mal ein mittelschwerer Kindergarten hier, die Abschaltung 
mit zwei Transistoren wird hier alle paar Wochen durchpalawert und 
kostet wenig.

Ich mache das mit einem P-FET. Geht auch mit einem bipolaren PNP, dazu 
gab es kürzlich einen Thread, der zeigte, dass sich auch der weit genug 
aufsteuern lässt!

Jens M. schrieb:
>> Die Variante mit einem einfachen Schalter oder rastenden Taster ist wohl
>> zu "old school"?
> Kinder im Plärrmobil-Alter tendieren dazu sowas zu vergessen.

Ich habe sowas gebaut, weil sich mein Spannungslogger definiert trennen 
soll, bevor er wegen Unterspannung Dummfug protokolliert oder seine 
SD-Karte zerschießt.

Lothar M. schrieb:
> Stefan F. schrieb:
>> An einer CR2032 kann der AVR durchaus einige Jahre in Bereitschaft sein.
> Aber eben nicht "der Arduino Nano" mit seiner kompletten und aus 9V
> versorgten Beschaltung und zusätzlich den LEDs der Playmobil-Ampel...

Genau das! Ich möchte aber anmerken, dass der Nano hier nicht optimal 
ist und der Pro-Mini ohne USB die bessere Wahl wäre. Moderne LEDs kommen 
mit wenig Strom aus, da wird der CH340 zum Hauptverbraucher.

von Gerald B. (gerald_b)


Lesenswert?

Was dem TO auch noch in die Suppe spucken kann, ist der Bootloader auf 
dem Controller, das der Portwackeln veranstaltet, ehe sein Programm 
loslegt.
Und doppelt genutzte Pins, wie alles, was an JTAG geht, kann da auch 
suboptimal sein.

von Manfred P. (pruckelfred)


Lesenswert?

Gerald B. schrieb:
> Was dem TO auch noch in die Suppe spucken kann, ist der Bootloader auf
> dem Controller, das der Portwackeln veranstaltet, ehe sein Programm
> loslegt.

Tut er nicht, die von mir gezeigte Schaltung
https://www.mikrocontroller.net/attachment/613853/uC_Aus.png
läuft hier stabil. Es ist kein Problem, den EIN-Taster gedrückt zu 
halten, bis sich das Gerät meldet.

Aber ist eh wieder ein überforderter Bastler oder eine Verarschung:
Angemeldet seit 01.11.2023 22:20
Beiträge 1

von Keks F. (keksliebhaber)


Lesenswert?

Da das Thema Stromverbrauch beim Arduino Nano mehrmals angesprochen 
worden ist.

Der Nano hat den CH340 und einen Linearregler dran, und noch eine LED, 
die ständig an ist.

Lötet man die LED ab, bleibt man im Tiefschlaf des 328p immernoch bei 
etwa 2mA Stromverbrauch, vgl. die 100nA des 328p.

Ein Nano, oder allgemein diese Bastler-/Eval-Boards, sind für solche 
Aufbauten nicht geeignet. Der Pro Mini ist da besser, aber immer noch 
meh.

Wenn Platinenkenntnisse nicht vorhanden sind, würde ich auf einen 328p 
im DIP-Format setzen und diesen auf einen Lochrasterplatinen-Ausschnitt 
packen.
Da kann er dann im Tiefschlaf dauerhaft bleiben. Man spart sich die 
"komplexere" Schaltung.

Solche Minimalaufbauten und wie man sie programmiert sind online gut 
beschrieben und bebildert.

: Bearbeitet durch User
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.