Hallo Leute, ich hoffe, ich verwende hier den Begriff der Dynamik richtig. Ich bräuchte mal einen guten Tipp von euch. Folgende Situation, ich möchte einen Puls, welches auf einer differentiellen Leitung übertragen wird auswerten. Das heißt, ich möchte die Amplitude feststellen und graphisch auf ein Display darstellen. Meine erste Idee ist, mit Hilfe eines OpAmps und einer Verstärkung von 1:-1 das Signal zu entkoppeln und auf einen DA-Wandler zu schicken. Das Problem dabei ist, dass die Amplitude von 17V bis 0,1V betragen kann. Selbst mit einem 12Bit-AD-Wandler wird es eng bei 0,1V. Ich bräuchte also eine Lösung mit hoher Dynamik, richtig? Auflösung ist nicht gaaaanz so wichtig. Jetzt fragte ich mich, wie ich das Problem lösen kann und bin mir sicher, dass ich von euren Erfahrungen profitieren kann. ;) Eine Lösung, die mir sofort einfiel ist mit mehreren Wertbereichen zu arbeiten. Ich könnte, siehe Bild, doch einfach am OpAmp mit verschiedenen Verstärkungsfaktoren arbeiten. Ginge das? Ich habe mir das so vorgestellt. Mit offenen Schaltern habe ich einen Verstärkungsfaktor von -1. Bin also im Wertebereich von 20V. Schließe ich den Schalter S1, halbiere ich den Vorwiderstand und habe eine Verstärkung von -2. Bin also im Wertebereich von 10V. Mit den Schalter S2 habe ich den Vorwiderstand auf den 20fachen reduziert und bin mit dem Verstärkungsfaktor von -20 im Wertebereich von 1V. Wenn also ein Puls kommt, dann arbeite ich im kleinsten Wertebreich. Ist mein ADU voll ausgesteuert, gehe ich beim nächsten Puls in den nächst höheren Wertebereich. Ist er auch dort übersteuert, ich in höchsten. Nachteil ist, dass ich bis zu 3 Pulse brauche, bis ich den richtigen Wert habe. Ist unkritisch, aber unelegant. Auch wäre doch sicher eine Möglichkeit, 3 ADUs einzusetzen und mit Widerstandstandsteilern die Wertebereiche einzustellen. Dann fragt man den niedrigsten Wertebereich ab, ist dieser übersteuert, den nächsten usw. Vorteil, vollständige Auswertung des Puls bei jedem Puls. Nachteil, hoher Aufwand und der ADU des ATXMEGA32A4U (Genauer, der des XMEGA Xminilab von gabotronics http://www.gabotronics.com/development-boards/xmega-xminilab.htm) kann nicht genutzt werden. Mich würde auch interessieren, wie im kleinen Wertebereich das Rauschen des (der) ADU(s) sowie des OpAmps ist. Ich dachte auch daran, eine logarithmische Digitalisierung vorzunehmen. Eine passende Diode in den Feedback zu bauen sollte drin sein. Aber dann wird ja der Graph bei der Anzeige verzogen. Oder ist dies der Königsweg? Immerhin ist er es in der Audiotechnik. Gruß und vielen Dank BrEin
Ichh habe versehentlich das Bild zwei Mal angehangen. Leider kann ich das nicht mehr rückgängig machen.
Da ist doch Murks und wird nie genau. Nimm einen besseren ADC. Der kostet weniger und ist erst noch genauer.
Einen Puls verarbeiten... Geht das überhaupt mit A/D? So ein A/D-Wandler erfasst ja nicht alles, was da kommt, sondern das, was zur Sample-Zeit in den S&H- Kondensator kommt. Rückfragen: Wie oft kommen die Pulse, welche Pulsdauer haben sie? Ist evtl. ein Peak-Detektor erforderlich, der die Pulshöhe erfasst und erst nachdem diese dem A/D-Wandler übergeben wurde, erst wieder für den nächsten Puls bereit ist? Wie genau muss es sein? 12 Bit sind 1024 verschiedene Pegel. Bei 17 V = 1023 ist 0,1 V noch (1023/170) = 6. Ist das ein Problem? Beim Logarithmieren wird es ja auch nicht exakter. Also, die leider immer wieder nötige Frage: WAS WILLST DU EIGENTLICH?
12bit= 4096 --> 24 Werte übrig. Wie wäre es stattdessen am Ausgang vom OP einen Spannungsteiler zu haben, der bei Bedarf mit einem FET zugeschaltet wird und die Spannung zB zehntelt?
Hallo Fabian Hoemcke, ich mache das oft so, wie Du beschrieben hast: differentielles Signal oder Wechselspannung -> OPV als Differenzverstärker -> ADC-Eingang OPV-Out x 16 mit OPV -> ADC-Eingang OPV-Out x 16 mit OPV -> ADC-Eingang Referenzspannung des Differenzverstärkers -> ADC-Eingang Das funktioniert wunderbar. Sicherlich kann man damit die Physik nicht überlisten. Mit Softwarefilterung und Oversampling lassen sich aber ganz anständige Resultate erzielen. Meistens setze ich die dsPIC33-Reihe von Microchip als uC ein, die haben 10/12bit-Wandler on Chip. Der uC ist oft günstiger als ein vernünftiger Stand-a1one 16bit ADC. Den uC brauche ich sowieso immer. Als OPV nehme ich gerne den AD8608 von Analog Devices. David
Hallo Leute, erstmal viele Dank für die Rückmeldungen. Entschuldigt bitte meine späte Antwort, hat eine Weile gedauert drauf zu antworten und meine Antworten zu überprüfen. ^^ Möchte ja keinen Mist erzählen. Ihr habt ja recht. Ich muss da mal wohl noch ein wenig weiter ausholen. Ein Puls war für mich jetzt nicht unbedingt ein Dirac. ;) Sondern eher sowas, wie man ein Rechteckpuls versteht. Ich habe mal die theoretische Beschreibung sowie die Oscillisgraphie in den Ahnhang gepackt. Die Pulsbreite ist somit etwa 4ms. Jetzt nicht der Puls, wie er im ersten Bild beschrieben ist, sondern, der Zeitbereich, den ich darstellen möchte. Aber danke für das Nachfragen. Habe mir das ganze nochmal durch den Kopf gehen lassen. Wenn ich, sagen wir mal 200 Sampels brauche um es darzustellen (großzügig gerechnet), dann brauche ich eine Samplerate von 50kS/s wenn ich mich nicht verrechnet habe. Wie bereits beschrieben, habe ich ja vor, den Verlauf mit dem XMEGA Xminilab von gabotronic darzustellen. Habe mal das Bild von seinem kleinen Bruder Xprotolab im Anhang. Auf diesem arbeitet ja ein ATXMEGA32A4U und zum Thema ADC steht im Datenblatt:
1 | |
2 | "One Twelve-channel, 12-bit, 2 Msps Analog to Digital Converter |
3 | One Two-channel, 12-bit, 1 Msps Digital to Analog Converter" |
Selbst bei 12bit bin ich also mehr als schnell genug. Weshalb der Xminilab nicht mit voller Auflösung fährt, und warum diese nicht einstellbar ist, weiß ich jetzt nicht. Ich muss mir mal anschauen, wie sie das gelöst haben. Vielleicht sind ja 12bit möglich. Aber selbst 12 bit reichen ja nicht aus.
Wenn ich aber 100mV darstellen möchte, und 64 Pixel in der Höhe habe, komme ich auf 1,5625mV.
Obendrein habe ich hier bein durchstöbern der Artikel gelesen, dass die Genauigkeit bei wenigen Bits nachlässt. ______ Pico Oschi schrieb: > Da ist doch Murks und wird nie genau. Nimm einen besseren ADC. Der > kostet weniger und ist erst noch genauer. Natürlich kann ich auch einen genaueren ADC nehmen oder mehrere. Ich wollte aber gern den nehmen, der schon eingebaut ist in dem Gerät (Also den, vom ATXmega). Von Aufwand her ist die AD-Wandlung ja schon die halbe Miete und wenn ich das extern machen muss, brauche ich das Board ja nicht. Und durch was wird das denn ungenau? Durch das Rauschen des OpAmps oder der Widerstände? Was die Genauigkeit angeht hatte ich sowieso gehofft, dass ich durch Verstärkung und anschließender Filterung das Rauschen nicht besser unterdrücken kann. Zu mindest im unteren Voltbereich. Bernd schrieb: > Einen Puls verarbeiten... > > Geht das überhaupt mit A/D? So ein A/D-Wandler > erfasst ja nicht alles, was da kommt, sondern das, > was zur Sample-Zeit in den S&H- Kondensator kommt. Ich hoffe, da habe ich genügend recherchiert und kann sagen, dass das geht. > > Rückfragen: > > Wie oft kommen die Pulse, welche Pulsdauer haben sie? Also was ich darstellen wollte waren 4ms und die Pulse kommen so aller 30 bis 250 mal die Sekunde. Also alles sehr moderat. > > Ist evtl. ein Peak-Detektor erforderlich, der die > Pulshöhe erfasst und erst nachdem diese dem A/D-Wandler > übergeben wurde, erst wieder für den nächsten Puls > bereit ist? Peak-Detektor? Danke für den heißen Tipp. Nach sowas habe ich gesucht. Noch nie zuvor davon gehört. Werde mich gleich schlau machen. > > Wie genau muss es sein? > 12 Bit sind 1024 verschiedene Pegel. > Bei 17 V = 1023 ist 0,1 V noch (1023/170) = 6. > Ist das ein Problem? > Beim Logarithmieren wird es ja auch nicht exakter. > Auf die Genauigkeit bin ich vorhin eingegangen. Meintest aber sicher 10Bits, oder? Und na ja, ich arbeite nicht mit 17V sondern mit 20V, da das Xminilab von 20V bis -14V arbeitet. Und da komme ich auf
Und bis zu 64 bräuchte ich schon. Bevor die Frage kommt, der Pulsverlauf wird ja durch den OpAmp (invertierender Verstärker) ja eh umgedreht. Und die dann negative Halbwelle kommt über 5V nicht hinaus. > Also, die leider immer wieder nötige Frage: > > WAS WILLST DU EIGENTLICH? Ich hoffe, das ist jetzt klar geworden. Ich möchte den oben beschrieben Puls grafisch darstellen und die Amplitude messen. j. c. schrieb: > 12bit= 4096 --> 24 Werte übrig. Das habe ich jetzt nicht verstanden >Wie wäre es stattdessen am Ausgang vom > OP einen Spannungsteiler zu haben, der bei Bedarf mit einem FET > zugeschaltet wird und die Spannung zB zehntelt? Mit FETs hätte ich die Widerstände am OP sowieso geschalten. Aber wieso soll ich die Spannung zehnteln? Wenn dann möchte ich sie ja verzehnfachen. Die großen Spannungen sind ja nicht das Problem, es sind die kleinen. Die zu teilen hilft mir leider nicht weiter. ______ Vielen Dank für die Fragen, haben mir sehr beim grübeln geholfen und danke auch für die Vorschläge. Gruß Fabian
Entschuldigung, dich hatte ich jetzt verpasst. David schrieb: > Hallo Fabian Hoemcke, > > ich mache das oft so, wie Du beschrieben hast: > > differentielles Signal oder Wechselspannung -> > OPV als Differenzverstärker -> ADC-Eingang > OPV-Out x 16 mit OPV -> ADC-Eingang > OPV-Out x 16 mit OPV -> ADC-Eingang > Referenzspannung des Differenzverstärkers -> ADC-Eingang > > Das funktioniert wunderbar. Sicherlich kann man damit die Physik nicht > überlisten. Mit Softwarefilterung und Oversampling lassen sich aber ganz > anständige Resultate erzielen. > Meistens setze ich die dsPIC33-Reihe von Microchip als uC ein, die haben > 10/12bit-Wandler on Chip. Der uC ist oft günstiger als ein vernünftiger > Stand-a1one 16bit ADC. Den uC brauche ich sowieso immer. > Als OPV nehme ich gerne den AD8608 von Analog Devices. > > David Ich habe das mal nachgezeichnet. Meintest Du das so? Ich frage deshalb, da ich nicht genau verstanden habe wie das funktionieren soll. Und, brauche ich dafür tatsächlich 3 ADCs? Den gemuxt würde ich ja jedes Mal einen anderen Wert messen. Also 3 ADCs oder 3 Channels? Und? Könnte man die Referenzleitung dann nicht auch als externe Referenzspannung nehmen?
@David (Gast) Ich habe nochmal drüber nachgedacht. Ich glaube, so meintest Du das? Dann ist es mir auch klar, wie das funktionieren soll. Aber die Fragen nach dem Muxen und der Referenzspannung bleiben. Gruß Fabian
Dein DSO hat auch nur 8-Bit und einen schaltstufenbehafteten Vorverstärker. Darüber solltest du zusammen mit der wirklich benötigten Genauigkeit in deiner Anwendung nachdenken, bevor du alles nur zu teuer machst. Da es offensichtlich ein Akku ist, ist die Auflösung eh nicht sonderlich wichtig. Mehr dagegen die Genauigkeit der Ladeentspannung wenns ein Li-Teil ist. 1% ist da schon notwendig. Auflösung<>Genauigkeit!
Abdul K. schrieb: > Dein DSO hat auch nur 8-Bit und einen schaltstufenbehafteten > Vorverstärker. Darüber solltest du zusammen mit der wirklich benötigten > Genauigkeit in deiner Anwendung nachdenken, bevor du alles nur zu teuer > machst. Da es offensichtlich ein Akku ist, ist die Auflösung eh nicht > sonderlich wichtig. Mehr dagegen die Genauigkeit der Ladeentspannung > wenns ein Li-Teil ist. 1% ist da schon notwendig. > > Auflösung<>Genauigkeit! Ein ganz normaler Oszillator hat nur 8 Bit? Und einen OpAmp wie ich ihn zuerst vorgeschlagen hatte? Wie aber schafft er es dann so schnell zu samplen? Oder werden die Stufen per Hand vorgegen, also die Skalierung, die man mit dem Rädchen vornimmt. Dazu muss ich sagen, dass ich eigentlich vorhatte, die Amplitude automatisch ermitteln zu lassen. Und in diesem Fall, ist der Wertebereich automatisch durchzuprobieren.
In einem muss ich mich natürlich korrigieren. Ich hatte ja später gesagt, dass ich positive wie negative Spannung (also Wechselspannung) messen möchte. Das gehört natürlich von Anfang gesagt und mit bedacht. Entschuldigung. Stellt sich jetzt aber nicht so als Problem heraus. Wie man Wechselspannung mit einem ADC mit ist recht gut im Artikel AD-Wandler erklärt. Klar halbiert sich da mal eben meine Auflösung. Meine 0V Referenz liegen dann ja bei:
Aber das ist nicht schlimm, denn meine Auflösung des Displays für den positiven Teil alleine halbiert sich ja auch mal eben. Hatte ich nicht bedacht.
Ich sehe gerade im Datenblatt vom ATXmega, dass dieser bereits einen OpAmp zur Skalierung vorgeschaltet hat. Könnte ich nicht einfach diesen nehmen und damit alle meine Probleme erschlagen? Inklusive das mit den verschiedenen Wertebereichen? Ich hatte mir auch überlegt, wenn das Umschalten schnell genug geht, einfach mit er ersten steilen Flanke, bis zu drei mal zu samplen, bis ich die die Amplitude gut messen kann und dann den Rest mit dieser Einstellung aufzuzeichnen. Auf jeden Fall aber, schaue ich mir nochmal den Peak-Detektor an. Gibt es dafür auch eine andere (deutsche) Bezeichnung, in Lehrbücher finde ich diesen Begriff nicht. Gruß Fabian
Jetzt kommen aber ne Menge Fragen auf einmal. Naja. Ja, so ein DSO hat meist nur 8-Bit Wandler und einige hundert MHz Samplingfrequenz. Theoretisch kann man Auflösung vs. Samplingfrequenz beliebig gegeneinander tauschen und dann mathematisch rückwärts rechnen. Aber du bist ja Anfänger und willst keinen harten Tobbak. Um es kurz zu machen: Der Drehschalter im Scope ist so eine Art Logarithmierer und du als Benutzer mußt entscheiden, ob du gerade "Überläufe" am Scope siehst. Da du a priori weißt was du sehen willst, fällt es einem Menschen meist nicht schwer es richtig zu machen. Aber wer kennt nicht den klassischen Fall eines leeren <analog> Bildschirms, nur weil das Signal anstatt 1V volle Pulle 300V hatte!?! Ich würde dir einen digital einstellbaren Vorverstärker zusammen mit deinem integrierten AD-Wandler empfehlen. Mit dem Einsteller des Verstärkers stellst du dir einen passenden Bereich ein. Wann ist der erreicht? Wenn der ADC keine Überläufe mehr anzeigt! Falls der bei dir integrierte Wandler dafür keine Flags hat, dann schaue einfach nach einer selbstdefinierten Wertegrenze, die aktuell überschritten wird. Sagen wir mal 90% der Auflösung. Kommen höhere Werte vor, schaltest du den Vorverstärker eine Stufe zurück. Kommen keine Werte über 30% mehr vor, stellst du ihn eine Stufe höher. Von linear.com gibt es nette digital verstellbare Verstärker. Genau das obige Schema benutze ich erfolgreich für einen Leistungsmesser für das Stromnetz. Da will man ja auch nicht wissen, ob der 2KW Heizer nun 1992W oder 1993W zieht. Mehr als 8-9 Bit Auflösung brauch man da nicht!
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.