Hallo zusammen,
Ich habe ein Problem mit einem 32 Kanal Analog Mux (ADG731).
Der Mux soll 32 analoge Signalquellen für einen ADC muxen, dazu sind die
Signalquellen (4-20mA Stomsignale) direkt an die jeweiligen Mux-Eingänge
angeschlossen und der Mux-Ausgang ist an einem Shunt-Widerstand mit dem
ADC eines MCU und unterhalb mit Masse verbunden.
Der Mux-IC befindet sich auf einem custom PCB und wird mittels 3-Wire
SPI angesprochen.
Im Datenblatt steht noch die Info, das einem Reset/Neustart des Muxs,
alle Schalter geschlossen sind und darauf gewartet wird, dass das
Register mit einer gültigen Bitfolge beschrieben wird.
Das Problem besteht nun darin, das ich, egal welchen Eingang ich
benutze, dieser das Signal durchgibt. Wenn ich mehrere Signale
anschließe werden diese sogar überlagert. Auch nach einem Neustart des
Boards und ohne SPI Kommunikation tritt dieses Problem auf.
Die Messung ist bei einem Signal korrekt.
Leider bin ich noch Anfänger und kann nicht wirklich nachvollziehen, wo
hier das Problem liegt. Meines Wissen kann der Analog Mux doch zu jedem
Zeitpunkt nur maximal einen Schalter betätigen oder sehe das falsch ?
Wäre für Tipps und Anregungen sehr dankbar.
Grüße,
Euer Peter
PeterPanisch schrieb:> Der Mux soll 32 analoge Signalquellen für einen ADC muxen, dazu sind die> Signalquellen (4-20mA Stomsignale) direkt an die jeweiligen Mux-Eingänge> angeschlossen und der Mux-Ausgang ist an einem Shunt-Widerstand mit dem> ADC eines MCU und unterhalb mit Masse verbunden.
Miss mal mit einem Multimeter nach, welche Spannung an deinen
MUX-Schalterpins anliegt. Die darf nicht höher als die
Versorgungsspannung sein. Sonst hast du die erste Zeile der
Spezifikationen verletzt...
Der Witz dabei: so ein MUX-Schalter ist kein potentialgetrenntes Gebilde
wie z.B. ein Relaiskontakt.
Danke für die Antwort.
Bei einem Signal hat dieses konstant 4 V, egal ob ich die Windfahne
ändere oder nicht, jedoch wird der ADC Wert korrekt berechnet ?!
Wahrscheinlich habe ich falsch gemessen (Schalterpin->Masse)
Der Mux hat eine VDD von 3,3 Volt
PeterPanisch schrieb:> Der Mux hat eine VDD von 3,3 Volt
Ist diese Vdd gemessen oder steht sie nur im Schaltplan?
> Bei einem Signal hat dieses konstant 4 V> ...> Der Mux hat eine VDD von 3,3 Volt
Dann bist du ausserhalb der Spec und die Schutzdiode leitet:
3,3V+0,7V = 4V...
(Ein Tipp nebenher: du bist auf dem besten Weg das Ding (und andere ICs
deiner Schaltung) kaputt zu machen)
> Wahrscheinlich habe ich falsch gemessen (Schalterpin->Masse)
Nein, das passt. Masse ist der Bezugspunkt für alle Potentiale.
Was sind das für 4-20mA Signale? Womit werden diese Signalgeber
versorgt? Zeichne doch mal einen Schaltplan mit den
Gebern/Sensoren/Signalquellen und allen Spannungen im System und poste
den.
Im Leerlauf betriebene 4-20mA Stromkreise liefern oft relativ hohe
Spannungen, 20V sind da keine Seltenheit. Dann würde die von Lothar
angesprochene Spezifikation verletzt.
Es führt wohl kein Weg daran vorbei, jeden Kreis mit einem eigenen Shunt
zu versehen und dann die Spannung über den MUX zu führen.
Danke für die schnellen Antworten, macht aufjedenfall Sinn mit der
Schutzdiode und die Spezifikation habe ich Hegel natürlich nicht
beachtet.
Dachte es wäre eine kluge Idee, die Widerstände an der Stelle
einzusparen :-(
Die VDD = 3,3xx V sind gemessen. Die Sensoren werden von 24VDC gespeist.
Schaltplan dauert einen Moment, werde ich gleich posten.
Dieter W. schrieb:> Es führt wohl kein Weg daran vorbei, jeden Kreis mit einem eigenen Shunt> zu versehen und dann die Spannung über den MUX zu führen.
Das ist eine vernünftige Lösung.
Die Shunts wären dann sinnvollerweise in der Größenordnung 150 Ohm, so
dass bei 4mA 0.6V und bei 20mA 3V an den Mux-Eingängen (und bei
Durchschaltung am ADC) anliegen.
Es gibt auch schon Alternativen zu einem Shunt für jeden Eingang:
Möglich wäre etwa die Signale mit Dioden zusammenzuführen und die nicht
benutzten Kanäle nach Masse zu ziehen, etwa mit einem MOSFET oder ggf.
auch Treiber IC, ggf. sogar ULN2003 oder ähnlich.
Habe gerade mal die tatsächliche Signalspannung der Windfahne mit U=22 V
gemessen, habe wohl nicht bedacht, das die Spannung viel größer sein
kann, als der Spannungsabfall am Shunt.
PeterPanisch schrieb:> ...macht aufjedenfall Sinn mit der> Schutzdiode und die Spezifikation habe ich Hegel natürlich nicht> beachtet.
Man sollte es sich zur Philosophie machen, Hegel und auch Kant zu
beachten.
"Handle nur nach demjenigen Datenblatt, bei dem Du zugleich wollen
kannst, dass es ein allgemeines Gesetz werde.“
gez. Paul
(Stellvertretender Schichtleiter der Abt. Philosophie)
:)
Lurchi schrieb:> die Signale mit Dioden zusammenzuführen und die nicht> benutzten Kanäle nach Masse zu ziehen, etwa mit einem MOSFET oder ggf.> auch Treiber IC, ggf. sogar ULN2003 oder ähnlich.
Ob es dadurch wohl einfacher wird?
Lurchi schrieb:> Es gibt auch schon Alternativen zu einem Shunt für jeden Eingang:
Stimmt schon - man könnte eine Stromsenke mit Konstant-Spannung von 2,6V
bauen und alle Kanäle über Entkoppeldioden da drauf schalten.
Dann steigt die Spannung der Kanäle im Leerlauf nicht mehr über 3,3V an.
Damit schränkt man sich halt den Aussteuerbereich ein wenig ein.
Hier ist mal eine Zeichnung zu der Schaltung.
Ich habe jetzt den Mux und den ADC direkt verbunden und jeweils einen
Shunt in Klemme zwischen + und - vom Sensor platziert. Die Spannungen
sind nun korrekt und beim Startup sind alle Schalter geöffnet.
Jetzt geht es an die Programmierung.
Vielen Dank nochmal an die zahlreichen Helfer!!
Du brauchst für jeden Kanal einen eigen Widerstand!
Die Sensoren sind Stromquellen. wenn du den Mux abschaltest wird die
Spannung soweit von den Sensoren erhöht bis wieder der Strom fliest den
der Sensor ausgeben möchte. Dabei überschreitet das Signal VCC+UV der
Schutzdioden und es kommt zu diesem komischen Verhalten
Es funktioniert richtig gut mit dem Hin- und herschalten. Jedoch sind
die gemessenen Spannungen sehr unruhig, damit muss ich mich noch näher
beschäftigen.
Vielen Dank nochmal!
PeterPanisch schrieb:> Jedoch sind> die gemessenen Spannungen sehr unruhig, damit muss ich mich noch näher> beschäftigen.
Ein (passender) R-C Tiefpass zwischen MUX und ADC wird helfen.
Auch muss nach dem Umschalten der MUX eine angemessene Zeit gewartet
werden, bevor die ADC Messung gestartet wird.
Filter hinter dem MUX ist so eine Sache: kann man machen, aber man muss
dann nach dem Umschalten immer warten bis sich die Spannung
eingeschwungen hat.Von der Tendenz her also eher weniger stark analog
filtern und lieber die digital hinter dem ADC mitteln und so filtern.
Hier sind vielfache von 20 ms ein Vorteil weil sich damit 50Hz /100 HZ
Störungen gut unterdrücken lassen.
Je nach Signalquelle kann es effektiver sein schon vor dem MUX zu
filtern. Einfache RC filter sind je keine so großer Aufwand. Man kann so
dann auch schnell umschalten und die Kanäle quasi überlappend abfrage.
Für viele stark gestörte Signale ist das ggf. die Methode der Wahl. Da
sind dann auch getrennte Widerstände je Eingang ein Vorteil.
Lurchi schrieb:> Für viele stark gestörte Signale ist das ggf. die Methode der Wahl. Da> sind dann auch getrennte Widerstände je Eingang ein Vorteil.
Die sind sowieso ein Muss.
Denn sonst muss sich die jeweilige Stromquelle erst einschwingen wenn
sie zum Messen dran ist.
Kurt
Lurchi schrieb:> Filter hinter dem MUX ist so eine Sache:
Da gibt es eigentlich keinen Grund für. Wenn die Messperiode des Signals
richtig gewählt ist, ist eine weitere Dämpfung nur hinderlich. Wenn muss
da eine Filter vor die Digitalisierung.