mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Programmiertechnischer Trick / bessere Vorgehensweise bei Berechnung - analoger Ausgang 4-20mA


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen Leute!

Ich versuche hier mal mein Glück, evtl. kann mir ja jemand helfen, bzw. 
mir ein wenig auf die Sprünge helfen.

Ich habe eine Schaltung für einen Sensor entwickelt, der mir 4-20mA in 
einer 2-Leiterschaltung erzeugt. Das ganze ist für einen keramischen 
Drucksensor, der relativ unlinear ist, seine Linearität liegt bei ca. 
0,4% über dem gesamten Messbereich.

Ich habe daher eine 5-Punkt-Kalibrierung vorgenommen, in der ich bei 0%, 
25%, 50%, 75% und 100% Messwerte auf einem Kalibrator aufnehme und dann 
intern mittels kubischer Spline-Interpolation eine Linearisierung 
durchführe. Das ganze funktioniert auch relativ gut - der 
Linearitätsfehler geht unter 0,03% (ohne Temperaturdrift).

Für den gesamten Messbereich ist das absolut in Ordnung, jetzt will ich 
aber noch den Bereich skalieren können, sprich von einer 1bar-Zelle z.B. 
nur 0-100mbar auf die 4-20mA abbilden.

Hierzu wird intern im Controller eine Verstärkung errechnet.

Vorgehensweise ist folgende:

Ich habe die 5 AD-Werte für 0%, ..., 100% - es wird jetzt ein Messwert 
aufgenommen und mittels der Spline-Interpolation der "richtige" 
Prozentwert errechnet. Auf Basis dieses Prozentwertes werden alle 
folgenden Berechnungen gemacht, also z.B. Ausgabe auf dem Display dann 
53,76% von 1000mbar = 537,6mbar.

Ebenso wird der Ausgangsstrom mit diesem Prozentwert generiert - ich 
habe einen DAC, bei dem vorher der Anfangswert und der Endwert 
kalibriert wurden und der dann halt durch 53,76% von der "Bit-Spanne" + 
Anfangswert seinen Wert zur Ausgabe erhält.

Das Problem ist jetzt die Ungenauigkeit beim runterskalieren, da kommt 
doch eine recht "wackelige" Kurve heraus. Hier wird

Als Beispiel: Ich habe alles auf 100mbar eingestellt und einen 
gemessenen Prozentwert von 7,6% (76mbar), dann ergibt sich:

Diese 76% gebe ich also an den DAC, der daraus die 4-20mA erzeugt. 
Leider ist der Fehler, der hier durch die Rechnung entsteht auch relativ 
groß, bzw. wird der Fehler halt auch um den Faktor 10 verstärkt, was 
auch hinkommt im Vergleich.

Gibt es daher ein Punkt an dem ich ansetzen kann, wodurch ich das ganze 
verbessern könnte?

Bin um jeden Tip dankbar.

Autor: &KUNZderkann'z (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Nichtsahnende moechte 0,01% Fehler von 0 bis 1000 ....
und dann noch eine Lupe fuer noch genauere Werte .

Konzentriere dich doch nur auf den kleinen Bereich !

Hier sagt man: wer zu viel will kann nicht alles mit einer Hand halten.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
&KUNZderkann'z schrieb:
> Der Nichtsahnende moechte 0,01% Fehler von 0 bis 1000 ....

Nein, möchte er nicht ;-)

Es kann ja nur sein, dass es Methoden gibt, die den Ausgang ggf. 
verbessern können.

&KUNZderkann'z schrieb:
> Konzentriere dich doch nur auf den kleinen Bereich !

Der große Bereich ist wichtiger, nur wäre es natürlich schön, wenn der 
kleine ein wenig besser sein könnte...:\

Autor: Dieter W. (dds5)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da hilft nur eine höhere Auflösung bei der Digitalisierung des 
Eingangssignals und dazu passende Auflösung der berechneten 
Zwischenergebnisse.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.