AVR-Transistortester

Wechseln zu: Navigation, Suche

von Markus Frejek

Grundsätzliches[Bearbeiten]

Jeder Bastler kennt wohl dieses Problem: Man baut einen Transistor aus einem Gerät aus oder kramt einen aus der Bastelkiste. Wenn die Typenbezeichnung zu erkennen ist (und sie einem bekannt ist), ist ja alles in Ordnung. Oft ist dem aber nicht so, und dann geht das Übliche mal wieder los: Typ und Pinbelegung des Transistors aus dem Internet oder einem Buch heraussuchen. Das nervt auf Dauer natürlich ziemlich. Auch Transistoren im gleichen Gehäuse haben nicht immer die gleiche Pin-Belegung. Zum Beispiel hat ein 2N5551 eine andere Belegung als ein BC547, obwohl beide ein TO92 Gehäuse haben. Wenn bei einem Transistor die Bezeichnung nicht mehr zu erkennen ist (oder nicht mal Google was dazu weiß), wird es mit konventionellen Methoden richtig umständlich, den Transistortypen herauszufinden: Es könnte sich um NPN, PNP, N-oder P-Kanal-Mosfet, etc. handeln. Eventuell hat das Bauteil auch noch eine Schutzdiode intern. Das macht die Identifizierung noch schwieriger. Durchprobieren per Hand ist also ein recht zeitraubendes Unterfangen.

Warum soll man das nicht per Mikrocontroller erledigen lassen? So ist dieser automatische Transistortester entstanden.


Achtung, Attention, Uwaga !!!

This project is intended only for non-commercial use. Any commercial productions require the express permission of the author. This also applies to the Polish language version.

Dieses Projekt wird nur für nicht-kommerzielle Nutzung bestimmt. Jegliche kommerzielle Produktionen bedürfen der ausdrücklichen Genehmigung des Autors. Dies gilt auch für die polnische Sprache.

Ten projekt przeznaczony jest jedynie do niekomercyjnego wykorzystania. Wszelkie produkcje komercyjne wymagają uzyskania zgody od autora. Dotyczy to również polskiej wersji językowej.

Features[Bearbeiten]

  • Automatische Erkennung von NPN und PNP-Transistoren, N-und P-Kanal-MOSFETs, Dioden (auch Doppeldioden), Thyristoren, Triacs und auch Widerständen und Kondensatoren.
  • Automatische Ermittlung und Anzeige der Pins des zu testenden Bauteils
  • Erkennung und Anzeige von Schutzdioden bei Transistoren und MOSFETs
  • Ermittlung des Verstärkungsfaktors und der Basis-Emitter-Durchlassspannung bei Transistoren
  • Messung der Gate-Schwellspannung und Gatekapazität von Mosfets
  • Anzeige der Werte auf einem Text-LCD (2*16 Zeichen)
  • Dauer eines Bauteil-Tests: Unter 2 Sekunden (Ausnahme: größere Kondensatoren)
  • Ein-Knopf-Bedienung; automatische Abschaltung
  • Stromverbrauch im ausgeschalteten Zustand: < 20 nA

Selbstleitende FETs (z. B. JFETs) werden mittlerweile auch unterstützt. Bei Leistungs-Thyristoren und -Triacs kann es auch zu Problemen kommen, wenn der Teststrom (ca. 7 mA) unter dem Haltestrom liegt. MOSFETs und Transistoren wurden aber in meinen Tests immer korrekt erkannt.
Der Messbereich für Widerstände liegt bei etwa 2Ω bis 20M Ohm, deckt also die meisten Widerstandswerte ab. Die Genauigkeit ist aber nicht sehr hoch.
Kondensatoren können von ca. 0,2nF bis gut 7000µF gemessen werden. Oberhalb von rund 4000µF wird die Genauigkeit aber zunehmend schlechter. Prinzipbedingt dauert die Messung großer Kondensatoren auch recht lange, eine Messdauer bis zu einer Minute ist normal.

Hardware[Bearbeiten]

Schaltplan des Transistortesters
Transistortester im Gehäuse
Adapterkabel, um auch Transistoren testen zu können, die nicht in den Testsockel passen
Ausführung als Einschub für einen 19"-Baugruppenträger, versorgt über einen Netztrafo, ohne Abschaltautomatik

Es empfiehlt sich, den Schaltplan in einem weiteren Browserfenster zu öffnen, um die folgenden Beschreibungen nachvollziehen zu können.

Als Mikrocontroller wurde der ATMega8 gewählt. Er verfügt über mehr als genug Flash und RAM. Außerdem hat er genug Portpins und ist sehr preisgünstig. Der Transistortester wird mit einer 9V-Block-Batterie betrieben. Die 5V-Betriebsspannung für den AVR wird ganz konventionell mit einem 78L05 erzeugt. Am Port B des ATMega8 sind verschiedene Widerstände angeschlossen: Je Transistor-Pin ein großer (470 k) und ein kleiner (680Ω). Hiermit können zwei verschiedene Stromstärken auf den zu testenden Pin gegeben werden. Die Widerstände sind mit ADC0 , ADC1 und ADC2 verbunden. An diese Pins wird auch der zu testende Transistor angeschlossen. Der linke Teil der Schaltung (mit den 3 Transistoren) ist für die automatische Abschaltung zuständig. Dazu später mehr. An den ersten Pins von Port D ist das LCD angeschlossen. Es handelt sich dabei um ein 2x16 Zeichen Text-LCD mit HD44780-kompatiblem Controller.

Es ist zu beachten, dass die Test-Eingänge keine Schutzbeschaltung haben. Eine Schutzbeschaltung würde vermutlich auch die Messergebnisse verfälschen. Es sollten also keinesfalls Bauteile, die noch in eine Schaltung eingebaut sind, getestet werden. Sonst könnte der ATMega8 beschädigt werden.

Testablauf[Bearbeiten]

Der Test des Transistors funktioniert nach einem einfachen aber effektiven Prinzip: Es werden zunächst mal alle sechs Kombinationsmöglichkeiten für die Pins durchprobiert.
Hierfür werden die Pins entweder über den 680Ω Widerstand auf + oder fest auf Masse gelegt oder ganz freigelassen.
Es ergeben sich folgende 6 Möglichkeiten:

Zustand Pin1 Zustand Pin2 Zustand Pin3
1. Möglichkeit + - frei
2. Möglichkeit + frei -
3. Möglichkeit frei - +
4. Möglichkeit frei + -
5. Möglichkeit - frei +
6. Möglichkeit - + frei

Für jede Kombinationsmöglichkeit wird überprüft, ob zwischen dem + Pin und dem -Pin Durchgang herrscht. Hierfür wird mit den ADCs die Spannung am + Pin ermittelt. Falls Durchgang besteht und die abfallende Spannung im Bereich zwischen 0,2 V und 4 V liegt, wird von einer Diode zwischen den betreffenden Pins ausgegangen. Dieses Ergebnis wird gespeichert. Der Test wird dadurch natürlich nicht abgebrochen, da dieses Ergebnis auch bei einem Transistor eintreten kann und wird (ein Transistor hat zwei pn-Übergänge, also 2 Dioden).

Falls kein Durchgang herrscht, wird der bisher frei gelassene Pin über 680Ω auf Masse gelegt. Falls jetzt Durchgang besteht, muss es sich um einen pnp-Transistor oder p-Kanal-MOSFET handeln. In diesem Fall wird der Pin (es handelt sich dann um die Basis) über den 470 k Widerstand auf Masse gelegt. Jetzt wird die Spannung zwischen dem +Pin und -Pin (Kollektor und Emitter) gemessen und zwischengespeichert.
Daraus kann nachher der Verstärkungsfaktor und die "richtige" Anschlussbelegung errechnet werden. Ein Transistor funktioniert nämlich auch "falsch herum" (also bei einem pnp-Transistor Kollektor auf Plus), allerdings ist der Verstärkungsfaktor deutlich geringer.

Wenn hingegen immer noch kein Durchgang zwischen dem positiven und negativen Pin herrscht, wird der anfangs frei gelassene Pin über 680Ω auf Plus gelegt. Besteht nun Durchgang, handelt es sich um einen npn-Transistor, einen n-Kanal-MOSFET oder einen Thyristor/Triac. Der weitere Ablauf entspricht dem bei pnp. Der anfangs frei gelassene Pin wird dann allerdings nochmal hochohmig geschaltet. Wenn das Bauteil dann immer noch leitet, ist es ein Thyristor oder Triac.
Durch die 680Ω-Widerstände ist der mögliche Strom allerdings recht gering (max. ca. 7,4 mA). Wenn der Haltestrom des Thyristors oder Triacs über diesem Wert liegt, wird das Bauteil als npn-Transistor erkannt. Das dürfte bei vielen Leistungsthyristoren oder -triacs der Fall sein. Eine Verkleinerung der Testwiderstände (für mehr Strom) wäre zwar möglich, erhöht aber auch das Risiko, sehr empfindliche Transistoren zu zerstören.
Die Unterscheidung zwischen Transistor und MOSFET ist nicht schwer: Bei einem Transistor fließt Basisstrom. Somit wird der Basis-Anschluss "zum Emitter hin" gezogen.
Bei einem MOSFET passiert das natürlich nicht. Das lässt sich dann leicht über den angeschlossenen ADC ermitteln.

Zur Messung der Gate-Schwellspannung von N-Kanal-Anreicherungs-Mosfets wird Source fest auf Masse gelegt. Drain wird über einen 680-Ohm-Widerstand gegen Plus gelegt und Gate wird über einen 470kOhm Widerstand gegen Plus gelegt. Dann wartet der Tester, bis der Mosfet schaltet, also der Drain-Anschluss auf logisch 0 geht. Nun wird die am Gate anliegende Spannung gemessen. Das ist etwa die Gate-Schwellspannung.
Zur dann folgenden Messung der Gatekapazität werden Gate, Drain und Source fest gegen Masse gelegt. Das entlädt das Gate komplett. Dann wird das Gate über 470kOhm gegen Plus gelegt, Drain und Source bleiben auf Masse. Nun wird in einer Schleife die Zeit gemessen, die vergeht bis der Gate-Anschluss auf logisch 1 geht. Das passiert bei recht genau 3,6V, wenn der AVR mit stabilen 5V versorgt wird.
Das sind 72% der Betriebsspannung. Somit ergibt sich rechnerisch eine Zeitkonstante von 1,28 Tau (1,28 R*C). Da R mit 470kOhm bekannt ist, lässt sich daraus C, also die Gatekapazität, berechnen.
Der reale Faktor für die Berechnung weicht etwas davon ab und kann per Define im Sourcecode angepasst werden.
Die Messung der Gate-Kapazität ist, wie auch die Messung der Gate-Schwellspannung, ohnehin nicht besonders genau. Für eine Abschätzung und den groben Vergleich verschiedener Mosfets sind diese Funktionen aber brauchbar. Der Ablauf der Gate-Schwellspannungs und -Kapazitätsmessung für P-Kanal-Anreicherungs-Mosfets ist identisch mit dem oben beschriebenen Ablauf für N-Kanal-Mosfets. Nur kehren sich alle Polatitäten um und die Zeitkonstante für die Gatekapazität ändert sich.

Für die Messung von Widerständen wird aus einem der internen Widerstände (680Ω oder 470kOhm) und dem Prüfling ein Spannungsteiler aufgebaut. Die Spannung am Mittelpunkt des Teilers wird gemessen, einmal mit dem 680Ω und einmal mit dem 470kOhm-Widerstand. Daraus lässt sich der Widerstandswert des Prüflings berechnen.
Dieses Messverfahren hat das Problem, dass die Genauigkeit stark vom Widerstandswert des Prüflings abhängt.
Am genauesten ist die Messung, wenn der Prüfling etwa den gleichen Widerstandswert wie einer der internen Widerstände hat, also 680Ω oder 470kOhm. Dann hat der Spannungsteiler ein Verhältnis von etwa 1:1. Eine kleine Änderung des Widerstandswerts des Prüflings ändert hier die Spannung in der Mitte des Teilers recht stark.
Mit dem internen 680Ω-Widerstand ergibt sich mit einem 600-Ohm-Prüfling eine Teilerspannung von 2,34V; mit einem 800-Ohm-Prüfling sind es 2,7V. Eine Erhöhung des Prüflings um 33% erhöht also die Spannung hier um immerhin 0,36V, erhöht also den ADC-Wert um 74.

Bei einem 6-Ohm-Prüfling dagegen sind es 0,044V in der Mitte des Teilers, bei 8Ω sind es 0,058V. Hier steigt der Widerstandswert ebenfalls um 33%. Die Spannung in der Teilermitte erhöht sich aber nur um 0,014V, was den ADC-Wert um gerade mal 2 bis 3 erhöht.

Übrigens wird jeder Prüflings-Widerstand sowohl mit dem 470kOhm-Widerstand als auch mit dem 680Ω-Widerstand vermessen. In der Auswertung wird dann das genauere Ergebnis verwendet, also das Ergebnis, bei dem die Teilerspannung näher am Optimalwert von 2,5V liegt.

Der gesamte Messbereich liegt bei etwa 5Ω bis 910kOhm. Im Bereich unter 20Ω ist die Messung sehr ungenau, Abweichungen von 10-20% können schon vorkommen.
Nicht besonders genau ist auch der Bereich von ca. 20 bis 100Ω. Zudem ist auch der Bereich von ca. 10-50kOhm nicht richtig genau, weil dafür keiner der zur Verfügung stehenden Messwiderstände (680Ω oder 470kOhm) gut geeignet ist.
Wenn in dem Tester präzise Widerstände (Metallschicht mit <=1% Toleranz) verbaut werden, dürften +/-3% Abweichung über den gesamten Messbereich aber machbar sein. Damit ist die Widerstands-Messfunktion natürlich keine Konkurrenz zu einem guten Multimeter, aber durchaus passabel.

Die Messung von Kondensatoren ist von der Messung der restlichen Bauteile getrennt. Das bedeutet, dass sie eine eigenständige Messfunktion besitzt, die in allen 6 Pin-Kombinationen auf das Vorhandensein eines Kondensators prüft. Das ist nötig, weil sich die Messungen sonst gegenseitig stören würden.

Das Vorhandensein eines Kondensators wird folgendermaßen geprüft: Einer der beiden Pins wird fest auf Masse gelegt, der andere über 470kOhm auf Masse.
Nach einer kurzen Zeit wird die Spannung an dem Pin, der über 470kOhm auf Masse liegt gemessen und der Wert wird gespeichert.
Nun wird dieser Pin für 10ms über 680Ω auf Plus gelegt. Nachher wird wieder die Spannung gemessen.
Wenn sie um mindestens ca. 10mV gestiegen ist, wird davon ausgegangen, dass ein Kondensator vorhanden ist. Das legt auch die maximal messbare Kapazität von ca. 7350µF fest (680Ω lassen an 5V 7,35mA fließen, was einen Kondensator von 7350µF in 10ms um 10mV lädt).
Falls die Spannung nicht hinreichend angestiegen ist, wird der Test mit dem Ergebnis "Kein Kondensator" abgebrochen.
Ist die Spannung hingegen angestiegen, wird der Kondensator wieder vollständig entladen. Dann wird die Kapazität gemessen, genau nach dem gleichen Prinzip wie bei der Messung der Gatekapazität beschrieben.
Zunächst erfolgt die Messung mit dem 680Ω Widerstand. Falls die Zeit, bis der Pin umschaltet sehr gering ist (geringe Kapazität), wird mit dem 470kOhm Widerstand erneut gemessen.
Falls auch da die Zeit, bis der Pin umschaltet sehr gering war, wird die Messung abgebrochen. Damit ist die untere Grenze des Messbereiches von ca. 0,2nF festgelegt. Das dürfte ein sinnvoller Wert sein, sonst können Kapazitäten des Prüfkabels o.ä. schon fälschlicherweise zur Erkennung eines (nicht vorhandenen) Kondensators führen.
War die Messzeit im vorgegebenen Bereich, wird der Kondensator als gefundenes Bauteil gespeichert. Die gemesene Zeit wird mit den (per Define festlegbaren) Faktoren in eine Kapazität umgerechnet, die dann in nF bzw. µF angezeigt wird.
Auch hier ist die Genauigkeit nicht überragend hoch, bis zu 10% Abweichung sind möglich. Für die ungefähre Bestimmung der Kapazität ist es aber ausreichend.


Nachdem die genannten Messungen für alle sechs Kombinationsmöglichkeiten der Pins gemacht wurden, geht es an die Auswertung:

  • Bei Bipolartransistoren muss - wie gesagt, die richtige Belegung von Kollektor und Emitter anhand des Verstärkungsfaktors bestimmt werden
  • Wurden bei einem Bipolartransistor drei Dioden oder bei einem MOSFET eine Diode gefunden, besitzt das Bauteil eine Schutzdiode. Das wird durch ein kleines Dioden-Symbol rechts unten im LCD dargestellt
  • Wenn mehrere Dioden, aber kein Transistor erkannt wurden, wird die Stellung der Dioden zueinander überprüft, um den Bauteiltyp und die Pin-Belegung zu ermitteln (Doppeldiode mit Common Anode/Cathode, zwei Dioden in Serie, zwei Dioden antiparallel)

Das Ergebnis wird dann auf dem LCD dargestellt. Dann schaltet sich der Tester nach ca. 10 Sekunden automatisch ab.

Darstellung auf dem LCD[Bearbeiten]

Das ermittelte Testergebnis wird auf dem LCD dargestellt. In der ersten Zeile links wird der erkannte Bauteiltyp angezeigt. Folgende Bauteile werden bis jetzt erkannt:

Bauteil Display-Anzeige
NPN-Transistor NPN
PNP-Transistor PNP
N-Kanal-MOSFET(enhancement type) N-E-MOS
P-Kanal-MOSFET(enhancement type) P-E-MOS
N-Kanal-MOSFET(depletion type) N-D-MOS
P-Kanal-MOSFET(depletion type) P-D-MOS
N-Kanal-JFET N-JFET
P-Kanal-JFET P-JFET
Thyristor Thyristor
Triac Triac
Doppeldiode, gemeinsame Anode Doppeldiode CA
Doppeldiode, gemeinsame Kathode Doppeldiode CC
2 antiparallele Dioden 2 antiparallel Diode
2 Dioden in Serie 2 Dioden in Serie
einfache Diode Diode
Widerstand Widerstand
Kondensator Kondensator

Je nach Bauteil werden noch weitere Daten angezeigt:

  • Pin-Namen und Pin-Belegung
  • Verstärkungsfaktor hFE und Basis-Emitter-Durchlassspannung (bei Bipolartransistoren)
  • Gate-Schwellspannung und Gate-Kapazität(bei Anreicherungs-MOSFETs)
  • Durchlassspannung (bisher nur bei einfachen Dioden, nicht bei Doppeldioden u.ä.)
  • Bei Transistoren: Anzeige, ob eine Schutzdiode vorhanden ist (durch ein kleines Dioden-Symbol)
  • Widerstandswert bei Widerständen und Kapazität bei Kondensatoren

Da bei den meisten JFETs Drain und Source gleichwertig sind, können diese Anschlüsse nicht erkannt werden. Es kann also vorkommen, dass Drain und Source bei JFETs vertauscht angezeigt werden.

Eine Unterscheidung zwischen bipolaren Kondensatoren und gepolten Elkos war ursprünglich geplant.
Elkos entladen sich nämlich schneller, wenn sie in die falsche Richtung aufgeladen werden.
Allerdings ist dieser Effekt bei Spannungen von 5V und Messzeiten von ein paar 100ms fast unmessbar gering, daher ist diese Erkennung nicht möglich.

Automatische Abschaltung[Bearbeiten]

Am einfachsten wäre es natürlich, den AVR nach Abschluss des Tests einfach in den Power-Down-Mode zu versetzen und einfach per Taster beim nächsten Test wieder aufzuwecken. Der AVR braucht in diesem Modus unter 0,3 µA. Da würde die Batterie fast ewig halten. Da der Tester aber stabile 5 V braucht, kommt man um einen Spannungsregler nicht herum. Hier haben wir auch schon das Problem: Der Spannungsregler läuft munter weiter, auch wenn der AVR schläft, und verbraucht dabei gar nicht so wenig Strom: Ein 78L05 braucht ca. 3 mA. Das würde die Batterie in gerade mal einer Woche leeren. Selbst der sparsame LP2950 braucht noch 75 µA. Da würde die Batterie auch nur neun Monate halten. Schon besser, aber alles andere als ideal.

Es gibt aber noch eine bessere Möglichkeit: Den Strom mit einem pnp-Transistor in der Plus-Leitung (T3) schalten. Hiermit liegt der Standby-Strom bei gerade mal ~10 nA (0,01 µA oder 0,00001 mA). Eine 9 V Batterie mit 500 mAh wäre damit theoretisch erst nach über 5000 Jahren leer. Das sollte wohl reichen...

Beschreibung dieser Schaltung:
Im Ruhezustand wird die Basis von T3 über den Widerstand R10 auf Plus gelegt. Der Transistor ist damit gesperrt und die Schaltung nicht in Betrieb. Wird jetzt aber der Taster S1 gedrückt, wird die Basis von T3 über R7 und die BE-Strecke von T2 auf Masse gelegt. Damit leitet T3 und die Schaltung bekommt Betriebsspannung. Somit wird auch der AVR aktiv. Seine erste Aktion ist es, den Portpin PD6 (Pin 12) auf Plus zu legen. Damit bekommt der Transistor T1 Basisstrom und beginnt zu leiten. Dieser lässt nun über R7 und LED1 den Basisstrom von T3 fließen. Der Taster kann jetzt wieder losgelassen werden. 10 Sekunden nach Abschluss des Tests legt der AVR die Basis von T1 wieder auf Masse. Damit sperrt T1, T3 erhält keinen Basisstrom mehr, sperrt auch und schaltet die Betriebsspannung wieder ab. Der Transistortester ist damit wieder ausgeschaltet. Transistor T2 leitet, wenn der Taster gedrückt ist. Er ist an PD7 (Pin 13) an dem AVR angeschlossen. Damit merkt der Controller, wenn die Taste im Betrieb erneut gedrückt wird, und startet den Testzyklus neu. Das ist sinnvoll wenn man mehrere Transistoren hintereinander testen möchte. Sonst müsste man jedesmal warten, bis sich der Tester wieder automatisch abgeschaltet hat (ca. 10s). R9 und C2 sollen eventuelle Störungen unterdrücken. Sonst kann sich der Transistortester auch unerwünschterweise durch elektromagnetische Störungen einschalten. LED1 dient dazu, die Spannung an S1 auch im Betrieb hoch genug zu halten um T2 aufzusteuern: Wenn T1 geschaltet ist, liegt dessen Kollektor quasi auf Masse. Die Spannung am Kollektor reicht dann nicht mehr aus, um beim erneuten Drücken der Taste den Transistor T2 zu schalten. Anstelle der LED können auch zwei normale Dioden (1N4148 ö.ä.) in Reihe benutzt werden.

Die Widerstände R11 und R12 dienen zum Messen der Batteriespannung. Bei zu geringer Batteriespannung wird dann eine entsprechende Meldung ("Batterie leer") auf dem LCD angezeigt.

Schaltplan ohne die automatische Abschaltung

In dem Thread zum Artikel wurde mehrfach der Wunsch geäußert, den Transistortester ohne die automatische Abschaltung aufzubauen. Stattdessen wird dann ein einfacher Schalter verwendet. Das spart eine ganze Menge Bauteile ein. Die Software muss dafür nicht geändert werden. Taster S1 ist optional, wenn die automatische Abschaltung nicht eingebaut wird.. Damit kann man einen neuen Testzyklus starten, ohne den Tester dafür aus- und wieder einschalten zu müssen. Wer das nicht benötigt, kann ihn einfach weglassen. Achtung: Der Taster ist natürlich nur optional, wenn der Tester ohne die automatische Abschaltung aufgebaut wird!

Infos zur Software[Bearbeiten]

In dem zum Download bereitstehenden Archiv ist eine fertig kompilierte Firmware-Version für den ATMega8 und eine kleinere für den ATMega48, sowie der komplette Quellcode enthalten.

Die Version für den ATMega48 hat folgende Features nicht:

  • Erkennung von Widerständen und Kondensatoren
  • Messung der Gatekapazität von Anreicherungs-Mosfets
  • Messung der Basis-Emitter-Spannung von Bipolartransistoren Für diese Features bietet der ATMega48 einfach nicht genug Platz.

Für "Selbstkompilierer": Um zwischen der Version für den ATMega8 und ATMega48 zu wechseln, einfach in den Projektoptionen oder im Makefile den AVR-Typen entsprechend ändern.

Über #ifdef-Blocks werden dann automatisch die (vom Platz her) nur auf dem ATMega8 möglichen Features aktiviert bzw. deaktiviert. Es wird aber dringend davon abgeraten, den Tester mit dem ATmega48 aufzubauen: Dieser Controller ist kaum billiger als der ATMega8, und die Firmware für diesen wird kaum noch weiter gepflegt, weil sie (verständlicherweise) ohnehin kaum verwendet wird; außerdem bietet der Controller auch für Programm-Verbesserungen gar keinen Platz mehr. Ich würde es schön finden, wenn ihr gefundene Fehler in der Software oder Verbesserungsvorschläge in den Forums-Thread zum Artikel schreibt.

Fehlersuche[Bearbeiten]

Falls überhaupt nichts auf dem Display anzeigt wird, sollten folgende Dinge überprüft werden:

  • Sind alle Verbindungen zum LCD richtig angeschlossen?
  • Sind die Fusebits des ATMega8/ATMega48 richtig gesetzt (interner Oszillator mit 1MHz)?
  • Wurde die .eep-Datei ins EEPROM des Controllers geflasht?
  • Hat das LCD einen HD44780-kompatiblem Controller?
  • Handelt es sich möglicherweise um ein Hochtemperatur-LCD? Diese brauchen nämlich eine negative Kontrastspannung.
  • Testweise auch mal R14 überbrücken. Dieser Widerstand muss ohnehin an das verwendete LCD angepasst werden, um einen guten Kontrast zu erhalten (ggf. ein Poti verwenden).

Sollte auf einem 2x16 Display nur eine Zeile als Klötzchen dargestellt werden und in der zweiten Zeile gar nichts, dann ist bei Anschluss mittels Adapterkabel die Verbindung komplett verdreht (Pin 1 der Platine also auf Pin 16 des LC-Displays). Es kann aber auch ein Fehler bei der Display-Initialisierung vorliegen (abweichend von HD44780). Das sind aber nur 2 von mehreren weiteren Möglichkeiten.

Falls Bauteile nur mit einer bestimmten Reihenfolge der Anschlüsse an den Test-Pins richtig erkannt werden, ein Bauteil erkannt wird obwohl gar keins angeschlossen ist oder Daten wie der Verstärkungsfaktor bei verschiedenen Anschlussreihenfolgen stark voneinander abweichen, sollte die Platine auf Lötbrücken, schlechte Lötstellen o.ä. überprüft werden. Zwischen den Test-Pins sollten auch keine Flussmittelreste verbleiben. Flussmittel ist meist auch geringfügig leitfähig. Da die verwendeten Testströme sehr gering sind, kann auch der über das Flussmittel fließende Strom zu einer Verfälschung des Ergebnisses führen.

Links[Bearbeiten]

Downloads[Bearbeiten]

Hinweis: Die Entwicklung findet jetzt in einem SVN-Archiv statt. Dort finden sich auch Extras (z. B. Platinenlayouts). Wer sicher gehen will, eine aktuelle Version zu erhalten, sollte also entweder das Archiv auschecken oder den Snapshot herunterladen, der maximal einen Tag alt ist.