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
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
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
ldi AL, 0b00001101 ; PortB: B0 und B2 = Kalibrierung, PB1= PWM-Oscillator , PB3 = Schalter Cap/ESR Einfach mal in den Assembler Quellcode gucken.
@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
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.
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.
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.