Forum: Mikrocontroller und Digitale Elektronik Arduino Nano, P-MOSFET & DC-DC StepUp für BobbyCar LEDs


von Christian K. (kiese)


Angehängte Dateien:

Lesenswert?

Hi Zusammen,

hab mal wieder ein Anliegen, da mich das Datasheet vom MT3608 getäuscht 
hat.
Ich habe 3x 1,5V Batterien und möchte LEDs und RGBW LEDs mit einen 
Arduino eines BobbyCars ansteuern. Es verfügt über einen Taster. Mit dem 
möchte ich die Schaltung aktivieren und auch Funktionen auslösen.

Für Verwirrung sorgte, weil ich den EN Pin vom MT3608 zum aktivieren der 
Schaltung nutzen wollte. Blöd nur, dass die angelegt Spannung im 
deaktivierten Zustand trotzdem durchgeht und ca. 0,04mA verbraucht.

Entsprechend ist die neue Idee, es mit einem P-MOSFET (hätte einen 
AO3401) zu aktivieren.
Der Arduino geht dann mit D13 aufs Gate, um den Taster abzulösen.
An D4 sollen dann weitere Tasterbetätigungen erkannt werden.

Wenn D13 dann wieder LOW geht, sollte die Schaltung abschalten.
Somit kein Stromverbrauch.

Im Anhang das momentane Schema.
Denkt ihr das wird so funktionieren?

: Bearbeitet durch User
von Jörg R. (solar77)


Lesenswert?

Christian K. schrieb:
> Für Verwirrung sorgte, weil ich den EN Pin vom MT3608 zum aktivieren der
> Schaltung nutzen wollte. Blöd nur, dass die angelegt Spannung im
> deaktivierten Zustand trotzdem durchgeht und ca. 0,04mA verbraucht.

Das Gate von Q1 liegt über R2 auf GND, wie soll er da sperren?

Wenn der Taster gedrückt wird sperrt Q1. Über den Ausgang D13 würde sich 
der uC auch selbst den Strom wegnehmen.

Wenn Q1 leiten soll musst Du das Gate Richtung GND ziehen. Korrekt 
ausgedrückt muss das Gate mindestens 2,5V kleiner sein als Source, 
deshalb ist die Spannung Vgs im DB mit negativen Vorzeichen versehen.

https://cdn-reichelt.de/documents/datenblatt/A100/AO3401A_SPEC.pdf

: Bearbeitet durch User
von Christian K. (kiese)


Angehängte Dateien:

Lesenswert?

Danke für deine Antwort, habe das Schema angepasst.
Dann benötige ich auch den PULL-DOWN am D4 nicht.

von Jörg R. (solar77)


Lesenswert?

Christian K. schrieb:
> Danke für deine Antwort, habe das Schema angepasst.
> Dann benötige ich auch den PULL-DOWN am D4 nicht.

In dieser Schaltung schließt Du D4 bzw. D13 vom uC kurz, falls sie „H“ 
führen und versehentlich der Taster betätigt wird.

von Christian K. (kiese)


Lesenswert?

OK, das muss ich mir grad mal langsam durch den Kopf gehen lassen.
Taster-Druck "aktiviert" den MOSFET -> D13 ist HIGH -> Dann Kurzschluss 
von Taster (der in dem Augenblick ja noch gedrückt ist) zu D4 und D13.
Hast recht.
Gut, jetzt brauch ich etwas Zeit, wie es funktionieren kann.

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Lesenswert?

Jörg R. schrieb:
> In dieser Schaltung schließt Du D4 bzw. D13 vom uC kurz, falls sie „H“
> führen und versehentlich der Taster betätigt wird.

Er hat die Diode nicht verstanden, D4 ist wirkungslos und überhaupt sind 
beide überflüssig. D13 bleibt an R2, wo er ist un der Taster komt direkt 
ans Gate vom FET.

Es wird aber Zufall leiben, ob es funktioniert, weil D13 des µC ohne 
Versorgung undefiniert ist. Ich erwarte, dass es so nicht spielt.

Der P-FET muß über einen NPN gesteuert werden, wurde im Forum mehr als 
einmal beschrieben.

von Jörg R. (solar77)


Lesenswert?

Manfred P. schrieb:
> (..)
> Der P-FET muß über einen NPN gesteuert werden, wurde im Forum mehr als
> einmal beschrieben.

Ja, würde ich auch so vorschlagen.


Christian K. schrieb:
> (..)
> An D4 sollen dann weitere Tasterbetätigungen erkannt werden.

Da würde ich dann einfach einen weiteren Taster spendieren.

: Bearbeitet durch User
von Christian K. (kiese)


Lesenswert?

D13 soll zum Steuern des P-FET dienen. Als Art Selbsthaltung.

D4 (mit INPUT_PULLUP) dann den Taster "lesen" können.

Das mit den Highs/LOWs hab ich in der Tat nicht Zuende gedacht, dass 
Wechselwirkungen zum Kurzschluss führen.

von Jörg R. (solar77)


Lesenswert?

Christian K. schrieb:
> D13 soll zum Steuern des P-FET dienen. Als Art Selbsthaltung.

Das haben wir verstanden. Nur muss er „L“ führen um den Mosfet im 
leitenden Zustand zu halten.

von Christian K. (kiese)


Lesenswert?

D13 geht per Programmcode dann auf LOW.

von Obelix X. (obelix)


Lesenswert?

Christian K. schrieb:
> deaktivierten Zustand trotzdem durchgeht und ca. 0,04mA verbraucht.

Das ist natürlich tragisch, dann sind die Batterien nur vom Standby in 
50 Jahren leer.

: Bearbeitet durch User
von J. T. (chaoskind)


Lesenswert?

Obelix X. schrieb:
> Das ist natürlich tragisch, dann sind die Batterien nur vom Standby in
> 50 Jahren leer.

Was für 1.5V Batterien benutzt du? Für den AA-Gewohnten klingen 17520mAh 
recht verlockend.

von Christian K. (kiese)


Lesenswert?

Es sind 3x 1,5 Mignon in Reihe.
Die 0,04mA hatte ich im Leerlauf gemessen. Wie viel verbraten werden, 
wenn der Nano im Sleep ist, müsste ich testen.
Ggf. noch die LEDs entfernen.

von J. T. (chaoskind)


Lesenswert?

Sorry, das war nur ein Wink mit dem Zaunpfahl Richtung Obelix, dass er 
mit den 50 Jahren grob übertreibt.

von Loco M. (loco)


Lesenswert?

Über R2 und R3 liegen im ausgeschalteten Zustand 4V an D13 und damit am 
uC Pin. Bei 0V VCC ist das ausserhalb der MAXIMUM RATINGS, und was der 
uC daraus macht ist undefiniert. Stichwort Eingangsschutzdioden.

von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Jörg R. schrieb:
> Christian K. schrieb:
>> D13 soll zum Steuern des P-FET dienen. Als Art Selbsthaltung.
> Das haben wir verstanden. Nur muss er „L“ führen um den Mosfet im
> leitenden Zustand zu halten.

Christian K. schrieb:
> D13 geht per Programmcode dann auf LOW.

Interessanter ist AUS, dann muß D13 high sein. Das kannst Du nicht 
gewährleisten, also Mist:

Loco M. schrieb:
> Über R2 und R3 liegen im ausgeschalteten Zustand 4V an D13 und damit am
> uC Pin. Bei 0V VCC ist das ausserhalb der MAXIMUM RATINGS, und was der
> uC daraus macht ist undefiniert.

!!!!

Jörg R. schrieb:
>> (..)
>> Der P-FET muß über einen NPN gesteuert werden, wurde im Forum mehr als
>> einmal beschrieben.
> Ja, würde ich auch so vorschlagen.

Also mal wieder das Prinzip als Schaltplan anhängen.
Und µC_AUS.png ist ein Auszug aus meinem realen Aufbau, muß Christian 
passend umdenken.

Christian K. schrieb:
> Die 0,04mA hatte ich im Leerlauf gemessen. Wie viel verbraten werden,
> wenn der Nano im Sleep ist, müsste ich testen.
> Ggf. noch die LEDs entfernen.

Der Nano ist unbrauchbar, weil sich der USB-Baustein nicht abschalten 
lässt. Für wenig Strom und schlafen muss ein Pro-Mini her, LED und 
Spannungsregler entfernen.

Aber wozu eigentlich schlafen? Der ist aus, bis per Taster am FET 
eingeschaltet wird und muß dann als allererste Aktion den FET 
aufsteuern, Selbsthaltung der Gesamtschaltung.

von Christian K. (kiese)


Angehängte Dateien:

Lesenswert?

Ich wieder.
Folgender Gedankengang:
D13 kriegt ne Sperrdiode, dass von dem nur ein LOW kommt.
D4 kriegt ein PULL-UP Widerstand, damit der Zustand sichergestellt ist. 
Bin nur unsicher, ob an 5V oder an die Spannungsquelle.
Sperrdiode von D13 zu D4 und Taster -> GND

Wenn das völliger Käse ist, dann bin ich zu doof für Halbleiter.

von Jörg R. (solar77)


Lesenswert?

Christian K. schrieb:
> Ich wieder.
> Folgender Gedankengang:
> (..)

Weshalb gehst Du nicht auf den Kommentar von Manfred P. ein, und auf 
seine Schaltung?

Weshalb nimmst Du nicht einen weiteren Taster für eventuelle andere 
Funktionen, anstatt unbedingt einen einzigen Taster zu integrieren.

Weshalb hast Du die Batterie (4V Label) mit den 5V am uC verbunden?

Den Kommentar von Loco M. solltest Du auch beachten.

von Manfred P. (pruckelfred)


Lesenswert?

Christian K. schrieb:
> Wenn das völliger Käse ist,

Die Schaltung ist noch immer grober Unfug.

> dann bin ich zu doof für Halbleiter.

Versuche zuerst einmal die Funktion einer Diode zu verstehen, in welche 
Richtung die leitet oder eben nicht.

Jörg R. schrieb:
> Den Kommentar von Loco M. solltest Du auch beachten.

Loco hat das präzisiert, was ich schon vor ihm schrieb und ihn deshalb 
mit "!!!!" wiederholt habe. Egal, wie viele Dioden Christian da noch 
verbauen will, dieser Punkt ist das K.O. einer zuverlässigen Funktion.

von Christian K. (kiese)


Lesenswert?

Ja, ich Checks leider nicht.
Hatte das Vermeiden des Kurzschlusses im Fokus.

Frage:
Wenn der D13 high wird, dann liegt das zwar nicht am P-Fet an, aber 
sperrt es dann nicht wegen R3?

Ein Taster, weil das BMW BobbyCar nur den einen StartStop Taster hat. 
Ein Loch bohren für nen zweiten Taster geht, 1. nur Wo und 2. sieht es 
dann mies aus.

Die Verbindung ist gestrichelt, weil unklar ist, ob der D4 pull Up von 
5V kriegen soll, oder von den 4V.

Wenn der Nano keine Spannung kriegt, dann braucht's auch kein Sleep oder 
eine Sparversion in Form von ProMini.

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


Lesenswert?

Christian K. schrieb:
> Folgender Gedankengang:
Frage: wenn der µC nicht versorgt wird (also seine Vcc = 0V ist), was 
gibt der dann zwangsläufig an seinem Pin D13 aus?

Antwort: weil die Schutzbeschaltung des Pin-Treibers wie folgt 
ausssieht, liegen bei Vcc = 0V an Pin 0,4V an (***).
1
µC
2
Pintreiber   ESD-Schutz   Pin
3
     Vcc      Vcc = 0V    
4
      |        |   
5
      |        -  Schottky  
6
 --||>         ^
7
      |        |          0,4V
8
      o--------o----------D13---> Schaltung
9
      |        |
10
 --||<         -
11
      |        ^
12
      |        |
13
     GND      GND

Und was passiert in deiner Schaltung, wenn an D13 0,4V sind?

Fazit: so eine Selbsthaltung funktioniert nicht mit nur 1 Transistor.

(***) In der Praxis ist es allerdings dann so, dass über diese 
Schutzdiode ein Strom vom Pin nach Vcc fließt, der die Vcc auf höheres 
Niveau anhebt. Und Vcc hoch genug ist (z.B. 1,8V) dann startet der µC. 
Der Fachbegriff dafür lautet "parasitäre Versorgung". Im >>99% der Fälle 
ist das unerwünscht, man kann es aber auch nutzen wie im 
Beitrag "Re: Bosch E-Bike Antrieb Geschwindigkeitssensor" oder dort 
für ein RFID-Tag: https://trmm.net/AVR_RFID/

: Bearbeitet durch Moderator
von Christian K. (kiese)


Lesenswert?

Danke für die ausführliche Erklärung.

Ich denke, ich baue das Ganze mal ohne MOSFET auf (sozusagen im 
Dauerbetrieb) und messe was dann an Strom verbraucht wird, wenn es im 
Sleep ist.

Nen ProMini könnte ich auch noch testen.

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


Lesenswert?

Christian K. schrieb:
> messe was dann an Strom verbraucht wird, wenn es im Sleep ist.
Du musst dann natürlich dafür sorgen, dass im Sleep die Ausgänge so 
geschaltet sind, dass dort kein Strom fließt.

von Obelix X. (obelix)


Lesenswert?

J. T. schrieb:
> Was für 1.5V Batterien benutzt du? Für den AA-Gewohnten klingen 17520mAh
> recht verlockend.

J. T. schrieb:
> Sorry, das war nur ein Wink mit dem Zaunpfahl Richtung Obelix, dass er
> mit den 50 Jahren grob übertreibt.

Aber auch 5 Jahre sollte niemanden jucken. Zumindest nicht, wenn es um 
eine Bobbycar Beleuchtung geht. In 5 Jahren fährt das Kind nicht mehr 
mit dem Bobbycar und wenn ab und zu auch mal das Licht eingeschaltet 
wird sind wohl 40µA vernachlässigbar.

: Bearbeitet durch User
von Manfred P. (pruckelfred)


Angehängte Dateien:

Lesenswert?

Lothar M. schrieb:
> Frage: wenn der µC nicht versorgt wird (also seine Vcc = 0V ist), was
> gibt der dann zwangsläufig an seinem Pin D13 aus?

Gib's auf, mein Kollege hätte gesagt "Erzähl's besser Deinem Gummibaum".

Lothar M. schrieb:
>> messe was dann an Strom verbraucht wird, wenn es im Sleep ist.
> Du musst dann natürlich dafür sorgen, dass im Sleep die Ausgänge so
> geschaltet sind, dass dort kein Strom fließt.

Sinnlos. Dafür müsste der der Wandler dauerhaft laufen, braucht Strom. 
Auf dem China-Nano ist ein CH340, der laut Datenblatt 12 mA braucht und 
dessen sleepmode nicht zugänglich ist. Es ist einfach Quatsch, den Nano 
kann man per FET komplett abschalten.

Ich habe mal skizziert, wie es gehen sollte. Da bleibt die Frage, wie 
man der Software beibringt, nicht zur Ratterschaltung (Ein - Aus - Ein - 
Aus ...) zu werden.

von Christian K. (kiese)


Lesenswert?

Kurzer Zwischenstand

Hab jetzt den Nano durch den ProMini ersetzt. Vorwiderstand der PWR LED 
entfernt.

Zum Testen habe ich den Sketch Blink without Delay angepasst, dass nach 
5 Sekunden der Sleep Mode aktiviert wird.
Per Interrupt gehts in den WatchDog-Reset.
Strom fällt im POWER_DOWN auf 0,4mA.
Grob über den Daumen gepeilt würden so 200Tage Betrieb entstehen.
1
#include <avr/sleep.h>
2
#include <avr/power.h>
3
#include <avr/wdt.h>
4
5
6
const int PIN_LED =  LED_BUILTIN;// the number of the LED pin
7
const int PIN_TRIGGER =  3;
8
9
unsigned long previousMillis = 0;
10
const long interval = 1000;
11
12
13
void isrAwake(void) {
14
  detachInterrupt(0);
15
}
16
17
18
void enterSleepMode(void) {
19
  attachInterrupt(digitalPinToInterrupt(PIN_TRIGGER), isrAwake, LOW);
20
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
21
  sleep_enable();
22
  sleep_mode();
23
  sleep_disable();
24
  wdt_enable(WDTO_15MS);
25
  while (1) {};
26
}
27
28
29
void setup() {
30
  pinMode(PIN_TRIGGER, INPUT_PULLUP);
31
  digitalWrite(PIN_LED, HIGH);
32
  pinMode(PIN_LED, OUTPUT);
33
}
34
35
36
void loop() {
37
38
  unsigned long currentMillis = millis();
39
40
  if (currentMillis - previousMillis >= interval) {
41
    previousMillis = currentMillis;
42
    digitalWrite(PIN_LED, !digitalRead(PIN_LED));
43
  }
44
45
  if (millis() >= 5000) {
46
    enterSleepMode();
47
  }
48
}

: Bearbeitet durch User
von Christian K. (kiese)


Lesenswert?

Die Nacht ist lang geworden und ich bin noch nicht zufrieden.
U.A. weil die RGBW-LEDs Strom ziehen.
Also erstmal nur das nötigste angeschlossen, damit mein Kleiner wieder 
fahren kann.

Aktuell gehen nur Scheinwerfer, Rücklichter und Blinker.
Per Tastendruck wird Power_Down beendet.
Per Tastendruck kann man Warnblinken togglen. Langer Druck führt ein 
Reset aus. Im Setup springt das Programm zuerst direkt in den Sleep. 
Sonst startet das Ganze bei Einlegen der Batterien.

Hier ein kurzes Video:
https://youtu.be/Q7FF5nJZPyw

: 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.