Forum: Mikrocontroller und Digitale Elektronik Selbsthalteschaltung optimieren


von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich benutze aktuell diese Schaltung, um mit einem Taster den MCU 
einzuschalten. Mit den Tastern left und right kann ich zwei verschiedene 
Programmabläufe auswählen. Das Programm erledigt seine Aufgabe und 
schaltet den MCU dann danach aus.
Ich würde das ganze gerne mit einem anderen MCU ansteuern. Gibt es eine 
Möglichkeit das mit einem Pin zu machen, anstatt 3 (aufwachen, links, 
rechts)?

Die Idee ist am Hilfs-MCU im 10ms Takt den ausgang anzusteuern. Das 
Ansteuersignal ist allerdings nur 3.3V. Die Schaltung im Anhang würde 
aufwachen, Selbsthaltung aktivieren und erkennen, dass im 10ms Takt 
getoggelt wird und Programm 1 ausführen.
Wenn im 20ms Takt getoggelt wird, dann wird Programm 2 ausgeführt.

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

Anhang wurde nicht hoch geladen

von Tom (Gast)


Angehängte Dateien:

Lesenswert?

neuer Versuch

von Helge (Gast)


Lesenswert?

Analog. Alle paar ms aufwachen lassen und AD-Wandlung. low=links, 
high=rechts, mitte=aus. Eingang mit 2 Widerständen in mittlere Spannung 
halten.

von Andreas B. (bitverdreher)


Lesenswert?

Für einen uC, der ein paar milliamperchen braucht, erscheint mir ein 3A 
high side switch auch reichlich überdimensioniert. Den Stromverbrauch 
dieses high side switch hast Du auch wenn Du den AVR einfach schlafen 
legst.

Ansonsten wie von Helge beschrieben: Ein Pin reicht dazu.

von Falk B. (falk)


Lesenswert?

Tom schrieb:
> Ich würde das ganze gerne mit einem anderen MCU ansteuern. Gibt es eine
> Möglichkeit das mit einem Pin zu machen, anstatt 3 (aufwachen, links,
> rechts)?

Wozu? uC in den Sleep Mode versetzen, da brauchen alle gängigen 
COntroller weniger als 1uA. Aufwachen per Tastendruck über externen bzw. 
Pin Change Interrupt. Das ist ein Standardkonzept.

von Tom (Gast)


Lesenswert?

Falk B. schrieb:
> Wozu? uC in den Sleep Mode versetzen, da brauchen alle gängigen
> COntroller weniger als 1uA

Hallo, ja das ganze soll batteriebetrieben sein und aus Ehrgeiz hätte 
ich gerne den Stromverbrauch soweit gesenkt wie's geht.
Das Teil wird auch nur zweimal am Tag geweckt und ist nur für wenige 
Sekunden aktiv.
Ob das ganze Teil jetzt 5 Euro kostet oder 20 spielt keine Rolle.

Andreas B. schrieb:
> Für einen uC, der ein paar milliamperchen braucht, erscheint mir ein 3A
> high side switch auch reichlich überdimensioniert.

Hast du da einen anderen Vorschlag? Es ist ja nicht nur der uC sondern 
auch der Motor, der ca 3-500mA benötigt.

von Andreas B. (bitverdreher)


Lesenswert?

Tom schrieb:
> Es ist ja nicht nur der uC sondern
> auch der Motor, der ca 3-500mA benötigt.
Endlich wieder Salami. Lecker!

von Teo D. (teoderix)


Lesenswert?

Tom schrieb:
> Hallo, ja das ganze soll batteriebetrieben sein und aus Ehrgeiz hätte
> ich gerne den Stromverbrauch soweit gesenkt wie's geht.

Rechne doch mal aus, wie lange deine Batterie bei 1µA durchhält!

von Philipp K. (philipp_k59)


Lesenswert?

Ich habe das mal genauso für einen esp32Lolin gebaut, so das mehrere 
Buttons aufwecken könnten.

Sah dann so aus
https://hackaday.io/project/163278-pushbutton-controller

von Tom (Gast)


Lesenswert?

Hallo Philipp,
bei dir ist das aber über Software und den Sleepmode gelöst wie das 
aussieht, oder?

>Rechne doch mal aus, wie lange deine Batterie bei 1µA durchhält!

Wie gesagt, über Sleepmode könnte ich das erledigen, aber mich hätte 
halt interessiert, ob es sonst noch eine kluge Schaltung gibt, die mit 0 
Standby auskommt.

von Rainer V. (a_zip)


Lesenswert?

Tom schrieb:
> Es ist ja nicht nur der uC sondern
> auch der Motor, der ca 3-500mA benötigt.

Und der läuft sonst weiter, auch wenn du den Controller abschaltest??? 
Kommt mir irgendwie schräg vor. Vielleicht kommen ja noch ein paar 
"wichtige" Details...
Gruß Rainer

von Sebastian S. (amateur)


Lesenswert?

Allzu viel Hirnschmalz würde ich nicht in den Sleep-Mode stecken!
Rechne mal nach, wie viele Wochen, bei einem µA Verbrauch, nur 10 
Sekunden Motorlaufzeit bedeuten. Oops.

von Teo D. (teoderix)


Lesenswert?

Rainer V. schrieb:
> Tom schrieb:
>> Es ist ja nicht nur der uC sondern
>> auch der Motor, der ca 3-500mA benötigt.
>
> Und der läuft sonst weiter, auch wenn du den Controller abschaltest???

Ebens, der Motor is doch eh schon aus, der Switch müsste also nur den µC 
abschalten!

von Tom (Gast)


Lesenswert?

>Und der läuft sonst weiter, auch wenn du den Controller abschaltest???

Selbstverständlich nicht. Im Schaltplan ist ja zu sehen wie der Motor 
verbunden ist. Ich erwähnte es nur, weil der zu groß dimensionierte 
HighSide-Switch kritisiert wurde und eben auch der Motor hinter diesem 
hängt.

Sebastian S. schrieb:
> Allzu viel Hirnschmalz würde ich nicht in den Sleep-Mode stecken!
> Rechne mal nach, wie viele Wochen, bei einem µA Verbrauch, nur 10
> Sekunden Motorlaufzeit bedeuten.

Ja, das stimmt schon, vermutlich wird es darauf hinauslaufen. Es scheint 
ja auch keine andere Möglichkeit zu geben, wenn ich die Antworten 
zusammenfasse.

von Peter D. (peda)


Lesenswert?

Tom schrieb:
> Wie gesagt, über Sleepmode könnte ich das erledigen, aber mich hätte
> halt interessiert, ob es sonst noch eine kluge Schaltung gibt, die mit 0
> Standby auskommt.

Keine Schaltung kommt mit 0A aus. Es fließt immer Strom, auch wenn es 
nur wenige nA sind.

Ich nehme immer Codezeilen, wenn ich damit zusätzliche Hardware 
vermeiden kann. Vorteil, die Codezeilen muß ich nicht zusammen löten. 
Einmal hinschreiben reicht.

von Teo (Gast)


Lesenswert?

Seh ich das richtig, das der ULN bei jeder Clamp-Diode und jedem 
Ausgang, bei 50V bis zu 50µA zieht!?
Das wären bei 5V grob geschätzt 50-100µA.
Nur so wegen meiner genijolen Idee, den könnte man doch an der Batterie 
lassen.

von Peter D. (peda)


Lesenswert?

Teo schrieb:
> Seh ich das richtig, das der ULN bei jeder Clamp-Diode und jedem
> Ausgang, bei 50V bis zu 50µA zieht!?

Korrekt, Darlingtons haben hohe Leckströme.
MOSFETs sind da besser.

von Tom (Gast)


Lesenswert?

Peter D. schrieb:
> Ich nehme immer Codezeilen, wenn ich damit zusätzliche Hardware
> vermeiden kann. Vorteil, die Codezeilen muß ich nicht zusammen löten.
> Einmal hinschreiben reicht.

Ja das ist ja auch sinnvoll, wenn man die Kosten optmieren will. Ob ich 
da jetzt ein paar Bauteile mehr oder weniger verlöte in meinem Fall 
spielt nicht so die Rolle, mir wäre eher der Strombedarf wichtiger bzw 
dass die Hardware möglichst ideal wird. Keine Ahnung ob sich der 
Controller im sleep modus auch mal aufhängen kann, eine Hardware 
Abschaltung würde im Zweifel hier noch etwas Sicherheit bringen, da er 
ja immer neu gestartet wird.

Wie schon geschrieben, wenn es da keine Hardware Lösung gibt, die 
bekannt ist oder zumindest besser, dann werde ich das in Software 
umsetzen. War nur eine Frage, ob da jemand noch was besseres kennt.

von Rainer V. (a_zip)


Lesenswert?

Tom schrieb:
> Keine Ahnung ob sich der
> Controller im sleep modus auch mal aufhängen kann, eine Hardware
> Abschaltung würde im Zweifel hier noch etwas Sicherheit bringen, da er
> ja immer neu gestartet wird.

Also wenn du so über Sicherheit nachdenkst, dann solltest du das noch 
etwas genauer tun...oder hast du einfach nur Angst, dass der Motor nicht 
stehen bleibt?? Was passiert dann in diesem Fall? Kann es gefährlich 
werden für irgendwen oder -was?
Gruß Rainer

von Tom (Gast)


Lesenswert?

Rainer V. schrieb:
> Also wenn du so über Sicherheit nachdenkst, dann solltest du das noch
> etwas genauer tun...oder hast du einfach nur Angst, dass der Motor nicht
> stehen bleibt?? Was passiert dann in diesem Fall? Kann es gefährlich
> werden für irgendwen oder -was?
> Gruß Rainer

Nein, es kann nicht gefährlich werden. Das Gerät kann höchstens seine 
Funktion nicht erfüllen

Hast du noch eine Idee zur Selbsthaltung?

von Rainer V. (a_zip)


Lesenswert?

Auf jeden Fall lohnt sich eine Überlegung, welche Fehler überhaupt 
auftreten können. OK, kann z.B. Controller so hängen bleiben, dass der 
Motor eingeschaltet bleibt und wenn ja, hat das welche Auswirkungen?? 
Zur Selbsthaltung sage ich, dass ich es anders machen würde. Ich würde 
vom Hilfs-Controller zwei Verbindungen ziehen. Eine für die Versorgung 
des Haupt-C und eine, um das Programm auszuwählen. Und ehrlich, wenn du 
da mit dem Motor mal locker bis zu 500mA ziehen kannst, macht der 
Sleep-Modus und die anderen Überlegungen doch keinen Sinn?! Oder soll 
der Motor einmal die Woche für 2 Sekunden laufen? Und selbst dann. Ich 
wundere mich eben über den Batteriebetrieb...
Trotzdem wünsche ich gutes Gelingen! Gruß Rainer

von Maxe (Gast)


Lesenswert?

Tom schrieb:
> Wie schon geschrieben, wenn es da keine Hardware Lösung gibt, die
> bekannt ist oder zumindest besser, dann werde ich das in Software
> umsetzen. War nur eine Frage, ob da jemand noch was besseres kennt.

So richtig verstanden hab ich ja nicht, was du eigentlich möchtest (und 
den Verdacht, dass es andern auch so geht). Die Selbsthaltung hast du ja 
schon drin. Was hat es jetzt mit button_left und button_right auf sich, 
sollen die auch die Versorgung aktivieren können? Warum ein zweiter 
Controller?

Tom schrieb:
> Im Schaltplan ist ja zu sehen wie der Motor
> verbunden ist.

Hast du das getestet? Der ULN ist doch nur ein Transistorarray und hat 
keine Push-Pull-Ausgänge.

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


Lesenswert?

Tom schrieb:
> Ich erwähnte es nur, weil der zu groß dimensionierte
> HighSide-Switch kritisiert wurde
Und selbst wenn der Motor nicht drin wäre: kleiner als der gewählte 
3A-Highside-Schalter im 6-Pin SOT-23 Gehäuse gehts kaum...

Aber auch ich würde mit dem Schalter nur den Motor schalten und den µC 
per Sleepmode abhandeln.

Tom schrieb:
> hier noch etwas Sicherheit bringen
Brauchst du da wirklich "Sicherheit"? Kann wertvolles Inventar oder 
sonstige Gegenstände von einer Fehlfunktion betroffen sein? Oder können 
gar Menschen verletzt oder getötet werden?
Falls ja, dann musst du dir sowieso eine richtige Sicherheitsbewertung 
machen, dir die richtige Sicherheitsanforderungsstufe auswählen 
(https://de.wikipedia.org/wiki/Sicherheitsanforderungsstufe) und dich 
dann tief in das Gebiet der funktionalen Sicherheit einarbeiten:
https://www.pilz.com/de-DE/support/knowhow/law-standards-norms/functional-safety/en-iec-62061

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.