Arduino Bootloader Fragen/DVD-Lasereinheiten-Plotter

Der chaotische Hauptfaden

Moderatoren: Heaterman, Finger, Sven, TDI, Marsupilami72, duese

Antworten
NilsRoe
Beiträge: 141
Registriert: Mo 12. Aug 2013, 07:57
Wohnort: Hamburg

Arduino Bootloader Fragen/DVD-Lasereinheiten-Plotter

Beitrag von NilsRoe »

Hallo,

Ich bin gerade dabei, eine Art Drucker bzw. Plotter zu frickeln, der mit zwei Lasereinheiten aus DVD-Laufwerken und einem Servo funktioniert. Das Ganze lässt einen Filzstift und einen kleinen Zettel so umherfahren, dass Bilder gezeichnet werden. Die Kiste wird mit einem Arduino gesteuert; der Einfachheit wegen.

So sieht die Kiste aus: http://www.youtube.com/watch?v=MO4cYjVboyQ
Da hat er allerdings noch alte Firmware, und fährt direkt im Programm geschriebene Wege.

Nun läuft der Plotter seit einigen Tagen, und ich schreibe immer mal wieder kleine Verbesserungen in der Firmware. Noch holt er sich die Bilddaten aus dem internen Flash-Speicher, was irgendwann mal durch Zugriff über die serielle Schnittstelle gelöst werden soll. Momentan sind diese Bilddaten ein umgewandeltes BMP; G-Code ist bis jetzt nicht angedacht.

Seit gestern bekomme ich immer wieder den Fehler

Code: Alles auswählen

avrdude: verification error, first mismatch at byte 0x0080
         0xff != 0x00
avrdude: verification error; content mismatch
Was er bedeutet weiß ich. Auch ist der Output nicht ganz das was es sein soll (das Programm geht einen Array durch und senkt den Filzstift ab, sobald eine Null drinsteht, und hebt den Filzstift, sobald etwas anderes als Null kommt). Dann mal meinen "richtigen" ISP-Programmer drangehängt und geschaut was Sache ist:
Bild

Tatsächlich, lauter nullen im Flash, obwohl die da gar nicht hingehören. Das schlägt sich auch im Druckbild nieder (siehe weiter unten). "Na klar, dann ist einfach inzwischen der Flash-speicher tot vom AVR." Neuen eingesetzt, gleiches Fehlerbild. Bootloader neu geflasht, immmer noch das Selbe.

Dann habe ich das Programm mal "direkt", also über ISP geflasht und siehe da:
Bild

Alles in Butter. Nur der Bootloader ist natürlich nicht mehr drauf.

Hier mal ein Bild von den Ausdrucken
Bild

Links mit Arduino-Bootloader geflasht, rechts mit ISP.

Sieht so aus, als ob der Bootloader da irgendwas falsch versteht. Kann das eine bestimmte Ursache haben? Die Bilddaten beginnen mit jeder Menge 0xFF und hören auch wieder damit auf. Das Bild wird mit einem schnell zusammengehackten C-Programm in Hexzahlen umgewandelt, das ist aber nicht das Problem. Bei Bedarf lade ich mal den ganzen Projektordner hoch. Bis jetzt hatte ich mit den Arduinos keine nennenswerten Probleme. Das Projekt dient für mich als Einstieg in den Umgang mit der Software und den Arduino-Befehlen.

Und bitte nicht hauen, wenn dieses Thema zu Off-topic ist!
Nils
Benutzeravatar
flogerass
Beiträge: 1145
Registriert: Mo 12. Aug 2013, 17:46
Wohnort: Nord-Östlich von Ulm

Re: Arduino Bootloader Fragen/DVD-Lasereinheiten-Plotter

Beitrag von flogerass »

Kann es ein, dass irgen ein Teil in der Übertragungskette 0xFF als leeren Speicher interpretiert und deshalb nicht überträgt, und der Bootloader folglich aber auch nicht löscht oder als 0x00 schreibt, weshalb dann eben die 0x00 drin stehen.
NilsRoe
Beiträge: 141
Registriert: Mo 12. Aug 2013, 07:57
Wohnort: Hamburg

Re: Arduino Bootloader Fragen/DVD-Lasereinheiten-Plotter

Beitrag von NilsRoe »

ein paar 0xFF sind ja am Anfang da, und später ja auch (sieht man auf den Screenshots leider nicht, aber auf den Ausdrucken). kann sein dass der Bootloader lange Ketten falsch interpretiert, aber das war ja bis vorgestern nicht dera Fall.
Antworten