Das Ziel ist die Messung eines Widerstandes, der mit einem Anschlusss auf Masse liegt. Es sollen 32 Werte, die logarthimisch von 1k bis 1000k verteilt sind, sicher unterschieden werden. Die Spannung, die über dem Widerstand anliegt sollte relativ klein (<0.5V) sein. Die Messung erfolgt über einen atmega328pb. Entscheidend ist, dass die Lösung wenig Platz einnimmt, Bauteile der Größenordnung SOT-323, SOD-523 sowie 0402 wären ideal. Wenn möglich würde ich gerne auf Spezialbauteile verzichten. Lösungsansatz Logarithmierer: Der Strom durch die BE Diode von Q1 wird durch R1 bestimmt. Q2 dient als Temperaturkompensation. Die Transistoren wurden gewählt weil ihre Kennlinie linearer ist als die von 1N4148 Dioden und sie als Doppeltransistor im SOT-323-6 verfügbar sind. Der LM321 ist ebenfalls im SOT-323 zu haben. Schön ist auch, das ein ADC pin zur Messung ausreicht. Problem: Obwohl Q2 effektiv den Offset beseitigt so bleibt eine Temperaturabhängigkeit vorhanden. Selbst im Bereich von 0-40°C beträgt der Fehler an den Rändern des Messbereiches 12mV. Um sicher die 32 Werte zu unterscheiden darf die Abeichung jedoch maximal 170mV/32 ≈ 5mV betragen. Woher kommt die verbleibende Temperaturabhängigkeit? Gibt es eine Möglichkeit diese zu beseitigen? Falls euch eine bessere Lösung für das Problem einfällt wäre ich sehr dankbar. Dennis
Der TK der Ube ist stromabhängig. -> Beide Transistoren müssten immer mit gleichem Strom arbeiten.
Danke schonmal für den Hinweis, das war mir nicht bewusst. Blöderweise weis ich auch nicht, wie ich die Ströme angleichen kann. Einen einfachen Stromspiegel in die mitte zu packen geht auf jeden Fall nicht.
Schau dir mal das an. Dafür müsstest du dir einen PT1000 Widerstand und möglichst 1kOhm Präzionswiderstände(kleiner Temperaturkoeffizient) kaufen. Dein Opamp sollte einen kleinen Eingangsstrom haben. Deshalb ist dein LM324 keine gute Wahl. Außerdem sollest du idealerweise einen Dualtransistor nehmen damit die beiden Transistoren immer die gleiche Temperatur haben.
:
Bearbeitet durch User
Dennis . schrieb: > Falls euch eine bessere Lösung für das Problem einfällt > wäre ich sehr dankbar. Wenn es die Ressourcen hergeben, würde ich eine Messbereichs- umschaltung vorsehen. Ein Bereich 1kOhm - 30kOhm, der andere 30kOhm bis 1Mohm. Grundprinzip "Spannungsteiler": Großen Widerstand (300kOhm) fest gegen U_b, kleinen Widerstand (10kOhm) schaltbar über Portpin.
Ich würde den Strom in logarithmischen Schritten erhöhen bis eine Spannung Deiner Wahl überschritten wird. Zum Beispiel:
1 | |
2 | 1 Ohm 1 A |
3 | 2 Ohm 0,5 A |
4 | 4 Ohm 0,25 A |
5 | 8 Ohm 0,125 A |
6 | 16 Ohm 0,0625 A |
7 | 32 Ohm 0,03125 A |
8 | 64 Ohm 0,015625 A |
9 | 128 Ohm 0,0078125 A |
10 | 256 Ohm 0,00390625 A |
11 | 512 Ohm 0,001953125 A |
12 | 1024 Ohm 0,000976562 A |
Eins zu Tausen sind ja nur 10 bit. Dafuer wuerd ich mir keinen Logarithmierer antun. Allenfalls einen externen 24bit ADC verwenden.
Possetitjel schrieb: > Dennis . schrieb: > >> Falls euch eine bessere Lösung für das Problem einfällt >> wäre ich sehr dankbar. > > Wenn es die Ressourcen hergeben, würde ich eine Messbereichs- > umschaltung vorsehen. Ein Bereich 1kOhm - 30kOhm, der andere > 30kOhm bis 1Mohm. > Grundprinzip "Spannungsteiler": Großen Widerstand (300kOhm) > fest gegen U_b, kleinen Widerstand (10kOhm) schaltbar über > Portpinn Habe soeben den Vorschlag simuliert. Funktioniert bestens.
Jim schrieb: > Habe soeben den Vorschlag simuliert. Funktioniert bestens. Mit den idealen Widerständen eines Simulators ist das ja auch kein Problem. Ich glaube allerdings nicht, das Dennies mit einer reinen Simulation zufrieden ist.
Harald W. schrieb: > Jim schrieb: > >> Habe soeben den Vorschlag simuliert. Funktioniert bestens. > > Mit den idealen Widerständen eines Simulators ist das > ja auch kein Problem. Ich glaube allerdings nicht, das > Dennies mit einer reinen Simulation zufrieden ist. Mit 5% genauen Widerständen gibt es auch im schlimmsten Fall keine Probleme. Nur der fixe 150k und der zuschaltbare 5k6 sollten genauer sein. Sehe dein Problem nicht...
Helmut S. schrieb: > Schau dir mal das an. Das Ergebnis ist perfekt! Leider denke ich nicht, dass ich einen 4x opamp im tssop-14 Gehäuse noch unterkriegen würde, und kleiner ist für mich privat umständlich zu löten. Hab aber die Schaltung in meine Sammlung aufgenommen, falls ich es mal wieder brauche. Danke! Possetitjel schrieb: > Wenn es die Ressourcen hergeben, würde ich eine Messbereichs- > umschaltung vorsehen. Ein Bereich 1kOhm - 30kOhm, der andere > 30kOhm bis 1Mohm. Sehr gute Idee, insbesondere sehr handlich klein. Jim schrieb: > Habe soeben den Vorschlag simuliert. Funktioniert bestens. Hab selbst gerade simuliert, ich komme auf sehr gute Ergebnisse, 26bit Differenz zwischen zwei Werten im worst case. Bei 1% Widerständen bleibt da selbst mit den üblichen 100ppm/°C bei -40-125°C reichlich Abstand. Vielen Dank euch beiden für so eine simple aber effektive Lösung! Es funktioniert sogar so gut, dass ich es ohne Umschaltung versuchen werde, da I/Os Mangelware im Design sind. Im worst case stehen dann immernoch 12 bit Abstand zur Verfügung, 5% Widerstandstoleranz eingerechnet. Nochmal vielen Dank an alle, ihr hab mir sehr gut weitergeholfen! Dennis [closed]
Vorschlag, vielleicht eine loesung : Nimm ein uC mit current-dac output und adc input und mach es voellig von Software. (zB PSOC-3, PSOC-5Lp). Neben uC wahrscheinlich keine weitere komponenten benoetigd Abhangig natuerlich was weiter notig ist.
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.