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
Nimm einen Arduino Uno, da ist alles drauf was du brauchst.
Es ist zwar ein Mega328 drauf aber das soll dich nicht weiter
stören, funktioniert genauso. Und du musst dich nicht um das
Verdrahten mit dem FTDI-Adapter kümmern.
Moin,
wie soll man denn was lernen wenn man sich nie damit beschäftigt?
Ich würde dir zu einem solchen Adapter raten, kann man immer brauchen.
Im Prinzip sollte das mit jeden gängigen Adapter gehen
Gruß
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.
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.
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)
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.
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)
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.
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.
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 .....
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.
martin schrieb:> Ich bin sicher es gibt Dinge von denen du auch nichts weist.
Da sprichst du wahr!
Übrigens:
Einige Wissenslücken kann man mit Doku lesen und messen füllen.
Arduino F. schrieb:> Einige Wissenslücken kann man mit Doku lesen und messen füllen.
Oder die Profis fragen, geht schneller und das Forum lebt davon :-)
Arduino F. schrieb:> und auch die 5V AVR erkennen zuverlässig die> 3,3V als High Pegel.
Lt. Datenblatt erwartet der Atmega168a um einen Highpegel erkenne zu
können 4,2V. Somit geht ein 3,3V Adapterkabel nicht!
martin schrieb:> Lt. Datenblatt erwartet der Atmega168a um einen Highpegel erkenne zu> können 4,2V. Somit geht ein 3,3V Adapterkabel nicht!
Unglaublich was hier ohne Not für Fehlinformationen verbeitet werden.
HI
>Lt. Datenblatt erwartet der Atmega168a um einen Highpegel erkenne zu>können 4,2V. Somit geht ein 3,3V Adapterkabel nicht!
Lt.Datenblatt ist High-Pegel ab 0.6VCC. Das wären bei VCC=5V dann 3V.
Wo hast du das im Datenblatt gelesen?
MfG Spess
Oh das ist peinlich, ich habe in der falschen Spalte geschaut, naja das
passiert wenn man schnell schnell was bestellen will. Danke, dann passt
es ja doch ohne Probleme.
Auf der anderen Seite kann ich doch auch die 5V I/O Signale vom Kabel
mit einem Widerstand auf 3,3V senken, das hat "Arduino Fanboy" doch
gemeint richtig?
> 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.
Der FT232 hat einen Pin für VccIO, damit kann man auswählen
ob man mit einen Partner mit 3.3 oder mit 5V kommunizieren
will.
Die Längswiderstände sind einfach nur Pfusch - wenn man
hohe Datenraten haben will funktioniert das möglicherweise
nicht mehr.
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.
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?
> 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.
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.
martin schrieb:> Von dem> her kann ich schwer einschätzen ob es jetzt ein 3,3V oder 5V Kabel sein> soll.
Dann nimm doch einen umschaltbaren FTDI.
Davon gibts genug in der Elektro Bucht.
Beachte dabei aber, der Schalter schaltet nur die Daten Pegel um.
Der üblicher Weise auch vorhandene Vcc Ausgang bleibt auf 5V.
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?
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.
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.
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.
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???
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.
Danke für deine Empfehlung. Ja die gibt es auch billiger, aber den hier
würde ich am Mittwoch schon bekommen, er soll zum langen Wochenende
schon da sein.
martin schrieb:> 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.
Was meinst du mit "Autoreset"?
Das DTR liegt lt. Beschreibung auf der Stiftleiste.
Wolfgang schrieb:> Edel, edel - jedenfalls der VK> cf ebay 200958955841
Hallo Wolfgang, danke für den Hinweis, aber schau mal aufs Lieferdatum:
7. Juli - 3. August, da ist ja fast das Jahr zuende :-) Ich will es am
besten schon morgen haben.
> 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.
Kannst du mir den bitte als Email schicken?
stefan@stefanfrings.de
Hallo, nach der beschreibung ist er 5V tolerant und er kann demzufolge
mit beiden pegeln umgehen.
Die beiden Spannungen kannst du für eigene schaltungen mitverwenden.
Gruß Michael
Der CP2104 hat einen 3,3V Regler eingebaut.
Dessen Ausgang liegt auf dem 3,3V Anschluss.
Das Datenblatt des Bausteins sagt dir, welche Pegel die Datenleitungen
haben.
Hast du das Datenblatt gelesen?
Warum nicht?
(Hatten wir das nicht schon mal so?)
Michael F. schrieb:> Hallo, nach der beschreibung ist er 5V tolerant und er kann demzufolge> mit beiden pegeln umgehen
Danke. Das wird sich dann im Datenblatt sicher bestätigen, aber ich
schau trotzdem mal rein, ist ja gerade mal 22 Seiten Umfang.
Während ich das Datenblatt des CP2104 angefangen habe zu lesen, ist mir
etwas sozusagen zugelaufen: http://www.ebay.de/itm/281650318687
Der Verkäufer hat mir versichert, dass es sich bei diesem Teil hier um
einen originalen FT232 Chip handelt. Habe es mir jetzt gekauft.