Forum: Mikrocontroller und Digitale Elektronik [Atmega328] Serienwiderstand von ADC Eingang?


von MikroMirko (Gast)


Lesenswert?

Hallo alle,

ich bin dabei, mir einen Kabeltester zu bauen, der verschiedene 
Messungen durchführen soll.
Im ersten Schritt soll der Widerstand der 10 Leiter im Kabel gemessen 
werden.

Ich verwende dazu den internen ADC eines Atmega328p.

Bei meinen Recherchen hier im Forum habe ich unter anderem die 
Empfehlung gefunden, vor den ADC Eingang einen Serienwiderstand zu 
setzen.

Der verlangsamt allerdings die Messung. Bei einem 4K7 Widerstand muss 
ich ca. 2ms warten, bevor ich das Sample ziehen kann. Bei 10K sind es 
fast 4ms.

Multipliziert mit den 10 Leitern und jeweils 5 Messungen dauert der 
Prozessschritt dann schon 200ms.

Nun frage ich mich, ob der Serienwiderstand wirklich so hoch sein muss. 
Würde nicht auch 1K reichen? Oder braucht man ihn überhaupt?
Außerdem würde mich interessieren, welche Schutzfunktion der genau haben 
soll... Oder geht es nur darum, die Störanfälligkeit zu minimieren?

Meine Schaltung:
1
[ ADC-Eingang ]-----+-----[10K?]------<Messleitung>
2
                    |
3
                    |
4
                 [100nF]
5
                    |
6
                   GND

Würde mich freuen, wenn mir jemand auf die Sprünge helfen kann ;)

Vielen Dank, Mirko

von Thomas (kosmos)


Lesenswert?

Wie viele Millionen Kabel hast du den zu messen? Wie schnell werden neue 
Kabel zum Messen eingelegt, spielen da die 200 mSek wirklich eine Rolle?

: Bearbeitet durch User
von Christian S. (roehrenvorheizer)


Lesenswert?

Hallo,

ein Serienwiderstand kann bei Anschluß externer Komponenten verhindern, 
daß der Eingang eine Überspannung abbekommt, die ihn schädigt. Je größer 
der Widerstandswert, desto eher haben die eingebauten Schutzdioden die 
Chance, die Spannung zu GND oder +Ub abzuleiten.

Nachteilig ist wie immer die entstehende Tiefpaßcharakteristik. 
Allerdings bei Anschluß langer Leitungen kann diese auch als Vorteil 
wirken, je nachdem ob HF-Einstreuungen oder Brumm samt Oberwellen zu 
erwarten sind.

mfG

von Wolfgang (Gast)


Lesenswert?

MikroMirko schrieb:
> Der verlangsamt allerdings die Messung. Bei einem 4K7 Widerstand muss
> ich ca. 2ms warten, bevor ich das Sample ziehen kann. Bei 10K sind es
> fast 4ms.

Kein Wunder, wenn du da einen so dicken Kondensator hinter den 
Widerstand schaltest.

von Einer K. (Gast)


Lesenswert?

Mir erschließt sich nicht, wie man mit der Schaltung einen Kabel/Leiter 
Widerstand messen soll/will.

von HildeK (Gast)


Lesenswert?

MikroMirko schrieb:
> Nun frage ich mich, ob der Serienwiderstand wirklich so hoch sein muss.
> Würde nicht auch 1K reichen? Oder braucht man ihn überhaupt?
> Außerdem würde mich interessieren, welche Schutzfunktion der genau haben
> soll... Oder geht es nur darum, die Störanfälligkeit zu minimieren?

Die Schutzfunktion ist zusammen mit den eingebauten Dioden ein Ableiten 
von Überspannung nach VCC und GND (bei negativen Spannungen). Die 
schützen den Eingang vor leichten ESD-Spannungen beim Handling.
Für einen Kabeltester hast du das Problem, dass du ja ständig mit dem 
Eingang arbeitest, neue, ev. lange Kabel anschließt und damit den 
Eingang deutlich mehr stressen wirst als es in einer fest eingebauten 
Schaltung der Fall wäre. Schutzmaßnahmen sind also auf jeden Fall 
notwendig.

Klar kannst du den Serienwiderstand auch reduzieren, auch unter 1k. Aber 
dann empfehle ich zusätzliche externe Schottky-Dioden von GND zum 
Eingang und noch eine vom Eingang nach VCC. Die internen sind nicht oder 
selten spezifiziert, so dass man hier keinen Wert für den maximalen 
Strom weiß.
Auch eine Z-Diode vom Eingang nach GND kann eine Lösung sein.
Die Störanfälligkeit wird durch die Kombination auch verringert: 
irgendwelche Einstreuungen höherer Frequenz werden durch den Tiefpass 
aus 10k / 100nF gedämpft.
Auch das ist nur dann notwendig, wenn du tatsächlich mit Störungen 
rechnen musst.

Arduino Fanboy D. schrieb:
> Mir erschließt sich nicht, wie man mit der Schaltung einen Kabel/Leiter
> Widerstand messen soll/will.

Schicke einen definierten Strom durch das Kabel und messe die Spannung 
mit dem ADC? Dann: R= U/I :-).

von Wolfgang (Gast)


Lesenswert?

HildeK schrieb:
> Klar kannst du den Serienwiderstand auch reduzieren, auch unter 1k. Aber
> dann empfehle ich zusätzliche externe Schottky-Dioden von GND zum
> Eingang und noch eine vom Eingang nach VCC. Die internen sind nicht oder
> selten spezifiziert, so dass man hier keinen Wert für den maximalen
> Strom weiß.

Atmel empfiehlt, einen Strom von 1mA nicht zu überschreiten. Zur 
Verkleinerung der Zeitkonstante könnte man statt des Widerstandes 
alternativ auch den Kondensator verkleinern.

von Axel S. (a-za-z0-9)


Lesenswert?

MikroMirko schrieb:
> ich bin dabei, mir einen Kabeltester zu bauen, der verschiedene
> Messungen durchführen soll.
> Im ersten Schritt soll der Widerstand der 10 Leiter im Kabel gemessen
> werden. Ich verwende dazu den internen ADC eines Atmega328p.

Aha. Und wie genau willst du das messen? Ich nehme an, einen Teststrom 
durchschicken und dann den Spannungsabfall messen?

> Bei meinen Recherchen hier im Forum habe ich unter anderem die
> Empfehlung gefunden, vor den ADC Eingang einen Serienwiderstand zu
> setzen.

Das wäre eine mögliche Schutzmaßnahme, die in Verbindung mit den 
eingebauten Schutzdioden eine Überspannung ableitet.

> Der verlangsamt allerdings die Messung. Bei einem 4K7 Widerstand muss
> ich ca. 2ms warten, bevor ich das Sample ziehen kann. Bei 10K sind es
> fast 4ms.

Ja. 10K mal 100nF gibt 1ms Zeitkonstante. Über den Daumen gepeilt muß 
man 5 Zeitkonstanten abwarten, bis sich der Wert am Kondensator 
eingependelt hat. Aber 100nF sind auch Faktor 10 mehr, als man bräuchte.

> Nun frage ich mich, ob der Serienwiderstand wirklich so hoch sein muss.
> Würde nicht auch 1K reichen? Oder braucht man ihn überhaupt?

Das weißt nur du. Mit welchem Spannungsabfall rechnest du denn?

Für gängige "Kabel" würde ich mit Widerständen im mΩ Bereich rechnen. 
Das gibt dann auch nur entsprechend kleine Spannungen. Du wirst ja wohl 
kaum mehrere Ampere Teststrom verwenden wollen.

So kleine Spannungen kann man dann auch einfach mit einer parallel 
geschalteten Diode begrenzen. Bzw. wenn du den Teststrom von der 
Versorgungsspannung des µC ableitest, dann brauchst du gar keine 
Spannungsbegrenzung. Höher als die Betriebsspannung kann der 
Spannungsabfall am Testobjekt nicht werden.

Viel interessanter ist, wie du das kontaktieren willst. Bei der Messung 
kleiner Widerstände braucht man einen 4-Leiter Anschluß. Sonst mißt man 
im wesentlichen die Widerstände der Klemmstellen.

Aber vielleicht sind deine Kabel ja auch sehr lang oder haben einen sehr 
geringen Querschnitt. Was wissen wir denn schon. Da müßtest du schon mal 
ein paar Informationen mehr rausrücken.

von Einer K. (Gast)


Lesenswert?

HildeK schrieb:
> Arduino Fanboy D. schrieb:
>> Mir erschließt sich nicht, wie man mit der Schaltung einen Kabel/Leiter
>> Widerstand messen soll/will.
>
> Schicke einen definierten Strom durch das Kabel und messe die Spannung
> mit dem ADC? Dann: R= U/I :-).
>

Danke für deine freundliche Aufklärung.
Allerdings sehe ich keine KSQ, keinen Shunt, nix dergleichen.

Schön, dass du soviel Fantasie hast.
Aber mit der gezeigten Schaltung hat das nichts zu tun, denn diese kann 
das von dir genannte Prinzip nicht erfüllen.

Eine Randbemerkung ohne Gewähr:
Es könnte, muss nicht, aber könnte sein, dass mir das ohmsche Gesetz 
schon länger bekannt ist, als dir. Ebenso das von dir so blumig 
beschriebene Messprinzip.

Axel S. schrieb:
> braucht man einen 4-Leiter Anschluß
Wenn es über eine einfache Durchgangsprüfung hinaus gehen soll, ist eine 
Messbrücke o.ä. wohl angesagt.

Natürlich kann die eingangs gezeigte Schaltung auch dieses nicht 
leisten.

von MikroMirko (Gast)


Angehängte Dateien:

Lesenswert?

Hallo alle und Danke für eure Hinweise.

HildeK schrieb:
> Die Schutzfunktion ist zusammen mit den eingebauten Dioden ein Ableiten
> von Überspannung nach VCC und GND (bei negativen Spannungen). Die
> schützen den Eingang vor leichten ESD-Spannungen beim Handling.
> Für einen Kabeltester hast du das Problem, dass du ja ständig mit dem
> Eingang arbeitest, neue, ev. lange Kabel anschließt und damit den
> Eingang deutlich mehr stressen wirst als es in einer fest eingebauten
> Schaltung der Fall wäre. Schutzmaßnahmen sind also auf jeden Fall
> notwendig.
>
> Klar kannst du den Serienwiderstand auch reduzieren, auch unter 1k. Aber
> dann empfehle ich zusätzliche externe Schottky-Dioden von GND zum
> Eingang und noch eine vom Eingang nach VCC. Die internen sind nicht oder
> selten spezifiziert, so dass man hier keinen Wert für den maximalen
> Strom weiß.
> Auch eine Z-Diode vom Eingang nach GND kann eine Lösung sein.
> Die Störanfälligkeit wird durch die Kombination auch verringert:
> irgendwelche Einstreuungen höherer Frequenz werden durch den Tiefpass
> aus 10k / 100nF gedämpft.
> Auch das ist nur dann notwendig, wenn du tatsächlich mit Störungen
> rechnen musst.

Ahhh... ok. Die internen Schutzdioden hatte ich gar nicht auf dem 
Schirm.
Das mit einbezogen, ergibt sich mir schon ein klareres Bild.

Aus Anwendungssicht würde ich dann tatsächlich zu dem Widerstand von 10K 
tendieren. Ob ich den Kondensator ggf. verkleinere, würde ich einfach 
mal in einem Praxistest ausloten.

Zudem habe ich den Messvorgang etwas angepasst und es die Dauer der 
Durchgangsprüfung spielt nun eine untergeordnete Rolle.

Im Anhang mal ein Screenshot.
Die blaue Kurve zeigt an, wann der ADC misst (high = messung läuft).
Die gelbe Kurve zeigt den Pegel am ADC Eingang.

Im Bild sieht man, dass die ersten drei Leiter Durchgang haben.
Die Messung eines Leiters dauert dann inkl. der Wartezeit ca. 6ms.
Dann folgt nochmal eine weitere ms Pause bevor der nächste Leiter an den 
ADC gezogen wird.

Wie sich Temperaturschwankungen hier auswirken, werde ich nächste Woche 
mal messen.

Evtl. kann ich die Wartezeit (im Bild zwischen Cursor 1 und 2) von 4ms 
auf 3 verkürzen und dafür die Pause zwischen den Messungen etwas 
erhöhen. Mal schauen.

Besten jedenfalls für die Erklärung der Schutzfunktion. Das hat mir sehr 
geholfen.

von MikroMirko (Gast)


Lesenswert?

MikroMirko schrieb:
> Besten jedenfalls

Besten "DANK", meinte ich. ;)

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.