Forum: Mikrocontroller und Digitale Elektronik kreatives Widerstandsmessen!!!


von Peter (Gast)


Lesenswert?

Hallo!

Ich habe eine Schaltung in der eine Spule mit Kupferwicklung zum
Einsatz kommt. In der Schaltung ist ein Mikrocontroller integriert der
eine Regelaufgabe hat. Ich moechte nun den Widerstand der Spule exakt
messen waehrend der Initialisierung. Der Nennwiderstand betraegt 80
Ohm, ich moechte mit ca. 0.1 Ohm Aufloesung messen in einem Bereich von
70....90 Ohm.
Erschwerend kommt hinzu dass ich nicht mehr als 1mA an Strom zur
Verfuegung habe um zu messen. Dirketer Spannungsteiler kommt also nicht
in Frage...
Ich verwende einen 12bit  ADC in einem MSP430.

Ach ja, ich MUSS den Widerstand jedesmal neu messen da er sich leicht
veraendern kann mit der Temperatur etc... die Temperatur direkt messen
macht aber keinen Sinn bei mir... also Vorschlaege in diese Richtung
sind nicht das was ich suche.

Wer hat kreative Ideen? Darf ausgefallen sein!
Danke fuer alle Ideen!!!

Peter.

von Läubi (Gast)


Lesenswert?

Gleich oder Wechselstrom Widerstand?
Bei DC würd ich nen Konstantstrom durch die Spule schicken:

Widerstand Spule = Ugemssen/Ikonstant

ggf noch nen bekannten Widerstand davor zum Abgleichen/Anpassen.

Oder du baust dir Sowas wie ne Thomsonbrücke, allerdings hab ich sowas
noch nie ausprobiert, und weiß nicht ob das mit nem Digitalwiderstand
gehen würde.

von Christian W. (clupus)


Lesenswert?

Hallo,

also ich würde das so machen (auch wenn ich nicht kreativ bin. Vllt.
aknn jemand verbessern):

Ich würde zunächst mal eine Konstantstrom-Quelle aufbauen. Diese sollte
so präzise wie möglich sein (keine Streuung), der genaue Wert des Stroms
(z.B. mal zum Rechnen: 0,5 mA oder so) muss zum Eichen gemessen werden.
Dann solltest du eine Spannung im Bereich 35mV bis 45mV bekommen. Die
durch einen gut eingestellten (eichen!) OpAmp und du bist im messbaren
Bereich.

Wie stark allerdings Temperatur und andere Faktoren stören, musst du
wahrscheinlich ausprobieren. Es wäre mal ein Vorschlag.

MfG
Christian

von Detlef _. (detlef_a)


Lesenswert?

Ich vermute, daß die Messsung ohne eine Verstärkung der Meßspanung nicht
möglich ist: Widerstandsänderung von 20R machen Dir bei 1mA Strom 20mV
Differenzspannung, 1LSB bei 12Bit und 2.5Vref ist 1.6mV, diese Änderung
kannst Du also nur in 16 Schritten auflösen und nicht in 200, wie
gewünscht.

Einfachen OPamp verwenden, dann ist das kein Problem.

Cheers
Detlef

von Peter (Gast)


Lesenswert?

Hallo zusamen!

danke fuer die Ideen! Ja, ich habe es auch schon befuerchtet dass ich
einen weiteren OpAmp verwenden muss. Das wird sich dann wohl nicht
umgehen lassen...

Ich dachte schon an so Sachen wie Zeitmessung von irgendwelchen
Zeitkonstanten die vom Widerstand abhaengen wie ein gedaempfter
Schwingkreis oder sowas...

Das haette den Vorteil dass ich mit dem MC sehr gut zeitlich aufloesen
koennte und nicht auf die 12 bit des ADC angewiesen bin... Die Messung
muss nicht schnell sein...

Kommen neue Ideen auf?!?!!

Danke schonmal!!!

von Christian W. (clupus)


Lesenswert?

Du könntest einen Kondensator laden lassen und dann mit einer analogen
Spannung vergleichen. Allerdings wird das eher schwerer:

Bei einigen 10R wird der C sehr schnell geladen werden. => schlechte
Auflösung, da Frequenz des Chips = max. Auflösung. Zudem musst du
kleine Folienkondensatoren verwenden, die Elkos entladen sich selber zu
schnell. Grundsätzlich aber haben C's den Nachteil, das die Kapazität
von der Luftfeuchte stark abhängt.

Ich tippe also drauf, dass das eher ungenauer wird.

MfG
Christian

von Christian W. (clupus)


Lesenswert?

Du könntest einen Kondensator laden lassen und dann mit einer analogen
Spannung vergleichen. Allerdings wird das eher schwerer:

Bei einigen 10R wird der C sehr schnell geladen werden. => schlechte
Auflösung, da Frequenz des Chips = max. Auflösung. Zudem musst du
kleine Folienkondensatoren verwenden, die Elkos entladen sich selber zu
schnell. Grundsätzlich aber haben C's den Nachteil, das die Kapazität
von der Luftfeuchte stark abhängt.

Ich tippe also drauf, dass das eher ungenauer wird.

MfG
Christian

PS: Sorry, falls 2. Posting, hab noch was vergessen: Eine Sache mit
Schwingen hat nix mit R zu tun. Mit irgendwelchen Schwing-Sachen kannst
du nur C oder L messen.

von Peter (Gast)


Lesenswert?

@Christian:

"...hab noch was vergessen: Eine Sache mit
Schwingen hat nix mit R zu tun. Mit irgendwelchen Schwing-Sachen kannst
du nur C oder L messen."


Doch, man kann z.B. einen Schwingkreis bauen mit meiner Spule und ihn
einmalig zum Schwingen anregen. Da der Kreis gedaempft ist durch den
ohm'schen Widerstand koennte man die Zeit messen bis die Amplitude
einen gewissen Wert unterschreitet. Daraus laesst sich dann bei
bekanntem L und C der Widerstand R ermitteln...
Ist aber im MC eher nicht so toll zu machen, deshalb suche ich nach
anderen originellen Ideen!

Trotzdem Danke!

von Christian W. (clupus)


Lesenswert?

Noch ne andere Frage:
Wie ist das mit dem 1mA? Muss der Mittelwert des Stroms unter 1mA
liegen (meine Vermutung) oder hast du nur 1mA zur Verfügung? Für ganze
Schaltung odr nur für die Spule (aus Sicherheitsgründen)?

Ansonsten könnte man ja einfach alle 250 ms einen kurzen Puls von z.B.
1ms Strom drauf geben. Wärend der Zeit misst du (mit Spannungsteiler
o.ä.) Damit wäre dein Mittelwert noch gegeben, wenn du 250 mA verwenden
würdest!

MfG
Christian

von Detlef _. (detlef_a)


Lesenswert?

Vielleicht so: Über das unbekannte R ein C ENTladen und solange nen
Zähler laufen lassen, bis ca. die Hälfte der Spannung weg ist, dann den
Zähler mit nem Komparator stoppen. Für 0.1R Auflösung und 16Mhz
Zählertakt habe ich 1000uF überschlagen. ENTladen deswegen, weil Du ja
nur 1mA Strom hast, das C kannst Du nen Weile vorladen.

Cheers
Detlef

von Christian W. (clupus)


Lesenswert?

Das Probelm bei allen C-Lade-/-Entladezyyklen:
1. Die Genauigkeit hängt stark vom C ab. Und die wiederum ist abhängig
von der Temp.
2. Hier werden immer mehrere Comperatoren benötigt: Egal ob er voll
laden (bei Detlef) oder voll entladen (bei mir) muss, in jedem Fall ist
ein Comp. für das Ereignis "kritische Spanung erreicht" (=>Zähler
stoppem o.ä.) und einen um immer auf die selbe Basis zu kommem.
Wenn man nämlich einen C entlädt, ist der theoretisch nie leer. Die
Ladung nähert sich nur beliebig nahe der 0-Achse an. Damit muss man
eine imaginäre Achse ziehen, die in endlicher Zeit erreicht werden
kann, und bei der die (Ent)Ladung aufhört. Sonst verfälscht sich das
Ergebnis, ja nachdem, wie lange vorher Pause war.

MfG
Christian

von Christian W. (clupus)


Lesenswert?

Sonst hätte ich noch eine Idee: (wenn auch abenteuerlich)
Du könntest einfach einen C nehmen und diesen mit einem Schmitt-Trigger
verbinden. Da kannst du entweder einen Schmitt-Inverter der 74
HC(T)-Reihe nehmen oder besser einen NE555 (Ich weiß eigentlich
Timer-Chip, aber hier wird er etwas "umgewandelt" ;-)) und 2 Dioden
und einem Ref-R.
Mit dieser Konstruktion lästs du den C immer laden und entladen im
Bereich U/3 < U(C) < 2U/3. (Musst du vorher einschwingen lassen!)
Den Ladestrom lässt du (z.B.) über deinen Ref.-R laufen (Diode!) und
den Entladestrom über deinen zu messenden R (gleiche Diode!).

Aus dem Zeitverhältnis zwischen Lade- und Entladezyklus solltest du auf
den gesuchten R schließen können.

Wird aber wahrscheinlich ziemlich haarig mit nur 1 mA.

MfG
Christian

von Detlef _. (detlef_a)


Lesenswert?

Hallo Christian,

>>1. Die Genauigkeit hängt stark vom C ab. Und die wiederum ist
abhängig
von der Temp.<<

Ja, wahr. Aber Du machst zwei Entladungen, einmal über nen
Referenzwiderstand, dann über den unbekannten R. Dann spielt das
variable C keine Rolle.

>>2. Hier werden immer mehrere Comperatoren benötigt
Nee, einer reicht. Klar ist nen C nach unendlicher Zeit ge/entladen,
mit den geforderten 0.1R Auflösung läßt sich aber die nötige reale
Lade/Entladezeit berechnen. Außerdem spielt die letzendliche
Ladespannung bei der obengenannten Methode mit Referenzwiderstand keine
Rolle.

Die Aufladung funz nich, weil bei z.B: 3.3V an 70R mehr als 1mA
fleißen. Bei der Entladung kannst Du aber in Ruhe vorher den C über
3.3k an 3.3V aufladen lassen. Der Komparator schlägt dann bei 1.5V oder
so zu. Ladung/Entladung geht vielleicht über I/O Pin des uC !?

Cheers
Detlef

von n/a (Gast)


Lesenswert?

Wenn es richtig gemacht wird, wie z.B. beim Spannungsmessen mit
Dual-Slope-AD-Wandler, spielt der C keine Rolle mehr, da er sich im
Endergebnis quasi "rauskürzt"!
Die Genauigkeit hängt dort dann im Wesentlichen nur noch von der
Spannungsreferenz und der Zeitmessung ab.
Vorteil ist zusätzlich die Integration der Meßsignale, die für
konstante Meßgrößen optimal bezüglich Signal-Rausch-Verhältnis ist.

von Läubi (Gast)


Lesenswert?

Und ich behaupte am genauesten kriegst das mit ner Meßbrücke hin :D

von Peter (Gast)


Lesenswert?

Wow! Erstmal Danke an alle die so rege mitdiskutieren!

Zu den 1mA : ich kann nicht mehr Strom ziehen weil meine Schaltung
ueber einen relativ hochohmigen Widerstand gespeist wird. Das kann ich
in meinem Fall nicht aendern. Einen Mittelwert zu bilden mit hohen
Strompulsen geht also leider nicht :-(

Die Entladung eines C und Vergleich mit Referenzwiderstand hoert sich
am besten an bis jetzt, nur scheint das genauso aufwendig wie einen OP
einzusetzen um bei sehr kleinen Stroemen direkt zu messen...

Ich sehe schon, die Aufgabe ist wohl doch nicht so leicht...!

Vielen Dank an Alle die mitdenken!!!

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
Noch kein Account? Hier anmelden.