Ich habe ein Programm für eine Digitaluhr geschrieben. Ich habe dann die Fusebits des µC in Ponyprog geändert. Ich habe den Haken bei "JTAGEN" deaktiviert und bei "CKSEL3", "CKSEL2", "CKSEL1", "CKSEL0" den Haken rein gemacht. Jetzt kommt immer device not found. Wie kann ich den µC noch verwenden? Ich habe einen 16MHz Quarzoszillator an XTAL1 angeschlossen.
Häufiger Fehler http://www.mikrocontroller.net/articles/AVR_Fuses#Reaktivieren_bei_fehlerhaften_Taktquellen-Fuse-Einstellungen
Danke für deine schnelle Antwort. Aber ich habe ja schon einen Taktgeber (den Quarzoszi) an XTAL1 und kann damit nicht auf die Fuses zugreifen. Ein Oszillator steht mir leider nicht zur Verfügung.
M. B. schrieb: > Ich habe ein Programm für eine Digitaluhr geschrieben. Ich habe dann die > Fusebits des µC in Ponyprog geändert. Ich habe den Haken bei "JTAGEN" > deaktiviert OK, das ist wahrscheinlich sinnvoll. > und bei "CKSEL3", "CKSEL2", "CKSEL1", "CKSEL0" den Haken > rein gemacht. Warum hast du das getan? Und außerdem: um welchen µC handelt es sich eigentlich konkret? > Jetzt kommt immer device not found. Wie kann ich den µC > noch verwenden? Ich habe einen 16MHz Quarzoszillator an XTAL1 > angeschlossen. Das hilft oft, aber halt nicht immer. Das einzige, was immer hilft, ist HV-Programming. Du brauchst dazu einen Programmer, der das beherrscht. Allerdings: Wenn man einfach immer nur sinnvolle Werte für die Clock-Optionen programmiert, indem man vor dem Programmieren die verfickten Datenblätter liest, dann braucht man kein HV-Programming und nicht die Kohle für einen dazu fähigen Programmer abzudrücken. Da wird es viel billiger, den verfuseten µC einfach wegzuwerfen, als Lehrgeld abzubuchen und einen neuen zu kaufen. Selbst ein Mega1284P kostet ja nichtmal ein Drittel des günstigsten HV-fähigen Programmers...
Ich programmiere nur mit Bascom AVR.Ausgenommen die Fuses.Da Spann ich mir immer Von myAvr Workpad PLUS ein.Da gibts glaub ich auch eine Demoversion mit Zeitlimit zum Gratisdownload.Da kann soein fehler fast nicht mehr passieren.
Hi CKSEL3..0 = 1111 ist AVRs i.A. External Crystal/Ceramic Resonator. Von der Seite passt das schon. >Aber ich habe ja schon einen Taktgeber (den Quarzoszi) an XTAL1 und kann >damit nicht auf die Fuses zugreifen. Anscheinend nicht. Wie hast du den Oszillator beschaltet? MfG Spess
M. B. schrieb: > Aber ich habe ja schon einen Taktgeber (den Quarzoszi) an XTAL1 und kann > damit nicht auf die Fuses zugreifen. Ein Oszillator steht mir leider > nicht zur Verfügung. ?? Es gilt aber: Taktgeber (den Quarzoszi) = Oszillator Somit passt der Text irgendwie nicht... Oder meinst Du mit Quarzoszi eine Quarz? Der muss aber an XTAL1 und XTAL2 + 2 Kondensatoren (üblicherweise je 22pF) angeschlossen werden. Ein Oszillator wird nur an XTAL1 angeschlossen und lässt sich auch leicht mit z.B. einem 74HC14 bauen. Damit sollte es gehen, auch wenn der µC auf Quarz eingestellt ist. Gruß Dietrich
spess53 schrieb: > Hi > > CKSEL3..0 = 1111 ist AVRs i.A. External Crystal/Ceramic Resonator. Von > der Seite passt das schon. Ich denke auch, dass es passen sollte. Bei einem anderen Projekt funktioniert es auch. > Anscheinend nicht. Wie hast du den Oszillator beschaltet? An der eckigen Ecke (links unten) habe ich nichts. An der darüber habe ich +, rechts unten habe ich - und rechts oben OUT. Also so: +__________OUT --> XTAL1 / \ | | |__________/ GND
M. B. schrieb: > Ich habe den Haken bei "JTAGEN" > deaktiviert und bei "CKSEL3", "CKSEL2", "CKSEL1", "CKSEL0" den Haken > rein gemacht. Das ergibt CKSEL3..0 = 0000 spess53 schrieb: > CKSEL3..0 = 1111 ist AVRs i.A. External Crystal/Ceramic Resonator. Von > der Seite passt das schon. Um das hier zu erreichen dürfen keine Haken drinnen sein.
M. B. schrieb: > An der eckigen Ecke (links unten) habe ich nichts. Es gibt auch Typen, die an diesem Pin ein "Enable" haben. Welchen hast Du (Typenbezeichnung!)?
> spess53 schrieb: >> CKSEL3..0 = 1111 ist AVRs i.A. External Crystal/Ceramic Resonator. Von >> der Seite passt das schon. > > Um das hier zu erreichen dürfen keine Haken drinnen sein. Und wie kann ich das jetzt ändern? Dietrich L. schrieb: > Welchen hast > Du (Typenbezeichnung!)? Ich habe diesen Quarzoszillator: http://www.pollin.de/shop/dt/MDM5OTY3OTk-/Bauelemente_Bauteile/Passive_Bauelemente/Quarze_Oszillatoren/Quarzoszillator.html In dem anderen Projekt hatte ich den selben verwendet und genau so belegt. Dort funktioniert es.
M. B. schrieb: > Ich habe diesen Quarzoszillator: > http://www.pollin.de/shop/dt/MDM5OTY3OTk-/Bauelemente_Bauteile/Passive_Bauelemente/Quarze_Oszillatoren/Quarzoszillator.html Ja, da ist Pin 1 nicht angeschlossen, somit Deine Schaltung OK.
M. B. schrieb: > Aber warum funktioniert es dann nicht? Weil der Fehler dann woanders ist. - der Schaltplan kann von der Realität abweichen - ein Bauteil ist defekt - das Layout / die Verdrahtung kann schlecht sein - Versorgung mangelhaft, Stützkondensatoren fehlen - ??? Das ist vielleicht die Gelegenheit, den kompletten Schaltplan + Layout zu zeigen. Wie die Fuses jetzt tatsächlich eingestellt sind und was das bedeutet, habe ich nicht verfolgt und kontrolliert. Ich bezog mich nur auf mögliche Hardwarefehler. Gruß Dietrich
Die Fuseprogrammierung sollte richtig sein. Schon mal einen anderen Oszillator probiert oder einen anderen Taktgenerator? Muss ja nicht irr hoch sein, 1MHz tut es auch, eventuell den Programmiertakt anpassen. GND und VCC wird ja gleich sein mit den µC?
Dietrich L. schrieb: > Das ist vielleicht die Gelegenheit, den kompletten Schaltplan + Layout > zu zeigen. Hier ist der Schaltplan... Der Plan hat nur den Fehler, dass der Oszillator an XTAL2 ist. Gelötet habe ich ihn aber an XTAL1. Hubert G. schrieb: > Muss ja nicht irr hoch sein, 1MHz tut es auch, eventuell den > Programmiertakt anpassen. Könnte ich da den Taktgeber von dem Atmel Board von Pollin an den µC ziehen und GND verbinden?
:
Bearbeitet durch User
M. B. schrieb: > Dietrich L. schrieb: >> Das ist vielleicht die Gelegenheit, den kompletten Schaltplan + Layout >> zu zeigen. > > Hier ist der Schaltplan... Wo sind die Widerstände für die LEDs? Wie groß ist der Maximalstrom (beim ATmega16 darf in Summe max. 200mA über Vcc und GND fließen)? Dann fehlt noch das Layout. Dazu: Hast Du genügend Stützkondensatoren verbaut? Sind sie nahe genug am µC und am Taktgenerator? Ist das GND-Netzwerk solide genug? Wie ist die Versorgung? Gruß Dietrich
Dietrich L. schrieb: > Wo sind die Widerstände für die LEDs? Wie groß ist der Maximalstrom Ich habe einen extra Schaltplan für die LEDs gemacht, da ich wegen der Pin-Begrenzung in Target nicht mehr auf den Plan machen konnte. Soll ich den auch mit hochladen? > (beim ATmega16 darf in Summe max. 200mA über Vcc und GND fließen)? Das muss ich mal prüfen. Aber eig. sollte das nicht das Problem sein, da ich das Programm noch nicht aufgespielt habe und somit noch kein Strom an den "Ausgabepins" liegt. Kann ich da einfach den Stromfluss zwischen Spannungsquelle - µC messen? > Dann fehlt noch das Layout. Was ist ein Layout?
M. B. schrieb: > Was ist ein Layout? Wie ist das ganze real aufgebaut? Leiterplatte, Steckbrett, "Freiluftverdrahtung", ...? Und wie sieht das aus? Ein wilder / unsachgemäßer Aufbau kann dazu führen, dass das Ganze nicht oder nicht richtig funktioniert. Gruß Dietrich
Ich habe die ganze Schaltung auf einer Punktrasterplatine aufgelötet.
M. B. schrieb: > Ich habe die ganze Schaltung auf einer Punktrasterplatine aufgelötet. Du bist aber zäh mit den Informationen :-( Dann mach mal Bilder! Eins von jeder Seite. Mit der Info "auf einer Punktrasterplatine aufgelötet" kann doch keiner beurteilen, ob das ordentlich gemacht ist. Ordentlich heißt: - möglichst kurze Masseverbindungen mit genügend Querschnitt - genügend Stützkondensatoren sehr nahe an den Bauteilen (aber danach habe ich ja schon mal gefragt ...) Gruß Dietrich PS: Welche Messmöglichkeiten hast Du denn? Ein Oszi wäre nicht schlecht, da könnte man den Takt und verschiedene Signale beim Programmieren mal anschauen. Wenn nicht: sag mal Deine Postleitzahl; vielleicht lässt sich da was machen ...
ich habe die schaltung gerade nicht da. heute abend werde ich fotos machen. zum messen habe ich ein multimeter.
Du hast den ISP Anschluss parallel zu den LED's geschaltet. Je nach Leitungslänge und Vorwiderstand überforderst Du damit eventuell den Programmer. Weiterhin brauchen manche Programmer eine Stromversorgung vom Target, du hast diesen Pin jedoch nicht beschaltet.
Du benutzt Ponyprog hoffentlich nicht über einen USB zu seriell oder USB zu parallel Adapter? Wenn doch, dann kann das die Problemursache sein. Bit-Banging mit USB Adapter funktioniert nämlich nur mit Glück.
So. Hier die Fotos der Schaltung von vorne und hinten. Stefan schrieb: > überforderst Du damit eventuell den > Programmer. Ich werde morgen die LEDs mal ablöten und schauen ob es dann funktioniert. Stefan schrieb: > Weiterhin brauchen manche Programmer eine Stromversorgung vom Target, du > hast diesen Pin jedoch nicht beschaltet. Welcher Pin ist der Target-Pin? Bei der anderen Schaltung habe ich den µC genauso angesteuert. Ich hatte jedoch an den Programmierpins nichts anderes (wie hier die LEDs).
Ich habe jetzt die LEDs, die an den Programmierpins hängen, abgelötet. Das Lesen vom µC funktioniert wieder. Beim schreiben bleibt er immer bei 75% stehen. Manchmal läuft er auch durch und nach dem Prüfen kommt "write failed". Wenn ich die Fuses lese ist bei keinem ein Haken gesetzt. Zum Testen habe ich bei JTAGEN den Haken wieder rein gemacht und geschrieben. Das ging ohne Fehler. Danach habe ich wieder gelesen und der Haken war nicht mehr gesetzt. Stefan schrieb: > Du benutzt Ponyprog hoffentlich nicht über einen USB zu seriell oder USB > zu parallel Adapter? Nein ich nutze keinen USB-Seriell Adapter. Ich programmiere direkt über den seriellen Port.
Hast du diesen Tip gelesen? Timmo H. schrieb: > Häufiger Fehler > http://www.mikrocontroller.net/articles/AVR_Fuses#... Ich zitiere nochmal daraus: "Weiter ist zu beachten, dass bei PonyProg ein gesetztes Häkchen einer 0 im Datenblatt entspricht!"
Icke ®. schrieb: > Hast du diesen Tip gelesen? > > Timmo H. schrieb: >> Häufiger Fehler >> http://www.mikrocontroller.net/articles/AVR_Fuses#... > > Ich zitiere nochmal daraus: > > "Weiter ist zu beachten, dass bei PonyProg ein gesetztes Häkchen einer 0 > im Datenblatt entspricht!" Ja. Aber egal wie ich es einstelle, wird es nicht gespeichert.
Stephan S. schrieb im Beitrag #3367472: > M. B. schrieb: >> Ich programmiere direkt über >> den seriellen Port. > > ??? Ich habe keinen Adapter. Einfach Kabel von Seriell zu dem Programmierboard.
Kann ich mir nicht ganz vorstellen. Hatte früher auch PonyProg seriell genutzt, allerdings mit Adapter.
Ich habe gerade geprüft ob die Verbindung zw. Programmierboard und dem µC da ist. Dabei habe ich festgestellt, dass auf meinem Programmierboard zwischen Pin6 und Pin8 durchgang (18Ω) ist. Das ist nur wenn ich die serielle Schnittstelle angeschlossen habe. Ist das normal?
:
Bearbeitet durch User
Das mit dem Programmer ist mir nicht klar, nimmst du das Pollin-Board dazu? Auf dem Bild ist es nicht zu sehen ob der Mega16 gesockelt ist, wenn ja, warum steckst du ihn nicht ins Pollin-Board zum Programmieren.
Hubert G. schrieb: > nimmst du das Pollin-Board dazu? Ja. > Auf dem Bild ist es nicht zu sehen ob der Mega16 gesockelt ist, wenn ja, > warum steckst du ihn nicht ins Pollin-Board zum Programmieren. Ich stecke ihn nicht auf das Pollinboard, da ja ein externer Taktgeber eingestellt ist.
Du wirst ja noch andere Kontroller haben, funktioniert das Programmieren im Pollin-Board? Sicher kein Fehler beim Umsetzen von 10 auf 6polig? Hast du keine Oszillator mehr? Ansonst geht das im Pollin-Board auch. Ohne weitere Meßmöglichkeit ist die Fehlersuche nun mal auf das Überprüfen der Spannungen begrenzt. Das wirst du ja gemacht haben, auch den Reset.
Hubert G. schrieb: > Du wirst ja noch andere Kontroller haben Ich habe noch einen. Bei dem taucht das gleiche Problem auf (auf dem hatte ich die Fuses früher mal gesetzt (warum auch immer...)) > funktioniert das Programmieren im Pollin-Board? Wenn ich es direkt auf dem Pollin-Board versuche kommt gleich (bevor er versucht zu schreiben) der Fehler "Device missing or unknown device (-24)". > Sicher kein Fehler beim Umsetzen von 10 auf 6polig? Wie kann ich das prüfen? > Hast du keine Oszillator mehr? Nein, leider nicht. > Ohne weitere Meßmöglichkeit ist die Fehlersuche nun mal auf das > Überprüfen der Spannungen begrenzt. Das wirst du ja gemacht haben, auch > den Reset. Welche Spannungen muss ich wo messen?
M. B. schrieb: >> Sicher kein Fehler beim Umsetzen von 10 auf 6polig? > Wie kann ich das prüfen? Die Verbindungen einzeln messen und auch prüfen ob sie nicht Verbindung zu GND, VCC oder anderen benachbarten Pin haben. M. B. schrieb: > Welche Spannungen muss ich wo messen? Auf VCC, AVCC und Reset sollten etwa 5V sein.
Hubert G. schrieb: > Die Verbindungen einzeln messen und auch prüfen ob sie nicht Verbindung > zu GND, VCC oder anderen benachbarten Pin haben. Verbindungen zu benachbarten Pins, GND und VCC haben sie nicht. Muss ich die Spannung an den einzelnen Pins beim Programmieren messen? > Auf VCC, AVCC und Reset sollten etwa 5V sein. Das ist ok.
Wenn du das Programmieren startest, sollte Reset gegen 0V gehen.
Hubert G. schrieb: > Wenn du das Programmieren startest, sollte Reset gegen 0V gehen. Muss ich noch mehr messen?
Mir fällt nichts mehr zu deinem Problem ein. Aus der Ferne ist da weiter schwer was zu machen. Das Beste wäre es wenn du das ganze noch mal neu aufbaust und zwar Schritt für Schritt.
Ist es sehr wahrscheinlich, dass der Fehler einfach darin liegt, dass der Mikrocontroller kaputt ist?
Ausgeschlossen ist es nicht. Nur eher ziemlich unwahrscheinlich. Die Dinger halten eine Menge aus.
Wenn ich mit PonyProg den µC leer mache (alles mit FF überschreiben), ist das nicht komplett so. Also teilweise steht nach dem Lesen etwas anderes als FF. Gibt das noch einen Hinweis auf den Fehler?
Hi
>Gibt das noch einen Hinweis auf den Fehler?
Nein. Eine einmal mit einer Null beschriebene Speicherzelle kannst du
nicht wieder mit einer Eins beschreiben. Das geht nur durch Löschen. des
Flashs.
MfG Spess
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.