Forum: Analoge Elektronik und Schaltungstechnik ESP-12 ADC Pin abwechselnd für 2 Messpunkte betreiben und umbauen


von Drago S. (mratix)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

Es geht um eine fertige Anwendung mit ESP-12, OLED Display, 2 Tasten zum 
Schalten von Geräten. Das Display wird nur kurzzeitig betrieben und legt 
sich nach 2sek wieder schlafen. Versorgt ist das ganze mit einem Li-Ion 
und zus. Netzteileingang.
Am ADC hängt ein geschalteter Spannungsteiler für die 
Batteriespannung-Messung. Der wird jede Minute von der Anwendung 
getriggert, ein MOSFET an IO15 macht dafür kurz auf, misst, geht 
schlafen.
Soweit die Beschreibung.

Nun würde ich gerne die Helligkeit des Displays (keine ext. 
Hintergrundbeleuchtung) an das Umgebungslicht anpassen.
Ich dachte einfach einen LDR dranzuhängen, auslesen, fertig. Aber der 
einzige ADC ist ja schon belegt. Und IOs sind auch keine mehr frei.
Ein Umgebungslichtsensor wäre zwar überdimensioniert aber möglich.

Nun ergibt sich die Frage: Wie nutzt man einen ADC, abwechselnd für 2 
Quellen?

Meine bisherige Überlegungen: Könnte man den derzeitigen Aufbau so 
modifizieren, dass er im inaktiven Zustand (= MOSFET ADC off) den 
zweiten LDR-Spannungteiler nutzt. Also einen 2-state Betrieb erreicht. 
Wenn möglich ohne irgendwelche OR-Gatter, 4066 Switches usw. Einen 
Transistor oder MOSFET könnte ich in die Leitung noch einbringen bzw. 
entsprechend auftrennen. Zum Schalten steht mir nur der eine Pin z.V.
Wobei, ein 3-state sicherlich sinnvoller wäre (der geplante 
LDR-Spannungsteiler würde beleuchtet etwa 1.15mA ziehen und sollte, bei 
Displaynutzung, erst geschaltet werden). Nur so etwas habe ich noch 
nicht aufgebaut, die gab es immer fertig - die 3-state Pins :)

Ich hoffe ihr könnt mir etwas unter die Arme greifen, Danke.

von Stefan F. (Gast)


Lesenswert?

Mister A. schrieb:
> Zum Schalten steht mir nur der eine Pin z.V.
> Wie nutzt man einen ADC, abwechselnd für 2 Quellen?

Analogschalter sind für so etwas vorgesehen. Guck dir mal den CD4053 an, 
der enthält drei Umschalter.

Für eine wirklich Stromsparende Lösung bräuchtest du aber zwei I/O Pins 
damit du drei Zustände steuern kannst:

a) LDR messen
b) Batterie messen
c) nichts messen

Da du nur einen I/O Pin hast, muss Option c wegfallen.

von Drago S. (mratix)


Lesenswert?

Stefan ⛄ F. schrieb:
> Analogschalter sind für so etwas vorgesehen. Guck dir mal den CD4053 an,
> der enthält drei Umschalter.
OK, habe gehofft dass es anders (mir unbekannt) geht. Mit einer handvoll 
Transistoren oder so.
3-state muss ich noch durchkauen, wie man so etwas baut.

Gut, die 4053 gibt die Kiste her. 13x schön große DIP-Brummer. Werde 
mich weiter ans Basteln machen... Danke dir, Stefan.

von Stefan F. (Gast)


Lesenswert?

Mister A. schrieb:
> OK, habe gehofft dass es anders (mir unbekannt) geht. Mit einer handvoll
> Transistoren oder so.

Geht schon irgendwie. Das wäre aber größer und aufwändiger.

von Stefan F. (Gast)


Lesenswert?

Mister A. schrieb:
> schön große DIP-Brummer

Gibts auch in klein, zum Beispiel 
https://www.ti.com/lit/ds/symlink/tmux1219.pdf

von Drago S. (mratix)


Lesenswert?

Ich überlege wie ich einen weiteren Pin freimachen könnte. Echt blöd 
dass man die ESP-12 nicht stapeln und einfach zusammenstöpseln kann :)

Mit einem Pin könnte ich das gleiche, wie für den Spannungsmesser, 
abbilden.
Das DaBla zu 4053 muss ich noch durchlesen. k.A. wie es da überhaupt mit 
LL und TTL oder Stromverbrauch aussieht.

Gerade lese ich den Bauteilevermerk zum ESP-12:
Pins 9-14: Durch den Flash Speicher belegt, nicht verwendbar*
*) Wenn man den Flash Speicher im langsamen DIO Modus anspricht, kann 
man Pin 12 eingeschränkt als GPIO10 nutzen. Die Einschränkung ist, dass 
ein Low Pegel den Schreibschutz des Flash Speichers aktiviert.
Pin 11 = GPIO9 kann man nicht verwenden, denn ein Low Pegel würde den 
Flash Speicher deaktivieren.

Hat schon jemand damit was gemacht?

von Stefan F. (Gast)


Lesenswert?

Mister A. schrieb:
> Ich überlege wie ich einen weiteren Pin freimachen könnte.

Portexpander über I²C oder Schieberegister. Da gibt es ganz nette Teile 
von Microchip.

von Stefan F. (Gast)


Lesenswert?

Mister A. schrieb:
> Gerade lese ich den Bauteilevermerk zum ESP-12:
> Pins 9-14: Durch den Flash Speicher belegt, nicht verwendbar*
> *) Wenn man den Flash Speicher im langsamen DIO Modus anspricht, kann
> man Pin 12 eingeschränkt als GPIO10 nutzen. Die Einschränkung ist, dass
> ein Low Pegel den Schreibschutz des Flash Speichers aktiviert.
> Pin 11 = GPIO9 kann man nicht verwenden, denn ein Low Pegel würde den
> Flash Speicher deaktivieren.
>
> Hat schon jemand damit was gemacht?

Das hast du auf meiner Homepage gelesen. Sicher habe ich das 
ausprobiert, sonst hätte ich es nicht geschrieben. Lass es lieber 
bleiben, mit den Seiteneffekten rechnet niemand. Das provoziert nur 
Ärger.

Wenn du mehr I/O Pins brauchst, benutze besser Portexpander oder 
wechsele zum ESP32.

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.