Hallo Forum, ich möchte das Signal einer Einstabmesskette (0V-500mV) mit einem rp2040 digitalisieren. Dazu nutze ich einen vorgeschalteten Instrumentenverstärker. In der Musterschaltung wird ein anderer Prozessor verwendet, bei welchem der Dynamikbereich des ADC eingestellt werden kann. Beim RP2040 ist dies nur bedingt möglich. Er muss mindestens 1,8V betragen wenn ich das richtig verstanden habe (und dabei hat er Leistungseinbusen). Um den Dynamikbereich vollständig nutzen zu können bräuchte ich aber höchsten 0,5V. Macht es nun sinn das Signal so zu verstärken, dass es in den Bereich 0V - 1,8V passt oder in den vollständigen Bereich bis 3,3V . VG
Jack S. schrieb: > Hallo Forum, > ich möchte das Signal einer Einstabmesskette (0V-500mV) mit einem rp2040 > digitalisieren. Dazu nutze ich einen vorgeschalteten > Instrumentenverstärker. In der Musterschaltung wird ein anderer > Prozessor verwendet, bei welchem der Dynamikbereich des ADC eingestellt > werden kann. Beim RP2040 ist dies nur bedingt möglich. Er muss > mindestens 1,8V betragen wenn ich das richtig verstanden habe (und dabei > hat er Leistungseinbusen). Um den Dynamikbereich vollständig nutzen zu > können bräuchte ich aber höchsten 0,5V. Macht es nun sinn das Signal so > zu verstärken, dass es in den Bereich 0V - 1,8V passt oder in den > vollständigen Bereich bis 3,3V . > VG Erwartest du denn eine grobe Schätzung, oder soll's genau (wie genau?) werden? Von den 12Bit des RP2xxx ADC bleiben euphemistisch betrachtet 9Bit übrig wenn man Richtung 3.x Volt als Vref nimmt. Mit Mathe, Statistik, manueller Kalibrierung und Kennlinien kann's deutlich besser werden. Aber nur ADC lesen … das wird, hmmm, interessant.
Jack S. schrieb: > Um den Dynamikbereich vollständig nutzen zu > können bräuchte ich aber höchsten 0,5V. Macht es nun sinn das Signal so > zu verstärken, dass es in den Bereich 0V - 1,8V passt oder in den > vollständigen Bereich bis 3,3V . Kommt darauf an ob es um absolute Genauigkeit geht oder ob du mehr Auflösung haben willst um Änderungen zu registrieren. Für die absolute Genauigkeit, da die Referenz die 3.3V Versorgungsspannung ist, die wahrscheinlich 1% bis 2% absoluten Fehler hat, da bist due wenn du nur 0..500mV nutzt mit 620 Schritten genau genug unterwegs, der Lineraitätsfehler ist zwar nicht in der Doku zu finden, wird aber so groß nicht sein das verstärkung etwas bringt. Wenn due mehr Auflösung haben willst, klar, wenn das Signal um Faktor 6 verstärkst hast due 3720 Schritte, dann siehst du kleinere Änderungen, genauer ist es aber dadurch nicht. Wenn du die Genauigkeit erhöhen möchtest dann kannst du eine Refernzspannung an einem anderen Analogeingang anschließen, z.B AD680 Du kannst dann in der Software diesen Wert für 2.5V einlesen, wenn alles fehlerfrei wäre dann würdest du 4096 / 3300 * 2500 = 3103 einlesen, da der Fehler der RP2040 Referenz 10 mal größer ist als der Fehler des AD680 und wir mal davon ausgehen das du den genauen Wert der AD680 Referenz nicht messen kannst, gehen wird davon aus das die AD680 Werte stimmen. Du wirst aber sehr wahrscheinlich einen anderen Wert als 3102 einlesen, wegen des RP2040 Fehlers, dieser Wert x, z.B. 3049 ist jetzt der digitale Wert für 2.5V Wenn du dann deine Sonde einließt, dann rechnets du diesen Wert der Sonde dann durch die 3049 * 2500 und du hast den Wert in mV deiner Sonde Da der AD680 aber 0.2% Fehler hat bei RT, hat der ermittelte Wert für deine Sonde auch 0.2% Fehler. Also von Mathe nur 3-Satz Man kann natürlich überlegen wegen der Auflösung das Signal zu verstärken, dazu benötigst du aber einen präzisen Verstärker, das kann man auch manuell kalibrieren, ist auch mit einfachen Messgeräten und normalen 1% Widerständen möglich, aber sehr zeitaufwendig Oder du nimmst 0.1% Widerstände für den Verstärker, dann ist der Fehler in Summe Worst Case 0.4% bei RT wenn man den OP so auswählt das man den Einfluss vernachlässigen kann.
Der ADC des RP2040 ist meiner Erfahrung nach nur mäßig gelungen. Z.B. die ADC-Einheiten moderner STM32 sind wesentlich besser. Wenn es Dir auf Genauigkeit ankommt würde ich den nicht nehmen. Wenn Du beim RP2040 bleiben willst, dann schließ einen externen ADC an. Z.B. per I2C oder SPI, da gibts viel Auswahl. Dort dann oft auch die Möglichkeit die Referenz passend zu Deinem Signalbereich zu wählen. Das wäre meine erste Wahl. Oder nimm einen anderen Mikrocontroller, z.B. STM32F373 mit Delta-Sigma, oder sonst die STM32G4-Serie und dort dann Oversampling verwenden. Größere Gehäusegröße, so dass die dedizierten Ref-Eingänge rausgeführt sind. Das wäre meine 2. Wahl.
:
Bearbeitet durch User
Lutz K. schrieb: > Also von Mathe nur 3-Satz …zumindest bis die Theorie das erste mal unsanft auf die Realität trifft… ;-)
Norbert schrieb: > Lutz K. schrieb: >> Also von Mathe nur 3-Satz > > …zumindest bis die Theorie das erste mal unsanft auf die Realität > trifft… ;-) dann erkläre mal bitte wie man mit einer Referenz die die absolute Genauigkeit der verwendeten Referenz deutlich übertrifft Statistik sinnvoll anwendet und woher man Infos zu einer Kennlinie bekommt. Wenn die Referenz statt 0.2% 0.05% hätte und wenn man eine Kalibrierquelle hätte, ja, da wirds aufwendiger und da kann man mehr machen. Dann kann man Mittelwerte von der Referenz nehmen um die Auflösung zu verbessern. Aber welche statistischen Betrachtungen willst du machen in einem solchen Fall? Aber der Linearitätsfehler ist besser als die 0.2%, was bringt das dann wenn man damit etwas kalibriert.
Lutz K. schrieb: > dann erkläre mal bitte wie man Gerne. Nach du dich zumindest soweit mit der Linearität des ADC vertraut gemacht hast, bis du die extremen Verzerrungen bei 1×2⁹-1, 3×2⁹-1, 5×2⁹-1 und 7×2⁹-1 verstanden und akzeptiert hast. Kleinere existieren übrigens auch bei sämtlichen 2¹⁰-1 Werten. Und ja, selbst die Raspberry Foundation hat die dokumentiert und veröffentlicht. Messungen und Kurven diesbezüglich hatte ich bereits vor geraumer Zeit gepostet. Auf denen kann man die Stellen mit bloßem Auge erkennen.
:
Bearbeitet durch User
Norbert schrieb: > Lutz K. schrieb: >> dann erkläre mal bitte wie man > > Gerne. Nach du dich zumindest soweit mit der Linearität des ADC vertraut > gemacht hast, bis du die extremen Verzerrungen bei 1×2⁹-1, 3×2⁹-1, > 5×2⁹-1 und 7×2⁹-1 verstanden und akzeptiert hast. Kleinere existieren > übrigens auch bei sämtlichen 2¹⁰-1 Werten. > > Und ja, selbst die Raspberry Foundation hat die dokumentiert und > veröffentlicht. > Messungen und Kurven diesbezüglich hatte ich bereits vor geraumer Zeit > gepostet. Auf denen kann man die Stellen mit bloßem Auge erkennen. Oh, achja, vergaß, Arroganz wird hier ganz groß geschrieben Keine Sorge, ich kenne mich mit ADC aus und benötige nicht deinen Support um auf das Thema Linearität zu kommen, zu "der Lineraitätsfehler ist zwar nicht in der Doku zu finden" das ist ja weiterhin korrekt, unter Spezifikation verstehe ich keine Einzelmessung, da denke ich eher an sowas wie typische Wert, max. Werte etc. wie sie in Datenblätter externer ADC zu finden sind. Aber wie ich schon vorher geschrieben habe, der Linearitätsfehler macht jetzt nicht soviel aus wenn man mit der Referenz schon mal auf 0.2% runter kommt von 2%, das ist eine enorme Verbesserung. Ich denke nicht, dass das Ziel ist, auf 1LSB genau zu werden, zumal diese Elektroden bei 1% Fehler schon sehr genau sind und eher 2% bis 3% Fehler haben können, da muss der RP2040 nicht 0,05% oder besser sein. Wenn man die Sonden in Messlösungen kalibriert macht man das ja mit der verwendeten Anzeige, also dem RP2040, somit hat man die ganze Kette kalibriert, die Drift des ADC und der Referenz mit 0.2% dürft dann deutlich weniger ins Gewicht fallen als die Fehler der Sonde selber. Die Verbesserung der Referenz scheint mir schon notwendig, weil 2% wären zuviel Man kann natürlich mit einer Handvoll Widerstände, z.B. 11 x 1 kOhm und dem AD680 den Bereich von 0 bis 2.5V in 0.25V Schritten genau kalibrieren, wobei der Fehler des AD680 bleibt mit 0.2%, ist aber eine aufwendige Prozedur.
:
Bearbeitet durch User
Lutz K. schrieb: > Man kann natürlich mit einer Handvoll Widerstände, z.B. 11 x 1 kOhm und > dem AD680 den Bereich von 0 bis 2.5V in 0.25V Schritten genau > kalibrieren, wobei der Fehler des AD680 bleibt mit 0.2%, ist aber eine > aufwendige Prozedur. und in 1/16 Schritten mit den 3.3V als Spannung
Jack S. schrieb: > ich möchte das Signal einer Einstabmesskette (0V-500mV) Liefert die Messkette ein ratiometrisches Signal oder ein absolutes? Daran entscheidet sich, wie der ADC betrieben werden muss, i.e. was er als Referenz nutzen muss.
Lutz K. schrieb: > Kommt darauf an ob es um absolute Genauigkeit geht oder ob du mehr > Auflösung haben willst um Änderungen zu registrieren. Das hört sich auch gut an denkst du ein einfacher Spannungsteiler würde auch gehen oder würdest du ehr auf den AD680 setzen.
Rainer W. schrieb: > Liefert die Messkette ein ratiometrisches Signal oder ein absolutes? > Daran entscheidet sich, wie der ADC betrieben werden muss, i.e. was er > als Referenz nutzen muss. Soweit ich weiß ein absolutes Signal.
Lutz K. schrieb: > Refernzspannung an einem anderen Analogeingang anschließen, z.B AD680 Ich hab auf meinem Board auch ein kleines Platzproblem wodurch sich die Implementierung dieser Spannungsreferenz als Schwierig gestalten könnte
Jack S. schrieb: > Lutz K. schrieb: >> Refernzspannung an einem anderen Analogeingang anschließen, z.B AD680 > > Ich hab auf meinem Board auch ein kleines Platzproblem wodurch sich die > Implementierung dieser Spannungsreferenz als Schwierig gestalten könnte Welchen Messfehler kannst du akzeptieren? Wenn due die Genauigkeit deines Sensor halbwegs ausschöpfen möchtest dann benötigst du die Referenz, wenn du das Signal verstärken willst mit welcher Schaltung? Ist die kleiner als der AD680 im TO92. Ich hätte jetzt gedacht du nimmst einen OP im DIP8 Gehäuse mit Widerständen, belegt mindestens im Lochraster 4 x 5, ein TO91 ist 1 x 3. deswegen kann ich gerade deinen Randbedingungen die du hast nicht folgen. Wenn du noch Fragen hast, ich unterstütze gerne.
Lutz K. schrieb: > deswegen kann ich gerade deinen Randbedingungen die du hast nicht > folgen. Wenn du noch Fragen hast, ich unterstütze gerne. Ich nutze zur Aufnahme des Signals eines INA333 mit einer Verstärkung von ca. 8. Der Signalrahmen ist -200mV bis +200mV. Da ich keine negative Spannung habe verschiebe ich den Bereich mit einer Referenzspannung aus einem Spannungsfolger. Dazu habe ich einen vorgegebenen Platinenfootprint. Den ich mit uC Flash LEDs ... schon recht gut ausfülle. Ich bin aktuell daran den MAX6035 mit SOT Gehäuse unterzubringen.
Jack S. schrieb: > Lutz K. schrieb: >> deswegen kann ich gerade deinen Randbedingungen die du hast nicht >> folgen. Wenn du noch Fragen hast, ich unterstütze gerne. > > Ich nutze zur Aufnahme des Signals eines INA333 mit einer Verstärkung > von ca. 8. Der Signalrahmen ist -200mV bis +200mV. Da ich keine negative > Spannung habe verschiebe ich den Bereich mit einer Referenzspannung aus > einem Spannungsfolger. > Dazu habe ich einen vorgegebenen Platinenfootprint. Den ich mit uC Flash > LEDs ... schon recht gut ausfülle. Ich bin aktuell daran den MAX6035 mit > SOT Gehäuse unterzubringen. Wenn du eine andere referenz verwendest und diese auch die 2.5V zum GND Bezugspunkt des ADC liefert dann kannst du natürlich diese auf einen ADC Pin des RP2040 geben, dann benötigst du keine weitere referenz wie den AD680, das wäre überflüssig
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.