Forum: Mikrocontroller und Digitale Elektronik Arduino Sketchupload mit FTDI @ 3,3 V funktioniert nicht


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe hier einen Atmega 1284p auf einem Breadboard auf welchen ich 
Programme mittels Arduino IDE und einem FTDI Adaper aufspiele. Bei 5 V 
funktioniert alles problemlos. Jetzt wollte ich die Schaltung auf 3,3 V 
umbauen und habe den FTDI Adapter auf 3,3 V gejumpert (BOD Spannung ist 
mit 2,7 V gefust). Der Prozessor läuft mit internen 8 MHz. An DTR sitzt 
noch ein 0,1 uF Kerko.

Fehlermeldung:

avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x33

Kann hier jmd Abhilfe schaffen?

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Reines Rx/Tx wird nicht funktionieren, du musst schon per
Reset-Auslösung dem Bootloader sagen dass jetzt Daten kommen.

Rudi schrieb:
> An DTR sitzt noch ein 0,1 uF Kerko.

Das musst du erst mal zeigen wie der verschaltet ist.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Reset wird doch automatisch ausgelöst? Bei 5 V funktioniert es ja. 
Der Kerko sitzt in Serie zwischen DTR und Reset vom Atmel. Viel. einen 
größeren Wert versuchen?

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rudi schrieb:
> Der Prozessor läuft mit internen 8 MHz.

- Kann der Bootloader das?
  Arduino bräuchte 16 Mhz, denke ich, wegen der richtigen
  Baudrate ...

- Ist überhaupt ein Bootloader drauf?

- Reset beschaltet wie beim Arduino Original?

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bootloader ist drauf, es funktioniert ja auch alles sonst paletti. Nur 
eben nicht bei 3,3 V. Der Systemtakt hat doch nichts mit der Spannung zu 
tun, oder? Ich hatte das Problem damals auch schon bei 5 V, jedoch hatte 
der 0,1 uF Kerko das Problem gelöst. Habe soeben mit etwas größeren und 
kleineren Kerkos herum probiert, jedoch auch ohne Erfolg.

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Dannn wirst du nicht umhin kommen deine Schaltung und
den Aufbau zu zeigen.

Abblock-Cs (2 Stück) an Prozessor und (auch 2 Stück) an
Spannungsregler 3.3V? (oder woher kommen sonst die 3.3V?

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Gerade nochmal testweise mit 5 V ohne Kerko probiert. Dort ist dann auch 
dieses Verhalten, dass der Atmel nicht "in sync" ist.

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich wiederhole:

Frickelfritze schrieb:
> Abblock-Cs (2 Stück) an Prozessor und (auch 2 Stück) an
> Spannungsregler 3.3V? (oder woher kommen sonst die 3.3V?

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
3,3 V werden vom FTDI aus den 5 V vom USB gewandelt und aufs Board 
gelegt. Abblockkondi sitzt, leider konstruktionsbedingt, aktuell noch 
etwas weiter weg vom Versorgungspin. Ich bastel ihn mal direkt ran.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hat leider auch nichts bewirkt :(

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Rudi schrieb:
> 3,3 V werden vom FTDI aus den 5 V vom USB gewandelt

Dem FTDI Chip kann man nicht viel Strom abverlangen (habe
gerade keine Daten dafür parat). Müsste auf jeden Fall
mit einem Elko ca. 10uF gepuffert werden.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hmmm, das schaue ich mir heute Abend nochmal an. Ist ne Idee.

von Frickelfritze (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Frickelfritze schrieb:
> Dem FTDI Chip kann man nicht viel Strom abverlangen

Im Zweifelsfall:

- Spannung beim Download-Versuch messen, wenn möglich mit
  Oszilloskop.

- Extern mit "richtigen" 3.3V versorgen.

- Trotzdem Elko 10uF zum puffern der Versorgung anwenden.

von Mick (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wird der ATmega mit 16MHz getaktet? Dann sind die 3.3V eventuell zu 
wenig...

von GeGe (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Frickelfritze schrieb:
> Dem FTDI Chip kann man nicht viel Strom abverlangen (habe
> gerade keine Daten dafür parat).

sind 50mA.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Moin,

habe jetzt auf 1MHz intern gefust, Labornetzteil mit 3,3 V 
angeschlossen, immer noch ohne Erfolg. Mit einem USBASP kann ich 
problemlos bei 3,3V flashen (mit zusätzlicher Spannungsversorgung).

von Philipp K. (philipp_k59)


Bewertung
0 lesenswert
nicht lesenswert
Das muss auf jedenfall was einfaches sein.. das sollte ohne probleme 
klappen, egal wie.

Rudi schrieb:
> habe jetzt auf 1MHz intern gefust,

na hoffentlich auch den Bootloader auf 1Mhz angepasst, sonst ist die 
baudrate /16 einzustellen bzw in der boards.txt anzupassen..

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bootloader wurde entsprechend gebrannt.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Beim Anschluss des USB Steckers vom FTDI Adapter, unter gejumperter 5 V 
Spannung an den Laptop, blinkt die Arduino-Status LED und zeigt die 
Initialisierung durch blinken an. Bei 3,3 V Spannung blinkt nichts. 
Vielleicht hilft das bei der Fehlersuche? Habe auch mal den Widerstand 
vom Reset-Pin des Atmel verändert, hilft aber auch nichts. Aktuell sind 
10 kOhm dran. Langsam gehen mir die Ideen aus.

Nochmal der Überischt halber die Schaltungsdetails:

- FTDI mit 3,3 bzw. 5 V per USB am Laptop
- Netzteil mit 3,3 V angeschlossen
- 10 kOhm Pullup am Atmel-Reset
- 100 nF am Atmel VCC auf GND
- 10 uF VCC auf GND
- 100 nF zwischen DTR (FTDI) und Atmel-Reset


Bei dieser Konstellation funktioniert der FTDI nur unter 5 V Spannung.

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Rudi schrieb:
> Der Systemtakt hat doch nichts mit der Spannung zu
> tun, oder?

doch bei 16MHz reicht 3,3V nicht
Lese das Datenblatt

http://www.atmel.com/images/doc8059.pdf
sogar auf Seite1

Speed Grades
–  0 - 4 MHz @ 1.8 - 5.5V
–  0 - 10 MHz @ 2.7 - 5.5V
–  0 - 20 MHz @ 4.5 - 5.5V

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Kann es am Adapter liegen? Habe einen Beitrag gefunden, wo jemand 
augenscheinlich das gleiche Problem hat:

https://forum.arduino.cc/index.php?topic=474941.0

"I've seen some adapters that have a jumper (physical or cut+jump pads) 
for 3.3v mode that actually don't work in that mode"

3,3 V liegen zwischen GND und VCC des Adapters an.

Dieser Adapter ist es:

Ebay-Artikel Nr. 331744431360

Ich kann mir aber nicht so richtig vorstellen, dass es am Adapter liegen 
soll.

von Philipp K. (philipp_k59)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> doch bei 16MHz reicht 3,3V nicht

Naja als Hobby aufm Breadboard funktioniert das auch immer.. das 
auszuschließen schadet aber nicht.


anbei nochmal die Grafik aus dem Datasheet.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Habe mit intern 1 MHz und extern 8 MHz geprüft. Beides funktionierte 
nicht.

von Richard B. (r71)


Bewertung
0 lesenswert
nicht lesenswert
Hast du ein original FT232 zum testen?
Ein Schaltplan zum FT232 vielleicht?

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Leider nein. Ich habe heute eine Nachricht an den Verkäufer geschickt. 
Mal schauen was er meint.

von Philipp K. (philipp_k59)


Bewertung
0 lesenswert
nicht lesenswert
Was ist denn eigentlich wenn man ein Serielles Echo-Programm mit 5V über 
den FTDI flasht und dann mit der Konsole auf 3,3V sendet und empfängt?

Beispiel:
1
void setup() {
2
Serial.begin(9600);
3
}
4
5
void loop() {
6
while (Serial.available() > 0) {
7
char e = Serial.read();
8
Serial.print(e);
9
}
10
}

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Rudi schrieb:
> Habe mit intern 1 MHz und extern 8 MHz geprüft. Beides funktionierte
> nicht.

WAS funktioniert nicht?

Bootloader auf intern 1 MHz angepasst?
Bootloader auf extern 8 MHz angepasst?
Arduino upload funktioniert nicht?

gebt nur nicht zu viele Infos....

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bootloader werden, der Konfiguration entsprechend (1MHz, 8MHz, ...), 
über die Arduino IDE per USBASP geflasht.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Da ich einen Atmega 1284p nutze, habe ich den Mightycore installiert. 
Und die entsprechenden (clock, BOD) Bootloader via USBASP gebrannt. Nun 
habe ich die Fuses mit avrdude geprüft und festgestellt, dass diese 
nicht denen entsprechen, welche in der Boards.txt hinterlegt sind, wobei 
das Brennen der Bootloader immer fehlerfrei verlief.

Die Fuses sind laut Boards.txt:

l: 0xb7
h: 0xd6
e: 0xfd

avrdude zeight mir jedoch völlig andere Werte:

l: 0xb7
h: 0xfe
e: 0xd6

ich wollte jetzt auf folgende Werte fusen:

l: 0xbf
h: 0xd6
e: 0xfd

die highfuses und extended fuses lassen sich aber leider nicht 
umstellen:

C:\Program Files (x86)\Arduino\hardware\tools\avr\bin>avrdude -C 
"C:\Program Fil
es (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -P usb -p m1284p 
-c usbasp
 -U lfuse:w:0xbf:m -U hfuse:w:0xd6:m U- efuse:w:0xfd:m

avrdude: warning: cannot set sck period. please check for usbasp 
firmware update
.
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 
0.05s

avrdude: Device signature = 0x1e9705
avrdude: reading input file "0xbf"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 
0.02s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xbf:
avrdude: load data lfuse data from input file 0xbf:
avrdude: input file 0xbf contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 
0.02s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xd6"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 
0.02s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xd6:
avrdude: load data hfuse data from input file 0xd6:
avrdude: input file 0xd6 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 
0.02s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified

avrdude: safemode: Fuses OK (H:FE, E:D6, L:BF)

avrdude done.  Thank you.


C:\Program Files (x86)\Arduino\hardware\tools\avr\bin>



Kann es an den lock bits liegen? Bin noch nicht ganz so bewandert.

Beitrag #5262636 wurde vom Autor gelöscht.
von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Habe jetzt einen neuen AVR hergenommen. Mit dem geht es jetzt auch bei 
3,3V und dem FTDI. Der alte AVR war scheinbar verfust. Wie kann soetwas 
passieren? Habe zuvor die Fuses stets über den MightyCore und Arduino 
setzen lassen.

von Arduino Fanboy D. (ufuf)


Bewertung
0 lesenswert
nicht lesenswert
Rudi schrieb:
> Wie kann soetwas
> passieren?
Eigentlich nicht!

Wenn du mit den ISP noch drauf kommst, sollten sich auch die Fuses 
setzen lassen können.

Rudi schrieb:
> Habe zuvor die Fuses stets über den MightyCore und Arduino
> setzen lassen.
Bei dem neuen auch, nehme ich mal an.
Sonst hättest du ja den Bootloader nicht drauf(zum laufen) bekommen.

von Rudi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Ich kann die high und ext Fuses nicht mehr per avrdude setzen (siehe 
Terminalausgabe oben). Die alten werden nicht überschrieben. Nur die low 
Fuses kann ich noch umschreiben.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.