Lernpaket Mikrocontroller - Fehlersuche
Wenn was nicht will wie es soll...
von Burkhard Kainka
Sie haben die Platine sorgfältig aufgebaut, aber bei der Initialisierung des Controllers tritt ein Fehler auf? Dafür können verschiedene Ursachen in Frage kommen. Der häufigste Fehler ist eine falsche Bestückung oder ein Lötfehler wie z.B. eine kalte Lötstelle. Auch wenn zuerst alled funktionierte, später aber nicht mehr, kann eine kalte Lötstelle verantwortlich sein. Es könnte sich z.B. eine Verbindung an der DB-9-Buchse gelöst haben, die an Anfang so gerade eben funktionierte. Theoretisch auch möglich ist ein Defekt im RS232-Kabel oder eine defekte Schnittstelle des PC.

1. Test, Sichtkontroller: Sind die Widerstände vertauscht? Oben sieht man die beiden mit 100 kΩ, darunter 1 kΩ. Eventuell hilft eine Messung mit dem Ohmmeter. Oder sind vielleicht die Dioden verdreht eingebaut?

Ganzen Artikel lesen...
2. Test: Gibt es kalte Lötstellen? Beim Löten muss jede Lötstelle so heiß werden, dass das Lötzinn in die Durchkontaktierung läuft und an der anderen Seite sichtbar aufsteigt. Eine nur oberflächlich aufgesetzte Lötstelle kann sich leicht wieder lösen oder einen Wackelkontakt verursachen.

3. Test: Verbindungen zur Schnittstelle noch ohne den Controller testen.
Dazu braucht man ein Digitalmultimeter und die Software zum Lernpaket. Die Messung erfolgt ohne den Controller. Die RS232-Pegel von 10 V (RS232) oder 6 V (Laptop oder USB/Seriell-Wandler) werden durch die Schutzdioden im Tiny13 im normalen Betrieb begrenzt.

Starten Sie die Software und öffnen Sie die Registerkarte Terminal. Nun können Sie einzelne Leitungen einschalten und Leitungszustände mit der Software lesen.

Messung 1: RTS an, VCC= 5 V kann gemessen werden
Messung 2: DTR an, ca. +10V an PB0 kann gemessen werden
Messung 3: TXD an, ca. +10V an PB2 kann gemessen werden
Messung 4: Brücke von VCC nach PB1, CTS-Kästchen ist an (Häkchen)

Hinweise:
PB0 und PB2 sind über 100 kΩ angeschlossen, deshalb muss man mit einem hochohmigen DVM (Ri 10 MΩ) messen.
Der Eingang CTS am PC ist relativ niederohmig (ca. 3 kΩ) und wird deshalb über 1 kΩ angesteuert. Damit der PC einen High-Zustand sieht, muss PB1 niederohmig an VCC gelegt werden. Falls CTS nicht erkannt wird könnten z.B. die Widerstände vertauscht sein oder eine Unterbrechung vorliegen.
Test auf Kurzschlüsse zwischen Signalleitungen: Schalten Sie DTR aus: An PB0 muss eine negative Spannung stehen.
Software-Probleme?
Wenn die Hardware in Ordnung ist und trotzdem kein Zugang zum Controller mehr besteht, kann es an einer faschen Fuses-Einstellung liegen: Diverse Versuche führten irgendwie dazu, dass der Tiny13 nicht mehr programmiert werden konnte. Die Fuses wurden vermutlich fälschlich auf eine geringe Taktrate gestellt, vielleicht durch einen Wackelkontakt oder etwas ähnliches. Das ISP-Programm aus dem Lernpaket Mikrocontroller brachte die Lösung. Mit diesem Tool wurden die Fuses auf die Default-Einstellungen gesetzt. Alles funktioniert jetzt wieder. Die Theorie dazu: Das ISP-Tool programmiert so langsam, dass die Fuses neu programmiert werden können. Maximal ist ja nur ¼ der aktuellen Taktrate als Programmiertakt erlaubt.
MSR-Software unter Vista
Die Frage kommt öfter auf: Läuft das Lernpaket Mikrocontroller oder ein anderes Gerät an der RS232 problemlos unter Vista? Getestet habe ich schon den Kosmos-Mikrocontroller, einige Interfaces von Modul-Bus und das Lernpaket Mikrocontroller sowie ein neues Lernpaket „MSR", das dieses Jahr erscheinen soll und das einen FT232R als USB/Seriell-Brücke verwendet.
Alles funktioniert, wenn man eine Kleinigkeit beachtet: Vista ist ganz auf Sicherheit getrimmt und verweigert deshalb zunächst ohne jede Meldung den Zugriff auf eine serielle Schnittstelle. Man muss ein Programm deshalb erst einmal mit der rechten Maustaste anklicken. Es erscheint ein Auswahlfenster. Hier aktiviert man „als Administrator öffnen". Danach funktioniert der serielle Zugriff wie unter den älteren Systemen.

Lernen Sie die ganze Vielfalt vom Franzis Buch- und Softwareverlag kennen