www.mikrocontroller.net

Forum: Projekte & Code Kapazitäts- und ESR-Messgerät


Autor: Hanno Gräff (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nachfolgend darf ich mein letztes "Weihnachtsprojekt" der Öffentlichkeit 
vorstellen.

Bisher habe ich das von Elm-Chan vorgestellte und von mir abgewandelte 
Kapazitätsmessgerät (siehe auch anderer Thread „Kondensator-Messgerät“) 
und zusätzlich ein Selbstbau-ESR-Messgerät ähnlich dem von ELV 
verwendet. Mein Wunsch war nun, beide Geräte in einem zu kombinieren.

Ich habe mich letzlich für den ATMEGA48 entschieden. Mit der 
AREF-Spannung von 1,1 V ergibt sich für die Widerstandsmessung ein 
Messbereich von 0 bis ca. 10 Ohm, der m. E. vollkommen ausreicht.

Layout und Schaltplan liegen als Tiff-Dateien und als T3001-Datei vor, 
die mit Target 3001 (Demo unter http://www.ibfriedrich.com) geöffnet 
werden kann.

Das ganze habe ich in ein ABS-Halbschalengehäuse eingebaut (Reichelt SD 
20SW 0,70 €). Bei einer etwas geschickteren Anordnung könnte auch ein 
SD10 reichen. Als Testsockel habe ich einen IC-Sockel ins Gehäuse 
integriert. Im Unterteil des Gehäuses die Nocken ausbrechen, in die 
vertikalen Halterungen horizontale Schlitze schneiden (Dremel etc.) und 
Platine darin festklemmen. Im Oberteil die Bereiche für LCD und Sockel 
ausschneiden, Löcher für die Schalter bohren. Auch hier habe ich in die 
vertikalen Halterungen horizontale Schlitze geschnitten, das LCD an 
Lochrasterstreifen befestigt und damit im Oberteil festgeklemmt.
Statt den festen Messkabeln können natürlich auch Buchsen verwendet 
werden.

Jede Kapazitäts-Messung startet im unteren Bereich. Wenn die Spannung 
nicht innerhalb von 130ms den Wert von 0,5V erreicht (57nF), wird 
entladen und der mittlere Messbereich (bis 440uF, Dauer bis 1s) gewählt. 
Bei Elkos größer 440uF wird erst wieder im unteren und dann im oberen 
Bereich gemesssen. Das sofortige Umschalten vom mittleren in den oberen 
Bereich funktioniert leider nicht zufriedenstellend. Ich vermute 
irgendwo ein Timingproblem. Ein Entladeproblem, auf das ich zuerst 
getippt habe, ist es laut Osci nicht.

Die ESR-Messung erfolgt mit konstanter Spannung. Die Mess-Frequenz 
beträgt 80khz. Über einen Tiefpass wird aus der Rechteckspannung 
annähernd eine Sinusspannung, welche mit einer Amplitude von ca. 250 mV 
am Emitter des Transistors anliegt. Die niedrige Messspannung ermöglicht 
auch Messungen innerhalb von Schaltungen, ohne den zu messenden Elko 
auslöten zu müssen. Leider weist die Messkurve über den Messbereich 
keinen ganz linearen Verlauf auf. Allerdings kommt es darauf nicht an. 
Ein Elko, der einen ESR von um die 10 Ohm oder größer (Anzeige OVL) 
aufweist, ist mit Sicherheit defekt. Ein Elko, der dagegen 0,1 Ohm 
zeigt, mit an Sicherheit grenzender Wahrscheinlichkeit o. k.

Zur Kalibrierung der Kapazitäts-Messung sind 2 Referenz-Kondensatoren 
mit 1nF und 100nF erforderlich. Nach dem Einschalten werden einige pF 
angezeigt, die mit der Taste auf ca. 0,0 gesetzt werden. Kondensator 1nF 
an die Klemmen anschliessen, Pin 2 und 3 von K3 mit Steckbrücke 
überbrücken und Taste drücken. 1nF wird angezeigt und der Referenzwert 
im Eeprom gespeichert. Dann 100nF anschliessen, Pin1 und 2 von K3 
überbrücken und Taste drücken. 100nF werden angezeigt und der 
Referenzwert im Eeprom gespeichert. Einen im Wert genau bekannten Elko 
im Bereich von 1000 uF bis 2200 uF anschliessen und Anzeige mit Trimmer 
R12 auf diesen Wert einstellen. Die von mir ermittelten Werte für 1 nF 
und 100 nF sind bereits in der Eepromdatei enthalten.

Zur Kalibrierung des ESR-Messbereichs zuerst Klemmen kurzschliessen und 
mit R4 die Anzeige so einstellen, daß eben gerade 0,0 Ohm angezeigt 
werden. Dann einen Messwiderstand, von 5,1 Ohm, 10 Ohm geht auch, 
anschliessen und Anzeige mit R3 auf den entsprechenden Wert einregeln. 
Ich habe hierfür einen 0,1% Widerstand von Reichelt (MPR 5,1) verwendet.

Für Optimierungsvorschläge und Fehlerhinweise bin ich natürlich dankbar. 
Die Vorschläge von Benedikt K. und Lothar Lehmann aus dem 
Vorgängerprojekt habe ich hier mit umgesetzt.

Viel Spaß und Erfolg,

Hanno Gräff

Autor: Joeeee (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke! Dein Projekt steht an Nr.2 meiner Nachbauliste. Ich wollte schon 
lange mal ein ESR Meter kaufen, habs aber immer aufgeschoben.
Gruß,
Jörg

Autor: ho77bk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

könntest du evtl. die verwendeten Fusebits angeben? Ich verwende 
entwerder Ponyprog oder AVR-Studio.

Wäre nett, ich bin mir nicht so sicher und will mich ja nicht 
aussperren...

Autor: ho77bk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe einfach die Fuse-bits ausgelesen und dann die Bits CKSEL3...1 
gesetzt (bei Ponyprog den Haken entfernen). Den Rest habe ich einfach so 
gelassen.

Autor: Frank Theumer (ftelektro)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Erst einmal ein Großes Lob!!!Beim Asembler trat allerdings ein Fehler 
Zeile 131 auf.Ich selbst habe noch mehrere Atmega88P liegen.Aus diesem 
Grund habe ich den Fehler beseitigt(Tabulator) und den Atmega88P 
eingesetzt.Er wird zwar nur ca.halb voll,aber was solls!?

Autor: ho77bk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Herr Theumer,

ich habe des ESR Meter ebenfalls nachgebaut. Den ESR Teil habe ich 
wunderbar abgeglichen bekommen. Aber beim C Teil habe ich Probleme. Die 
Schaltung zeigt mir an: EEPROM fehler!! Was mir wohl sagen soll, dass 
nicht auf den EEPROM zugegriffen werden kann. Was kann man denn da 
falsch machen?

Gruß Markus

Autor: Frank Theumer (ftelektro)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nochmals die ASM-datei überprüft und festgestellt,das noch 
"Atmega48.def"eingespielt war.Das war mein Fehler.Ich habe nochmals 
berichtigt und neu comp..Das kein zugriff auf EEprom möglich ist könnte 
damit zusammenhängen. Natürlich muß die Hes-Datei und die eep-datei in 
den Atmega88P "gebrannt" werden.Ohne Wissen des Programmers und der 
gesetzten Fusebits ist es natürlich ein Rätselraten.Anbei Programm und 
EEpromdatei unter Bascomprogrammer.Ps:für 10Mhz Quartz unter Bascom muß 
Extern.Crystal 1111 1111 eingestellt werden.

Autor: Frank Theumer (ftelektro)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Falsche taste.

Autor: ftelektro (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze nochmals gezippt.

Autor: Hanno Gräff (hanno)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

1. anbei ein Screenshot der Fusebits.

2. um den 'Eepromfehler' zu beheben, hilft möglicherweise die Wartezeit 
vor dem Auslesen des Eeproms zu erhöhen, entweder über eine Schleife

       ldi    Al,4
cma:   rcall  wait100ms
       dec    Al
       brne   cma
       ...
       rcall load_eep

oder mehrmals 'wait100ms' nacheinander einfügen. Ich habe es schon 
erlebt, dass bei manchen Controllern bis zu 500ms erforderlich sind, 
damit nach dem Einschalten die Daten im Eeprom nicht beschädigt werden.

Ich hoffe, ich konnte behilflich sein.

Gruss, Hanno

Autor: Frank Zoll (fzoll)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Halloe.

Ich habe mir die Vorlagen geschnappt und das Messgerät mal nachgebaut. 
Nach leichten Startschwierigkeiten habe ich es letzte Nacht zu ersten 
mal ans laufen bekommen.

Viel Zeit habe ich gebraucht, weil mein USB-ISP- Programmer Marke 
"eigenbau" den Controller einfach nicht programmieren wollte.
Nach einigem Suchen habe ich rausgefunden, das es an dem 1K Pullup- 
Widerstand auf der Reset- Leitung lag. Mein Programmer war zu schwach, 
die Leitung nach unten zu ziehen. Nachdem ich ihn durch einen 10K 
Widerstand ersetzt hatte, ließ sich der Controller problemlos flaschen.

Nach einigem Rätselraten, wie die verschiedenen Pin's für den Taster, 
die Schalter und die eigentlich Messungen zu verwenden sind habe ich 
auch die ESR Messung ans laufen bekommen.

Im moment habe ich noch Probleme die Kapazitätsmessung ans laufen zu 
kriegen. Im unteren Bereich mit 1nF und 100nF scheint die Messung sehr 
gut zu funktionieren. Die beiden Testkondensatoren 1nF und 100nF werden 
auf den Punkt genau angezeigt. Im mittleren und oberen Bereich komme ich 
aber nicht auf die richtigen Werte. Die gemessenen Werte bei 470µF und 
1000µF werden viel zu niedrig angezeigt. Meine Testkondensatoren sind 
nicht defekt, habe sie mit einem Multimeter mit C-Messung vorher 
überprüft.

Auch mit dem 100Ohm 10Gang- Poti komme ich bei der Einstellung einfach 
nicht hoch genug für einen Abgleich. Bei ca. 360µF in der Anzeige ist 
das Poti am anschlag und es geht nicht weiter. Habe ich evtl. noch einen 
Denkfehler bei der Verkabelung ? Ich habe bei der C-Messung nur die 
Anschlüsse für GND und Messung+ verwendet. Der Anschluss ESP ist dann 
unbenutzt. Lötbrücken und flasche Widerstandswerte habe ich auch nicht 
finden können.


Hat hier jemand vieleicht nen Tip worauf ich da nochmal schauen könnte ?

Freundliche Grüße
Frank

Autor: Frank Zoll (fzoll)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Endlich fertig :-)

Nachdem ich nun auch die letzten Probleme beseitigt habe, läuft mein 
ESR/C Tester nun auch recht zufriedenstellend. Folgende Änderungen 
brachten den Erfolg:

R42 sollte lieber 10K Ohm haben, mit nur 1K Ohm schaffen es nicht alle 
ISP- Programmer die Reset- Leitung nach Low zu ziehen.

R13 sollte lieber bei 500 Ohm liegen. 100 Ohm waren bei mir für den 
Abgleich zu niedrig. Erst bei ca. 294 Ohm gelang mir ein Abgleich mit 
einem Bekannten 470µF Elko.

Mit den Kapazitätsmessungen im pF und nF Bereich bin ich sehr zufrieden. 
Hier liegen die Ergebnisse immer sehr dich an denen, die meine beiden 
Vergleichsmultimeter anzeigen. Im µF Bereich über 100 µF sind die 
Abweichungen leider größer. ( ca. +- 10µF bei 330µF Testelko ).

Ob die Werte der ESR- Messungen hin kommen kann ich leider nicht 
Überprüfen, da ich kein Vergeleichsmessgerät habe. Der Abgleich mit 2 
bekannten Widerständen hat hier auf anhieb geklappt und bei ein paar 
Testmessungen kahmen recht plausible Werte raus. Wie gesagt aber ohne 
das ich es wirklich nachmessen konnte.

Freundliche Grüße
Frank

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe das Gerät auch nachgebaut, habe aber ein paar Fragen dazu.

1.Wie bzw. womit wird zwischen der Betriebsart "ESR" und "CAP" 
umgeschaltet?

(Wenn ich einschalte, erscheint im Display "CAP 0L" , wenn ich die Taste
drücke, erscheint "Kalibrierung" und danach wieder "CAP 0L")

2. Ich habe am PIN PB1 (OC1A) kein Signal und damit keine Meßspannung
für den ESR-Wert. Wann wird an OC1A ein Signal ausgegeben? Nur im Modus
"ESR" ? Aber -wie komme ich dahin?

Aus der Beschreibung geht das nicht hervor.

Ich habe die .hex und die .eep Dateien aus dem ersten Beitrag in einem
Mega48. Einen Mega88 habe ich nicht, sonst hätte ich mal die Version von
Frank ausprobiert.



MfG Paul

Autor: Alexander Sewergin (agentbsik)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ldi    AL, 0b00001101      ; PortB: B0 und B2 = Kalibrierung, PB1= 
PWM-Oscillator , PB3 = Schalter Cap/ESR

Einfach mal in den Assembler Quellcode gucken.

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Alexander

Ach ja, jetzt weiß ich, was an MOSI (PB3) dran soll. Man muß ihn auf 
Masse ziehen, damit er in den ESR-Modus schaltet. Danke Dir.

MfG Paul

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hinweis: Bei dem Entlade-Mosfet (BS170) sind im Schaltbild  Drain und 
Source vertauscht.

MfG Paul

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welchen Messbereich hat das hier vorgestellte Gerät? Ich habe hier ein 
paar 4700µF und 10.000µF Kondensatoren, die würde ich gerne mal 
überprüfen.

Autor: Werner Freytag (frewer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Hanno,

habe den ESR Teil Deines Messgeraetes nachgebaut, das im Prinzip auch 
funktioniert. Aber ich habe Schwierigkeiten mit der Software. Ich 
benutze den ATMEGA8 mit 8MHz und habe die notwendigen Anpassungen auch 
realisiert (zB den ADC auf PC0 = ADC0 gelegt). Natürlich benutze ich die 
Vrefintern mit 2,56V, wodurch die Anzeige abweichen muß. Dann kam ich 
zum Kalibrieren und da gingen die Probleme los. Ich konnte mit dem 
Trimmer R4 und kurzgeschlossenem Mess-Eingang nicht auf 00,00 gelangen. 
also habe ich die Schaltung vom ATMEGA abgeklemmt und direkt den 
ADC0-Eingang des ATMEGA8 auf GND gelegt. Ergebnis: Dein Programm zeigt 
mir immer 00,28 Ohm und nicht ca. 00,00 Ohm an. Wohlgemerkt, der ADC0 
ist mit GND verbunden. Bevor ich jetzt die Firmware anfange zu studieren 
und "umzukrempeln", wollte ich Dich fragen, wie dies mit der Firmware 
zusammenhängt? Ich konnte beim raschen Anschauen, keine Umrechnung der 
Werte gefunden.

Ich habe dann einen Trimmer zwischen 5V ADC0 und GND gehängt und bekomme 
einen Bereich von 00,28 Ohm bis ca 10 Ohm bei ca 2,5x V am Eingang und 
dann die Meldung OVL. Das alles scheint mir ganz normal zu sein.

Die 80kHz Impulse und daraus einen Quasi-Sinus mit 250 mV bekomme ich. 
Allerdings habe ich noch Schwierigkeiten mit der Signalverstärkung und 
dem Gleichrichter. Habe aber als OpAmp den LM 324 (in Ermangelung des 
TLC 274) eingebaut. Da werde ich noch ein bisschen was zu probieren 
haben.

mfG
frewer

Autor: Question (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich wollte gerne erfahren, ob ich den Pin "Messung+" und den Pin "ESR+" 
zusammenschließen und auf eine gemeinsame Buchse legen kann. Oder muss 
ich mit einem Kippschalter zwischen den 2 Pins umschalten?

Autor: Weiss nich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Question schrieb:
> Oder muss
> ich mit einem Kippschalter zwischen den 2 Pins umschalten?
Ob ein Umschalter billiger als zwei Buchsen sind, überlasse ich deiner 
Phantasie.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.