Hab mir einen NIBO Burger gekauft (http://www.nicai-systems.com/de/nibo-burger , Schaltplan gibt es unter dem Menüpunkt "Bauen") kämpf jetzt schon einige Zeit damit herum, aber ich schaffs nicht den ATmega1284p im Burger zu programmieren. Da es mit dem eingebauten Programmer (usbasp mit einem ATtiny44A) nicht funktioniert hat, habe ich meinen stk500 Klon an die externe (Arduino) Schnittstelle angeschlossen, weil dort die Programmier Pins zugänglich waren. Hab auch alle Signale mit dem Oszi überprüft (auf der Programmer Seite und direkt an den Pins des ATmega), und die Signale scheinen sinnvoll zu sein. Der ATmega ist aber nicht kaputt, weil in einer externen Schaltung kann ich ihn programmieren. avrdude Befehl: sudo avrdude -c stk500v2 -p atmega1284p -P /dev/ttyUSB0 -B 50 -e -B 10 -v Fehlermeldung: avrdude: stk500v2_command(): command failed avrdude: initialization failed, rc=-1 Double check connections and try again, or use -F to override this check.
Hat keiner eine Ahnung was ich übersehen haben könnte?
Moin, In der Beschreibung steht, dass der Hauptprozessor ein ATmega16 ist. Hast Du den ausgetauscht? Hast Du evtl. ein Problem mit der Prozessoridentifikation?
Hatte vergessen zu erwähnen, dass ich auf den ATmega1248p upgegraded habe. Der ist auch Pinkompatibel mit dem ATmega16. Siehe hier: http://www.nicai-systems.com/de/robotik/nibobee/tuning-kit Hab den ATmega1284p nicht aus dem Tuning-Kit sonder extra gekauft, die Fuses sollten auch passen (External Clock mit max Startup Time) Werde heute Abend noch überprüfen ob vielleicht mit dem Clock Signal (XTAL1) was nicht passt, weil soweit ich mich errinern kann hatte das Signal nur eine VPP von ca 600mV
Hallo, ich habe mal einen Blick in den Schaltplan geworfen. Was mir zuerst aufgefallen ist, dass am Reset Pin kein 10K Widerstand gegen VCC zu finden ist. Mein erster Gedanke war, das Teil kann man so nicht direkt programmieren. Die Programmierung erfolgt über das USB Interface. Ergo, Du musst extern die Standardsoftware brennen und kannst anschließend über die USB Schnittstelle Deine Programme aufspielen. Gruß Frank
Hallo, noch vergessen, die ISP Schnittstelle ist mit dem ATTINY44 verbunden. Da geht sowieso nix. Wenn Du den Kontroller in der Schaltung programmieren willst, musst Du den ATTINY44 entfernen und einen Widerstand von 10K gegen VCC einbauen. Alles in allem mehr Aufwand, als die Standardsoftware einmal extern aufzuspielen und den Rest über die USB Schnittstelle zu erledigen. Hast Du auch die anderen Teile wie im Kit beschrieben gewechselt? Gruß Frank
Die anderen Teile habe ich nicht gewechselt, weil der 20MHz Quarz im Burger sowieso nicht funktioniert, und ein besser ATtiny würde mir nichts bringen, ist ja sowieso nur ein ISP Adapter. Und Zitat von der Seite mit dem Tuning Kit: "Hinweise zum NIBO Burger: Aus dem Tuning-Kit wird nur der ATmega1284 benötigt und gegen den ATmega16A ausgetauscht!" Wegen dem Reset: ich vermute das der Reset über einen interne Pullup des ATtinys auf VCC gezogen wird. Und ISP sollte schon gehen, weil die ISP Pins ja über 100Ohm Widerstände mit dem ATtiny verbunden sind. Das mit dem ATtiny rausnehmen ist nicht so einfach, weil dann der ATmega sonst kein Clock Signal hat. Werde aber heute Abend den Trotdem mal rausnehmen und eine externes Clock Signal "reinpfuschen". Auch mit dem originalen (bereits programmierten ATmega16) funktioniert das programmieren auf beide Arten nicht.
Hallo, dann würde ich sagen, Du fängst vorne an! 1. Ist alles korrekt bestückt (ich gehe davon aus, dass Du das Teil selbst gelötet hast)? 2. Keine kalten Lötstellen? 3. Wird die USB Schnittstelle erkannt? 4. Wenn die USB Schnittstelle erkannt wird und Du programmierst über die USB Schnittstelle, kommen am ISP Interface des ATMEGA Signale an? 5. Kommt das generierte Clock Signal an usw. Wenn die Fuses des ATMEGA nicht auf extern stehen, benötigt der ATMEGA kein Clock Signal um ein Programm aufzuspielen. Gruß Frank
Hallo, noch vergessen, wenn das ein neuer nicht programmierter ATMEGA ist, kann der mit dem externen Clock Signal eh nichts anfangen, da die Fuses nicht gesetzt sind. Du wirst also nicht darum kommen, das Teil einmal extern zu programmieren um zu mindestens die Fuses korrekt zu setzen. Aber Achtung einmal auf externen Takt umgestellt, musst Du immer einen externen Takt haben um das Teil zu programmieren. Gruß Frank
Frank L. schrieb: > Hallo, > > dann würde ich sagen, Du fängst vorne an! > > 1. Ist alles korrekt bestückt (ich gehe davon aus, dass Du das Teil > selbst gelötet hast)? Ja, zumindest ist mir in ca 3~ mal überprüfen nichts aufgefallen > 2. Keine kalten Lötstellen? Hab alle Lötstellen die mit ISP in Verbindungen stehen nachgelötet und mit dem Durchgangsmesser überprüft > 3. Wird die USB Schnittstelle erkannt? Ja > 4. Wenn die USB Schnittstelle erkannt wird und Du programmierst über die > USB Schnittstelle, kommen am ISP Interface des ATMEGA Signale an? Ja > 5. Kommt das generierte Clock Signal an Ja, hat aber nur eine sehr kleine VPP von 600mv, finde im ATmega1284p Datenblatt aber nicht die Thresholdspannungen für eine externe Clock. > > usw. > > Wenn die Fuses des ATMEGA nicht auf extern stehen, benötigt der ATMEGA > kein Clock Signal um ein Programm aufzuspielen. Hatte ich bereits in einer externen Schaltung mit einem Clock Generator geflashed > > Gruß > Frank Habs jetzt auch geschafft den ATmega in der Schaltung zu Programmieren, mit folgender Modifikation: 1. ATtiny rausgenommen 2. Externes Clock Signal an XTAL1 angeschlossen (ca 500kHz) 3. 1k Widerstand von Reset nach VCC angeschlossen (10k waren zu viel wegen der Programmier LED) sobald ich alles auf original zurückbaue gehts nicht mehr (das MISO Signal sieht auch anders aus) Ich vermute mal das die Amplitude des Clock Signals einfach zu klein ist. werde mir am Besten so einen Oszillator Baustein dazu bauen und den direkt am ATmega anschließen, oder ich muss mit der internen CLock auskommen Vielen Dank für deine Hilfe. LG Funkenkitzler
Funkenkitzler schrieb: > sehr kleine VPP von 600mv Das ist wenig. Das Signal kommt vom Tiny über einen Kondensator. Der hat laut Schaltbild 10nF. Den solltest du kontrollieren, ob der Wert stimmt und ob irgendwo ein Kurzschluss ist.
Georg G. schrieb: > Funkenkitzler schrieb: > sehr kleine VPP von 600mv > > Das ist wenig. Das Signal kommt vom Tiny über einen Kondensator. Der hat > laut Schaltbild 10nF. Den solltest du kontrollieren, ob der Wert stimmt > und ob irgendwo ein Kurzschluss ist Der Kondensator ist glaub ich nicht dran schuld, hab auch direkt am xtal2 des ATtinys nur so ein schwaches Signal
Dein Burger funktioniert, wenn der 1284 extern programmiert wurde. Also ist die Taktversorgung hinreichend. Womit hast du die Amplitude des XTAL2 am Tiny gemessen? Wenn also der Takt vom Prinzip her in Ordnung ist, kann es an der Frequenz liegen. Hast du zufällig die clkdiv8 falsch gesetzt? Lass eine LED im Sekundentakt blinken, um sicher zu sein.
Gemessen wurde mit einem Digitaloszi mit einer Bandbreite von 50MHz und einem Tastkopf mit 10x Einstellung. >Wenn also der Takt vom Prinzip her in Ordnung ist, kann es an der Frequenz liegen. Wie meinst du das? Zu schnell sollte er ja nicht sein, ATmega verträgt ja ab 4,5V die maximale Frequenz. Zu langsam zum programmieren ist sie auch nicht, weil die ISP Clock liegt im Moment bei ca 100kHz, sonst würde es ja auch nicht in meiner externen Schaltung funktionieren (da wird eine 500kHz mit einem NE555 generiert) CLKDIV8 sollte nicht gesetzt sein, habe die Fuses mit http://www.engbedded.com/fusecalc/ berechnet und kontrolliert. Ich weis nicht ob der Burger funktioniert wenn der ATmega von extern programmiert wurde, werde das dann heute mal ausprobieren. Somit wäre dann es dann echt leicht zu überprüfen ob das Clock Signal passt, danke für den Tipp.
Funkenkitzler schrieb: > direkt am > xtal2 des ATtinys nur so ein schwaches Signal Dann hast du ein Problem, entweder dein Scope misst falsch oder dein Tiny ist defekt oder ein Schluss auf der Platine. Nimm den Tiny aus der Fassung, biege XTAL2 etwas nach oben und setze ihn wieder in die Fassung, so dass XTAL2 frei in der Luft hängt. Miss die Amplitude an XTAL2. Es sollten gut 4Vss sein (bei 5V Vcc). Sonst hat der Tiny einen Schuss weg. Wenn der Pegel in Ordnung ist, ihn mit XTAL2 auf "normal", aber den 1284 entfernt. Kommt es zu einem Einbruch, hast du ein Problem auf der Platine.
Noch ein Nachtrag: Wenn die USB Schnittstelle erkannt wird, ist der Tiny in Ordnung. Du schreibst "50MHz DSO". Meinst du vielleicht 50Msamples/s DSO? Das wäe etwas anderes. Ist der Tastkopf richtig abgeglichen? Irgendwie passen deine Beobachtungen nicht zueinander. Ich tippe nach wie vor auf falsche Fuses im 1284.
> Nimm den Tiny aus der Fassung, biege XTAL2 etwas nach oben und setze ihn > wieder in die Fassung, so dass XTAL2 frei in der Luft hängt. Miss die > Amplitude an XTAL2. Es sollten gut 4Vss sein (bei 5V Vcc). Sonst hat der > Tiny einen Schuss weg. Wenn ich das mache liegt am XTAL2 eine GLEICH-Spannung von 1V. Georg G. schrieb: > Noch ein Nachtrag: Wenn die USB Schnittstelle erkannt wird, ist > der Tiny > in Ordnung. Ja die Schnittstelle wird ja erkannt. > Du schreibst "50MHz DSO". Meinst du vielleicht 50Msamples/s DSO? Das wäe > etwas anderes. Ist der Tastkopf richtig abgeglichen? Irgendwie passen > deine Beobachtungen nicht zueinander. 50MHz wird denke ich die maximale Frequenz sein, sampling rate liegt bei 1GS/s. Tastkopf wurde am Oszi Testausgang abgeglichen > Ich tippe nach wie vor auf falsche > Fuses im 1284. Habs nochmal ausgelesen: lfuse: 0xE0 hfuse: 0xDF efuse: 0xFF
Funkenkitzler schrieb: > Wenn ich das mache liegt am XTAL2 eine GLEICH-Spannung von 1V. Der Test war ein geistiger Fehlschuss von mir. Ohne XTAL2 schwingt da natürlich nichts. Der Sinn war, festzustellen ob irgendwo ein Schluss ist. Die Fuses sind so in Ordnung. Du siehst mich ratlos. Aus der Entfernung fällt mir nichts ein. Ich kann dir nur anbieten, dass du das Ding her schickst und ich suche den Fehler.
Zu dir senden ist wirklich nicht nötig, werden mir einfach einen Oszillator besorgen, den irgendwie dazu Basteln und fertig ist. Jedoch danke das du mir so viel geholfen hast!
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.