USB to Serial Adapter (Kommunikation AVR mit PC)

Gast #5038861
Lesenswert?

Hallo zusammen, ich werde demnächst ein Tutorial durcharbeiten in dem es 
um Kommunikation des Atmega168 mit dem PC geht, dort wird davon 
gesprochen, dass man einen USB-Serial Adapter benötigt. Es wird 
irgendein FTDI Adapter empfohlen, der alleridngs ziemlich teuer ist. 
Könnt ihr mir vielleicht günstigere Empfehlen? Die Bucht ist voll davon 
und ich weis nicht so recht auf was ich achten muss.

Gruß
Martin
Gast #5038997
Lesenswert?

Hallo,

ich kaufe nur FTDI USB - Serialadapter, bzw. baue sie in meine 
Schaltungen ein, denn ich möchte eine funktioniere Treiberunterstützung, 
stabilen und schnellen Betrieb. Sowie eine breite Basis an technischer 
Unterstützung.

Und so teuer ist ein FT232RL auch nicht, ca. 1/3 einer 
Zigarettenpackung.

martin schrieb:
> Hallo zusammen, ich werde demnächst ein Tutorial durcharbeiten in
> dem es
> um Kommunikation des Atmega168 mit dem PC geht, dort wird davon
> gesprochen, dass man einen USB-Serial Adapter benötigt. Es wird
> irgendein FTDI Adapter empfohlen, der alleridngs ziemlich teuer ist.
> Könnt ihr mir vielleicht günstigere Empfehlen? Die Bucht ist voll davon
> und ich weis nicht so recht auf was ich achten muss.

Am Ende lernt man auch immer durch das "Machen" und Problem, Fehler 
bringen Dich immer weiter.
Gast #5039006
Lesenswert?

Unter dem Namen "Arduino Nano Clone" bekommst du einen ATMega168 mit 
USB-UART Adapter für ca 3 Euro. Billiger geht es nicht. Die enthalten in 
der Regel einen CH-340 Chip, der keine Probleme macht.

Ansonsten kannst du z.B. bei Amazon "USB-UART Kabel" für ca 3 Euro 
bestellen. Die enthalten meistens einen gefälschten PL2303 Chip, der nur 
mit einem alten Windows Treiber (siehe 
http://stefanfrings.de/avr_tools/index.html) funktioniert.

> ich weis nicht so recht auf was ich achten muss.

Die Spannungen sollten stimmen. Ein 3,3V Kabel wird nicht zu einem 5V 
Mikrocontroller passen (und umgekehrt ebenso). Allerdings kannst du 3,3V 
Kabel kompatibel machen, indem du jeweils einen 2,2k Ohm Widerstand in 
Reihe zu den beiden Datenleitungen schaltest. Es ist dann kompatibel zu 
Mikrcocontrollern, die mit 3 bis 5V betrieben werden. Deswegen würde ich 
ein Kabel mit 3,3V Pegel bevorzugen.
Gast #5039015
Lesenswert?

martin schrieb:
> Es wird
> irgendein FTDI Adapter empfohlen, der alleridngs ziemlich teuer ist.
> Könnt ihr mir vielleicht günstigere Empfehlen? Die Bucht ist voll davon
> und ich weis nicht so recht auf was ich achten muss.

Ich möchte dir raten, einen zu verwenden, welcher DTR herausführt.
DTR wird gerne verwendet um einen Reset des AVR auszulösen. Das ist 
notwendig, damit der Bootloader automatisch beim Upload gestartet werden 
kann.

Für die Verwendung mit einem ESP8266 ist zusätzlich noch ein 
herausgeführter RTS empfehlenswert.

Zuverlässige Adapter:
CH340
CP2102
CP2104
Und natürlich der gute alte FTDI232 (in seinen Varianten)
Gast #5039120
Lesenswert?

Danke für die Empfehlungen. Mir wäre schon wichtig, dass die Treiber 
auch ohne Probleme unter Windows 7 laufen.

Also könnte ich ohne Probleme den hier nehmen?

http://www.ebay.de/itm/301876321218?clk_rvr_id=1230231135936&rmvSB=true

Der hersteller schreibt, dass es sich nicht um Originalware handelt 
sondern um kompatible, was meint er damit, auf dem Bild ist ja ein FTDI 
Chip zu sehen.
Persönliche Seite #5039142
Lesenswert?

martin schrieb:
> was meint er damit

Das bezieht sich auf andere seiner angebotenen Produkte, wie z.B. den 
Arduino-Nachbau, den er verkauft.

Das Risiko, daß es sich bei dem FT232 auf der Platine um einen Nachbau 
handelt (der dann Probleme mit dem FTDI-Treiber bereitet), ist zwar noch 
vorhanden, aber geringer als zu der Zeit, zu der FTDI zu "harten 
Bandagen" griff und Nachbauten mit boswilligen Treibereingriffen 
unbrauchbar machte.

Entweder sind die Nachbauten mittlerweile so gut, daß sie sich in jeder 
Hinsicht verhalten wie das Original, oder aber es wird jetzt einfach 
Originalware verwendet.

(Ich habe mir interessehalber genau so eine Platine organisiert und sie 
funktioniert klaglos auch mit den aktuellsten FTDI-Treibern)
Gast #5039192
Lesenswert?

Rufus Τ. F. schrieb:
> Entweder sind die Nachbauten mittlerweile so gut, daß sie sich in jeder
> Hinsicht verhalten wie das Original, oder aber es wird jetzt einfach
> Originalware verwendet.
>
> (Ich habe mir interessehalber genau so eine Platine organisiert und sie
> funktioniert klaglos auch mit den aktuellsten FTDI-Treibern)

In Ordnung danke, dann werde ich mir diese Platine bestellen. Kann man 
ja nicht viel kaputtmachen bei dem Preis.
Gast #5039291
Lesenswert?

Hmm habe jetzt doch einige male gelesen, dass es schon noch Probleme 
gibt. Überlege mir ein Original zu kaufen, schließlich will ich nicht 
zweimal auf Versand warten.
Suche jetzt allerdings eines welches sowohl mit 5V als auch mit 3,3V 
arbeiten kann. Vieleicht kann mir jemand weiterhelfen, habe noch keines 
gefunden welches beides kann, soll es aber geben.
Gast #5039306
Lesenswert?

martin schrieb:
> Suche jetzt allerdings eines welches sowohl mit 5V als auch mit 3,3V
> arbeiten kann. Vieleicht kann mir jemand weiterhelfen, habe noch keines
> gefunden welches beides kann, soll es aber geben.

Gähn...

Schau in die Datenblätter zu den Bausteinen!
Hast du das gemacht?
Warum nicht?

---------------

Alle diese Dinger werden an 5V angeschlossen.
Also: Alle arbeiten mit 5V
Denn: Bei USB gibts nichts unter 5V (+/- ein paar %)

Wenn die Anschlüsse des USB Seriell Adapters nicht von Hause aus 5V 
tolerant sind, kann man mit einem Angstwiderstand nachhelfen.

Alle mir bekannten "Arduino kompatiblen USB Seriell Adapter", arbeiten 
mit 3,3V Pegel auf den Signalleitungen. Welches naturgemäß bei einem 
3,3V µC keine Sorgen macht, und auch die 5V AVR erkennen zuverlässig die 
3,3V als High Pegel.

Dein Gejammere ist aus meiner Sicht .....
Gast #5039312
Lesenswert?

Arduino F. schrieb:
> Wenn die Anschlüsse des USB Seriell Adapters nicht von Hause aus 5V
> tolerant sind, kann man mit einem Angstwiderstand nachhelfen.
>
> Alle mir bekannten "Arduino kompatiblen USB Seriell Adapter", arbeiten
> mit 3,3V Pegel auf den Signalleitungen. Welches naturgemäß bei einem
> 3,3V µC keine Sorgen macht, und auch die 5V AVR erkennen zuverlässig die
> 3,3V als High Pegel.
>
> Dein Gejammere ist aus meiner Sicht .....

Also kann ich mir ein Kabel mit 3,3V kaufen und die Sache passt. Danke.
Ich bin sicher es gibt Dinge von denen du auch nichts weist.
Gast #5039429
Lesenswert?

> Also kann ich mir ein Kabel mit 3,3V kaufen und die Sache passt

Für die Signalrichtung vom USB-UART zum AVR stimmt das.

Für die andere Richtung kommt es auf den Chipsatz an, der im Kabel 
verbaut ist. Viele sind nicht 5V tolerant, sie vertragen nur 3,3V. Diese 
gehen kaputt, wenn die som AVR mit Überspannung gefüttert werden.

Deswegen schlug ich vor, in die beiden Datenleitungen (RxD und Txd) 
jeweil einen 2,2k Ohm Widerstand einzuschleifen. Dann kann nichts mehr 
schief gehen, egal welche Seite nun 5V oder 3,3V hat. Außerdem ist dann 
auch egal, welche Seite zuerst ihre Spannungsversorgung eingeschaltet 
bekommt.

Ich füge auch gerne einen dritten Widerstand in die GND Leitung ein, für 
den Fall, dass ich diese im Eifer des Gefechts mal falsch anstecke.
1
                 2x 2,2k Ohm
2
USB  RxD o-------[===]------o TxD µC
3
UART TxD o-------[===]------o RxD µC
4

5
     GND o-------[===]------o GND
6
                 47 Ohm

Die Widerstände beeinflussen die Signalqualität. Bis 115200 Baud 
verursachen sie ganz sicher keine Probleme. Höhere Bitraten 
funktionieren vielleicht nur mit Glück.
Gast #5039441
Lesenswert?

Stefan U. schrieb:
> Die Widerstände beeinflussen die Signalqualität. Bis 115200 Baud
> verursachen sie ganz sicher keine Probleme. Höhere Bitraten
> funktionieren vielleicht nur mit Glück.

Mitlesa schrieb:
> Die Längswiderstände sind einfach nur Pfusch - wenn man
> hohe Datenraten haben will funktioniert das möglicherweise
> nicht mehr.

Also nehme ich doch eher die 5V Variante, dann bekomme ich auch keine 
Probleme bei der Übertragung und bei den Spannungen ohnehin nicht mehr.
Gast #5039494
Lesenswert?

martin schrieb:
> Also nehme ich doch eher die 5V Variante, dann bekomme ich auch keine
> Probleme bei der Übertragung und bei den Spannungen ohnehin nicht mehr.

Und wenn ichs recht verstanden habe, bin ich mit der 5V Variante 
flexibler weil ich mit den Vorwiderständen den Pegel drücken kann. Ich 
darf nur die 115 Baudrate nicht überschreiten.

Weshalb ich frage, ist eigentlich nur weil im Datenblatt steht, dass 
0,6*VCC der untere Grenzwert ist um einen Highpegel zu erkennen. Das 
sind bei 5V mind. 3V, und wenn ich mit 3,3V arbeite erscheint mir das 
sehr knapp. Da ich Anfänger bin weis ich natürlich nicht ob meine 
Bedenken berechtigt sind.

Sind die Datenleitungen für Senden und Empfangen die gleichen oder 
verschieden?
Gast #5039511
Lesenswert?

> und wenn ich mit 3,3V arbeite erscheint mir das sehr knapp.

Ja, knapp ist es. Aber das geht schon mit allen üblichen Baudraten.

>  bin ich mit der 5V Variante flexibler weil ich mit den Vorwiderständen
> den Pegel drücken kann.

Das kommt drauf an, was du in Zukunft mit dem Kabel anstellen wirst. 
Wenn du zum Beispiel einen ESP-8266 anschließen willst, dann brauchst du 
ein anderes Kabel mit 3,3V Pegeln. Oder eben die Widerstände.

Wenn du einen µC verwendest, der mit Batterien betrieben wird, brauchst 
du auch die Widerstände.

Wenn du das Netzteil deiner Schaltung aus schalten willst, wähend das 
USB Kabel eingesteckt ist, brauchst du auch Widerstände - sogar wenn die 
Pegel zusammen passen.

Der USB-UART liefert ein High als Ruhepegel. Wenn dein µC keine 
Spannungsversorgung hat, betreibst du seinen seriellen Eingang außerhalb 
der Spezifikation. Es wird ein KurzschlussStrom über seine ESD-Diode 
fließen, die aber laut App-Note nur bis maximal 1mA (oder waren es 2mA?) 
belastet werden darf. Außerdem wird der Chip dadurch eventuell "hinten 
rum" gespeist, so das er ungewollt arbeitet. Warscheinlich wird er dabei 
aber Fehlfunktionen zeigen. Der Klassiker ist, dass der Auto-Reset beim 
regulären Einschalten der Stromversorgung versagt.

> Die Längswiderstände sind einfach nur Pfusch

Da bin ich anderer Meinung. Bitte Begründe deine Aussage.
Längswiderstände findet man übrigens in zahlreichen kommerziellen 
Schaltungen. Zum beispiel auf dem NodeMCU Board, auf vielen ISP 
Programmieradaptern und früher war das auch bei allen Druckern mit 
Centronics Schnittstelle üblich.

> wenn man hohe Datenraten haben will funktioniert das
> möglicherweise nicht mehr.

Habe ich auch klar und deutlich hingeschrieben.

> Bis 115200 Baud verursachen sie ganz sicher keine Probleme.

Dabei bleibe ich allerdings. Das ist mein Erfahrungswert, der für alle 
mir bekannten USB-UART Chips gilt (FT232, FT3232, PL2302, CP2102, HC340, 
HC341). Ich habe die Signaqualität auch mit dem Oszilloskop überprüft. 
Pfusch wäre, wenn meine Aussage nicht gesichert wäre.
Gast #5039588
Lesenswert?

Stefan U. schrieb:
> Das kommt drauf an, was du in Zukunft mit dem Kabel anstellen wirst.

Im Tutorial geht es darum Tastendrücke von der PC-Tastatur an den AVR zu 
senden, dieser wiederum erzeugt dann abhängig davon welche Tasten ich 
gedrückt habe Töne über einen kleinen Lautsprecher. Verwendet wird ein 
Atmega168A.

Was ich danach damit mache steht in den Sternen, weis ich nicht. Von dem 
her kann ich schwer einschätzen ob es jetzt ein 3,3V oder 5V Kabel sein 
soll.
Persönliche Seite #5039646
Lesenswert?

martin schrieb:
> Von dem her kann ich schwer einschätzen ob es jetzt ein 3,3V oder 5V
> Kabel sein soll.

Die Platine, die Du aus welchen wo auch immer gelesenen Gründen

> Hmm habe jetzt doch einige male gelesen, dass es schon noch Probleme
> gibt.

ausschließt, hat einen Jumper, mit dem man zwischen 3.3 und 5V 
umschalten kann.

Vielleicht solltest Du das große Risiko, 6.30 in den Sand zu setzen, 
doch eingehen?
Gast #5039787
Lesenswert?

martin schrieb:
> Es wird
> irgendein FTDI Adapter empfohlen, der alleridngs ziemlich teuer ist.
> Könnt ihr mir vielleicht günstigere Empfehlen? Die Bucht ist voll davon
> und ich weis nicht so recht auf was ich achten muss.

Also..:

Normalerweise ist ein "richtiger" Adapter von USB auf seriell mit einem 
Pegelwandler von TTL am USB-Chip aud V24-Pegel am Steckverbinder 
ausgestattet. Für das Benutzen von Geräten, die einen echten V24 
Anschluß brauchen, ist so etwas genau das Richtige.

Für deine µC-Basteleien sind jedoch Adapter viel sinnvoller, die eben 
keinen Pegelumsetzer enthalten und die seriellen Signale mit TTL-Pegel 
liefern (ob nun 3.3V oder echt TTL oder 5V Cmos ist relativ egal, ein 
Widerstand in der Leitung ebnet das alles ein). Sowas kannst du auf 
deiner Bastelplatine viel besser brauchen, denn da sparst du dir den 
Pegelwandler von V24 auf TTL auf deiner LP.

Ob du dir nun einen USB-Seriell Adapter mit einem FTDI oder mit was 
anderem zulegst, ist halb egal. Auf der PC-Seite wäre da die Frage nach 
den passenden Treibern und auf der seriellen Seite ist es die Frage, was 
denn alles an Signalen herausgeführt ist.

Zur reinen Kommunikation reichen TxD und RxD völlig aus. Wenn du aber 
auch noch RTS, CTS, DCD und Konsorten haben willst, weil du damit z.B. 
einen Bootlader ansteuern willst, dann ist ein Adapter mit nem FTDI die 
bessere Wahl, denn dort hat man zumeist diese Steuersignale am 
Steckverbinder.

W.S.
Gast #5039796
Lesenswert?

Karl M. schrieb:
> Und so teuer ist ein FT232RL auch nicht, ca. 1/3 einer
> Zigarettenpackung.
FTDI kann es sich erlauben, Preise aufzurufen, die ich für nicht mehr 
marktgerecht halte. Nach der Nummer *) mit den Treibern gegen die 
China-Fakes will ich von denen nichts mehr haben.

*)Sich gegen Kopien zu wehren, ist legal und notwendig. Die Art und 
Weise, wie sie es gemacht haben, ist nicht tolerierbar.

Stefan U. schrieb:
> Unter dem Namen "Arduino Nano Clone" bekommst du einen ATMega168 mit
> USB-UART Adapter für ca 3 Euro. Billiger geht es nicht. Die enthalten in
> der Regel einen CH-340 Chip, der keine Probleme macht.
Und für ein paar cent mehr mit dem AT328, wozu sich mit externem USB 
herumärgern?

Arduino F. schrieb:
> Ich möchte dir raten, einen zu verwenden, welcher DTR herausführt.
> DTR wird gerne verwendet um einen Reset des AVR auszulösen. ...
> Zuverlässige Adapter:
> CH340
> CP2102
> ..
Ich habe noch keinen CH340-Adapter gesehen, wo DTR ab Werk herausgeführt 
wurde - da muß man Hand anlegen.
Angehängte Dateien:
Gast #5039819
Lesenswert?

Stefan U. schrieb:
> Die enthalten meistens einen gefälschten PL2303 Chip, der nur
> mit einem alten Windows Treiber (siehe
> http://stefanfrings.de/avr_tools/index.html) funktioniert.

Einen ganz so alten Treiber muss man nicht nehmen.
Die PL2303 Clones laufen unter Win7/Win10 mit dem drei Jahre jüngeren 
Prolific Treiber Version 3.4.25.218 vom 2011-10-07 ebenfalls.
Gast #5040163
Lesenswert?

Ich greife mal ein paar Dinge nochmal auf:

1) 5V AVRs können Problemlos 3,3V als Highpegel lesen.

2) Wenn mein USB-UART nur 3,3V kompatibel ist, dann müsste ich wenn ich 
Daten vom AVR schicke, Vorwiderstände nutzen wie es stefanus gesagt hat, 
müsste aber die Baudrate einhalten.
Wenn ich vom PC Daten sende, dann bräuchte ich keine Widerstände denn 
der AVR erkennt 3,3V zuverläsig als HIGH und ist damit auch 
Spannungsmäßig nicht überlastet.
In dem Buch "Make: AVR Programming" wird auch ein FTDI USB-Serial Kabel 
welches 3,3V kompatibel ist, empfohlen, weil man damit flexibler sei.

3) Wenn mein USB-UART eine 5V Version ist, dann habe ich erstmal 
überhaupt keinen Handlungsbedarf wenn ich eine Kommunikation zwischen PC 
und AVR und umgekehrt machen möchte. Erst bei Batterieanwendungen(warum 
eigentlich?) oder anderen Modulen die 3,3V benötigen müsste ich wieder 
die Vorwiderstände nehmen, auch hier dann wieder die Begrenzung mit der 
Baudrate.

Was ich auch nehme ich werde in der Regel immer die Widerstände brauchen 
und mit begrenzter Baudrate arbeiten müssen, somit ist es völlig egal 
was ich nehme???
Gast #5040170
Lesenswert?

Ergänzung:

Eigentlich will ich beim originalen FTDI Chip bleiben. Sonst würde ich 
die Frage nach 3,3V oder 5V nicht stellen. Aber das hier scheint eine 
echte Alternative zu sein, es kann beides und hat einen guten Chip, was 
meint ihr?

https://www.amazon.de/WINGONEER-CP2104-seriell-Konverter-TTL-kompatibel/dp/B01CYBHM26/ref=sr_1_1?ie=UTF8&qid=1497308098&sr=8-1&keywords=usb+seriell+seriell+cp2104

Einziger Punkt der nicht als Kritik zu sehen ist sondern als Anmerkung 
am Rande ist, dass das Board keinen Autoreset auslöst, was das aber für 
mich bedeutet kein Plan.
Gast #5040174
Lesenswert?

KA, was du mit Autoreset meinst, aber der Adapter tuts.
DTR, RTS, alles dran.

Im Gegensatz zum FTDI kann der (eingebaute) 3,3V Regler auch einen 
(nackten) AVR, oder Arduino Pro Mini, versorgen.
Selbst einen ESP, wenn man etwas mit einem 1000µF Kondensator nachhilft.

Die gleichen Adapter gibts für unter 150Cent beim freundlichen.
Fast 8 Euronen, ist etwas überzogen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren