Hallo liebe Community,
im Anhang befinded sich eine Schaltung, die ich gerne bauen möchte. Alle
Komponenten sind vorhanden.
Hintergrund: Eine Wägezelle soll mit einem Arduino ausgewertet werden.
Da der Arduino lediglich einen 13 Bit AD Wandler besitzt, greife ich auf
den ADS1110 zurück der via I2C gesteuert wird.
Der vorgeschaltete INA125 besitzt eine interne Referenzspannung (in
meinem Fall von 2.5V, da Vbb = 5V) die an der Messbrücke der Wägezelle
anliegt. Das Ausgangssignal der Wägezelle (liegt im mV- Bereich) soll
auf 2V bei Nennlast verstärkt werden. Dies wird durch den externen
Widerstand von 150 ohm erreicht.
Frage: Bin ich auf dem richtigen Weg, oder gibt es einen Fehler in der
Schaltung?
Ich bin für jegliche Hilfestellung dankbar,
mfg Florian
Pete K. schrieb:> florian schrieb:>> da Vbb = 5V>> Meinst Du mit Vbb = Vcc = Spannung an Pin1?>> Das sieht eher nach 4,3V aus, da Du einen Spannungsabfall an der Diode> hast.
Du hast natürlich Recht. Kristisch ist beim INA125 die Vcc, die um ca.
1,3V höher als die Referenzspannung sein muss, da er ansonsten nicht
funktioniert.
du musst den Sense-Pin (Pin 11) an den Ausgang anschließen (Pin 10),
nicht an GND. Über den Sense läuft die Rückkopplung des Verstärkers.
Ansonsten muss dir klar sein, dass die Ausgangsspannung des Verstärkers
bei dieser Versorgung nicht beliebig weit gegen 0V gehen kann. Im
letzten Diagramm auf S. 5 des Datenblatts ist ein minimaler Ausgangswert
von 0,8V zu sehen. Wenn also dein maximales Ausgangssignal 2V sein wird
(d.h. nominell 5mV am Eingang), dann wird die Schaltung ab einem
Eingangssignal von nominell 2mV (und kleiner) evtl. mehr funktionieren.
Hallo Achim,
Achim S. schrieb:> du musst den Sense-Pin (Pin 11) an den Ausgang anschließen (Pin> 10),> nicht an GND. Über den Sense läuft die Rückkopplung des Verstärkers.
vielen Dank, der Fehler mit Pin 11 ist mir nicht aufgefallen.
> Ansonsten muss dir klar sein, dass die Ausgangsspannung des Verstärkers> bei dieser Versorgung nicht beliebig weit gegen 0V gehen kann. Im> letzten Diagramm auf S. 5 des Datenblatts ist ein minimaler Ausgangswert> von 0,8V zu sehen. Wenn also dein maximales Ausgangssignal 2V sein wird> (d.h. nominell 5mV am Eingang), dann wird die Schaltung ab einem> Eingangssignal von nominell 2mV (und kleiner) evtl. mehr funktionieren.
Die Schaltung macht keinen Sinn wenn sie unterhalb von 0,8V nicht
funktioniert. Dies bedeutet also, dass ich den INA125 mit +-5V betreiben
muss, dass auch unterhalb Werte ausgegeben werden. Ich denke ein DC/DC
Wandler wie der MAX764 betrieben wie in Abbildung 2 auf Seite 9 sollte
das Problem doch lösen.
Mfg
florian schrieb:> Frage: Bin ich auf dem richtigen Weg,
Nein. Du solltest Das Konzept nochmal überdenken. Was nutzt Dir ein
16-Bit Wandler, wenn die letzten 3-Bit rum zappeln ? Bei 2,5V
Brückenspeisung ergeben sich 5mV maximale Brückenspannung. Das 13. Bit
entspricht 610 nV(unipolar). Das 16. Bit ca. 80nV. Ich glaube nicht,
dass Du das Analog sauber in den Griff bekommst.
gk
florian schrieb:> Dies bedeutet also, dass ich den INA125 mit +-5V betreiben> muss, dass auch unterhalb Werte ausgegeben werden.
ein bipolare Versorgung würde das Schaltungsdesign auf jeden Fall
vereinfachen. Du musst dann aber z.B. daran denken, dass der INA125 auch
negative Spannungen ausgeben kann, die der Eingang deines Arduino nicht
mögen wird.
florian schrieb:> Ich denke ein DC/DC> Wandler wie der MAX764 betrieben wie in Abbildung 2 auf Seite 9 sollte> das Problem doch lösen.
er erzeugt eine negative Spannung, aber er schafft auch neue Probleme
;-)
Zunächst mal ist der MAX764 für wesentlich größere Lasten gedacht. Mit
nur einem INA125 als Last wird er im diskontinuierlichen Mode arbeiten.
Dass seine Effizienz dabei schlecht wird wäre noch zu verkraften, aber
gleichzeitig wird auch die Welligkeit der Ausgangsspannung sehr groß.
Evtl. wäre eine Ladungspumpe (z.B. MAX868) einfacher und besser für
diese Anwendung.
In jedem Fall musst du auch beachten, was gk dir schrieb: du versuchst
sehr kleine Spannungen zu messen. Da kann es schnell passieren, dass
dein Nutzsignal im Rauschen und in Fehlern untergeht.
Die Stabilität der analogen Versorgungsspannungen ist ein Einflussfaktor
für die Stabilität deines Nutzsignals. Daher ist weder die Versorgung
aus dem Arduino-Supply noch die negative Versorgung mit einem
Schaltwandler ideal. Wenn du es trotzdem so machen willst, dann achte
unbedingt auf eine sorgfältige Filterung der Versorgungsspannungen
(fehlt in deinem bisherigen Entwurf noch ganz).
Vielen Dank erstmal an alle die die mir weiter geholfen haben.
gk schrieb:> Nein. Du solltest Das Konzept nochmal überdenken. Was nutzt Dir ein> 16-Bit Wandler, wenn die letzten 3-Bit rum zappeln ? Bei 2,5V> Brückenspeisung ergeben sich 5mV maximale Brückenspannung. Das 13. Bit> entspricht 610 nV(unipolar). Das 16. Bit ca. 80nV. Ich glaube nicht,> dass Du das Analog sauber in den Griff bekommst.>> gk
Hallo gk,
deine Argumente erscheinen mir einleuchtend. Ich muss zugeben dass ich
mich bei der Angabe der Auflösung beim im Arduino integrierten
AD-Wandler vertan habe. Dieser hat nicht 13 Bit sondern nur 10 Bit.
Bei einer Nennlast der Wägezelle von 100kg ergibt sich bei 10Bit eine
Auflösung von 0,390625kg = 400g, bei 13 Bit 0,012kg = 120g und bei 16
Bit sogar 0,0015kg = 15g.
Wenn ich auf eine Genauigkeit von 120g komme reicht es mir für meine
Anwendung. Zu gering ist jedoch die Auflösung von 400g.
Achim S. schrieb:> ein bipolare Versorgung würde das Schaltungsdesign auf jeden Fall> vereinfachen. Du musst dann aber z.B. daran denken, dass der INA125 auch> negative Spannungen ausgeben kann, die der Eingang deines Arduino nicht> mögen wird.
Hallo Achim,
deine Ausführung ist nachvollziehbar, jedoch wird das Ausgangssignal des
INA125 nicht direkt vom Arduino weiterverarbeit sondern zunächst vom
ADS1110 aufbereitet und via I2C weiter gegeben. Dieser kann zwischen
GND-0.2V und VDD+0.2V Signale verarbeiten. Ist dieser Spannungsbereich
nicht ausreichend?
Achim S. schrieb:> er erzeugt eine negative Spannung, aber er schafft auch neue Probleme> ;-)>> Zunächst mal ist der MAX764 für wesentlich größere Lasten gedacht. Mit> nur einem INA125 als Last wird er im diskontinuierlichen Mode arbeiten.> Dass seine Effizienz dabei schlecht wird wäre noch zu verkraften, aber> gleichzeitig wird auch die Welligkeit der Ausgangsspannung sehr groß.> Evtl. wäre eine Ladungspumpe (z.B. MAX868) einfacher und besser für> diese Anwendung.>> In jedem Fall musst du auch beachten, was gk dir schrieb: du versuchst> sehr kleine Spannungen zu messen. Da kann es schnell passieren, dass> dein Nutzsignal im Rauschen und in Fehlern untergeht.>> Die Stabilität der analogen Versorgungsspannungen ist ein Einflussfaktor> für die Stabilität deines Nutzsignals. Daher ist weder die Versorgung> aus dem Arduino-Supply noch die negative Versorgung mit einem> Schaltwandler ideal. Wenn du es trotzdem so machen willst, dann achte> unbedingt auf eine sorgfältige Filterung der Versorgungsspannungen> (fehlt in deinem bisherigen Entwurf noch ganz).
Der oben von mir gepostete Schaltplan zeigt den Versuchsaufbau. Später
sollte sowohl der Arduino als auch der INA125 und der ADS1110 extern
versorgt werden. Hierbei steht mir ein 12V Akku zur Verfügung. Es wäre
demnach kein Fehler gleich eine adequate Schaltung für die
Spannungsversorgung zu entwerfen. Wäre denn ein DC/DC Konverter wie der
TMH1205D für meine Anwendung besser einsetzbar?
florian schrieb:> Bei einer Nennlast der Wägezelle von 100kg ergibt sich bei 10Bit eine> Auflösung von 0,390625kg = 400g
Wie kommst Du den auf diesen Wert ? Das entspräche eher 8bit.
100kg / 2^10 = 0,09765 kg und damit ausreichend. Mit etwas Mittelung
kannst Du die Auflösung noch etwas erhöhen.
gk
gk schrieb:> florian schrieb:>> Bei einer Nennlast der Wägezelle von 100kg ergibt sich bei 10Bit eine>> Auflösung von 0,390625kg = 400g>> Wie kommst Du den auf diesen Wert ? Das entspräche eher 8bit.>> 100kg / 2^10 = 0,09765 kg und damit ausreichend. Mit etwas Mittelung> kannst Du die Auflösung noch etwas erhöhen.>> gk
Stimmt. Demnach könnte ich mir den ADS1110 sparen und direkt den ADC im
Arduino verwenden. Dennoch habe ich noch gewisse Schwierigkeiten dem
INA125 eine passende Versorgung zu bieten. Hast du hierzu ein passendes
Rezept? vielen Dank
>Stimmt. Demnach könnte ich mir den ADS1110 sparen und direkt den ADC im>Arduino verwenden. Dennoch habe ich noch gewisse Schwierigkeiten dem>INA125 eine passende Versorgung zu bieten. Hast du hierzu ein passendes>Rezept? vielen Dank
Spätestens jetzt sollte Dir auffallen, was du Dir selber für Arbeit
gemacht hast weil 2 Fehlinformationen in deinem Hirn rumspuckten. Daher
empfiehlt sich immer ein Schmierzettel (von mir aus auch in digitaler
Form "README")
in dem du alle wichtigen Informationen zusammenträgst und der als
Grundlage für weitere Atkivitäten dient. Und beim Erstellen dieses
Schmierzettels kann man auch mal die ein oder andere Exkursion machen um
z.B. die Quantisierung von ADC's und daraus resultierende Auflösungen
sich wieder ins Gedächnis zu holen :)
Gruß Jonas
florian schrieb:> Dennoch habe ich noch gewisse Schwierigkeiten dem INA125 eine passende >> Versorgung zu bieten.
Ich verstehe das Problem nicht. Ich dachte Du hast 5V. Die knüppelst Du
an den INA, die Brücke läuft mit 2,5V, und die Brückenspannung
verbindest Du mit dem Aref Eingang deines Arduinos.
gk
gk schrieb:> florian schrieb:>> Dennoch habe ich noch gewisse Schwierigkeiten dem INA125 eine passende >>> Versorgung zu bieten.>> Ich verstehe das Problem nicht. Ich dachte Du hast 5V. Die knüppelst Du> an den INA, die Brücke läuft mit 2,5V, und die Brückenspannung> verbindest Du mit dem Aref Eingang deines Arduinos.>> gkAchim S. schrieb:> Ansonsten muss dir klar sein, dass die Ausgangsspannung des Verstärkers> bei dieser Versorgung nicht beliebig weit gegen 0V gehen kann. Im> letzten Diagramm auf S. 5 des Datenblatts ist ein minimaler Ausgangswert> von 0,8V zu sehen. Wenn also dein maximales Ausgangssignal 2V sein wird> (d.h. nominell 5mV am Eingang), dann wird die Schaltung ab einem> Eingangssignal von nominell 2mV (und kleiner) evtl. mehr funktionieren.
Das Problem bleibt mir. Wäre denn ein DC/DC Konverter wie der
TMH1205D für meine Anwendung besser einsetzbar? Dieser würde dann eine
symmetrische Spannung von +-5V erzeugen. Damit wäre der INA125 doch gut
versorgt.
Ich würde auf die -5V verzichten, gibt wohl mehr Probleme als dass es
dir helfen würde. Stattdessen würde ich ein rail to rail opamp mit einem
kleinen gain hinten dran schalten, der dir dann ein Signal zwischen 0
und 5 Volt macht.
OK, Du kannst natürlich die Eingangsspannung in den Bereich von z.B 1V
bis 4,5 V legen, verschenkst aber Auflösung. Auch der Common-Mode
Eingangsbereich könnte zu knapp sein. Irgendwie ist das Ding nichts für
Single Supply.
Nimm einen 7660 um eine negative Spannung von -5V zu erzeugen.
Eine Alternative wäre ein geeigneter INA für Single Supply. Die
Brückenspannung muss nur während der AD-Wandlung konstant sein, wenn
diese an Vref anliegt, d.h man bräuchte auch keine hochgenaue Vref.
gk
was spricht denn gegen einen In-Amp der 5V only und RR-IO kann? den
ausgang dann auf 2.5V referenzieren und gut ist. Als In-Amp etwas wie
den LTC2054 oder aehnlich.
Walt schrieb:> Ich würde auf die -5V verzichten, gibt wohl mehr Probleme als dass es> dir helfen würde.
Hallo Walt,
ja, das käme der Schaltung sicherlich zu Gute.
gk schrieb:> OK, Du kannst natürlich die Eingangsspannung in den Bereich von z.B 1V> bis 4,5 V legen, verschenkst aber Auflösung. Auch der Common-Mode> Eingangsbereich könnte zu knapp sein. Irgendwie ist das Ding nichts für> Single Supply.> Nimm einen 7660 um eine negative Spannung von -5V zu erzeugen.>> Eine Alternative wäre ein geeigneter INA für Single Supply. Die> Brückenspannung muss nur während der AD-Wandlung konstant sein, wenn> diese an Vref anliegt, d.h man bräuchte auch keine hochgenaue Vref.>> gk
Hallo gk
ich denke, der erste Lösungsvorschlag fällt flach, da ich bei einem
10Bit AD Wandler mit 1024 Werten etwa 20% davon verliere und meine
Auflösung dann in einen Bereich geht der nicht mehr akzeptabel ist. Wenn
ich den ADS1110 noch hinzunehmen würde wäre es denkbar.
Eine Alternative ist für mich der INA122. Wenn ich nicht irre, hat
dieser nicht die Charakteristik des INA125 bei GND = 0V und Vcc = 5V.
Dieser kann Signale auch unterhalb von 0.8V ausgeben. Die Frage die
bleibt ist die Referenz, mit der ich die Messbrücke beaufschlage. Wenn
an einer Wägezelle bei Nennlast von 100kg 10mV (Speisespannung = 5V) an
der Brücke anliegen würde sich bereits eine Änderung der Speisespannung
um +-1% eine Unsicherheit von 100g bewirken (ohne Unsicherheiten der
nachfolgenden Verarbeitung). Zu viel?
Wie genau bekommt man mit einem LM7805 die Spannung hin? Liegt man da
unterhalbt von +-1% Welligkeit?
Vielen Dank allen!
Lies Dir mal durch, was es mit dem Ref-Eingang am AD-Wandler auf sich
hat.
Und:
gk schrieb:> Die Brückenspannung muss nur während der AD-Wandlung konstant sein
gk
gk schrieb:> Lies Dir mal durch, was es mit dem Ref-Eingang am AD-Wandler auf> sich> hat.>
Ich verstehe dass der AD-Wandler zwischen 0V und der am Ref- Eingang
anliegenden Spannung arbeitet. Trotzdem verliere ich aller Werte
unterhalb von 0.8V wenn ich keine negative Spannungsversorgung am INA125
verwende. Ich werde den Entwurf überdenken.
Mfg
florian schrieb:> Ich verstehe dass der AD-Wandler zwischen 0V und der am Ref- Eingang> anliegenden Spannung arbeitet.
OK, und der AD-Wandler digitalisiert die Eingangsspannung relativ zur
Referenzspannung. Ändert sich die Referenzspannung, ändert sich auch der
digitalisierte Wert der Eingangsspannung.
Wenn man nun die Brückenspeisespannung an den Ref-Eingang des
AD-Wandlers anschliesst wird der digitalisierte Wert des Brückenausgangs
unabhängig von der Brückenspeisespannung. Die Speisespannung darf sich
nur während der Wandlungszeit nicht ändern.
Übrigens, das wurde hier im Forun schon zur Genüge diskutiert.
florian schrieb:> Trotzdem verliere ich aller Werte> unterhalb von 0.8V wenn ich keine negative Spannungsversorgung am INA125> verwende. Ich werde den Entwurf überdenken.
Ich dachte der INA125 wäre schon längst im (virtuellen) Mülleimer.
gk
gk schrieb:> Ich dachte der INA125 wäre schon längst im (virtuellen) Mülleimer.>> gk
Nun habe ich alles in den virtuellen Mülleimer gegeben und komme zum
zweiten und hoffentlich besseren Versuch :)
Besonderes Augenmerk habe ich auf die Betriebsspannung gelegt (nur +5V).
Die vom INA122 verstärkte Brückenspannung wird mithilfe des
Tiefpassfilters geglättet und anschließend vom MCP3301 (13 Bit)
aufgenommen. Dieser hat den großen Vorteil dass er die Referenzspannung
von 5V verarbeiten kann. Anschließend wird der Wert über SPI an den
Arduino übergeben.
Darunter befindet sich die Schaltung für die Spannungsversorung (bereits
gebaut).
Ich hoffe, dass diese Schaltung den Anforderungen besser entspricht.
Verträgt der Arduino am Ref-Eingang keine 5V ? Der MCP3301 will
wahrscheinlich +- VRef am Eingang für den vollen Bereich. Du verlierst
also 1 Bit. Und die differentielle Ankopplung zwischen OP und Wandler
funktioniert so vermutlich auch nicht.
gk
gk schrieb:> Verträgt der Arduino am Ref-Eingang keine 5V ? Der MCP3301 will> wahrscheinlich +- VRef am Eingang für den vollen Bereich. Du verlierst> also 1 Bit.
Hallo gk,
doch der Arduino verträgt 5V. Der MCP arbeitet von VSS-0.3V bis VDD+0.3V
(laut Datenblatt). Demnach werde ich kein Bit verlieren.
gk schrieb:> Und die differentielle Ankopplung zwischen OP und Wandler> funktioniert so vermutlich auch nicht.>> gk
Du spielst auf den Widerstand R mit 1k an. Diese Konfiguration habe ich
dem Datenblatt des INA122 entnommen. Vielleicht wäre es dennoch besser
einfach einen 10k Widerstand gegen GND einzufügen.
Danke!
florian schrieb:> Der MCP arbeitet von VSS-0.3V bis VDD+0.3V (laut Datenblatt).
So wie ich das Datenblatt interpretiere hast Du bei +-5V die 8192
Counts. Da Du aber nur 0..5V hast, weil der -Eingang auf Masse liegt,
gibt das nur 4096 Counts. Schau nochmal im Datenblat nach, ob der sich
eventuell auf Single End umprogrammieren lässt.
Meinen letzten Satz mit der differentiellen Ankopplung kannst Du
vergessen, hatte wohl meine Augen noch nicht richtig offen.
Trotzdem solltest Du überprüfen welchen Einfluss der 1k - Widerstand am
Wandlereingang hat, siehe auch Parallel-Thread
Beitrag "Re: LTC2400 Messwert unstimmig"
gk
gk schrieb:> So wie ich das Datenblatt interpretiere hast Du bei +-5V die 8192> Counts. Da Du aber nur 0..5V hast, weil der -Eingang auf Masse liegt,> gibt das nur 4096 Counts. Schau nochmal im Datenblat nach, ob der sich> eventuell auf Single End umprogrammieren lässt.>> Meinen letzten Satz mit der differentiellen Ankopplung kannst Du> vergessen, hatte wohl meine Augen noch nicht richtig offen.>> Trotzdem solltest Du überprüfen welchen Einfluss der 1k - Widerstand am> Wandlereingang hat, siehe auch Parallel-Thread>> Beitrag "Re: LTC2400 Messwert unstimmig">> gk
Hallo gk,
das unterscheidet den Experten vom Anfänger :) In der Tat habe ich nur
4096 Werte. Jedoch reichen die völig, wodurch ich keine Änderungen mehr
für notwendig erachte.
Wenn ich den von dir empfohlenen Thread richtig verstanden habe, muss
ich den 1k Widerstand reduzieren (ca. 100 ohm), da der AD-Wandler
zurzeitig viel Strom braucht um den Kondensator zu laden. Ggf. würde
doch auf eine Verkleinerung des Kondesators bei gleichbleibendem R
möglich sein, oder nicht?