Hallo Forum! Ich brauche mal eure Hilfe bei einem sehr komischen Problem: Ich habe hier einen Atmega48. An dem hängen 12x mcp3208 ADCs (12bit Datenbreite) über SPI. Dabei teilen sich alle Wandler das MOSI, CS und SCK. Die MISOs führe ich einzeln an Portpins und lese sie per Programm aus. So setzte ich mir per Software-SPI die Daten zusammen. Nun ergibt sich folgendes Problem: Führe ich den Wandlern eine Spannung zu, so setzten sie diese korrekt um, bis zu einem Zahlenwert von etwa 1770 (genauer kann ich es dank Signalrauschen nicht erkennen). Ab diesem Punkt erscheint eine konstante 2048 als Messsignal. Drehe ich die Eingangsspannung weiter auf und erreiche den Wert, an dem tatsächlich eine 2048 als Wert erscheinen sollte, so machen die Wandler alles darüber ordnungsgemäß mit. Zusammengefasst: zwischen ca. 1770 und 2048 geben sie immer eine 2048 aus, darunter und darüber ist alles ok. Ich habe eine Zeichnung angehängt, in der das Verhalten zu sehen ist. Da die 2048 eine Zweierpotenz ist, war mein erster Gedanke: Du liest die Daten falsch aus, du setzt sie falsch zusammen. Also habe ich meinen neuen MiniLA drangehängt und die Leitungen mitgelesen. Was dabei zu sehen ist, habe ich ebenfalls in den Anhang gelegt: Nach der Übertragung des Kanals (das schnelle gezappel im Bild) kommt wirklich schon eine 2048 aus dem Wandler herraus (die Eins gefolgt von vielen nullen). Ich habe noch den Schaltplan angefügt, damit ihr meine Verschaltung seht. Da sollte es eigentlich keine Probleme geben. Was zum Henker ist da mit den Wandlern los?! Vielen Dank für Tipps und Hinweise! Johannes PS: Es handelt sich um Wandler mit sukzessiver Approximation, falls das was hilft. PPS: Diese eigenartigen "2048" sind ohne jedes Signalrauschen. Darunter und darüber rauscht es (Sensorbedingt).
Johannes Neumann schrieb: > Darunter > und darüber rauscht es (Sensorbedingt) Eher "Vref-Bedingt". Laut Schaltplan holst du dir VRef aus einem rauschendem Poti, das die stark verrauschte und verstörte Betriebsspannung runterteilt. Welchen Wert hast du dort eingedreht, und tritt dein Effekt auch auf, wenn du Vref auf 5V stellst? Hast du den Wandler im Differentiellen oder im Single-Ended mode?
Ungeachtet von deinem Problem, ist der Schaltplan dubios. 1) Vref für die Wandler über ein Poti aus der Vdd??! 2) Normalerweise nimmt man für jeden Wandler einen CS und hängt die MISO / MOSI Pins zusammen. In deiner Version musst du ja die Daten per Software einlesen... ist doch nicht wirklich geschickt gelöst.
Hans W. schrieb: > ist doch nicht wirklich geschickt gelöst. Naja, so laufen alle Wandler "Synchron", und er kann mehrere davon gleichzeitig einlesen. Aber ob das mehr Geschwindigkeit bringt?? Was wird das eigentlich mit 48×12Bit ADC? Midi-Keyboard mit "Tastendruckmessung" über Einzelpotis?
Sorge erst mal für eine saubere Vref. So haut dir jede Störspitze die evt. sogar von den Wandlern selbst kommt direkt in Vref und zerschiesst dir deine Messung. Da kannst du besser die internen Wandler vom AT-Mega nehmen, die dürften bei dieser Vref genauer sein als deine externen.
Hallo! Danke für die Wertvollen Tipps. Ich löte jetzt mal einen Elko+kerko zwischen Vref und GND, das sollte die Sache verbessern. Recht habt ihr ja damit! Ja, die Intention war tatsächlich, dass die Wandler so synchron laufen. Die Geschwindigkeit reicht aus. Dieser ATMega soll die Daten nur auslesen und an einen anderen Controller weitergeben. Das kann er per SPI (dazu auch der Stecker im Schaltplan) alle 780us. Für meinen Zweck reichts aus. Das Verhalten ändert sich nicht, wenn ich Vref ändere. Direkt bei 5V kann ich leider nicht testen, da meine Sensoren nur bis ca. 3V ausgeben. Der Sprung erscheint aber unabhängig von Vref immer an der selben Stelle. Der Wandler läuft im Single Ended Modus. Es bleibt zu erwähnen, dass die Wandler SMD sind und schonmal auf einem anderen Board verlötet waren. Leider war dieses Fehlerhaft und so musste ich sie ablöten und erneut auf ein Board auflöten. Ich weiß also nicht, wie sie auf dem ersten Board (vor dem Umlöten) liefen. Ich könnte mir vorstellen, dass sie die Temperatur beim ablöten nicht gut vertragen haben. Aber komisch ist, dass dieses Verhalten bei drei Wandlern genau gleich ist (ich habe von den 12 möglichen Wandlern bisher drei vom alten aufs neue Board übertragen). Ja, das soll eine Sensorleiste für ein Klavier werden. Johannes
WOW ihr seid irre! Es geht, sobald ich einen Kondensator an Vref hatte, war das Problem passee. Irgend eine idee warum das so ist (mir kommt da sone Idee...)? Super, wieder was gelernt :) Danke für eure Antworten
Oh jeh. Mit GENAU dem selben Problem schlage ich mich seit ein paar wochen herum. Vielen Dank an den Thread-Ersteller, das er sich die Mühe gemacht hat das Problem so genau hier zu beschreiben und vielen Dank an die Helfer :)
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.