Guten Tag, Ich habe mir mal ein FTDI Breakout angeschafft um meine Prozessoren schneller zu programmieren anstatt immer denn Arduino UNO anzuschließen. Allerdings macht dieser Probleme beim Hochladen eines Programms über Atmel Studio mit Avrdude oder über die Arduino IDE. Ich weiß das es von diesen Chip auch Fälschungen gibt, kann aber nicht genug sagen woher dieser Modul stammt da ich diesen mal Geschenkt bekommen habe. Mein µC habe ich so verkabelt mit dem FTDI: GND -> GND CTS -> Nicht Angeschlossen(Gelesen soll auf GND?) Vcc -> Nicht Angeschlossen, Breadboard wird mit LM7805 versorgt TXen -> Rx am µC RXen -> Tx am µC DTR -> mit 100nF auf Reset Sonst ist mein µC ein ATMega328P mit 16 MHz Externen Quarz an 5V. Es befinden sich 100 nF Abblockkondensatoren an Vcc/GND und Avcc/GND, ARef ist mit 100nF auf AGnd angeschlossen. Ein 10K Pullup Widerstand befindet sich am RESET Pin des Prozessores. Ich habe eine einfache Serielle Ausgabe auf dem µC laufen die alle 5 Sekunden "5000 Sekunden" an den USART gibt. Wenn ich denn FTDI angeschlossen habe wie oben geschrieben und dann HTerm öffne oder denn Arduino Serial Monitor und auf COM7(Ist der FTDI) 9600 Baud dann bekomme ich auch meine Seriellen Nachrichten alle 5 Sekunden. Ich habe mir denn Aktuellsten Treiber von FTDI runter geladen. Unter dem Geräte Manager wird er mir als "USB Serial Port(COM7)" angezeigt. Hersteller ist FTDI unter "Allgemein". Wenn ich aber mein Programm nun ändere und es Hochladen will dann kommt nach kurzer Zeit: "avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00" Und dann das dann 10 mal bis attempt 10 of 10 da steht Ich kenne diesen Fehler nur wenn man beim Arduino UNO die RX und TX Leitungen vertauscht hat bzw. denn RESET Pin nicht mit dem UNO verbunden hat. Wenn man sich dabei denn Chip anschaut blinkt erst die Tx Lampe 3 mal dann 1 mal die Rx Lampe und dann noch mal die Tx Lampe. Unter Arduino sind es diese Upload Einstellungen: Board: Arduino UNO Port : COM7 Programmer: AVRISP mkII Woran liegt das, das ich nicht hochladen kann aber serielle Daten empfangen kann? Mfg Felix
Hallo Felix, bist Du denn sicher, daß auf Deinem AVR ein Arduino-Bootloader installiert ist? Hat Dein AVR auch die an DTR angeschlossene Reset-Logik (sieh https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf)? Ansonsten müßtest Du in dem Moment, in dem Du den Upload startest, den AVR von Hand resetten. Tschüß André
Felix N. schrieb: > Woran liegt das, das ich nicht hochladen kann aber serielle Daten > empfangen kann? vor'm Hochladen Hterm und/oder "Serieller Monitor" beendet?
AVRDUDE kennt ein paar FT232H-basierte Programmer, die sprechen dann aber über ISP und nicht seriell UART. Achtung: Die FT2232 Varianten laufen nur mit den teureren FT2232 und FT4232 Chips. Was Du bei den Upload Einstellungen machen muss, erfährst Du aus der Doku zu Deinem Bootloader, den Du vorher manuell (z.B. mit dem UNO) via ISP in den Chip einprogrammieren musst. Viele Bootloader verwenden das STK500v2 Protokoll, aber YMMV.
André Schenk schrieb: > bist Du denn sicher, daß auf Deinem AVR ein Arduino-Bootloader > installiert ist? Hallo, ja auf diesen Chip findet sich der Arduino Bootloader denn man über die IDE brennen kann. André Schenk schrieb: > Hat Dein AVR auch die an DTR angeschlossene Reset-Logik (sieh > https://www.arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf)? > Ansonsten müßtest Du in dem Moment, in dem Du den Upload startest, den > AVR von Hand resetten. Ähh ne, Habe jetzt eine 1N4007 Diode parallel zum 10K Pullup Widerstand hinzugefügt. Und ein 1K PullDown Widerstand nach dem 100nF Kerko zwischen DTR und Kondensator Jan L. schrieb: > vor'm Hochladen Hterm und/oder "Serieller Monitor" beendet? Ja habe ich sonst kommt dort "Auf COM Port COM7//: kann nicht Zugriffen werden: Zugriff Verweigert!" oder so. Jim M. schrieb: > die sprechen dann > aber über ISP und nicht seriell UART. Hmm sollte schon am besten bei Serielle UART bleiben. Jim M. schrieb: > Achtung: Die FT2232 Varianten > laufen nur mit den teureren FT2232 und FT4232 Chips. Du meinst die Varianten die Avrdude sprechen kann? Mfg
TXen und RXen Sind da um die Leitungstreiber bei RS485 zu aktivieren(Die heißen aber eigentlich auch TXDEN und RXDEN)! Du mußt TXD und RXD benutzen ohne EN! Aber dann solltest du deinen gesendeten String nicht empfangen können!? Also wo hast du nun was angeschlossen(Schaltplan) und welcher Bootloader und welche version und welches Programm und welche version und welchen Treiber für FTDI und welche Version benutzt du nun?
uwe schrieb: > TXen und RXen > Sind da um die Leitungstreiber bei RS485 zu aktivieren(Die heißen aber > eigentlich auch TXDEN und RXDEN)! > > Du mußt TXD und RXD benutzen ohne EN! Ohh, hast ja recht. En für Enable Sorry. uwe schrieb: > Aber dann solltest du deinen gesendeten String nicht empfangen können!? Mein FTDI ist so angeschlossen: FTDI Rx -> µC Tx ||| FTDI Tx -> µC Rx Ich empfange mein String. uwe schrieb: > Also wo hast du nun was angeschlossen(Schaltplan) Ist angehängt als png uwe schrieb: > und welcher Bootloader > und welche version und welches Programm und welche version Pffff, Ich habe denn Chip damals mit dem UNo gebrannt also ein Chip im Uno drin der als ISP arbeitet und dann per SPI ein anderen Angeschlossen und über die IDE gebrannt. Die Datei heißt "ATmegaBOOT_168_atmega328.hex". Programm ist im Moment die Arduino IDE in der Version 1.8.5. Der Bootloader ist da aber schon seit Anfang 2016 drauf! uwe schrieb: > welchen > Treiber für FTDI und welche Version benutzt du nun? Treiber habe ich von hier: http://www.ftdichip.com/Drivers/VCP.htm Dann dann die EXE Setup genommen. Lg
Arduino Badboy schrieb: > Vcc ist mit GND verbunden (Pin 7 und 8)! Jo ja habs geändert auf dem Breadboard ist das natürlich nicht so :)
Felix N. schrieb: > Ähh ne, Habe jetzt eine 1N4007 Diode parallel zum 10K Pullup Widerstand > hinzugefügt. Wozu? Die 1N400x sind IIRC extra lahme Gleichrichterdioden für 50/60Hz Wechselstrom. Hast Du auch mal nach den Fuses geschaut? Ohne korrekte Fuses startet der Bootloader AFAIK gar nicht erst.
Hallo nochmal an alle. Ich habe mittlerweile das Problem gefunden. Es scheint wohl ein Problem an der Reset Leitung zu geben. Wenn ich in der Arduino IDE auf Upload klicke und während das Sketch kompiliert wird denn Mikrocontroller Reset Line mit ein Taster auf GND ziehe und denn Taster loslasse wenn die IDE in "Hochladen" geht wird das Sketch hochgeladen. In Atmel Studio 7 gibt es aber noch Probleme zwar, kann ich das Uploaden starten indem ich denn Reset Taster gedrückt halte und dann loslasse. Er scheibt es auch "Writing ##### 100 % 2.91s" 8,5 Kb" Jedoch kann er es nicht lesen:
1 | avrdude.exe: reading on-chip flash data: |
2 | |
3 | Reading | ############################################### |
4 | avrdude.exe: stk500_paged_load(): (a) protocol error, expect=0x14, resp=0x50 |
5 | #avrdude.exe: stk500_cmd(): programmer is out of sync |
6 | avr_read(): error reading address 0x0000 |
7 | read operation not supported for memory "flash" |
8 | avrdude.exe: failed to read all of flash memory, rc=-2 |
9 | |
10 | avrdude.exe: stk500_cmd(): programmer is out of sync |
11 | avrdude.exe: stk500_cmd(): programmer is out of sync |
12 | avrdude.exe: stk500_cmd(): programmer is out of sync |
13 | avrdude.exe: stk500_cmd(): programmer is out of sync |
14 | avrdude.exe: safemode: Sorry, reading back fuses was unreliable. I have given up and exited programming mode |
15 | avrdude.exe: stk500_disable(): protocol error, expect=0x14, resp=0x1f |
16 | |
17 | avrdude.exe done. Thank you. |
Scheiben tut er das Programm aber auf dem Chip. Der Fehler tritt auch nicht immer auf. Nur manchmal kann das auch an der nicht richtig funktionierend Reset Leitung liegen? Woran liegt das der FTDI den Reset nicht richtig ausführt? Denn Bootloader Reset habe ich ja nach dem Schaltplan des Arduino UNO aufgebaut. Mit 100nF Kondensator, 10K Pullup gegen Vcc am µC, 1K Pulldown auf GND nach dem 100nF auf DTR des FTDI Mfg Felix
Wenn man ISP nutzen will, hat der Kondensator am Reset-Pin nichts verloren.
Hmmm schrieb: > Wenn man ISP nutzen will, hat der Kondensator am Reset-Pin nichts > verloren. Möchte ich aber nicht, ich möchte mein Chip gerne über denn Seriellen UART programmieren. Ich habe mal mit mein Oszi auf die DTR Line geschaut. Wenn der Chip nicht am arbeiten ist also mit Hochladen ist die Leitung auf HIGH. Sobald der Vorgang startet mit dem Hochladen gehe die Leitung auf LOW. Gemessen habe ich das ohne die DTR Leitung am Controller angeschlossen zu haben
So ich habe denn Fehler gefunden! Er Fehler scheint wohl sich im Steckbrett zu befinden. Ich habe mal denn 100nF Keramik Kondensator gegen ein 100nF Folienkondensator getauscht. Da der ein breiteres Pin Verhältnis hat wurde die eine Reihe übersprungen und eine Pin Reihe daneben genutzt. Und sehe da der Upload funktioniert. Dann habe ich denn Kondensator auf die vorherige Pin Leiste reingesteckt und es geht wieder nicht. Scheinbar ist dort kein richtiger Kontakt oder irgendwas anderes. Auf jeden Fall funktioniert der FTDI Chip.
Felix N. schrieb: > So ich habe denn Fehler gefunden! Er Fehler scheint wohl sich im > Steckbrett zu befinden. Brille? Fielmann!
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.