Hallo zusammen, ich bastel gerade an einer Schaltung auf der insgesamt 12 Thermocouple Converter ICs (MAX31856) sitzen sollen. Angesteuert und ausgelesen wird das ganze über SPI von einem Raspberry Pi 4. Damit nicht gleich alle GPIO Pins vom Raspberry genutzt werden, wollte ich eigentlich einen 16:1 Multiplexer (74HC4067) verwenden, dieser macht jetzt aber Probleme. Die Schaltung und das auslesen funktioniert mit direkter Ansteuerung des CS Pins der ICs wunderbar, nur wenn ich den Multiplexer dazwischen schalte, passieren mir unerklärliche Dinge. Den Multiplexer steure ich ganz normal über die vier Inputs (S0, S1, S2, S3) an und aktiviere den Ausgang dann mit dem Enable Pin. Der entsprechend angewählte Ausgang wird dann mit meinem Eingangssignal (common input Z) verbunden, dieser liegt auf Ground. Testweise habe ich auch ein 5kHz Rechtecksignal als Ansteuersignal verwendet, das hat komischerweise einwandfrei funktioniert. SPI läuft mit 500 kHz. Ein Screenshot vom Oszilloskop hab ich angehängt. (Gelb ist gemessen nach dem Multiplexer; Blau ist das Enable Signal vor dem Multiplexer) Zusätzlich noch die Schematics vom Multiplexer und einem Thermocouple IC. Ich hab heute den ganzen Tag gemessen und gerätselt und komm einfach nicht drauf, was es sein könnte. Irgendjemand ne Idee? Besten Dank und schöne Osterfeiertage, Hansdampf
Jq schrieb: > Der entsprechend angewählte Ausgang wird dann mit meinem Eingangssignal > (common input Z) verbunden, dieser liegt auf Ground. Weshalb liegt Z auf Ground? Damit wird der ausgewählte Eingang doch quasi kurzgeschlossen.
Der CS (Chip Select) des MAX31856 reagiert auf ein LOW Signal. Über einen 10kOhm Widerstand wird das Signal auf 3.3V gehalten und über den Multiplexer dann auf Ground (LOW-Signal) gebracht. (siehe Angehängtes Bild) Ohne Multiplexer geht der Pin der am CS angeschlossen ist auf 0V, mit dem Multiplexer simuliere ich das indem ich den Pin einfach auf Ground schalte. Bitte korrigier mich falls hier schon mein Fehler liegt.
Jq schrieb: > Der CS (Chip Select) des MAX31856 reagiert auf ein LOW Signal. > Über einen 10kOhm Widerstand wird das Signal auf 3.3V gehalten und über > den Multiplexer dann auf Ground (LOW-Signal) gebracht. > (siehe Angehängtes Bild) > > Ohne Multiplexer geht der Pin der am CS angeschlossen ist auf 0V, mit > dem Multiplexer simuliere ich das indem ich den Pin einfach auf Ground > schalte. > > Bitte korrigier mich falls hier schon mein Fehler liegt. Z liegt also immer auf GND und Y sind Ausgänge. Der entsprechend ausgewählte Y (in Deinem Beispiel CS7) legt dann CS eines MAX31856 auf GND um dem Chip zu selektieren? Weshalb nimmst Du nicht einen 74HC4515? Du brauchst doch keinen Analogmultiplexer. https://assets.nexperia.com/documents/data-sheet/74HC4515.pdf Weshalb 2 Spannungsquellen? Die 74HCxx laufen auch mit 3,3V. > Ein Screenshot vom Oszilloskop hab ich angehängt. (Gelb ist gemessen > nach dem Multiplexer; Blau ist das Enable Signal vor dem Multiplexer) Ist der Aufbau korrekt? GND der 2 Spannungsquellen korrekt miteinander verbunden? Der 74HC4067 schaltet ja recht unmotiviert durch. Gibt es Abblockkondensatoren im Testaufbau?
:
Bearbeitet durch User
> Z liegt also immer auf GND und Y sind Ausgänge. Der entsprechend > ausgewählte Y (in Deinem Beispiel CS7) legt dann CS eines MAX31856 auf > GND um dem Chip zu selektieren? Genau so hab ich mir das gedacht. > Weshalb nimmst Du nicht einen 74HC4515? Du brauchst doch keinen > Analogmultiplexer. Tatsächlich wäre ein 74HC4515 wahrscheinlich die bessere Lösung gewesen, ich wusste aber nicht, das es sowas gibt. Falls es mit meinem Analogmultiplexer auch geht, würde ich den jetzt aber gerne weiter benutzen. Für die Zukunft hab ich das Bauteil aber im Kopf, danke! > Weshalb 2 Spannungsquellen? Die 74HCxx laufen auch mit 3,3V. Richtig, aber die 5V kommen eh vom Raspberry Pi und werden dann über einen 3.3V Spannungswandler auf der Platine für die MAX31856 gewandelt. Die 5V sind also eh vorhanden. Mit 5V sollte der Schaltwiderstand vom MUX auch geringer sein, das ist der einzige Grund. > Ist der Aufbau korrekt? GND der 2 Spannungsquellen korrekt miteinander > verbunden? Der 74HC4067 schaltet ja recht unmotiviert durch. Common Ground für alles. Und mit einem 5kHz Rechtecktestsignal funktioniert’s auch komischerweise problemlos. > Gibt es Abblockkondensatoren im Testaufbau? Spendiere dem Enable vom MUX mal einen Pullup. Hilf mir mal bitte, was genau du mit Abblockkondensatoren meinst. Die ICs haben alle 0.1uF an der Versorgung bekommen, falls du das meinst. Mach ich, aber müsste ich das nicht eigentlich am Oszi sehen, wenn das Enable Signal am MUX nicht passt? Danke dir!
Zeige mal Fotos von der Schaltung.
:
Bearbeitet durch User
Jq schrieb: > Falls es mit meinem Analogmultiplexer auch geht, würde ich den jetzt > aber gerne weiter benutzen. Dann musst du aber genügend kleine Pull-up Widerstände verwenden, um die nicht selektierten Ausgänge schnell genug auf High zu ziehen. Bei 500kHz schaltet der sonst vielleicht nicht schnell genug ab. Wie sehen die CS-Signale bei höherer Zeitauflösung aus und wie liegt deine SPI-Kommunikation zeitlich dazu. Im Übrrsichtsbild ist das etwas schlecht zu sehen. Jq schrieb: > F0018TEK.BMP p.s. Für Screenshots bitte PNG- oder GIF-Format benutzen (s. Hinweis auf Bildformate). BMP ist wegen der fehlenden Kompression eher ungünstig.
:
Bearbeitet durch User
Leute ich hab das Problem gefunden! Ich hab seit heute morgen Messungen gemacht, bis mir irgendwann aufgefallen ist, dass ich die S0-S3 Pins noch nicht ausgemessen hatte. Siehe da, der Pin "S1A" (GPIO8 - SPI0_CE0N), der am Pi angeschlossen ist verursacht das Problem. Obwohl ich den Pin nicht direkt anspreche, scheint die board.SPI() oder die adafruit_max31856 library irgendwas im Hintergrund zu machen. Ist ein bisschen komisch, weil man den cs pin Softwaretechnisch separat auswählen kann und ich den ja eigentlich auf mein Enable für den MUX gelegt hab. Ich hab auch mal in die librarys reingeschaut, konnte aber auf Anhieb nichts finden, dafür reichen meine Programmierkenntnisse nicht. Jörg R. schrieb: > Zeige mal Fotos von der Schaltung. Recht viel mehr als die zwei Bilder die ich schon angehängt hab ist in der Schaltung nicht zu finden. Die Thermocouple sind alle gleich verschalten und ansonsten gibt's eigentlich nur noch den Schaltregler und den GPIO-Header. Wenn du mir aber sagst, was du noch gerne sehen würdest, kann ich das noch nachreichen. Rainer W. schrieb: > Dann musst du aber genügend kleine Pull-up Widerstände verwenden, um die > nicht selektierten Ausgänge schnell genug auf High zu ziehen. Bei 500kHz > schaltet der sonst vielleicht nicht schnell genug ab. Wie sehen die > CS-Signale bei höherer Zeitauflösung aus und wie liegt deine > SPI-Kommunikation zeitlich dazu. Im Übrrsichtsbild ist das etwas > schlecht zu sehen. Aktuell sind 10kOhm Pull-Ups verbaut, ich messe jetzt nochmal und schau mir die Anstiegs/Abfallzeiten und die SPI Kommunikation an. Aktuelle sieht es aber so aus, als ob das passen würde. Den Hinweis mit den Bildformaten werd ich in Zukunft befolgen, danke dir.
:
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.