Forum: Mikrocontroller und Digitale Elektronik Laufender 8535er lässt sich nicht mehr programmieren :-(


von Axel S. (Gast)


Lesenswert?

Hallo,

ich bin Anfänger, was den Bereich Mikrocontroller und das Zusammenlöten 
eigener Schaltungen angeht. Ich habe mir anhand des Tutorials die 
Grundschaltung mit Spannungsregler zusammengelötet und betreibe einen 
8535er mit 8 MHz. Ich benutze den AVR-ISP von EmbetIt, welcher zu einem 
STK200 kompatibel ist. Ich habe ein Programm geschrieben, an dem 
sämtliche Port-D-Bits alle Sekunde an und aus gehen und es erfolgreich 
auf den Mikrokontroller geflasht. Alles funktionierte. Dann lötete ich 
die UART-Erweiterung an. Und seitdem erkennt kein Programm den MC. Ich 
habe erst mal wieder die UART-Erweiterung vom Rest der Schaltung 
getrennt. Bei einigen Test hat sich nichts geändert. Nach den 
erfolglosen Tests sind außerdem 2 Kurzschlüsse aufgetreten. Der 
7805-Spannungsregel wurde sehr heiss. Jedoch scheint der MC 
weiterzulaufen, wie es vor den Kurzschlüssen der Fall war.
Ich verwende ein stabilisiertes 0,5A-Steckernetzteil und eine 
ERSA-Analog-60-Lötstation mit maximal 300 Grad-Celsius. Der MC sitzt auf 
einem Sockel. Ich habe während der MC auf dem Sockel saß, an den 
Sockelpins herumgelötet.

Da ich kein Multimeter habe, muss eine LED mit Vorwiderstand reichen. 
Hier meine Erkenntnisse:

- Quarz läuft wahrscheinlich korrekt, weil die LED halb so hell wie bei 
5V leuchtet und das Programm ja läuft (die LED blinkt)

- Während PonyProg2000 und BASCOM versuchen, den MC zu erkennen, lässt 
sich an den Programmleitungen feststellen das alle Leitungen, bis auf 
MISO Signale übermitteln. Nach misslungener MC-Erkennung läuft mein 
Programm ordnungsgemäß weiter.

Ich versuche jetzt schon Tag und Nacht, den Fehler zu finden. Ständig 
messe ich irgendwelche Spannungen. Es scheint alles korrekt verlötet zu 
sein. Auch habe ich versucht, am Reset-Eingang einen 100nF-Kondensator 
parallel zum 47pF zu schalten. Alles schlug fehl. Ich vermute, dass mit 
der MISO-Leitung etwas nicht in Ordnung ist. Da müssen doch auch Signal 
anliegen, oder? Kann man die Leitung vielleicht mit einem speziellem 
Programm, welches unter WIndows XP läuft, testen? Ich habe die 
Programmer-Leitungen wie folgt angeschlossen: Pin 4, 6, 8, 10 GND, 2VCC, 
1 MOSI, 3 nichts, 5 Reset, 7 SCK, 9 MISO

Dieses Forum scheint meine letzte Hoffnung zu sein. Ich hoffe jemand hat 
vielleicht eine Idee woran es liegen könnte.

Vielen Dank im Voraus

von Peter Zimmer (Gast)


Lesenswert?

Hallo,
hast du vieleicht die ganzen invertteile bei Ponyprog im Setup Menü für 
den Programmer raus?
Peter

von Axel S. (Gast)


Lesenswert?

Ja, ich habe alle Einstellungen ohne Invertierung drin. Mit Invertierung 
scheint aber genauso wenig zu klappen. Was sagst Du zu der MISO-Leitung. 
Muss die denn nichts anzeigen?

von Axel S. (Gast)


Lesenswert?

Noch etwas, alle PonyProg und BASCOM zeigen mir beim Einlesen, wenn ich 
"ignorieren" anklicke alles Fs.

von Axel S. (Gast)


Lesenswert?

Wenn ich an MISO während des Lesens Masse lege, verändern sich auch die 
eingelesenen Daten. Der AVR-ISP funktioniert also.

Hat den niemand mal einen Tipp??? Ist der MC kaputt, oder ist der noch 
in Ordnung, wenn das Programm läuft?

von Bernd Schmidt (Gast)


Lesenswert?

Die Chip erkennung funktioniert bei Bascom nur wenn die Memory-Lock Bits 
nicht gelöscht sind.

Also Programm verändern (Zeiten fürs blinken z.B.), compilieren und 
programmieren. Dabei aber den richtigen Chip selber einstellen.


Bernd Schmidt

von Axel S. (Gast)


Lesenswert?

Hallo Bernd,

danke für die Hilfe. Ich habe mein Assemblerprogramm in AVRStudio 
compiliert und dann versucht, es mit BASCOM hochzuladen. Leider ohne 
Erfolg. Während des Schreibens, hört zwar meine LED auf zu blinken, aber 
der Balken wird nicht größer. Ich muss das Schreiben mit Escape 
abbrechen.

Ich habe über PonyProg versucht, die Security-Bits zu setzen, aber ohne 
Erfolg :-(

Etwas  eigenartiges ist mir noch aufgefallen. Wenn ich bei PonyProg den 
D-IN invertiere, dann zeigt er mir beim Lesen anstatt lauter FFs Nullen 
an?! Das selbe passiert richtigerweise auch bei D-OUT. Aber warum wirkt 
sich denn D-IN auf MISO aus?

von Axel S. (Gast)


Lesenswert?

Hallo Leute,

ich habe mir jetzt endlich ein Multimeter ausgeliehen. Die Spannungen 
scheinen soweit alle in Ordnung. Was mich wundert ist, dass ständig 1 
Volt an MISO hängt. Ist das normal?

von Bernd Schmidt (Gast)


Lesenswert?

Bewegt sich der Balken gar nicht oder läuft der bis zum Ende und bleibt 
dann stehen ? Dann wird das Programm zu gross sein für den Chip. Vorher 
muss als Typ 8535 angewählt werden.

Das mit den 00 oder FF beim auslesen der Chipinfo ist normal wenn der 
AVR nicht entsprechend antwortet. 00 invertiert ist eben $FF.

Hast du den Chip schon mal gelöscht ?
Bei Bascon geht das mit Menu Chip-Erase. Danach sollte der uC leer sein, 
d.h. die LED's nicht mehr blinken.
Falls nach dem löschen immer noch nichts ausgelesen werden kann wird 
entweder der uC defekt sein (hatte ich bisher noch nie) oder mit der 
Programmierschnittstelle stimmt was nicht.


Bernd Schmidt

von Axel S. (Gast)


Lesenswert?

Hallo Bernd,

danke für die Antwort. Bei Bascom wird der Balken nicht angezeigt. Er 
bewegt sich also nicht. Beim löschen sagt mir BASCOM zwar, der Chip sei 
gelöscht, aber das Programm läuft dann trotzdem weiter. Der Programmer 
scheint was die Ausgabekleitungen angeht noch in Ordnung zu sein.
Ich habe ein 0,5A-Netzteil mit 12V über einen Spannungsregler wie im 
Tutorial angeschlossen. Ist es möglich, den uC so schon zu zerstören? 
Sollte ich lieber eines mit weniger Strom nehmen?

Tschüß und danke nochmal

von G00GLuS (Gast)


Lesenswert?

strom ? vielleicht stehst du unter strom (scherz)

meinst wol spannung. mess mal was hinter dem 7805 rauskommt oder besser 
gesagt was am 8535 anliegt.

von Axel S. (Gast)


Lesenswert?

Hi, ich dachte eigentlich, der Strom sei bei einem Kurzschluss das 
Gefährliche. Hinter dem 7805er kommen die gewünschten 5V raus. Also 
alles in Ordnung.

von Rossi (Gast)


Lesenswert?

Stimmt schon! Der Strom zerstört im Fehlerfall das IC. Er ist aber eine 
abhängige Grösse von Widerstand und Spannung. Ist die Spannung zu gross 
und der Widerstand gleichbleibend, dann steigt zwangsläufig nach der 
Formel I=U/R der STrom. Folge: Bauteil kaputt!

Hoffe dir geholfen zu haben!

Rossi

von Axel S. (Gast)


Lesenswert?

Wie sieht es nun aus, wenn ich einen Kurzen habe. Da können doch nicht 
mehr Ampere fließen, als das Netzteil, bzw. der Spannungsregler, 
liefert. Um nochmal auf meine Frage zurückzukommen. Sind denn 0.5A 
zerstörerisch genug?

von Bernd Schmidt (Gast)


Lesenswert?

Ein Kurzschluss zwischen +5V (Ausgang vom 7805) und GND könnte maxmimal 
den Spannungsstabi zerstören. Der 7805 ist aber Kurzschlussfest und 
thermisch geschützt. Wenn er zu warm wird schaltet der Stabi ab.
Der 7805 mag nur keine Spannungen über 24 Volt.

Ein Kurzschluss an den Ausgängen des 8535 könnte den Ausgangstransistor 
vom Ausgang zerstören. Dann fällt dieser Ausgang aus und funktioniert 
nicht mehr. Welche weiteren Schäden innerhalb des uC entstehen kann man 
nich so voraussagen. Wird der Gesamtstrom (alle Ausgänge zusammen) eine 
gewisse höhe überschreiten könnte ich mir vortsllen das so einiges im 
Chip zusammenschmilzt.
Blöd ist nur wenn der Ausgang zerstört wird der für die Programmierung 
benutzt wird.


Bernd Schmidt

von Axel S. (Gast)


Lesenswert?

Hallo Bernd,

ich habe in der Beschreibung gelesen, das die I/O-Ports einen 
Pull-Up-Widerstand von 35-120 kOhm haben. Müsste dass den uC nicht 
schützen? Bei einem Kurzschluss (5V) würden maximal 143uA fließen. Ist 
das zuviel? Leider bin ich mir nicht ganz sicher, wo nun der maximale 
Eingangsstrom in den Unterlagen zu finden ist.

Viele Grüße,
Robert

von Bernd Schmidt (Gast)


Lesenswert?

Der Pullup-Widerstand defniert nur einen Pegel wenn der Eingang  (Pin 
als Eingang programmiert) offen ist. Das bedeutet das eine "1" 
eingelesen wird. Um z.B. einen Schalter abzufragen kann nun dieser 
Eingang auf "low" gezogen (mit GND verbunden" werden. Das ist ein 
normaler Vorgang und beschädigt nicht das IC.

Falls aber der Pin als Ausgang programmiert ist kann serwohl ein relativ 
großer Strom fließen.
Ein "low" am Ausgang (also 0V) und eine Verbindung (ohne Widerstand) 
nach +5V wäre für den Ausgangstransistor wahrscheinlich tödlich. 
Umgekehrt natürlich genauso.
Die AVR-IC'2 haben push-pull Ausgänge die jeweils komplett ein potential 
durchschalten. Im Gegensatz dazu haben Standart TTL Bausteine nur die 
möglichkeit viel Strom "nach GND" zu liefert. Dort sitz ein Transistor 
nach Masse, nach Plus ist nur eine Stromquelle mit max. 400uA.

Passt zwar nicht ganz zum ursprünglichen Problem, macht aber hofenntlich 
nix.

Bernd Schmidt

von Axel S. (Gast)


Lesenswert?

Hallo Bernd,

bin Dir sehr dankbar für die Infos. Ich habe mir dank Dir erst mal 
vollständig die I/O-Beschreibung und die der elektrischen Eigenschaften 
meines AVRs durchgelesen und viel gelernt.
Eine Frage, die dort aufgetreten ist und die Du angesprochen hast, ist 
aufgetreten. In der Beschreibung der I/0-Ports steht bei den Ausgängen 
etwas von Push-pull. Ich vermute, das heisst wohl nur, das der Ausgang 
Strom liefert und zieht, oder? Und noch etwas, was ist der Unterschied 
von AVR-IC 2 und TTL-Bausteinen. Zu welcher Kategorie gehört der AT 
90S8535 PDIP?

Danke nochmal für die guten Infos :-)

von Bernd Schmidt (Gast)


Lesenswert?

Schön das ich helfen konnte.

Push-Pull ist in der Tat eine Endstufe mit jeweils einem Transistor nach 
+5V und einen nach GND. Der Strom nach "aussen" kann sowohl +20mA oder 
-20mA betragen (nur Beispielhafte Werte). -20mA bedeutet das der Strom 
in das IC fließt.

TTL Bausteine (Standard oder LS-TTL) haben nur "halbe" Endstufen, 
liefern also mehr Strom gegen GND.
Bis gerade eben war ich der Meinung die Atmel's könnten den Strom in 
beide Richtungen treiben. Die Datenblätter sagen aber was anderes. Man 
muss halt öfter mal reinschauen.
Der 8535 kann 20mA in beide Richtungen (bei 5V), der ATMEGA8 aber nur 
+20mA/-6mA, also etwas unsymetrisch.

LS-TTL Bausteine können i.d.R nur -2mA/+400uA.
Bei den HC/HCT Typen hilt nur ein Blick ins Datenblatt.


Bernd Schmidt

von Axel S. (Gast)


Lesenswert?

Hallo Bernd,

das Problem ist gelöst. Der uC war defekt. Jetzt habe ich noch eine 
letzte ganz einfache Frage, weil ich ganz sicher gehen will, nicht 
wieder etwas kaputt zu machen.
Ich hatte vorgehabt, die I/O-Pins mit Lötnägeln zu verbinden, damit ich 
sich je nach Anwendung benutzen kann.
Dies wollte ich wahlweise mit den im Tutorial vorgeschlagenen LED- und 
Schalter-Schaltungen verbinden.
Beim Umstecken, kann ich mir meinen Überlegungen nach, jedoch wieder 
einen Kurzschluss holen. War der Pin zuerst als Ausgang gedacht und soll 
jetzt schaltungstechnich als Eingang dienen und ist aber 
softwaretechnisch versehentlich noch als Ausgang gesetzt, dann habe ich 
doch leider ein Problem, oder? Wenn der Pin z.B. 5V liefern will, er 
aber an Masse liegt, dann habe ich doch wieder einen Kurzen. So etwas 
wie interne Schutzwiederstände bei Ausgängen scheint es ja nicht zu 
geben, wie ich bis jetzt verstanden habe, oder? Das war meine Frage, die 
ich nur nochmal vorsichtshalber gestellt habe.

Hast Du eine Idee, wie man die Schaltung absolut idiotensicher machen 
kann? Was spricht bis auf den Spannungsabfall dagegen, wenn ich an jedes 
Pin noch einen 1 kOhm-Widerstand sicherheitshalber ranlöte. Dann hätte 
ich einen absoluten maximalen Strom von 5mA.

Gruß Robert

von Peter D. (peda)


Lesenswert?

Des Bastlers Faustregel:

Immer nur soviel Strom wie nötig !!!


D.h. für MC-Testschaltungen nehme ich gern einen 78L05 als 
Spannungsregler, der begrenzt auf ungefährliche 100mA.

Da kann man den MC auch mal verkehrt rum einstecken und er bleibt heil.


Wichtig ist auch, möglichst kleine Elkos in der Schaltung zu haben, z.B. 
10µF sollten für einen MC reichen.

Es nützt ja nichts, wenn der Spannungsregler begrenzt, aber die Elkos 
auf der Platine schon reichlich Energie gespeichert haben, um Schaden zu 
verursachen.


Den Bleederwiderstand parallel zum Elko nicht vergessen, sonst bleibt er 
ewig geladen (und gefährlich).



Peter

von Axel S. (Gast)


Lesenswert?

Hallo Bernd,

eine Frage habe ich dann doch noch. In den Datenblättern wird ein 
Ausgangsstrom unter Normalbedingungen von 3mA empfohlen, für den 
Eingangsstrom 20mA. Warum diese Asymmetrie? Aufgrund des Push-pull, darf 
ich doch 5mA Ausgangsstrom haben, oder?
Ich weiß, das hast Du mir alles schon erklärt. Aber ich möchte ganz 
sicher gehen, ob ich alles richtig verstanden habe :-)

Ein schönes Wochenende,
Robert

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
Noch kein Account? Hier anmelden.