Hallo! Ich bastel z.Z. an meinem Hexabot und bin mittlerweile bei der Programmierung angekommen. Die Steuerung besteht aus einem Atmgea644 und 3 Atmega48 um schnell Änderungen vornehmen zukönnen habe ich eine ISP Schnittstelle vorgesehen mit der jeder Microcontroller einzeln verbunden werden kann. (siehe Schaltung unten) Der Atmega644 lässt sich recht problemlos bespielen, manchmal braucht es zwei Anläufe, allerdings habe ich jetzt schon den dritten Atmega48 auser Gefecht gesetzt. Zu Anfang hat der Atemga48 in der Schaltung funktioniert aber nachdem ich ihn das erste Mal mit dem selbst gebauten ISP programmiert habe ging gar nichts mehr. Ich erhielt mit AVRDude den Fehler avrdude: verification error, first mismatch at byte 0x0000 danach noch avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 Eigentlich nur ein Zeichen das es nicht geklappt, aber seitdem gibt der Atmega48 Nichts mehr von sich. Das Ganze ist mir dreimal hinter einander passiert.... Auch mit meinem anderen Programmer kann ich nicht mehr zugreifen. Könnte der Controller wirklich defekt sein? Meine Vermutung wäre das die Fuses zerstört wurden ist das möglich? Also Reset disabled o.ä. Hoffe das mir Jemand weiter helfen kann das Problem einzugrenzen oder hatte ja schon Jemand das gleiche Problem. Vielen Dank! Oliver
eigendlich ist alles möglich... Muss nicht der der µC und der Programmer ein gemeinsamen GND haben? Was hast du den für ein Programmer?
Gnd haben natürlich alle den gleichen gibt nur eine Spannungsversorgung. Der Programmer ist eigentlich nur diese Schaltung http://www.olimex.com/dev/images/avr-pg1b-sch.gif die am seriellen Anschluss vom PC hängt. Mein anderes Board ist Atmel Evaluattions-Board von Pollin.
Hallo, ich verstehe die Schaltung nicht: was kommt an die Sub-D Buchse in Deiner Schaltung dran? Gruß aus Berlin Michael
Hallo, gut, frage ich eben anders: ich sehe in seiner Schaltung einen MAX232, der mit der Sub-D Buchse verbunden ist. Außerdem hängt dort ein 4053 dran. Der MAX läßt mich also eine Verbindung mit einer RS232 vermuten (Pegel +-12V). Was mag ein 4053 mit 5V Betriebsspannung wohl von +-12V an seinen Eingängen halten? Ich denke mal wenig... Deshalb meine Frage, was an der Sub-D-Buchse hängt, mir ist egal, ob das ein Bierkasten oder eine Wasseruhr ist, die Signale und die Pegel sind interessant. Gruß aus Berlin Michael
hexapod schrieb: > Oliver S. schrieb: >> Hexabot > hexapod Ein Hexabot ist ein sechsbeiniger Roboter, das hat mit einem Hexapod nichts zu tun. Hier ein Beispiel: http://www.frank-popp.de/HEXABOT/hexabot.html Und schon wieder was gelernt... ;-)
Oliver S. schrieb:
> Der Programmer ist eigentlich nur diese Schaltung
Nein, denn das Schlüsselbauteil ist wie schon angemerkt der MUX, der
weit ausserhalb seiner Specs betrieben wird. Spiel mal selber Mux und
verbinde da ohne IC4 den Pin 4 mit 3, 15 mit 1 sowie 14 mit 13....
Warum nimmst Du nicht anstatt dieser komischen Schaltung nen Bootloader? Die UART ist doch schon rausgeführt. Dann ist kein Verfusen möglich, da der Bootloader nur den Flash schreiben kann. Peter
Erstmal vielen Dank für die Antworten. Ja es ist ein sechsbeiniger Roboter http://zwen.ath.cx/PICT0421.jpg (noch ohne Elektronik) Ich gebe zu die Schaltung ist sehr unglücklich. Also an der Sub-D Buchse hängt der serielle Port des Computers, also ja +-12V. Zur Zeit schaltet der Mux nur die Leitung 3 des RS232, alle anderen Leitungen sind direkt verbunden mit der ISP-Schaltung und dem Max232, dass das auch geht ist mir erst danach aufgefallen , ich könnte also auch auf den Mux verzichten oder ihn durch Jumper o.ä. ersetzen. UART senden funktioniert auf jeden Fall und auch das programmieren des Atmega644. Ganz ist noch jetzt nicht geklärt was mit den Atmega48 passiert ist, so wie es aussieht ist er durch die fehlerhafte Schaltung beschädigt wurden? Oliver
Oliver S. schrieb: > Ich gebe zu die Schaltung ist sehr unglücklich. Also an der Sub-D Buchse > hängt der serielle Port des Computers, also ja +-12V. > Zur Zeit schaltet der Mux nur die Leitung 3 des RS232, Der Mux macht irgendwas, da du dich weit ausserhalb seiner Maximum Ratings befindest. Vielleicht macht er sogar manchmal sowas ähnliches wie das, was du von ihm erwartest, +/-12V werden aber auf keinen Fall hinten rauskommen. Damit passt dann auch die ganze Schaltung dahinter nicht mehr. > alle anderen > Leitungen sind direkt verbunden mit der ISP-Schaltung und dem Max232, > dass das auch geht ist mir erst danach aufgefallen , ich könnte also > auch auf den Mux verzichten oder ihn durch Jumper o.ä. ersetzen. Ist eine Möglichkeit. Mit dem 4053 wird das auf keinen Fall etwas. Aber warum machst du nicht einfach eine ISP-Buchse auf die Platine(n) und benutzt einen ordentlichen Programmer? Dieser Bitbanging-Murks macht, wie man unschwer an den hier im Forum auftauchenden Fragen dazu erkennen kann, mehr Probleme als alles andere. > UART senden funktioniert auf jeden Fall und auch das programmieren des > Atmega644. Vermutlich funktioniert es beim 64er zufällig, weil er physikalisch ein bisschen dichter an deiner ISP-Murksschaltung dransitzt. Morgen ist vielleicht die Temperatur ein bisschen anders und es geht nicht mehr. > Ganz ist noch jetzt nicht geklärt was mit den Atmega48 passiert ist, so > wie es aussieht ist er durch die fehlerhafte Schaltung beschädigt > wurden? Oder er wurde mit völligem Müll programmiert, weil irgendwas an seinem ISP-Port ankam, was nicht unbedingt dem entsprechen muss, was du dorthin gesendet hast. Insbesondere kannst du dabei auch die Fuses so zersemmelt haben, dass du jetzt nicht mehr via ISP drankommst. Andreas
nur mal so als kleiner hinweis an den oliver: es ist korrekt das die megas alle zeichen korrekt über den uart an den pc senden, da dort der signalpegel mit dem max232 von 0..5V auf +/-12V geändert wird, wenn du aber deine megas aber über ein nullmodem kabel programmieren willst, solltest du deine programmierschaltung dringend überdenken, da dein 4053N mit dem Spannungspegel von +/-12V nicht klarkommt und dadurch warscheinlich auch noch kaput geht. greets psy
Andreas Ferber schrieb: > Der Mux macht irgendwas, da du dich weit ausserhalb seiner Maximum > Ratings befindest. Vielleicht macht er sogar manchmal sowas ähnliches > wie das, was du von ihm erwartest, +/-12V werden aber auf keinen Fall > hinten rauskommen. Damit passt dann auch die ganze Schaltung dahinter > nicht mehr. Wie gesagt durch den Mux läuft nur noch die Leitung zum Transistor der den Reset schaltet, also eigentlich keine Daten. Es handelt sich um einen CD75HCT4053 also ein analoger Multiplexer ich dachte der kommt mit den Spannungen klar. > Insbesondere kannst du dabei auch die Fuses so zersemmelt > haben, dass du jetzt nicht mehr via ISP drankommst. Das glaub ich auch.Es ist vermutlich auch nachteilhaft das er IC mit einem 20Mhz Quarz läuft oder spielt das keine Rolle? > Aber warum machst du nicht einfach eine ISP-Buchse auf die Platine(n) > und benutzt einen ordentlichen Programmer? Dieser Bitbanging-Murks > macht, wie man unschwer an den hier im Forum auftauchenden Fragen dazu > erkennen kann, mehr Probleme als alles andere. Wie gesagt mein "richtiger" Programmer ist auch nur ein Bitbanger. Ich arbeite schon über ein Jahr damit und hatte bisher keine Probleme damit. Oliver
>Es handelt sich um >einen CD75HCT4053 also ein analoger Multiplexer ich dachte der kommt mit >den Spannungen klar. HCT laufen nur mit 5V. Deine ganze Schaltung ist von Ars...
Oliver S. schrieb: > Wie gesagt durch den Mux läuft nur noch die Leitung zum Transistor der > den Reset schaltet, also eigentlich keine Daten. Auch beim Reset dürften irgendwelche Glitches in unopportunen Momenten zu "interessanten" Ergebnissen beim Programmieren führen. > Es handelt sich um > einen CD75HCT4053 also ein analoger Multiplexer ich dachte der kommt mit > den Spannungen klar. Dann schau (in Zukunft am besten vorher) mal ins Datenblatt. Die Signale dürfen sich nur zwischen VCC und GND bewegen. RS232-Pegel sind da weit ausserhalb. > Das glaub ich auch.Es ist vermutlich auch nachteilhaft das er IC mit > einem 20Mhz Quarz läuft oder spielt das keine Rolle? Du kannst noch versuchen, ob du die Controller mit einem externen Clock-Signal (zur Not einen anderen Controller mit einem Pin wackeln lassen) an XTAL1 (Quarz natürlich abklemmen) neu programmieren kannst. Wenn allerdings auch die SPIEN-Fuse "abgeschossen" wurde, geht im Zweifelsfall nur noch HV-Programming. Andreas
So ich habe die Schaltung wie unten abgebildet geändert. Es funktioniert jetzt besser aber immer noch nicht gut, liegt also vermutlich tatsächlich an der bescheidenen Bit-Bang Schaltung. Zudem hab ich die Atmega48 durch Atmega8 mit 16Mhz ersetzt. Die Atmega48 sind scheinbar nicht mehr zuretten auch ein externes Clock-Signal brachte keinen Erfolg. Zum programmieren stecke ich die IC's jetzt doch lieber wieder um, ist zwar nervig, aber mir gehen langsam die Atmegas aus. Egal jetzt bin ich ganz zufrieden damit, das erste Bein zappelt schon. Vielen Dank für posten!
Oliver S. schrieb: > Zum programmieren stecke ich die IC's jetzt doch lieber wieder um, ist > zwar nervig, aber mir gehen langsam die Atmegas aus. Nagut, wenn Du es unbedingt umständlich willst, dann nimm eben keinen Bootloader. Peter
Peter Dannegger schrieb: > Nagut, wenn Du es unbedingt umständlich willst, dann nimm eben keinen > Bootloader. Ich hab leider noch nie mit einem Bootloader gearbeitet aber bei Gelgenheit werde ich mich mal damit auseinander setzen.
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.