Gästebuch

Sie sind der

 Besucher seit dem 26.2.05

Multitool

Multitool habe ich ein Messgerät genannt, dass eines meiner ersten Eigenbauten mit Mikrocontroller war.

Das ganze Projekt beruht im Wesentlichen auf eine App-Note von Microchip und ist mit einem PIC 16F84A-10 bestückt.

Hier der Text ungekürzt, so wie er als Artikel 2004 in den “KC-News” erschienen ist. Details auf den nächsten Seiten

Ein Tool für alle Fälle

Der etwas andere Prüfstift

Guido Speer 

Wer jetzt eine Eierlegende-Wollmilch-Sau erwartet, ist hier fast richtig. ;-) Wer aber das allerneueste XYZ-Modul für den KC erwartet, ist total falsch. Das ist mehr die Domäne von Enrico und Frank. Wiewohl das folgende Werkzeug (Tool) dennoch sehr gut am KC zu gebrauchen ist.

Aber der Reihe nach.

 Die Vorgeschichte…

… ist schnell erzählt. Da ich neben Arbeit, KC und Tonbandmaschinen auch noch etwas mit Funktechnik am Hut habe (so noch Zeit ist), suchte ich nach einem kleinen Frequenzzähler, um einen älteren DDR-HF-Generator nachzurüsten. Dabei bin ich im www auf diverse Schaltungen gestoßen, in denen PICs von Microchip eingesetzt wurden. Außer dem PIC, ein paar Widerständen, Vorteiler und LCD-Display, war kaum mehr dran. Der Hauptteil steckt in der Software, das überzeugte. Und wie das so ist, man bastelt sich durch, liest hier und dort was nach, findet noch viele interessante Schaltungen und ist mitten drin in der PIC-Welt. Enrico meint zwar „die Dinger sind räudig“ da sie nur gut 30 Befehle haben, aber genau das ist für Programmiertrottel wie mich die Chance, einzusteigen. Und wenn die paar Befehle dazu taugen, so was wie das folgende Projekt zu realisieren, was will man mehr?

Das Projekt…

… ist nicht von mir, sondern von Voja Antonic in den Beispielschaltungen (App-Notes) von Microchip veröffentlicht worden (s.u.) und lief mir zufällig in feinstem Englisch über den Bildschirm. Nachdem ich mir die technischen Daten einigermaßen zusammengestammelt hatte war klar, „das muss ich haben“. Das Schaltbild war sehr übersichtlich. Außer PIC, ein paar Transistoren und Kleinteilen, brauchte man nur noch ein Display. Selbiges hatte ich zufällig noch liegen (sogar mehrere, bei eBay gehamstert) also los.

Die Daten…

… sind recht ordentlich:

  • Frequenzzähler 0-40 (!) MHz 
    Etwa TTL-Pegel, oder wesentlich empfindlicher, je nach Schaltung.
  • Ein-Kanal Logikanalyser
    25mS – 1uS (40Hz – 1MHz), 300 Sampels Speichertiefe, Trigger umschaltbar auf H/L oder L/H-Flanke.
  • Empfänger für serielle Signale
    Umschaltbar RS232 oder TTL, alle Standard-Baud-Raten von 1200 bis 115000, mit oder ohne Parität, 7 oder 8 Bit, 42 Zeichen-Speicher.
  • Logik-Prüfstift
    H, L und Pulse klassisch über LEDs angezeigt, wobei auch sehr kurze Impulse noch sichtbar sind.
  • Power über eingebaute NiMH-Akkus 4,8 Volt, 700mAH AAA für viele Stunden Laufzeit (mein Prototyp=40 Stunden) oder ext. Netzteil ca. 14-18V / 100mA AC/DC.
  • Stromaufnahme: 5-20 mA, je nach eingesetzten LEDs und LCD
  • Auto-Power-off nach 8 Minuten ohne Tastendruck (außer beim Laden/Entladen und gestartetem Logicanalysermodus)
  • Mikrocontroller überwachte Lade- und Entladeschaltung (einfache Timergesteuerte Konstantstromquelle und Stromsenke)
  • Anzeige: 2 x 20 Zeichen Dot-Matrix-LCD
  • Bedienung: 2 Tasten für alle Funktionen
  • Abmessungen: Etwa 180 x 45 x 25 mm
  • Zu guter Letzt: Keine teuren Spezialbauteile, alles ist in einer gut sortierten Bastelkiste vorhanden bzw. leicht beschaffbar.

Die Software (Firmware)…

… war als erstes zu erstellen. Die lag natürlich auch in der App-Note vor, aber das Ganze als PDF und dazu noch als List-File. Also erstmal den Text extrahiert. Dann in mühevoller Kleinarbeit aus über 2000 Zeilen alle überflüssigen Zeilennummern, Hex-Codes usw. rausgepusselt, übrig blieb der reine Assembler-Text. Den assembliert (und einige Fehler gesucht) und die Firmware war da (s.u.) Diese füllt den vorhandenen Programmspeicher im 16F84 vollständig aus. Nicht ein Byte ist mehr frei.

Die Schaltung…

…ist recht übersichtlich aber in einigen Punkten gegenüber dem Original verändert worden.

Diese sind:

  1. Im Original waren 180mAH-NC-Akkus eingesetzt. Da diese etwas schwachbrüstig sind, NC auch noch mit dem Memory-Effekt behaftet ist, habe ich 700mAh-NiMH eingesetzt.
  2. Die Lade- und Entladeströme  mussten nun angepasst werden. Deshalb wurden gegenüber der Originalschaltung R19, R20 und 21 geändert.
  3. Da LED5 die ca. 70mA Ladestrom nicht verkraften würde, wurde ihr R24 parallel gelegt.
  4. „Akku-Hauptschalter“ in Form eines Jumper
  5. Kontrastreglung für das LCD
  6. T1 u. 4 wegen der höheren Verlustleistung durch stärkere Typen ersetzt
  7. Die deutlichste Änderung: T6 mit D13 und R23 eingefügt. (s. Schaltungsbeschreibung)

Schaltungsbeschreibung

Fast alle Funktionen werden vom Mikrocontroller, einem PIC 16F84 – 10 von Microchip, gesteuert.

Die Versorgungsspannung von etwa 14-18 Volt gelangt über die Graetz-Brücke an LED5. Es ist also völlig egal, welche Polarität der Netzteilstecker (3,5mm Klinke) hat, sogar Wechselspannung ist möglich. Unter 14 Volt nimmt der Ladestrom rasch ab, über 18 Volt sollten es nicht sein, da der Strom über LED5 zu hoch wird und die Verluste in T4 ansteigen. Die Flussspannung von LED5 sollte etwa 1,9Volt sein. Normale grüne LEDs sind da etwa richtig. Neumodische Power-LEDs sind hier völlig falsch, da sie bis zu 3,5Volt haben. Die LED würde also nie leuchten. T4 bildet mit R19, D7 und D8 eine einfache (aber völlig ausreichende) Konstantstromquelle. ZD2 ist nicht etwa zur Spannungstabilisierung vorgesehen, sondern leitet im Defektfall eine zu hohe Spannung nach Masse ab, um den PIC und das Display zu schützen. Die Spannung wir nur durch den Akku „stabilisiert“. Das heißt, sie schwankt zwischen etwa 4 (Akku leer) bis etwa 6Volt (Akku voll). Ist der Akku defekt oder nicht richtig kontaktiert (oder Jumper offen), steigt die Spannung an und ab ca. 6,8 Volt leitet ZD2. Sie wird dabei ordentlich warm, das sollte also nur kurzzeitig vorkommen. Die Diode D5 verhindert den Rückfluss der Akkuspannung, wenn das Netzteil nicht angeschlossen ist. T5 ist der „Power-Schalter“. Dazu wird seine positive Basis (wie auch die von T4) über D6, D1 oder D2 und gedrückter Ta1 oder Ta2 kurz nach Masse gezogen. Der PIC startet und aktiviert über R9 und T3 die Selbsthaltung. Diese dauert genau 8 Minuten. Jeder Tastendruck (Ta1 u.2) setzt den internen 8-Minuten-Zähler zurück.

Um einem Memory-Effekt vorzubeugen, sollte ein halbvoller Akku vor dem Laden entladen werden (ist bei NiMH-Akkus nicht ganz so kritisch). Dazu bilden T1 mit R20, R21 und LED4 mit R22 eine einfache Stromsenke, die die Akkus mit etwa 100mA entlädt. Geschaltet wird diese über R11 vom PIC. Da der gleiche Anschluss auch für das Display benutzt wird, werden dessen Steuersignale mit C4 geglättet (also nur ein deutlich längerer „Impuls“ kann C4 genügend aufladen und T1 durchsteuern.) Der PIC überwacht über RA1 mit einem einfachen Komparator (T2 und dessen Beschaltung) die Akkuspannung. Sinkt diese unter 4 Volt, steuert T2 nicht mehr durch, RA1 geht auf H, der PIC erkennt das, T1 wird geöffnet und T6 geschlossen, das Laden beginnt. Gleichzeitig startet der PIC einen 14-Stunden-Timer. Nach Ablauf der 14 Stunden schaltet sich das Gerät ab, das Laden wird beendet. Die Ladeschaltung arbeitet übrigens immer wenn das Gerät eingeschaltet und das Netzteil eingesteckt ist, also auch wenn normal gearbeitet wird. In der Originalschaltung war die Ladeschaltung auch beim Entladen aktiv. Also der mühsam produzierte Ladestrom wurde beim Entladen gleich wieder über R20/R21 verheizt. In der Originalkonfiguration war das gerade so vertretbar, da ja nur ca. 18mA Ladestrom flossen. Also selbst mit eingestöpseltem Netzteil wurden die Akkus noch mit gut 80mA entladen. Jetzt ist der Ladestrom gut 70mA hoch, bleiben noch knapp 30mA zum Entladen. Das hatte mich genervt, deshalb (und aus Umweltschutzgründen ha-ha..) habe ich T6 eingefügt. Der schaltet den Ladestrom erst dann zu, wenn T1 den Akku nicht mehr entlädt. Damit jetzt kein Querstrom über R23, R20 und R21 an der Konstantstromquelle vorbei fließt, musste D13 eingefügt werden.

Der Rest ist schnell erklärt. Der Quarz bestimmt die Genauigkeit des Frequenzzählers, ist aber eher unkritisch, da der Zähler (leider) prinzipbedingt keine Einerstellen exakt auflösen kann. Das heißt, die Auflösung der letzten Stellen ist abhängig vom eingestellten Zählbereich und geht von minimal 4Hz (bei 5Mhz Anzeige) bis 32Hz (bei 40MHz Anzeige). Die Genauigkeit reicht für Computeranwendungen aber allemal aus und selbst im KW-Funkbereich sind viele kommerzielle Geräte schlechter. Zur Verdeutlichung: 40MHz sind ausgeschrieben genau 40.000.000 Hz! Als Quarz habe ich einen (teureren) HC49-Quarz mit ca. 10ppm Genauigkeit eingesetzt. Übliche Quarze für Mikrocontroller (also das billige Conrad-Geraffel) haben ca. 50ppm und laufen meist ca. 200-500 Hz zu hoch, gehen zur Not aber auch. Durch variieren von C2u.3, kann der Quarz auf genau 10,0MHz gezogen werden. Dabei kann aber die Schwingstabilität leiden. Ich habe den Prüfstift mit meinem 10 MHz-Frequenznormal (Genauigkeit besser als 0,1ppm!) verglichen und er zählte immer ca. 30 Hz zu wenig. Bei einem Billig-Quarz waren es dann  etwa 170 Hz. Aber nochmals: Sicher will mit diesem Prüfstift niemand einen Sender abgleichen, obwohl das als Grobabgleich durchaus möglich wäre.

Die Empfindlichkeit des Zählereinganges kann deutlich erhöht werden, wenn R6 verringert wird. R6 bildet mit der internen Schutzdiode im PIC die Eingangsschutzschaltung. Unter etwa 200 Ohm sollte er nicht dimensioniert werden. So eine Prüfspitze wird schnell mal irgendwo drangehalten, ohne genau zu wissen, welche (Impuls)Spannung gerade anliegt. Ich habe das Ding schon an die falsche Seite eines Schaltnetzteiles geprömpelt. Ich habe gekribbelt der PIC hat aber überlebt (ich irgendwie auch ;-)).

Das Display wird im 4-Bit-Modus betrieben, da der PIC nur 13 Ports hat. In der Originalschaltung war keine Kontrastreglung für das Display vorgesehen. Ich habe das geändert, da bei vollem Akku das Display fast komplett schwarz war. Ich musste aber die beiden Widerstände als SMD auf die Platinenunterseite verfrachten. R24 wird gleich bestückt und R25 zunächst durch einen provisorischen Trimmer ersetzt, der Kontrast bei vollem Akku eingestellt, der Trimmer ausgemessen und ein Standardwert eingelötet. Da die Betriebsspannung zwischen ca. 4-6Volt schwankt, ist bei fast leeren Akkus der Kontrast schon sehr flau. Das ist eine gute „Akkuzustandsanzeige“.

Die LEDs 1-3 dienen der gewöhnlichen Logikanzeige. Natürlich auch durch den PIC bewertet und gesteuert.

Zu guter Letzt habe ich noch einen Jumper am Akku eingebaut. Weil ich bei einem Kurzschluss eine Leiterbahn eingebüßt hatte, kam mir die Erleuchtung (geleuchtet hat die Leiterbahn). Er muss aber unbedingt gesteckt sein, bevor das Netzteil eingesteckt wird (s. oben).

Weitere, sehr ausführliche Einzelheiten, vor allem zum Programmablauf und den internen Schaltzuständen, sind der App-Note von Microchip (AN0689.pdf oder 00689a.pdf) in feinstem Englisch zu entnehmen.

Die Platine…

… ist leider in der App-Note nicht enthalten, wohl aber der Bestückungsplan. Meine Vermutung war: Wer einen Bestückungsplan zeichnet, hat auch eine Platine gezeichnet. Also habe ich Google angeworfen und das ganze Internet durchsucht. Aber was immer ich auch eingegeben habe, nix! Irgendwann hatte ich die Idee, den Namen des Autors einzugeben – Bingo! Ich stieß auf die Seite von Erik Grindheim. Neben einigen kurzen Hinweisen, den Änderungen zum NiMH-Akku, den Originalquelltexten (hätte ich mir einiges ersparen können, grrr…) und vielen Fotos, fand ich da auch die Platine. Natürlich nur für die Originalschaltung. Also habe ich mein Layout-Programm angeworfen und zunächst den Schaltplan mit allen Ergänzungen gezeichnet. Der ist leider nicht ganz so übersichtlich wie das Original, da der 16F84 und das Display im Layoutprogramm nur in der normgerecht gezeichneten Version vorlagen.

Danach war die Platine dran. Hierbei wurde ich endgültig über die Möglichkeiten moderner Autoplatzierer und –router ernüchtert. Zugegeben, die Platine ist durch die Konstruktion mit den eingebetteten Akkus etwas kompliziert. Aber was das Programm selbst nach stundenlangen Optimierungsroutinen anbot, war eine Katastrophe. Also nahm ich die Layoutvorlage von Eriks Seite, habe sie nachgezeichnet und die Ergänzungen eingearbeitet. Die Herstellung ist jedem selbst überlassen. Da die Platine doppelseitig ist, habe ich mir eine „Tasche“ aus den beiden Filmen geklebt (Druckseiten nach innen), darin 3 ca. 5mm Löcher eingestanzt (Bürolocher), die Platine (Rohmaß) eingeschoben, etwas Klebeband über die Löcher und die Platine fixiert (die Platine kann nicht mehr verrutschen) und beide Seiten ganz normal belichtet, geätzt und fertig. Alternativ habe ich mal bei PCB-Pool nachgefragt, was die in professioneller Herstellung kosten würde. Bei Abnahme von 20 (10) Stück kommen ca. 14 Euro zusammen (mir noch unklar, ob mit Lötstopp). Da PCB-Pool bei so einer kleinen Platine einen Mindestpreis hat, musste ich 2 Stück auf einen Nutzen packen, woraus eine Mindestmenge von 20 resultiert.

Alternativ kann das ganze Projekt (ernsthaft) auch auf Lochrasterplatine aufgebaut werden. Dafür aber kein Hartpapier nehmen, da das an den dünnen Stellen (beim fast unvermeidlichen Sturz von der Werkbank) brechen könnte.

Der Aufbau…

… sollte keine großen Probleme bereiten. Fast sämtliche Bauelemente sind unkritisch.

Als Transistoren können natürlich auch DDR-Typen verwendet werden (SC-, SS-, SF- und SD-Serie) Die Widerstandswerte sollten nur in etwa stimmen. Außer R19, R20, R21 u. 24! R20 u. 21 müssen 0,6 W-Typen sein. Als Dioden gehen fast alle billigen Typen aus der Bastelkiste, sie sollten (zumindest D5 u. D13) 300mA vertragen. Als PIC gehen auch die A-Typen, aber ein -10 (MHz) sollte es sein (obwohl bei mir auch ein -4 problemlos lief).

Die Platine wird in die richtige Form gebracht (Säge, Feile, Sandpapier), wobei die Passmarken hilfreich sind. Dann gebohrt (Durchkontaktierungen 0,5 mm, Lötaugen 0,8 mm, Taster und Klinkenbuchse ca.1,3 mm) und bestückt. Hierbei erst die Durchkontaktierungen mit dünnem Draht herstellen. Diese danach mit feiner Feile leicht verschlichten, damit die teilweise darüber liegenden Bauelemente ordentlich ausgerichtet werden können. Dann die Widerstände und Dioden einlöten. Dabei R20 und R21 mit etwas Abstand zur Platine montieren. Jetzt kommt (noch vor den Kondensatoren!) die IC-Fassung an die Reihe. Diese (wie auch etliche andere Bauelemente) muss auch auf der Oberseite verlötet werden (entfällt bei PCB-Platine) deshalb etwas höher setzen und solange man noch an alle Pins kommt. Die LEDs habe ich alle auf Fassungen (zerlegte IC-Fassung) gesetzt, um beim Gehäusebau etwas justieren zu können. Das ist bei LED3 dringend notwendig, sonst kann man den PIC nur schwer wieder entfernen. Bei selbst geätzter Platine diese Fassungen unbedingt oben und unten verlöten. Ansonsten reißen die beim ein- oder ausstecken der LEDs raus.

Die Taster 1 u. 2 müssen so eingebaut werden, dass die Oberkante etwa 16mm über der Platine steht (auch oben und unten verlöten!). Der Resettaster und C5 werden als SMD von unten auf die Platine platziert. Ebenso die beiden Widerstände vom Display und der Jumper zur Akkuabschaltung.

Als Anzeige kann fast jedes 2x20 Zeichen LCD benutzt werden, dass mit dem Standard-Contoller HD44780 (oder kompatibel) arbeitet und die erforderlichen Abmessungen hat. Meins ist mir bei eBay über den Weg gelaufen. Die Montage des Displays ist einfach (s. Fotos), hat aber eine Falle: Da der Abstand zur Platine nur 7mm beträgt, sind als Steckverbindung keine Standard-Teile verwendbar. Entweder man hat was Kleines oder (Motto: bin geübter Ossi) man bastelt sich was. Ich habe in das Display wieder Teile der zerlegten IC-Präzisionsfassung gelötet und dieses dann wie in der Endversion montiert. Jetzt von unten durch die Platine kurze steife Drähte (Reste von LEDs sind ideal, da sehr steif)  in die Fassung gefummelt und verlötet. Dadurch habe ich sogar einen leichten Versatz in der Prototyp-Platine ausgeglichen. Diese Drähte dann auch wieder oben und unten verlöten.

Alle Transistoren werden liegend montiert, außer T6. Dieser muss sehr knapp eingelötet werden. Sollte er (je nach Typ und Hersteller) doch zu hoch rausragen, hilft nur rohe Gewalt. Man kann ihn ohne zu Zucken in Höhe der Bohrung abschneiden (Laubsäge), der eigentliche Chip sitzt im unteren Teil.

Die Prüfspitze ist das Tor zur Außenwelt. Da kann sich jeder verwirklichen wie er mag. Ich habe ein M3-Distanzstück und M3-Schraube genommen. Diese Distanzstücke sind vielfach aus Messing (Magnetprobe) also gut zu löten. Meins war nur 10 mm lang, 15 mm wären besser. In dieses habe ich im hinteren Drittel ein Querloch von 1,6 mm gebohrt (bei 15 mm sind 2 Löcher besser) und ein Gewinde M2 geschnitten. Dann an den Kanten leicht befeilt, damit kein Kontakt zum Gehäuse zustande kommt und auch, weil die Fassung von LED1 etwas störte. Jetzt auf die Richtige Stelle gelötet, das Loch weiter durch die Platine gebohrt, auch hier Gewinde geschnitten (von oben!) und Schraube durch. Unten noch eine Mutter zum Kontern und gut ist (s. Fotos). Der eigentliche Prüfstift ist eine abgedrehte (richtiger: „in Bohrmaschine spitz gefummelte“) M3-Schraube mit etwas Schrumpfschlauch. Alternativ kann man als Prüfspitze auch steifen Draht jedweder Art auflöten. Man sollte aber darauf achten, dass darüber zwei Drahtbügel (LED-Abfälle sind wieder ideal) zur Platinenunterseite gelötet werden.

Ganz zum Schluss (wirklich!) werden die Akkus eingelötet (Jumper offen!). Dabei ist es sinnvoll, wenn sie fast leer sind. Im Fehlerfall haben sie dann nicht genug Power, um Schaden anzurichten. Es kann auch nichts schaden, die Akkus mit etwas Heißkleber o.ä. anzupappen.

Das Gehäuse…

… ist eine Geschmacks- und eine Materialfrage. Ich habe es klassisch aus Leiterplattenmaterial gelötet. Hierbei ist Hartpapier ungeeignet da die Kupferschicht sehr hitzeempfindlich ist. Alternativ (und dekorativ) geht auch 2 mm Plexiglas sehr gut. Das hat zudem den Vorteil, dass man sich das Ausarbeiten des großen Display-Fensters sparen kann und selbiges auch gut geschützt ist. Bei Metallgehäusen (Leiterplattenmaterial ebenso) unbedingt darauf achten, dass dieses zur Schaltung isoliert ist. Am besten innen auch isolieren. Nicht nur um die Schaltung, sondern vor allem um das eigene Leben zu schützen J. Dennoch darf das Gerät natürlich nur im Niederspannungsbereich eingesetzt werden. Klar, oder?

Die Kosten…

… sind moderat. Der PIC kostet je nach Lieferant etwa 5-10 Euro. Das Display etwa 10-18 Euro, Akkus etwa 1,50 – 2,50 Euro/Stück. Quarz, Tasten, SMD-Teile zusammen keine 5 Euro. Der Rest ist Kleinkram und vielfach in jeder Bastelkiste vorhanden. Hinzu kommt noch die Platine, je nach Ausführung bis zu 14 Euro (s.o.) Wer (wie ich) einiges als „Gebraucht“ über Flohmärkte (ebay) kauft und die Platine selber ätzt, kommt wesentlich besser weg. Mein Exemplar hat mich keine 20 Euronen gekostet.

Die Anwendung…

… erschließt sich wie immer so nach und nach. Zum Beispiel:

Frequenzzähler: Frequenzen messen (klar), Teilerfaktoren (Adresszähler) überprüfen, Schwingungen überhaupt nachweisen (schwingt der Quarz am uC?) usw.

Logikanalyser: Impulsfolgen überprüfen usw.

Logikprüfstift: Na was wohl? ;-)

Serial-Empfänger: Bootsequenzen von Mikrocontrollerschaltungen anzeigen (so die ausgegeben werden) der PC bleibt erstmal aus, PC-COM-Schnittstellen auf Funktion testen usw.

Die Bedienung…

… erfasst man nach wenigen Minuten wie von selbst. Eine detaillierte Bedienungsanleitung erspare ich euch und mir an dieser Stelle ;-)

Die Fehlersuche…

… sollte überflüssig sein. Dennoch: Geht nicht, gibt’s nicht! Also machen wir Troubleshooting, wie das in Englisch so schön heißt. Die erste Handlung: Reset drücken. Geht? Ok, geht nicht? Dann alle Leiterbahnen, Durchkontaktierungen und Lötstellen kontrollieren. Leiterbahnen verätzt? Alles OK? PIC raus und Spannungsversorgung kontrollieren. Dazu Ta1 oder 2 drücken, an Pin 14 vom PIC muss jetzt die Betriebsspannung (ca.5Volt) anliegen (natürlich nur solange man die Tasten drückt) Spannung liegt an? PIC wieder rein. Mit einem Zähler (wer hat) oder Oszillografen (wer hat) an Pin 15 und 16 des PIC kontrollieren, ob der Quarz schwingt. Wenn nicht, die 22pF Kondensatoren etwas verändern. Weniger pF bedeutet aber, der Quarz schwingt mit höherer Frequenz. Mit den 22pF sollte das gut gehen. Ansonsten Quarz tauschen. Quarz schwingt? PIC defekt oder Firmware verpfuscht. Beides ok? Dann das Display testen (könnte ja sein, dass es bloß nichts anzeigt). Dazu das Display abnehmen und probehalber extern verdrahten. Und zwar Pin 1 Masse, Pin 2 +5Volt, Pin3 über einige KOhm an Masse. Jetzt müssen in der oberen Zeile alle Segmente vollen Kontrast haben. So kontrolliere ich auch unbekannte Displays und zähle deren Stellen. Wenn nicht, hat man eventuell ein HV-Typ erwischt. Diese brauchen zur Kontrastreglung eine negative Spannung, scheiden hier also aus. HV-Typen sind aber selten. Display ok, trotzdem keine Funktion? Prüfspitze mit Masse verbinden, LED1 (Low) muss leuchten. Leuchtet, aber Display bleibt aus? Steckverbinder kontrollieren. Leuchtet nicht? Oh oh…! Bleibt nur noch alles durchsuchen, dürfte aber bei sorgfältigem Aufbau nicht vorkommen. Meins funktionierte auf Anhieb (nach Reset).

Die Endladeschlussspannung wird mit ZD1 (3,3Volt) und R13 festgelegt. Mit 5,6K für R13 schaltet mein Exemplar bei genau 4,17 Volt ab. Sollte diese Spannung grob abweichen, kann mit R13 etwas justiert werden. Oder man misst eine Zenerdiode exakt auf 3,3Volt aus.

Sollte das Gerät nach dem Loslassen einer Taste trotz eingestecktem Netzteil sofort wieder ausgehen, sind die Akkus völlig leer. Dann einfach eine Taste einige Sekunden (Minuten) festhalten, damit die Akkus auf eine Anfangsspannung kommen. Schaffen sie das nicht, ist eine Zelle tot. Mann sollte sich trotzdem nicht dazu verleiten lassen,  richtig volle Akkus einzulöten (s.o.).

Das Modifizieren…

… ist zur Verbesserung immer möglich. Da wären zunächst Mal die LEDs. Bis auf LED5 können alle LEDs so genannte Low-Curent-Typen sein. Dann werden die zugehörenden Vorwiderstände geändert (von 330 auf ca. 1KOhm), das vermindert die Stromaufnahme und verlängert die Betriebsdauer deutlich. LED5, bleibt wie sie ist.

Man könnte den 16F84 (A) auch durch einen moderneren 16F628 (A)-10 ersetzen. Bei gleicher Pinbelegung hat der wesentlich bessere Eigenschaften. Doppelt so großen Programmspeicher, 3-fachen Datenspeicher, interne Komparatoren usw. und er ist billiger. Damit könnten per Software zusätzliche Eigenschaften eingebaut werden:

 - Up-Down-Timer zur Steuerung von Belichtungsgeräten oder „nur“ als Eieruhr. Als Ausgang könnten die unbenutzten Pins der Klinkenbuchse genommen werden.

 - Frequenzzähler umschaltbar zur Periodendauermessung.

 - Der Komparator mit T2 könnte entfallen und wird softwareseitig programmiert (das bringt Platz auf der Platine für Zusätzliches).

 - Ansteuerung eines Piezosummers zur Signalausgabe.

Und so weiter… Für den 16F628 muss aber das Programm neu assembliert und geringfügig modifiziert werden. Hier sind die Experten gefordert.

Die Spannungsversorgung aus nur einer Zelle mit Step-Up-Wandler bringt Platinenplatz. Das erfordert aber eine deutliche Änderung der Lade- und Entladeschaltung.

Als Spannungsversorgung könnte man auch normale Primärelemente nehmen. An den Lötpads der Platine werden Federbleche angelötet. Das hat Vor und Nachteile. Vorteile: Man spart viele Bauelemente ein, da die gesamte Entlade- und Ladeschaltung entfällt. Dadurch gewinnt man Platz (auch in der Software) für was Anderes. Nachteil: Bei häufigem Gebrauch (der kommt sicher zwangsläufig) geht das ins Geld. Nachteil bei Akkus: Die sind erfahrungsgemäß immer dann leer, wenn man sie braucht.

Schließlich könnte man das ganze Projekt auch in SMD aufbauen. Die 2x20-Displays gibt es auch deutlich kleiner (habe gerade einige gekauft, eBay), somit kommt das Teil einem „Prüfstift“ schon näher, obwohl die vorliegende Version durchaus handlich ist.

Das Brennfile: Probe.zip (Stand Mai 2004)

Die Quellen…

  1. … und Weiteres sind hier zu finden:
    www.microchip.com – Hersteller der PICs (sehr langsamer Seitenaufbau)
  1. www.sprut.deDie deutsche Seite zum PIC überhaupt. Viele Grundlagen (auch zu Dot-Matrix-LCDs), Schaltungs- und Programmbeispiele, PIC-Programmiergeräte und dazugehörende Software, viele weiterführende Links.
  2. Noch einige PIC-Seiten (englisch)
  3. http://www.phanderson.com/PIC/index.html , http://www.interq.or.jp/japan/se-inoue/e_pic6.htm (mit weiterführenden Links)
  4. www.willem.org (englisch) – eines der besten und preiswertesten Programmiergeräte weltweit. Programmiert über Adapter ausser Herzschrittmacher fast alles. Platinen, Adapter und/oder Bausätze gibt es über eBay.
  5. www.qsl.net/la9sja/electronics/ea/ Die Seite von Erik Grindheim mit vielen Fotos, Platrinenlayout (original) und Software zum Engineer's Assistant, wie das Tool international auch genannt wird.

Na dann, viel Erfolg

Guido 

Nachsatz 2005: Unterlagen, Brennfile, Platinen usw. sind natürlich heute nicht mehr lieferbar. Das ist aber alles aktuell hier auf der Seite verfügbar.

[Home] [Projekte] [Röhrenprojekte] [Sandprojekte] [Sonstige Projekte] [8-Bit-Computer] [Funkprojekte] [Mechanik] [Favoriten] [Download] [Meine Werkstätten] [Copyright & Impressum] [Flohmarkt & iBäh]