Ich habe den AD628 genau so beschaltet wie auf dem Plan. Ich gebe ein Signal von 24V und 4-20mA drauf. Ausgegeben wird aber nur 0-4V. Was mache ich falsch? Normalerweise ist es doch egal wieviel V ich dabei benutze, oder? Ich möchte die 0-5V an einem Atmega8 benutzen um das analoge 4-20mA Signal zu digitalisieren. Gibt es eine möglichkeit die Widerstände am AD628 zu berechnen? Ich kann dazu nirgends was finden.
Ich habe jetzt herausgefunden, das ich beim stromteiler vergessen habe die 249 Ohm mit einzuberechnen. Das habe ich beseitigt, komme jetzt aber nu auf 0 - 4,79 V. Was kann da noch sein?
:
Bearbeitet durch User
Steffen I. schrieb: > nu auf 0 - 4,79 V. Was kann da noch sein? Davon abgesehen, das man bei einem ATMega8 bis auf eine Referenzspannung eigentlich nur die Bürde braucht, und gar keinen externen Verstärker, ist das kritische Bauteil hier der 9,53k Widerstand, der sehr genau eingehalten werden muss. Am besten baut man hier überall 1% Widerstände ein oder macht den 9,53k (Gain) und den 210k (Offset) Widerstand regelbar.
:
Bearbeitet durch User
>Ich habe jetzt herausgefunden, das ich beim stromteiler vergessen habe >die 249 Ohm mit einzuberechnen. Das habe ich beseitigt, komme jetzt aber >nu auf 0 - 4,79 V. Was kann da noch sein? Die angegebenen Werte sind falsch, jedenfalls wenn mit 4...20mA wirklich 0...5V am Ausgang erzeugt werden sollen. Eine genaue Berechnung der Schaltung zeigt, daß mit 200k, 100k und 9k024 genauere Ergebnisse erzielt werden können. Letzteren kann man mit 9k1//1M annähern. Insgesamt müssen die Werte aber sehr sehr genau eingehalten werden, was die Verwendung 0,1%-iger Widerstände nahelegt. Oder man kalibriert später in der Software. Es liegt aber nahe, und ist durchaus eine übliche Prozedur, daß mit der Schaltung ganz bewußt eine Ausgangsspannung erzeugt werden soll, die rund 5% kleiner als 5V ist, damit man Bauteiletoleranzen der Widerstände und der Referenzspannung abfangen kann. Der ADC wird dann bei 1%-igen Bauteilen garantiert nicht übersteuert. Eine genaue Kalibrierung erfolgt dann in der Software.
Vielen Dank, Kai aber wie hast Du das berechnet? Versteh mich nicht falsch, ich glaube Dir das aber mich würde noch mehr interessieren wie ich das in Zukunft selbst berechnen kann!?
Warum nicht einfach einen 250 Ohm Widerstand nehmen? Zu einfach? OK, es wäre ein "0...20 mA Level Shifter", wenn das besser gefällt. Es muss ja sowieso softwaremäßig justiert werden, das passt das bis auf ein bisschen Auflösungsverlust schon.
Die meisten Sensoren benötigen eine gewisse Bürde, um den richtigen Strom zu liefern, wie hoch die maximal sein darf, steht im Datenblatt des Sensors. Nehmen wir mal an, das eine Bürde von 250 Ohm richtig ist, dann fällt daran bei 20mA eine Spannung von (250*0,02) = 5V ab. Wenn die AREF des Mega8 auf 5V gestellt ist (AREF = Vcc), liefert der ADC bei 20mA also gerade Vollausschlag und ein extra Verstärker ist unnötig. Bei meinem Drucksensor war eine Bürde von unter 200 Ohm gefordert, ich wählte 125 Ohm und habe dementsprechend die AREF mit 2,5V angesetzt, die ich mit einem TL431 erzeugte und dem Mega lieferte. Die Bürde wurde mittels 100 Ohm Festwiderstand und 50 Ohm Trimmpoti genau justiert. Ein externer Verstärker ist normalerweise unnötig. Werte unter 4 mA bedeuten, das die Stromschleife offen ist und kann zur Fehlererkennung genutzt werden. Der Rest ist ein wenig Rechnerei im MC.
:
Bearbeitet durch User
>Vielen Dank, Kai aber wie hast Du das berechnet?
Ich habe die Schaltung des rechten OPamps berechnet, indem ich die
Ströme durch die Beschaltungwiderstände betrachtet habe. Bei mir war:
(Uaus-Uein)/R8 + (2,5V-Uein)/R7 = Uein/R9
mit R7=210k, R8=100k und R9=9,53k.
Nach Uaus aufgelöst gibt das:
Uaus = Uein x (R8/R9 + R8/R7 + 1) - 2,5V x R8/R7
Aus der linken Schaltung erhält man für 4mA 99,35mV Ausgangsspannung und
für 20mA 496,76mV. Also steckt man in die letzte Gleichung einmal Uaus =
0V und Uein = 99,35mV und das andere Mal Uaus = 5V und Uein = 496,76mV.
Das führt auf das Gleichungssystem:
0V = 99,35mV x A - B
5V = 496,76mV x A - B
mit A = R8/R9 + R8/R7 + 1 und B = 2,5V x R8/R7.
Dann zieht man die beiden Gleichungen von einander ab und wirft damit B
heraus. Den Rest löst man nach A auf und erhält A = 12,5815.
Dann setzt man A in eine der beiden Gleichungen ein und löst nach B auf.
Man erhält B = 1,24997. Damit folgt sofort, daß R7 genau doppelt so groß
wie R8 sein muß. Damit geht man in A hinein und erhält einen Wert für
R8/R9.
Jetzt muß man nur noch einen Wert fest vorgeben und erhält über die
bekannten Verhältnisse die anderen beiden Widerstandswerte. Ich habe
R8=100k vorgeben und damit R7=200k und R9=9k024 erhalten.
Vielen Dank, für die Hilfe. Sehr gute Antworten und vor allem ausführlich. Ihr habt mir sehr geholfen.
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.