Mega32 - 44 Pins
Druckbare Version
Mega32 - 44 Pins
Mit einem neuen Controller funktioniert es jetzt - besser gesagt, hat es funktioniert :(
Der Controller wurde erkannt, beim ersten mal programmieren kam aber eine Meldung, dass es einen Fehler beim Schreiben der Fuse-Bits gegeben hat. Jetzt wird er nicht mehr erkannt.
Was nun?
Ich vermute mal, daß durch den Fehlversuch die Fuses *irgendwie* gesetzt sind. Mit deim Controller kommst du wohl nicht weiter, weil du nicht mehr ran kommst.
Oben hast du was von Kurzschluss geschrieben. Womöglich sind andere Komponenten auf deiner Schaltung in Mitleidenschaft gezogen, PC-Port nicht mehr 100% in Ordnung oder das Netzgerät liefert keine saubere Spannung / ist defekt, oder ein Erdungsproblem bei Laptop.
Oder du hast noch ne Zinnbrücke/schlechte Lötstelle übersehen.
Ferndiagnose ist da schwer, vor allem ohne Schaltplan.
Hi,
könnte es sein dass du bei den Fuses nur die CKSel Häckchen entfernt hast? Dann wäre der Fall klar... (spreche aus aktueller Erfahrung, nech SprinterSB :D )
Gruß, Björn
Ja, die Häkchen sind entfernt. Allerdings nicht wegen mir, sondern weil das in meinem Programmer stadardmäßig so eingestellt ist.
Eigentlich dürfte das aber doch nichts machen, weil ich einen externen Quarz in der Schaltung habe. Es könnte allerdings sein, dass vielleicht einer der Kondesatoren kaputt ist. Muss ich gleich mal austauschen und ausprobieren.
@SprinterSB:
Kurzschluss, Zinnbrücken und schlechte Lötstellen kann ich ausschließen. Ich habe die komplette Platine neu gelötet und danach jede einzelne Leiterbahn, jede Lötstelle und jeden Pin an allen Bauteilen mit dem Multimeter überprüft, bevor ich die Spannung angelegt habe.
Der Programmer ist auch in Ordnung, der funktioniert noch. Und mit dem Netzgerät hatte ich auch noch nie Probleme.
Siehe hier:
https://www.roboternetz.de/phpBB2/ze...hlight=#104459
Gruß, Björn
Ein Progger sollte von selber NIE die Fuses/Locks verstellen, sondern nur, wenn du es ihm sagst. Alle Clock-Fuses auf Null bedeutet *nicht*, daß er mit Quarz läuft. Hab ich gestern glaub was an Björn geschrieben.Zitat:
Zitat von Amri
Wenn du ein Multimeter auf Widerstandsmessung einstellst, dann gibt es eine Spannung auf die Bauteile und guckt, ob ein Strom fliesst. Wenn du sogar Dioden damit auf Durchgang testen kannst, reicht die Spannung sogar aus, ne LED zum leuchten zu bringen. Mit dieser Spannung zB zwei benachbarte Pins einem Chips auf Kurzschluss auszuwünscheln, ist nicht unbedingt eine gute Idee.Zitat:
Zitat von Amri
Das ist ein weiterer Grund ICs zu sockeln...
Zu den Fuse bits:
Mit dem Programmer hab ich die Programmierungssoftware gemeint, da ist standardmäßig 0000 für CKSEL eingestellt. Soweit ich weiß hatte ich diese Einstellungen aber immer so gelassen, und es hat immer funktioniert.
Das heißt jetzt also, dass ich auf 1111 (External Crystal/Ceramic Resonator) umstellen muss und dann an XTAL1 einen Takt erzeugen muss, also abwechselnds 0V,5V,...? Das kann ich ja mit einem anderen Controller machen.
Wenn du ICs sockelst, kannst du mir dann sagen wo du 44-Pin-SMD-Sockel herbekommst? Ich würde ja gerne sockeln, finde aber keine Sockel...
Ich habe jetzt an XTAL2 erst einmal von Hand einen Takt erzeugt und siehe da: Mein Programm, das ich beim ersten Programmierversuch draufgespielt hatte, ist "gelaufen" (d.h. zwei LEDs haben geleuchtet, mehr war in dem Programm auch nicht drin). Dann habe ich XTAL2 mit einem Pin von einem anderen Controller verbunden und an diesem Pin immer zwischen 0V und 5V gewechselt. Die Configuration Bits wurden somit neu programmiert, bei den Security Bits gab's dann einen Fehler, wahrscheinlich weil er dann ja auf Quarz umgestellt hat. Danach habeich den Quarz und die Kondensatoren wieder eingebaut. Der Controller wird aber weiterhin nicht erkannt...
ZU den Fuses:
Falls die wirklich auf extern stehen, dann
- liest du dir genau durch, wie die Fuses stehen und wie sie sein sollen
- du nachst dich schlau, was dein Progger unter 0, 1, programmed, not programmed, Häkchen oder nicht-Häkchen, etc versteht
- legst du einen externen Takt an
- brennst die Fuses wie sie sein sollen (zB Quarz)
- betreibst die Schaltung mit Quarz
Durch Umstellen der Fuses ändern sich die Eigenschaften von XTAL1 und XTAL2. Nach dem auf das Fuse-Setzen folgenden RESET kann es also sein, daß dein externen Taktgenerator und der XTAL1 des AVRs sich in die Quere kommen. Um Schäden zu vermeiden daher mein Vorschlag von oben, nen Widerstand zwischen Extern und XTAL1 zu verwenden. Für Quarz brauchst du den natürlich nicht.
Wenn du einen 2ten laufenden AVR, kannst du auch von dessen Takt was abzweigen. Da müsst ich jetzt ins Manual gucken wie das geht, aber das hast du bestimmt vor dir liegen ;-)
Mit SMT kann ich dir nicht weiter helfen. Ich arbeite mit DIL.
Evtl PLCC 44 oder SMD PLCC 44 vom Reichelt?
Georg-Johann
-