Hallo zusammen, ich würde mit meinem Wemos D1 Mini gerne Temperaturen auswerten (NTC-Temperatursensoren). Da der D1 Mini nur einen analogen Eingang hat, würde ich gerne Eure Meinung wissen, was geschickter/vorteilhafter ist: * Erweiterung der Ports mittels bspw. dem Port-Expander PCF8574 * Verwenden eines Multiplexers bspw. dem PCA9548A Hier wären beide über I2C angebunden. Ich hab aber auch ein 16 Channel Multiplexerboard gesehen: CD74HC4067 (gibts sicher auch in 4 oder 8 Channel Ausführung) Ich gehe davon aus, dass ich einen Multiplexer verwenden muss, da ich mit den NTC-Sensoren via eines Spannungsteilers den Spannungsabfall am D1 Mini auslesen möchte (Analoger Eingang) und intern in eine Temperatur umrechne. Entsprechend wird die Porterweiterung wegfallen, da (soweit ich das verstanden habe) keine analogen Ports darunter fallen oder? Ich bin mittels I2C noch nicht bewandert, möchte mich da aber gern etwas beschäftigen. Daher meine Frage an Euch: * Porterweitung oder Multiplexerverwendung (wahrscheinlich letzteres) * I2C oder einfach einen standard Multiplexer bei dem ich die "Signals" selbst ansteuere? * Modularität ist von Vorteil aber nicht zwingend notwendig (heißt, wenn ich nochmals den ein oder anderen Sensor dranhängen möchte - Kaskadierung). Danke schon im Voraus fürs durchlesen. Grüße Tobi
:
Bearbeitet durch User
In diesem Fall bringen dich beide Bausteine nicht weiter. Der erste ist ein I/O-Expander, der weitere digitale Ein-/Ausgänge zur Verfügung stellt. Der Multiplexer macht aus einem I2C-Bus mehrere Busse. Also auch alles digital. Tobias H. schrieb: > Ich hab aber auch ein 16 Channel > Multiplexerboard gesehen: CD74HC4067 (gibts sicher auch in 4 oder 8 > Channel Ausführung) Der schon eher. Das ist ein Analog-Multiplexer, der für deine Anwendung geeignet ist. Tobias H. schrieb: > Porterweitung oder Multiplexerverwendung (wahrscheinlich letzteres) Multiplexer. Allerdings für analoge Signale Tobias H. schrieb: > I2C oder einfach einen standard Multiplexer bei dem ich die "Signals" > selbst ansteuere? Kommt ein bisschen drauf an. I2C nutzt gerade, wenn du Kaskadierbarkeit ansprichst, weniger Pins. Dann müssen die Multiplexer nur verschiedene Adressen haben (über ext. Beschaltung einstellbar)
Hat es einen bestimmten Grund, warum Du NTCs verwendest? Es gibt One-Wire-Sensoren (DS18B20 und ähnliche). Die werden über eine Leitung angesteuert (plus Ground, Betriebsspannung ist optional), und da jeder Sensor seine weltweit einzigartige ID hat, kannst Du mehrere Sensoren an einem Draht betreiben (und andere Sachen, es gibt auch EEPROMs, IOs,...). Wenn Du spezielle NTC-Sensoren hast oder brauchst, brauchst Du einen ADC. Eine einfache Wahl wäre der MCP3208. http://ww1.microchip.com/downloads/en/devicedoc/21298e.pdf Der wird per SPI angeschlossen, sollte unproblematisch zu bekommen sein, und hat 8 analoge Eingänge. Brauchst Du mehr eingänge, nimmst Du einfach einen zweiten dazu. DIN, DOUT und CLK gehen an alle gemeinsam, aber jeder hat seine eigene CS-Leitung. Für I2C gibts diese ADCs z.B.: https://datasheets.maximintegrated.com/en/ds/MAX11612-MAX11617.pdf Da hast Du bis zu 12 analoge Eingänge, kannst aber nur einen Baustein pro I2C-Bus anschließen. Brauchst Du mehr, brauchst Du einen I2C Multiplexer wie den PCA9547: https://www.nxp.com/docs/en/data-sheet/PCA9547.pdf Der gibt Dir 8 getrennte I2C-Busse, wo jeweils ein ADC angeschlossen werden kann. Es gibt noch viel mehr, das hier sind nur Beispiele. fchk
Hallo Sebastian und Frank, vielen lieben Dank für Eure zwei Antworten. Das hilft mir ungemein. Beide in gleichem Maße. Sebastian R. schrieb: > Der Multiplexer macht aus einem I2C-Bus mehrere Busse. Also auch alles > digital. Ich dachte das bspw. der Multiplexer PCA9548A von diesem hier CD74HC4067 nur aufgrund der Ansteuerung anders ist. Einmal mit dem I2C und einmal manuell über die Signal Pins vom Chip. Frank K. schrieb: > Hat es einen bestimmten Grund, warum Du NTCs verwendest? Jein. Ich hab hier nur so viele herumliegen :), den DS18B20 hab ich auch im Einsatz. V++ auf den Datenbus und nen Pull-Up Widerstand (wenn ich mich recht entsinne nen 4.7k) und schon kann man einige Sensoren an die Leitung hängen (bin mir aktuell nicht sicher wie viele). Also prinzipiell gibt es keinen speziellen Grund, nur die Neugierde. Außerdem hab ich auch noch geplant eine Spannung an einem Widerstand zu messen bzw. an mehreren (immer die gleiche Schaltung - Entladen von Batterien zur Bestimmung der Kapazität). Frank K. schrieb: > Wenn Du spezielle NTC-Sensoren hast oder brauchst, brauchst Du einen > ADC. > Eine einfache Wahl wäre der MCP3208. An das hab ich noch gar nicht gedacht. Ich könnt dann einen 8-Kanal AD Wandler nehmen, da 8 NTC's draufpacken, das Signal dann mit SPI im D1 Mini verarbeiten oder oben (wie Du schon erwähnt hast) einen AD Wandler nehmen der mit I2C arbeitet. Oder ich hol mir nen Analogen Multiplexer und mach das dann mit diesem. Alternativ und am einfachsten: einfach neue DS18B20 kaufen und alles mit denen machen. Danke für Eure Antworten und Hinweise. Tobi
:
Bearbeitet durch User
Sebastian R. schrieb: > Tobias H. schrieb: >> einfach neue DS18B20 kaufen > > "neu" sind übrigens auch schon über 20 Jahre :D :) Du weißt ja wie ich das meinte. Aber danke für die Info. Nach etwas Überlegung werde ich mir wahrscheinlich dann den MCP3008 anschauen. 10bit reichten mir, die Mehrkosten vom MCP3208 auf 12 Bit brauch ich nicht. Ansonsten sehe ich keine großen Unterschiede zwischen den zwei AD Wandlern. Danke nochmals für Eure Unterstützung.
:
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.