Hi Leutz, ich möchte ein wenig mit den Arduino Sachen rumtesten. Ich möchte aber kein fertiges Board nutzen sondern hab mir mal eine Variante mit dem Mega328 (ohne P!) auf dem Steckbrett aufgebaut. Also 16MHz Quarz und sonstige Grundbeschaltung dran und los gehts. Zum Brennen des Bootloaders hab ich einen USBASP verwendet. Ich verwende die aktuelle arduino-1.04 IDE. Da ich den 328 ohne P verwende habe ich die avrdude.conf abgeändert so dass der Bootloader auf diese CPU gebrannt wurde (Signatur halt angepasst). Beim Brennen kommt auch die Meldung dass der Bootloader erfolgreich gebrannt werden konnte. Also keinerlei Fehlermeldung oder so. Zum Testen wollte ich das Blinkbeispiel aus der IDE aufspielen. Hier komm ich allerdings nicht weiter bzw. da kommt immer eine Fehlermeldung. Ich verwende einen einfachen (Chinesen-)Adapter als USB-Seriell Brücke mit FTDI Chip. Als Fehler kommt immer: avrdude: stk500_getsync(): not in sync: resp=0x00 Beim Drücken des Upload Buttons blinkt die LED am USB-Adapter kurz und danach kommt die Fehlermeldung. Liegts am Adapter oder ist da der Bootloader nicht richtig installiert worden? Markus
Diese Fehlermeldung kommt z.B. wenn Du das falsche Board ausgewählt hast. Wahrscheinlich kommt diese auch wenn sich der Bootloader nicht meldet. Hast Du das USB-Adapter richtig angeschlossen? Wie hast du die Spannungsverorgung realisiert? Schaltplan? Bild von deinem Aufbau? Ob Atmega328 oder Atmega328P spielt eher eine untergeordnete Rolle. Grüsse
Markus M. schrieb: > Diese Fehlermeldung kommt z.B. wenn Du das falsche Board ausgewählt > hast. Wahrscheinlich kommt diese auch wenn sich der Bootloader nicht > meldet. > Ausgewähltes Board: Duemilanove mit ATMega328 > Hast Du das USB-Adapter richtig angeschlossen? Ja, RX vom Adapter an TX PIN3 Controller, TX vom Adapter an RX PIN2 Controller > Wie hast du die Spannungsverorgung realisiert? Kommt von 5 Volt Schaltnetzteil ans Breadboard > Schaltplan? Gibts keinen bzw. Standard Aufbau nach dieser Anleitung: http://arduino.cc/en/Main/Standalone gemacht. > Bild von deinem Aufbau? > > Ob Atmega328 oder Atmega328 spielt eher eine untergeordnete Rolle. > > Grüsse
Ok, ich gehe mal davon aus, dass der Aufbau korrekt ist. Lieber einmal zu viel prüfen. Spannung liegt auch überall an, mit Messgerät überprüft! GND verbunden! Welchen Bootloader hast Du gewählt? Den Bootloader selbst hast Du aber nicht verändert! Wähle mal ein anderes Board mit 328 MC. Tip: Auf dem Original Board befindet sich noch eine LED jeweils an TX und RX. Gut für die Visualisierung der Datenübertragung. Zwei LED hat man immer übrig. Grüsse
Markus M. schrieb: > Ok, ich gehe mal davon aus, dass der Aufbau korrekt ist. Lieber einmal > zu viel prüfen. Spannung liegt auch überall an, mit Messgerät > überprüft! GND verbunden! > Zigmal geprüft, außerdem kann ich den Controller mit dem AVR Studio und dem Dragon problemlos lesen, erasen und Fuses setzen. > Welchen Bootloader hast Du gewählt? Den Bootloader selbst hast Du aber > nicht verändert! > Ich hab halt das Board ausgewählt und bin dann auf Bootloader installieren gegangen. Da kann man manuell keine auswählen. > Wähle mal ein anderes Board mit 328 MC. Hab alle durchprobiert - überall das gleich Ergebnis. > > Tip: > Auf dem Original Board befindet sich noch eine LED jeweils an TX und RX. > Gut für die Visualisierung der Datenübertragung. Zwei LED hat man immer > übrig. TX blinkt dreimal kurz, sonst keine Reaktion. > > Grüsse Gruß - Markus
> Zigmal geprüft Ordentlich geprüft wohl nicht. Die LED hast Du gegen +5V geschaltet anstatt gegen GND. MC19:DP13 -> LED -> R -> GND Hättest Du wohl gemerkt, wenn es richtig läuft. ;-) > , außerdem kann ich den Controller mit dem AVR Studio und > dem Dragon problemlos lesen, erasen und Fuses setzen. Das Brennen des Bootloaders über ISP ist ein anderer Prozess. Da ein eigenständige Protokoll verwendet wird. > TX blinkt dreimal kurz, sonst keine Reaktion. Dann fällt mir nur noch die Takterzeugung ein. Ob Du einen sauberen Takt hast kannst Du eigentlich nur mit einem Oszilloskop prüfen. Der Quarz ist 16 MHz? Weiter weiss ich dann auch keine Rat mehr aus der Entfernung. Sorry. Grüsse
Treiber neu installieren. Was für nen usb/serial adapter hast du ? wenns ft232 ist --> Diemilanove 328 atmega8u2 oder 16u2 --> Uno
Markus M. schrieb: >> Zigmal geprüft > Ordentlich geprüft wohl nicht. Die LED hast Du gegen +5V geschaltet > anstatt gegen GND. > MC19:DP13 -> LED -> R -> GND > Hättest Du wohl gemerkt, wenn es richtig läuft. ;-) Du weißt schon, dass ein I/O auch sinken kann, nicht nur sourcen? http://www.sprut.de/electronic/pic/grund/o1.gif Wo der Widerstand sitzt ist ja bekanntlich egal. Auch wenn es in der Bastlerszene kaum verbreitet ist bietet das sogar enorme Vorteile beim Test. Dann muss man z.B. zum Test der LED nur mit einer GND-Prüfspitze über dem Board rumschrappen und nicht mit einer "heißen" Vcc-Prüfspitze. Dann raucht nix, wenn man ausversehen mal wo dran kommt.
Markus _neu schrieb: > Kommt von 5 Volt Schaltnetzteil ans Breadboard Hast Du auch Stützkondensatoren direkt am µC? Ich sehe keine, aber das Bild ist auch etwas unscharf...
Hab jetzt mal alle eure Tips getestet, leider ohne Erfolg. Hab mir mal nen anderen USB-RS232 Wandler bestellt, vielleicht liegts ja an dem. Sonst fällt mir auch nichts mehr ein. Ich bau meine Testschaltungen immer so auf und kann da auch problemlos z.B. mit AVRStudio arbeiten. Das Bootloader installieren klappt ja auch problemlos mit dem USBasp, nur der Seriellwandler bzw. die Kommunikation darüber streikt. Mal sehen ob der neue Wandler neue Erkenntnisse bringt... Gruß - Markus
Hast du schon eine µC-Schlatung mit serieller Komunikation, die sicher funktioniert? Dann könntest du den Adapter (USB-Seriell) doch damit mal testen ;)
Nein, hab ich leider nicht. Aber was anderes: Ich hab gerade gesehen dass man einen Sketch auch mit Programmer übertragen kann. Ich hab mal das Blinkbeispiel übertragen und siehe da: Die LED blinkt munter vor sich hin. An der Beschaltung kanns schon mal nicht liegen. Die Hinweise auf den USB-Wandler verdichten sich...
Ich hab ja kein Arduino. Aber wenn ich mir den Schaltplan de Duemilanove mal anschau http://www.deryoung.com/arduino/images/circuit_Duemilanove.gif seh ich, dass der RTS der emulierten seriellen Schnittstelle an Reset geht. Kann es sein, dass die IDE den Controller in ein Reset setzen muss? Es gibt doch bestimmt irgendwo Infos wie der Bootloader arbeitet. Ich denke mal umsonst ist die Verbindung nicht da. Viel Erfolg noch Data
Markus _neu schrieb: > Die Hinweise auf den USB-Wandler verdichten sich... Den kannst Du auch mal alleine testen: Rx und Tx brücken und mit einem Terminalprogramm Daten senden. Die müssen dann als Echo wieder zurückkommen. Gruß Dietrich
Hallo, zum USB Uart Bridge, ist tx->rx und rx->tx angeschlossen? die baudrate muss passen, z.b. mit einem 8MHz Quarz sind 19200 möglich. Das Datenblatt gibt dazu Auskunft.
Hallo Markus, ich hatte das gleiche Problem. Mein chinesen-Adapter wurde als STK500V2 angegeben, daher habe ich außer der avrdude.conf noch in programmers.txt folgendes eingetragen: arduinoisp.name=AVR ISP STK500V2 arduinoisp.communication=serial arduinoisp.protocol=stk500v2 arduinoisp.speed=57600 Gruß Rainer
Schade, dass man meinen Kommentar völlig ignoriert. Es scheint so zu sein wie ich sage. Der Bootloader startet halt nach einem Reset. Wenn kein passendes serielles Kommando kommt, springt er ins Programm. Da dort noch nicht auf serielle Kommandos reagiert wird, kann auch nichts passieren. Hier: http://www.freeduino.de/node/2260 wird beschrieben, dass man wohl auch manuell resetten kann. Probiers mal aus. Würde mich echt interessieren, ob das die Lösung ist. Data
datasheet schrieb: > Schade, dass man meinen Kommentar völlig ignoriert. > > Es scheint so zu sein wie ich sage. Der Bootloader startet halt nach > einem Reset. Wenn kein passendes serielles Kommando kommt, springt er > ins Programm. Da dort noch nicht auf serielle Kommandos reagiert wird, > kann auch nichts passieren. > > Hier: http://www.freeduino.de/node/2260 > wird beschrieben, dass man wohl auch manuell resetten kann. Probiers mal > aus. > > Würde mich echt interessieren, ob das die Lösung ist. > > Data Hab dich nicht ignoriert! Du hast mich auf die richtige Spur gebracht, der Reset Anschluss ist auf alle Fälle erforderlich. Vom DTR muss man mit 10nF an den Reset Pin des Controllers. Wenn ich jetzt was rüberschicke dann geht eine richtige Lichtorgel los. Die Fehlermeldung kommt jetzt auch nicht mehr. Allerdings taucht jetzt ein anderes Problem auf: Jetzt meldet die IDE bzw. AVRdude den falschen Controller obwohl ich in der avrdude.conf die Signatur des Controllers eingetragen habe. Womit ich wieder beim ursprünglichen Problem bin: Ich hab einen Mega328-PU und nicht einen Mega328P-PU. Kann es sein, dass die Signatur im Bootloader auch drin steht, oder kann ich die noch woanders reinschreiben? Markus
Wenn ich den hier: http://forum.arduino.cc/index.php?topic=58670.0 richtig verstanden habe, muss man die conf nur ändern, wenn man den bootloader schreiben will. Ich meine mal gelesen zu haben, dass man den FTDI Chip darauf auch dazu bewegen kann als ISP Programmer zu fungieren. Wenn man dann mit dem Bootloader sprechen will, muss man die .conf wieder zurück ändern. Weil (wie du schon vermutet hast, die Sig mit im Bootloader steht). Wie gesagt alles Vermutungen meinerseits. Ich hab kein Arduino und will auch keins. Viel Glück :D
Ok, neuer Zwischenstand bzw. Endergebnis: Problem 1 flashen über den Bootloader: Das Flashen mittels Bootloader funktioniert jetzt. Es fehlte - wie datasheet richtig erkannt hat - die Beschaltung des Reset Signals vom USB-Seriell Wandler. Also DTR mit 10nF an den Reset Eingang und dann klappts auch mit dem Flashen. Problem 2 Fehlermeldung wegen falschem Device: Zum Bootloader flashen mittels externem Programmer (USBasp) muss in der avrdude.conf die Signatur ID an das verwendete Device angepasst werden. In meinem Fall halt 1e9514 für den ATMega328-PU. Nach erfolgreichem flashen des Bootloaders muss aber die ID in der avrdude.conf wieder an das angegebene Device angepasst werden sonst mault der Bootloader dass es nicht passt. Anscheinend wird da die ID nicht mehr aus dem Chip gelesen sondern ist im Bootloader fest verdrahtet. Kann man das irgendwie eleganter lösen - mit Sicherheit. Erstmal tuts das. Danke an alle für die Hilfestellung - vor allem an datasheet. Gruß - Markus
Hi, unsere Antworten haben sich überschnitten - aber interessant welchen Konsens wir daraus ziehen! Danke dir. Gruß - Markus
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.