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
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...
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.
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!?
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
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.
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
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
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
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
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
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?
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.