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
Hallo, hast du vieleicht die ganzen invertteile bei Ponyprog im Setup Menü für den Programmer raus? Peter
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?
Noch etwas, alle PonyProg und BASCOM zeigen mir beim Einlesen, wenn ich "ignorieren" anklicke alles Fs.
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?
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
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?
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?
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
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
strom ? vielleicht stehst du unter strom (scherz) meinst wol spannung. mess mal was hinter dem 7805 rauskommt oder besser gesagt was am 8535 anliegt.
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.
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
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?
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
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
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
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 :-)
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
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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.