Forum: Mikrocontroller und Digitale Elektronik Analog Multiplexer mit Pi Pico


von Felix (felix_1507)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich plane, fünf analoge Feuchtigkeitssensoren mit dem Raspberry Pi Pico 
einzulesen. Da der Pico nur über drei analoge Eingänge verfügt, bin ich 
auf der Suche nach einer Lösung für mehr Analoge Eingänge auf den 
Analog-Multiplexer 74HCT4052 gestoßen. Da ich mich nicht gut mit solchen 
Bauteilen auskenne, würde ich gerne mal nachfragen, ob das so 
funktionieren würde?
Muss man bei der Beschaltung auf etwas bestimmtes achten, oder passt das 
so wie in meiner (unprofessionellen) Skizze? Die Sensoren sind als 
Transistoren dargestellt, nicht verwirren lassen.
Der Transistor Q1 soll dazu dienen, alle Sensoren auszuschalten, um 
Strom zu sparen.

Gibt es vielleicht auch andere, bessere Lösungen, die ich bisher nicht 
in Betracht gezogen habe?

Ich würde mich sehr über eure Hilfe und jeden Tipp freuen.

Vielen Dank!

Das sind die Sensoren:
https://www.reichelt.de/entwicklerboards-feuchtesensor-bodenfeuchte--debo-cap-sens-p223620.html?PROVID=2788&gclid=CjwKCAjwxr2iBhBJEiwAdXECw9Og9ZfuxnWKDXgd0lmD82mVSF92A5Q2wkcnX69FjaQe9AbAPdD55RoCEwcQAvD_BwE

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Felix schrieb:
> ich plane, vier analoge Feuchtigkeitssensoren mit dem Raspberry Pi Pico
> einzulesen. Da der Pico nur über drei analoge Eingänge verfügt, bin ich
> auf der Suche nach einer Lösung für mehr Analoge Eingänge auf den
> Analog-Multiplexer 74HCT4052 gestoßen.

Kann man machen.

> Da ich mich nicht gut mit solchen
> Bauteilen auskenne, würde ich gerne mal nachfragen, ob das so
> funktionieren würde?

> Muss man bei der Beschaltung auf etwas bestimmtes achten, oder passt das
> so wie in meiner (unprofessionellen) Skizze?

Teilweise. Der Pico arbeitet mit 3,3V, also muss auch VDD 3,3V sein.

> Die Sensoren sind als
> Transistoren dargestellt, nicht verwirren lassen.

Warum zeichnest du dann so einen Quark?

> Der Transistor Q1 soll dazu dienen, alle Sensoren auszuschalten, um
> Strom zu sparen.

Macht man so nicht. Wenn, dann sollte man VCC mittels P-Kanal MOSFET 
oder PNP Transistor schalten. GND sollte immer verbunden bleiben.

https://www.mikrocontroller.net/articles/Transistor#Wie_kann_ich_mit_5V_vom_Mikrocontroller_12V_und_mehr_schalten?

Pegelwandler

von C-hater (c-hater)


Lesenswert?

Felix schrieb:

> Analog-Multiplexer 74HCT4052 gestoßen. Da ich mich nicht gut mit solchen
> Bauteilen auskenne, würde ich gerne mal nachfragen, ob das so
> funktionieren würde?

Grundsätzlich ist der genannte Analog-MUX natürlich sehr gut für deinen 
Zweck geeignet. Aber die gezeigte Schaltung ist kompletter Mist. Schon 
deshalb, weil sie überhaupt nicht zu einem 4052 passt...

von N. M. (mani)


Lesenswert?

Und warum nicht einfach einen externen ADC? z.B. über SPI oder I2C.

: Bearbeitet durch User
von Jens G. (jensig)


Lesenswert?

Felix schrieb:
> Das sind die Sensoren:
> 
https://www.reichelt.de/entwicklerboards-feuchtesensor-bodenfeuchte--debo-cap-sens-p223620.html?PROVID=2788&gclid=CjwKCAjwxr2iBhBJEiwAdXECw9Og9ZfuxnWKDXgd0lmD82mVSF92A5Q2wkcnX69FjaQe9AbAPdD55RoCEwcQAvD_BwE

Und wo ist das Datenblatt dazu?

Aber generell sieht die Schaltung nach Murks aus. Schon deswegen, weil 
hier die Masse abgeschaltet wird.

: Bearbeitet durch User
von C-hater (c-hater)


Lesenswert?

N. M. schrieb:

> Und warum nicht einfach einen externen ADC? z.B. über SPI oder I2C.

Nunja, dafür fiele mir schon ein stichhaltiger Grund ein: ADCs werden 
schneller abgekündigt und durch was neueres (und typisch dann auch 
teureres) ersetzt, als man das überhaupt verfolgen kann. Es sei denn, 
man verbringt einen erheblichen Teil seiner Arbeitszeit nur damit, die 
Entwicklung in diesem Sektor zu verfolgen.

Die 4052 hingegen gibt es seit Jahrzehnten funktional unverändert in 
vielen Technologien und Packages. Und sie sind spottbillig.

Da fällt die Wahl bei moderaten Anforderungen an den ADC wirklich nicht 
schwer...

von Felix (felix_1507)


Angehängte Dateien:

Lesenswert?

Da offensichtlich viele Fehler in der ersten Schaltung waren, hier 
schonmal eine nachgebesserte Version.

Warum sollte man bei Sensoren den GND nicht schalten? Das wusste ich 
nicht.

Um die Sensoren ein/aus zu schalten, würde ich einen P-Kanal LL-MOSFET 
verwenden.

von Jens G. (jensig)


Lesenswert?

Felix schrieb:
> Warum sollte man bei Sensoren den GND nicht schalten? Das wusste ich
> nicht.

Weil Masse das Bezugspotential darstellt, und zweitens die ADC-Eingänge 
dann auf Dauer-H liegen, bzw. der Sensor, wenn dessen Ausgang über einen 
R auf Masse gezogen wird, sozusagen eine negative Spannung am Ausgang 
hat. Das macht man nur, wenn man weiß, was man tut.

> Um die Sensoren ein/aus zu schalten, würde ich einen P-Kanal LL-MOSFET
verwenden.

Warum schafft man es nicht, wenn es ein P-Kanal wäre, auch einen solchen 
einzuzeichnen (und das auch noch richtig herum).

: Bearbeitet durch User
von N. M. (mani)


Lesenswert?

C-hater schrieb:
> Nunja, dafür fiele mir schon ein stichhaltiger Grund ein:...

In den Anforderungen des TOs konnte ich nirgends Jahrzehnte lange 
Verfügbarkeit herauslesen. Aber OK.

C-hater schrieb:
> Die 4052...sind spottbillig

Bei den Stückzahlen die der TO für seine Spielereien benötigt mit 
Sicherheit ein riesen Kriterium.

Aber hey, es gibt viele Wege...

von C-hater (c-hater)


Lesenswert?

N. M. schrieb:

> In den Anforderungen des TOs konnte ich nirgends Jahrzehnte lange
> Verfügbarkeit herauslesen. Aber OK.

Muß man nicht explizit Benennen. Das ist eine Art Naturgesetz. Alles, 
was langfristig möglichst unverändert beschaffbar ist, senkt die Kosten 
für den Endanwender.

Man muß kein Genie sein, um das erkennen zu können.

> Bei den Stückzahlen die der TO für seine Spielereien benötigt mit
> Sicherheit ein riesen Kriterium.

Ich habe keine Ahnung, welche Stückzahl der TO aktell benötigt. Aber ich 
bin sicher, dass ein 4052 (selbst bei Stückzahl=1) deutlich billiger ist 
als irgendein externer ADC.

von Mi N. (msx)


Lesenswert?

Felix schrieb:
> fünf analoge Feuchtigkeitssensoren

Dafür brauchst Du einen 74HCT4051.

von C-hater (c-hater)


Lesenswert?

Mi N. schrieb:

> Dafür brauchst Du einen 74HCT4051.

Verdammt, ja, natürlich. Die "fünf" im OT ist mir tatsächlich entgangen.

Ansonsten ändert sich allerdings nix...

Höchstens: man könnte dann 2x 4051 einsetzen und damit weitere Pico-IOs 
einsparen. Nämlich durch Abbildung der "Sensorversorgung" auf den 
zweiten 4051. Adressleitungen könnten mit dem 1. 4051 geshared werden, 
Inhibit ist eh' über (war es auch schon im ursprünglichen Konzept).

von Felix (felix_1507)


Angehängte Dateien:

Lesenswert?

Hallo,

Mi N. schrieb:
> Dafür brauchst Du einen 74HCT4051.

Das stimmt, da der 74HCT4051 aber eine VIH von mind. 3,5V hat, bin ich 
mir da nicht sicher ob das mit meinen 3,3V sicher funktioniert.
Ich könnte stattdessen doch auch für den 5. Sensor einen separaten 
A/D-Eingang direkt am Pico nehmen oder? Da sind ja noch zwei Stück frei.
Ändern sich die Analogwerte, die mit dem Multiplexer geschalten werden 
im Vergleich zu einem direkten Einlesen? Es wäre gut, wenn die Signale 
noch vergleichbar wären.

Jens G. schrieb:
> Warum schafft man es nicht, wenn es ein P-Kanal wäre, auch einen solchen
> einzuzeichnen

Das mit dem P-Kanal Mosfet ist jetzt hoffentlich richig gezeichnet. 
Funktioniert die Beschaltung mit dem Pull-up-Widerstand am Gate und sind 
10kΩ dafür geeignet?
Habt ihr eine Bauteilempfehlung welchen P-Kanal MOSFET ich hier 
verwenden könnte?

Danke für die Hilfe

von Falk B. (falk)


Lesenswert?

Felix schrieb:
> Mi N. schrieb:
>> Dafür brauchst Du einen 74HCT4051.
>
> Das stimmt, da der 74HCT4051 aber eine VIH von mind. 3,5V hat, bin ich
> mir da nicht sicher ob das mit meinen 3,3V sicher funktioniert.

Tut er nicht. Für 3,3V muss es HC sein, HCT läuft nur mit 4,5-5,5V.

> Ich könnte stattdessen doch auch für den 5. Sensor einen separaten
> A/D-Eingang direkt am Pico nehmen oder? Da sind ja noch zwei Stück frei.
> Ändern sich die Analogwerte, die mit dem Multiplexer geschalten werden
> im Vergleich zu einem direkten Einlesen?

Wenn man es richtig macht, nein.

> Das mit dem P-Kanal Mosfet ist jetzt hoffentlich richig gezeichnet.

Naja, fast. Wenn man es richtig machen will, muss man das Gate zum 
Schließen mit +5V ansteuern. Das kann der Pico aber nicht, der läuft mit 
3,3V. Also braucht es einen NPN-Transistor mit Basiswiderstand.

> Funktioniert die Beschaltung mit dem Pull-up-Widerstand am Gate und sind
> 10kΩ dafür geeignet?

Ja.

> Habt ihr eine Bauteilempfehlung welchen P-Kanal MOSFET ich hier
> verwenden könnte?

BSS84 reicht für 25mA. Ist halt SMD, SOT23.

von Mi N. (msx)


Lesenswert?

Felix schrieb:
> Das stimmt, da der 74HCT4051 aber eine VIH von mind. 3,5V hat,

Ich weiß nicht, wie Du auf diese Spannung kommst.
Mein Tipp wäre, den HCT4051 mit 5 V laufen zu lassen, damit er an den 
analogen Kanälen nicht übersteuert werden kann. Der Pico-Pi kann ja auch 
mit ext. 5 V laufen.
Der Multiplexer mag an den Eingängen keine höhere Spannung als Vcc. Bei 
5 V hat man da etwas mehr Luft.
Andernfalls gibt es Übersprechen auf den Z-Pin. Probleme kann es geben, 
wenn die Sensoren (im Fehlerfall) > 3,3 V als Ausgangsspannung liefern 
können. Übersteuert ein Kanal, sind die Meßwerte der anderen Kanäle zu 
hoch.

von Felix (felix_1507)


Lesenswert?

Mi N. schrieb:
> Ich weiß nicht, wie Du auf diese Spannung kommst.
> Mein Tipp wäre, den HCT4051 mit 5 V laufen zu lassen, damit er an den
> analogen Kanälen nicht übersteuert werden kann. Der Pico-Pi kann ja auch
> mit ext. 5 V laufen.

Oh ich habe ausversehen beim HC-Modell geschaut. HCT würde tatsächlich 
gehen. Dann wäre könnte ich alle Sensoren über den Multiplexer laufen 
lassen und muss den einen nicht speziell behandeln - Auch gut.

Falk B. schrieb:
> Teilweise. Der Pico arbeitet mit 3,3V, also muss auch VDD 3,3V sein.

In einem früheren Post wurde erwähnt, dass hier nur 3,3V geeignet wären. 
Habe ich das falsch verstanden oder auf was bezieht sich das?

Falk B. schrieb:
> BSS84 reicht für 25mA. Ist halt SMD, SOT23.

Alles klar, danke. SOT23 ist wahrscheinlich etwas unangenehm zu löten, 
aber das wird schon.

von Felix (felix_1507)


Angehängte Dateien:

Lesenswert?

Jetzt passt alles, oder?

von Falk B. (falk)


Lesenswert?

Felix schrieb:
> Jetzt passt alles, oder?

Ja.

von Rolf (princeton007)


Lesenswert?

Ich baue gerade so ziemlich das gleiche: Raspberry Pi Pico W + 8 
kapazitive Bodenfeuchtesensoren, und teste gerademit einem CD74HC4051. 
Diesen habe ich an die 3,3V Vcc (und nicht 5V, wie Felix) und die 
Sensoreingänge dort direkt angeschlossen. Die Sensoren liefern irgendwas 
zwischen 1 und 2,5V, jedenfalls unterhalb 3,3V da sie jeweils einen LDO 
haben. Die Stromversorgung der Sensoren werde ich vermutlich auch 
schaltbar machen da ein Sensor ca. 5 mA verbraucht und bei 8 Stück 40mA 
zusammen kommen, naja die 132 mW mehr oder weniger retten den Planeten 
jetzt auch nicht mehr, aber trotzdem..

Felix schreibt "da der 74HCT4051 aber eine VIH von mind. 3,5V hat, bin 
ich mir da nicht sicher ob das mit meinen 3,3V sicher funktioniert."

Die VIH ist aber abhängig von Vcc, und wenn Vcc 3,3V ist (erlaubt sind 
ja bei der HC Version 2V bis 6V), ist VIH auch entsprechend geringer. 
Erste Tests hier haben das bestätigt.

: Bearbeitet durch User
von Falk B. (falk)


Lesenswert?

Rolf schrieb:
> Felix schreibt "da der 74HCT4051 aber eine VIH von mind. 3,5V hat, bin

Das halte ich für einen Irrtum oder Tipfehler.

Die HC_T_ haben TTL Pegel am Eingang, da ist alles >2,4V HIGH. Die HC_T_ 
laufen auch offiziell nur mit 4,5-6V und die Schaltschwellen sind 
konstant.

Die HC (ohne T) wollen offiziell 0,7*VCC als HIGH sehen, laufen aber mit 
2-6V.

> Die VIH ist aber abhängig von Vcc, und wenn Vcc 3,3V ist (Erlaubt sind
> ja 2V bis 6V), ist VIH auch entsprechend geringer. Erste Tests hier
> haben das bestätigt.

Logisch, du hast einen HC.

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.