Forum: Mikrocontroller und Digitale Elektronik einfache Datenübertragung per USB an PC von Atmega


von Racer443 (Gast)


Lesenswert?

Hallo,

ich habe folgendes Anliegen.
Und zwar würd ich gerne Daten per USB an den PC von einem Atmega8 zum 
Beispiel übertragen.
Erstmal habe ich nur eine Lichtschranke, die dem atmega ein binäres 
Signal meldet, dieses soll an den PC weitergereicht werden, auf dieses 
ich dann mit einem Programm zugreifen möchte. Dieses startet dann eine 
Stoppuhr.

Fürs erste möchte ich das mal hinbekommen. Aber es soll natürlich auch 
erweiterbar sein, sodass ich später auch andere Daten per USB an den PC 
schicken kann, eventuell auch von PC an den atmega, aber eins nach dem 
anderen.

Leider hab ich in die Richtung noch nicht wirklich was gemacht. Ich kenn 
mich zwar ein bisschen mit dem atmega aus und hab auch schon ein paar 
einfache Programme mit assembler programmiert, aber mehr aber auch 
nicht.


Was brauch ich denn genau für die USB-Übertragung alles? Wie gehe ich am 
besten vor? Vielleicht habt ihr ja auch ein paar Links zu Tutorials auf 
Lager.


Würde mich über eine Antwort freuen!



Gruß
Stefan

von Oliver R. (orb)


Lesenswert?

Am einfachsten währe ein USB-Seriel-Wandler mit FTDI oder Prolific Chip. 
Da mußt Du auf beiden Seiten nur mit einer seriellen Schnittstelle klar 
kommen.
Ohne extra Hardware geht es z.B. mit der VUSB-Bibliothek. Ist aber 
deutlich aufwändiger in der Programmierung.

von Racer443 (Gast)


Lesenswert?

Was heißt genau mit einer seriellen Schnittstelle klarkommen?

Habe noch vergessen zu sagen, dass das Ganze dann irgendwann eventuell 
mit einem Raspberry Pi funktionieren soll, falls das die Sache etwas 
einschränken sollte.

von Mr. Tom (Gast)


Lesenswert?

Racer443 schrieb:
> Habe noch vergessen zu sagen, ...
Über das Timing, d.h. tolerierbare Verzögerungszeitun und Jitter hast du 
dich auch noch nicht geäußert.

von Racer443 (Gast)


Lesenswert?

Sorry, davon habe ich noch nie was gehört. Wie gesagt, hab nicht so viel 
Erfahrung.
Bis auf einen 1-wöchigen µC Grundkurs habe ich noch gar nichts in der 
Richtung gemacht.

von Mr. Tom (Gast)


Lesenswert?

Racer443 schrieb:
> Sorry, davon habe ich noch nie was gehört

So komische Begriffe sind das doch nicht.
http://de.wikipedia.org/wiki/Verz%C3%B6gerungszeit
http://de.wikipedia.org/wiki/Jitter

Wenn du die Zeit etwas genauer brauchst, z.B. für eine 
Geschwindigkeitsmessung anhand der Unterbrechungsdauer, wird es 
günstiger sein, die Zeitdifferenz komplett auf dem ATmega8 zu messen und 
das fertige Ergebnis auf den PC zu übertragen.

von Racer443 (Gast)


Lesenswert?

Mr. Tom schrieb:
> Racer443 schrieb:
>> Sorry, davon habe ich noch nie was gehört
>
> So komische Begriffe sind das doch nicht.
> http://de.wikipedia.org/wiki/Verz%C3%B6gerungszeit
> http://de.wikipedia.org/wiki/Jitter

ja es geht :D
Aber ich weiß nicht, was ich zum Timing genau sagen soll?!



Mr. Tom schrieb:
> Wenn du die Zeit etwas genauer brauchst, z.B. für eine
> Geschwindigkeitsmessung anhand der Unterbrechungsdauer, wird es
> günstiger sein, die Zeitdifferenz komplett auf dem ATmega8 zu messen und
> das fertige Ergebnis auf den PC zu übertragen.

Stimmt, klingt plausibel.
Die Zeitmessung auf dem Atmega zu machen dürfte kein Problem sein.
Nur wie bekomme ich die Daten auf den PC?

von Mr. Tom (Gast)


Lesenswert?

Racer443 schrieb:
> Nur wie bekomme ich die Daten auf den PC?

Über die serielle Schnittstelle vom ATmega und einen USB-Seriell 
Wandler. Auf PC-Seite siehst du dann softwäremäßig z.B. eine serielle 
Schnittstelle. Auf dem ATmega8 kannst du auch direkt mit VUSB eine 
Software USB-Schnittstelle generieren oder du verwendest z.B. einen 
ATmega32U2, der direkte Unterstützung für USB bietet.

von Racer443 (Gast)


Lesenswert?

Okay, dann such ich mal danach.
Das funktioniert dann so auch mit dem Raspberry Pi, oder?

Ist das die einfachste Methode, oder gibt es da noch was anderes?

von Stephan B. (matrixstorm)


Lesenswert?

Die preiswerteste Loesung (vor allem bei Computern ohne RS232) duerfte 
VUSB sein?

Ein Selbstbau Board ist z.B. http://matrixstorm.com/avr/tinyusbboard/

Dort gibt es auch ein Beispielcode wie man Host-AVR Kommunikation ueber 
USB implementiert. (http://matrixstorm.com/avr/tinyusbboard/#examples)

Nachtrag: Im Beitrag "Re: LED Stripes über USB ansteuern(dimmbar)" hatte 
ich auch einmal eine RGB-GUI zu RGB-LED Demo bereitgestellt.

MfG

: Bearbeitet durch User
von Oliver R. (orb)


Lesenswert?

Um einen AVR mit dem Pi zu verbinden brauchst Du kein USB. Du kannst die 
einfach mit den seriellen Schnittstellen verbinden. Allerdings würde ich 
auf dem Pi keine Stopuhr laufen lassen, das kann der AVR besser.

von mahwe (Gast)


Lesenswert?

schau mal bei ulrich radig http://www.ulrichradig.de/
testboard anschauen und das tool nutzen das er geschrieben hat

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Für die Übertragung großer Datenmengen würde ich eher einen 
Mikrocontroller mit Hardware-USB-Schnittstelle empfehlen, also zum 
Beispiel den ATmega32U4.

Stephan B. schrieb:
> Die preiswerteste Loesung (vor allem bei Computern ohne RS232) duerfte
> VUSB sein?

Das ist eine sehr einfache Lösung, die ich auch vielfach verwende.
Genaueres dazu gibt es hier:
http://www.obdev.at/products/vusb/index-de.html

Das Board von Stephan ist auch eine pfiffige Sache.

Nachbauen könntest du auch den "Signalwandler" von meiner Webseite. Oder 
du nimmst dir dessen Software und passt sie auf deine Bedürfnisse an.

Beide Lösungen nutzen VUSB.

von Racer443 (Gast)


Lesenswert?

Danke für eure Antworten.

Ich schau mir das Board von Stephan mal an und lese mir auch mal was zu 
V-USB durch.

Habe aber mal noch eine Frage:
Wenn ich Daten per USB an den PC schicke, wie kann ich die dann 
verwenden?
Ist es möglich, diese in einem HTML/Javascript Programm abzurufen, da 
ich so unabhängig von Betriebssystem und eventuellen Zusatzprogrammen 
wäre?



Oliver R. schrieb:
> Um einen AVR mit dem Pi zu verbinden brauchst Du kein USB. Du kannst die
> einfach mit den seriellen Schnittstellen verbinden. Allerdings würde ich
> auf dem Pi keine Stopuhr laufen lassen, das kann der AVR besser.

Ah okay wusste nicht, dass der ne serielle Schnittstelle hat. Aber Daten 
übertragen muss ich ja trotzdem, da der Raspberry Pi das später 
zumindest anzeigen soll.

von Stephan B. (matrixstorm)


Lesenswert?

Hi

Racer443 schrieb:
> Ist es möglich, diese in einem HTML/Javascript Programm abzurufen, da
> ich so unabhängig von Betriebssystem und eventuellen Zusatzprogrammen
> wäre?

VUSB implementiert leider nur low-speed USB (1.1 MBit/sec).
Nach USB-Standard funktionieren im low-speed Modus nicht alle 
Uebertragungsmethoden (Bulk und Isochroner Transfer).
(Mit anderen Worten: Mit VUSB funktioniert nur der Kontroll- und 
Interrupttransfer)

http://www.beyondlogic.org/usbnutshell/usb4.shtml

Wenn du mit VUSB also in deinem Geraet USB-Klassen implementieren 
willst, bleibt dir nur HID (Tastatur, Maus ...) - alle anderen Klassen 
Printer, RNDIS, CDC oder MassStorage verwenden Bulktransfer.

Ueblicherweise implementiert man sich bei der Verwendung von VUSB sein 
eigenes Hostprogramm mittels libUSB (sihe Beispiel auf der tinyUSBboard 
Seite). Fuer die eigentliche Kommunikation beschraenkt man sich dann auf 
den Kontrollendpunkt.


Anmerkung: Fuer vollstaendige Plattformanhabhaengigkeit baestel ich 
derzeit an einem neuen Board. Da ist noch nichts final und alles in 
einem prototypischen Zustand - funktioniert aber schon ziemlich gut. 
Vielleicht kann ich dich ja dafuer Interessieren: 
http://matrixstorm.com/avr/avrstick/

Das besondere des Boards ist, das es unter modernen Betriebssystemen 
(Linux, Windows, ...) weder Treiber noch Programmiersoftware (wie z.B. 
AVRDUDE) benötigt: Standardmäßig ist meine Bootloader Eigenwicklung 
installiert, welche das Board als USB-Stick enumeriert und die Speicher 
des AVRs sowie zusätzliche Informationen (FUSES, Production- und 
Usersignatur)  als Dateien "einblendet".
Ändern/Überschreiben einer Datei entspricht der Programmierung des 
entsprechenden Speichers.

MfG

: Bearbeitet durch User
von Racer443 (Gast)


Lesenswert?

Klingt sehr interessant!
Da steht ja leider nicht so viel auf der Seite.
Wie weit ist das denn fortgeschritten, also was kann das bisher alles?

von Racer443 (Gast)


Lesenswert?

Racer443 schrieb:
> Klingt sehr interessant!
> Da steht ja leider nicht so viel auf der Seite.
> Wie weit ist das denn fortgeschritten, also was kann das bisher alles?

von Stephan B. (matrixstorm)


Lesenswert?

Hallo Racer443

Hab den Wink verstanden ;-).
Werktags habe ich wenig Zeit, daher ersteinmal kein langer Aufsatz.

Die Seite ist eigentlich zunaechst mehr eine strukturlose Sammlung von 
Dingen. Da ich sogar noch auf der Suche nach einem brauchbaren Namen bin 
(Vorschlag?) ist sie nicht wirklich "offiziell".

Zum Board:
Der ATxmega auf dem Board ist frei programmierbar. Im derzeitigen Layout 
sind zwar nicht alle PINs nach aussen gefuehrt, aber zumindest die PORTS 
mit denen jede Periperhie min. einmal verwendet werden kann.
Auf das Steckbrett gesteckt, kann man damit alles moeglich 
basteln/testen.
Da Dank des im AVR eingebauten USB-tranceivers full-speed USB 
unterstuetzt wird, sind alle USB Transfertypen verfuegbar - damit alle 
USB Klassen implementierbar.
Um die Firmware in den Chip zu "schieben" dient der Bootloader und das 
USB - kein Programmer noetig.

Die Webkomponente (Mitwirkende sind gern willkommen) muss noch ausgebaut 
werden (ASM geht aber schon), aber die Idee ist mit dem default 
Bootloader ohne die Installation irgendeiner Software auch direkt aus 
dem Browser zu programmieren.
Die erstellte Firmware wird dann einfach auf den "Stick" "gedownloaded".
Das Projekt ist längst nicht fertig, aber vieles funktioniert bereits.

Der Bootloader kann (auch hier ohne Programmiergeraet) über seine 
USB-Schnittelle upgedatet / ausgetauscht werden.
So sind spaetere Verbesserungen kein Problem. Auch kann der "MassStorage 
Bootloader" durch den von Atmel bereitgestellten Flip ersetzt werden 
(siehe Seite).

Ich hoffe dir reichen die Informationen ersteinmal.
Fuer weitere Fragen stehe ich aber auch gern zur Verfuegung.

MfG

1. Nachtrag: Ich habe auch ein paar fertige Beispiele implementiert.
So kann das Board z.B. als USB-UART Wandler (fuer alle 7 UARTS 
gleichzeitig) verwendet werden. (Nicht alle UARTS sind aber beim 
derzeitigen Layout nach aussen gefuehrt)

2. Nachtrag: Fuer dich interessant ist ggf. die Moeglichkeit eine RNDIS 
Klasse zu implementieren, welche ein "Netzwerk over USB" ermoeglich.
Im AVR koennte man dann z.B. per TCP mit dem Browsercode kommunizieren.
(LUFA bietet bzgl. RNDIS eine DEMO an, welche einen Webserver im AVR 
implementiert)

: Bearbeitet durch User
von Guido Körber (Gast)


Lesenswert?

Es gibt auch einfach zu handhabende Chips die das ganze USB Protokoll 
erledigen:
http://www.codemercs.com/index.php?id=io-warrior&L=0

Oder man nimmt einen Chip der virtuell Tasten drückt (KeyWarrior24D):
http://www.codemercs.com/index.php?id=38&L=0

von Racer443 (Gast)


Lesenswert?

@Stephan B.:
Danke für deine ausführliche Antwort. Klingt jedenfalls sehr interessant 
und werd mir das auch mal ungenauer anschauen, wenn das ein bisschen 
weiter fortgeschritten ist und du es "offiziell" machst ;)

Zu deinem 2. Nachtrag: Versteh ich nicht so ganz, werde mich aber mal 
informieren. Hast du dazu einen Link oder ein paar Schlagwörter, nach 
denen ich da am besten googeln kann?


@Guido K.:
Sieht auch nicht schlecht aus, 50-70€ erscheint mir aber nicht gerade 
günstig.

von Racer443 (Gast)


Lesenswert?

http://www.elv.de/mini-usb-modul-um2102-komplettbausatz.html

Das Ding ist ja ein Umsetzer von USB auf die serielle Schnittstelle.
Damit müsste ich doch Daten an den PC schicken können.
Wahrscheinlich sind die dann aber nicht im Browser nutzbar, oder?
Wie kann ich die Daten dann auf dem PC verwenden?

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

Racer443 schrieb:
> Ich schau mir das Board von Stephan mal an und lese mir auch mal was zu
> V-USB durch.

Beides ist lohnenswert. :-)

> Habe aber mal noch eine Frage:
> Wenn ich Daten per USB an den PC schicke, wie kann ich die dann
> verwenden?
> Ist es möglich, diese in einem HTML/Javascript Programm abzurufen, da
> ich so unabhängig von Betriebssystem und eventuellen Zusatzprogrammen
> wäre?

Wenn du magst, schau dir mal diese Lösung an:

  https://guloshop.de/shop/USB-TTL-ADC-PWM-Signalwandler:::10.html

Allerdings ist die Übertragung langsam und auf einzelne Messwerte oder 
Schaltzustände ausgelegt. Wenn du größere Datenmengen übertragen willst, 
dann brauchst du eine andere Lösung, eventuell die von Stephan B.

Trotzdem - vielleicht reicht dir das ja schon. Für die 
Linux/Windows/Mac-Seite gibts ein Programm, mit dem man sich die Daten 
dann ausgeben lassen kann. Oder du schreibst dir selber was, 
USB-Zugriffe sind ja in fast allen Sprachen möglich.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Racer443 schrieb:
> Wahrscheinlich sind die dann aber nicht im Browser nutzbar, oder?

Nein. Nichts, das per USB angeschlossen wird, kann Daten direkt im 
Browser verwendbar zur Verfügung stellen, ohne daß weitere Software 
erforderlich ist.

von marixstorm (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Nein. Nichts, das per USB angeschlossen wird, kann Daten direkt im
> Browser verwendbar zur Verfügung stellen, ohne daß weitere Software
> erforderlich ist.

Das ist ein Irrtum,
Man kann in seinem USB Geraet die RNDIS Klasse implementiere, welche das 
Geraet Treiberlos als Netzwerkadapter enumeriert.
Im Geraet implementiert man einen DHCP Server der dafuer sorgt das der 
neue Adapter auch eine IP bekommt.

Per HTML5 WebSockets kann man dann direkt mit dem Geraet kommunizieren.
Das ist das was ich in meinem vorherigen Beitrag bereits gemeint habe.


1) http://en.wikipedia.org/wiki/RNDIS

2) http://www.usb.org/developers/devclass_docs/CDC1.2_WMC1.1_012011.zip

MfG

von Fabian O. (xfr)


Lesenswert?

marixstorm schrieb:
> Man kann in seinem USB Geraet die RNDIS Klasse implementiere, welche das
> Geraet Treiberlos als Netzwerkadapter enumeriert.
> Im Geraet implementiert man einen DHCP Server der dafuer sorgt das der
> neue Adapter auch eine IP bekommt.

Das ist für den Threadersteller aber vermutlich etliche Hausnummern zu 
groß, auch wenn es in der LUFA dafür sogar schon fertigen Beispielcode 
gibt.

Ich halte es für wesentlich sinnvoller, klein anzufangen, d.h. erst mal 
die serielle Schnittstelle auf beiden Seiten (Mikrocontroller und PC) in 
Betrieb nehmen. Ob da noch ein oder zwei USB-Seriell-Wandlerchips 
dazwischen sitzen, spielt für die Programmierung ja zum Glück keine 
Rolle.

Auf dem PC dann als erstes ein kleines Kommandozeilenprogramm für die 
Stoppuhr. Wenn das klappt, kann man eine GUI programmieren oder drüber 
nachdenken, wie man es im Webbrowser darstellt. Auf dem lokalen PC macht 
das aus meiner Sicht nicht viel Sinn, aber das muss Racer443 dann 
wissen.

@Racer443: Kannst Du denn eine Programmier- bzw. Scriptsprache, mit der 
man ein Programm für den PC schreiben kann, das auf die serielle 
Schnittstelle zugreift? Wenn nicht, hast Du sowieso erst mal einige 
Tage/Wochen zu tun, eine zu lernen. Zu empfehlen wäre C, denn das 
brauchst Du für komplexere Lösungen auf dem Mikrocontroller sowieso, 
kann man aber halt auch für einfache PC-Programme einsetzen.

von Guido Körber (Gast)


Lesenswert?

Racer443 schrieb:
> Sieht auch nicht schlecht aus, 50-70€ erscheint mir aber nicht gerade
> günstig.

Man muss ja nicht das Starterkit nehmen, Chips gehen ja auch, oder die 
Dongles.

von Racer443 (Gast)


Lesenswert?

Danke für eure Antworten!

@Fabian O.:
Ja C/C++ kann ich.
Danke. Dann werd ich damit in der Urlaubszeit mal anfangen.

@Markus Weber:
sieht auch nicht so schlecht aus, aber da ich nicht genau weiß, 
inwieweit ich das Ganze erweitern möchte, wird das eventuell zu langsam 
werden.
Werde erstmal das über die serielle Schnittstelle, bzw. den Wandler 
ausprobieren, der eine virtuelle COM-Schnittstelle herstellt.

@Stephan B.:
Fabian O. hat wahrscheinlich Recht, ich sollte vielleicht erstmal 
"klein" anfangen. Wenn das geklappt hat, kann man ja immer noch 
weiterschauen.
Trotzdem werde ich danach mal googeln.

von Stephan B. (matrixstorm)


Lesenswert?

Hallo

Racer443 schrieb:
> Fabian O. hat wahrscheinlich Recht, ich sollte vielleicht erstmal
> "klein" anfangen.

Klar - kein Problem.
Zu diesem Zweck habe ich ja die "VUSB skeleton/example with 
corresponding linux, windows (delphi) and platform independent GTK 
libusb program" auf der tinyUSBboard Seite.
Nur falls du bei USB bleiben moechtest und dir das ansehen magst.

MfG

von Racer443 (Gast)


Lesenswert?

Das tinyusboard habe ich sogar schon von dir, aber gerade nur zum 
programmieren von anderen atmegas. Schaue mir aber mal an, wie das mit 
der Datenübertragung funktioniert

von Guido Körber (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Nein. Nichts, das per USB angeschlossen wird, kann Daten direkt im
> Browser verwendbar zur Verfügung stellen, ohne daß weitere Software
> erforderlich ist.

Doch, wenn sich das USB Gerät als Tastatur verhält geht das ganz 
einfach.

von Stephan B. (matrixstorm)


Lesenswert?

Guido Körber schrieb:
> Doch, wenn sich das USB Gerät als Tastatur verhält geht das ganz
> einfach.

Klingt interessant.
Wie realisiert man dann bidirektionale Kommunikation?

MfG

von Racer443 (Gast)


Lesenswert?

Geht dann wahrscheinlich nur um Daten an den PC zu senden, oder?

von Stephan B. (matrixstorm)


Lesenswert?

Racer443 schrieb:
> Geht dann wahrscheinlich nur um Daten an den PC zu senden, oder?

Wuerde ich jetzt auch vermuten.
Man kann zwar auch in HID keyboard daten an den MCU uebertragen (z.B. um 
die NUM-, CAPS und SCROLLlock LEDs zu schalten) - ich bezweifel aber das 
man das irgendwie aus dem Browser heraus steuern kann.

Ich lasse mich da gerne eines Besseren  belehren - an einer 
funktionierenden Demo waere ich sehr interessiert.... ...Guido?

MfG

von Walter (Gast)


Lesenswert?

Stephan B. schrieb:
> Guido Körber schrieb:
>> Doch, wenn sich das USB Gerät als Tastatur verhält geht das ganz
>> einfach.
>
> Klingt interessant.
> Wie realisiert man dann bidirektionale Kommunikation?
>
> MfG

das ist natürlich ein Problem, deshalb steuere ich bei einem Projekt mit 
5 Tasten den Browser von der Controllerseite aus.


Hat den Vorteil dass ich auf PC Seite außer ein paar html-Seiten nichts 
brauche und das ganze läuft auf Windows, Linux und MacOs ohne weitere 
Software oder Treiber

von Guido Körber (Gast)


Lesenswert?

Stephan B. schrieb:
> Klingt interessant.
> Wie realisiert man dann bidirektionale Kommunikation?

Das geht auf keinen Fall ohne spezifische Software.

Dann gibt es aber mehrere Optionen, abhängig davon ob man den 
Microcontroller selber programmiert, oder eine fertige Lösung verwendet.

von Stephan B. (matrixstorm)


Lesenswert?

Hallo Guido

Guido Körber schrieb:
> Das geht auf keinen Fall ohne spezifische Software.

Du meinst jetzt sicherlich HID spezifisch?

Guido Körber schrieb:
> Dann gibt es aber mehrere Optionen, abhängig davon ob man den
> Microcontroller selber programmiert, oder eine fertige Lösung verwendet.

Naja, die fertige Loesung wurde sicherlich auch irgendwann mal 
programmiert.
Die Frage ist nach der technischen Machbarkeit/Umsetzung: Wie und 
womit....

MfG

von Guido Körber (Gast)


Lesenswert?

Stephan B. schrieb:
> Ich lasse mich da gerne eines Besseren  belehren - an einer
> funktionierenden Demo waere ich sehr interessiert.... ...Guido?

Wie gesagt, das geht natürlich nur wenn irgend etwas an Software auf dem 
Rechner läuft, das spezifisch die Hardware kennt. Dazu könnte man z.B. 
Java verwenden. Für unsere IO-Warrior haben wir eine Java-Unterstützung.

Prinzipiell gibt es zwei einfache Methoden um Daten per USB an ein Gerät 
zu kriegen. Entweder man baut es als Generic HID, dann setzt sich kein 
höherer Treiber drauf und man kommt unter Windows und MacOS leicht von 
der Anwendungsebene per FileIO ran. Bei Linux braucht man einen eigenen, 
einfachen Treiber, da Linux versucht die Daten zu interpretieren obwohl 
das Gerät sich explizit als nicht einem Standardformat zugehörig 
identifiziert (für unsere IO-Warrior ist der Treiber seit Jahren 
Bestandteil der Standarddistribution).
Die zweite Option ist wenn man das Gerät als Tastatur auslegen möchte, 
dass für den "Rückkanal" ein Feature-Report definiert wird. Den kann man 
auch von Anwendungsebene zugreifen. Die Methode verwenden wir um in 
unsere programmierbaren KeyWarrior die Tastaturtabellen zu schreiben.

von Stephan B. (matrixstorm)


Lesenswert?

Ersteinmal danke dir Guido.

Ich werde demnaechst (ueber Weihnacht?) mir einmal eure Produktpalette 
ansehen.

MfG und frohes Fest!

von Racer443 (Gast)


Lesenswert?

Hab mal noch ne Frage,

hab mir überlegt das Teil hier zu kaufen: 
http://www.ebay.de/itm/UN3F-USB-RS232-TTL-Konverter-Modul-Konverter-Adapter-fur-Arduino-S9-/350923474219?pt=Bauteile&hash=item51b4ab452b

Kann ich damit dann was anfangen. Wieso hat das nur 5 Pins? Die RS232 
Schnittstelle hat doch 9 Pins, oder?
Würde es damit funktionieren, Daten an und vom Pc zu schicken?

von Karl H. (kbuchegg)


Lesenswert?

Racer443 schrieb:

> Kann ich damit dann was anfangen. Wieso hat das nur 5 Pins?

Schau aufs Bild.
Die Pins sind: 3.3V, 5V, RxD, TxD und GND

D.h. die eigentliche Übertragung geht über RxD und TxD. Der Rest ist 
Spannungsversorgung und natürlich GND.

> Die RS232
> Schnittstelle hat doch 9 Pins, oder?

Ja, aber die restlichen Pins sind zum Teil historisch bedingte 'Ich bin 
da' Leitungen, bzw. dienen dem Handshake.

> Würde es damit funktionieren, Daten an und vom Pc zu schicken?

Wenn es keine Probleme bei der Installation des USB-Treibers gibt, der 
eine virtuelle serielle Schnittstelle am PC einrichtet, dann klappt das.

von Racer443 (Gast)


Lesenswert?

Danke für deine Antwort!

Karl Heinz schrieb:
> Schau aufs Bild.
> Die Pins sind: 3.3V, 5V, RxD, TxD und GND
>
> D.h. die eigentliche Übertragung geht über RxD und TxD. Der Rest ist
> Spannungsversorgung und natürlich GND.
> Ja, aber die restlichen Pins sind zum Teil historisch bedingte 'Ich bin
> da' Leitungen, bzw. dienen dem Handshake.


Klar, das habe ich schon gesehen, aber hatte mich eben gefragt gehabt, 
warum die nur 5 hat. Aber wenn man die anderen sowieso nicht braucht, 
ist das ja okay.


Karl Heinz schrieb:
> Wenn es keine Probleme bei der Installation des USB-Treibers gibt, der
> eine virtuelle serielle Schnittstelle am PC einrichtet, dann klappt das.

Bei dem Artikel steht nichts von einem Treiber. Gibt es da einen 
allgemeinen für so einen Umwandler, oder brauch ich da schon was 
spezielles, was eigentlich vom Hersteller kommen sollte?

von Racer443 (Gast)


Lesenswert?

Weiß das jemand, wie das mit den Treibern funktioniert. Also ob man da 
einen speziellen braucht oder obs da allgemeine USB/RS232 Treiber gibt?

von Stephan B. (matrixstorm)


Lesenswert?

Fuer RS232 brauchst du einen Treiber.

von Racer443 (Gast)


Lesenswert?

Ja klar, ich mein nur, ob ich für dieses Board einen speziellen Treiber 
brauche oder ob es da "allgemeingültige" Treiber gibt, die für alle 
möglichen Adapter funktionieren?

von Stephan B. (matrixstorm)


Lesenswert?

Ueberlicherweise reduziert sich beim CDC RS232 der Treiber auf die 
".inf" Datei. In dieser steht aber die Vendor- und ProductID als auch 
die jeweiligen Strings.
Damit sind sie auf das entsprechende Geraet zugeschnitten.

Siehe 
http://www.fourwalledcubicle.com/files/LUFA/Doc/130901/html/_page__o_s_drivers.html

MfG

von Racer443 (Gast)


Lesenswert?

Okay, das heißt, wenn ich vom Verkäufer keinen Treiber dazubekomme, dann 
ist das Teil eigentlich nutzlos?

von Albert M. (Firma: Bastler aus Mönchengladbach) (albertm) Benutzerseite


Lesenswert?

Racer443 schrieb:
> Okay, das heißt, wenn ich vom Verkäufer keinen Treiber dazubekomme, dann
> ist das Teil eigentlich nutzlos?

Nö, die Treiber kannst Du Dir im Allgemeinen einfach im Internet 
downloaden.

von Karl H. (kbuchegg)


Lesenswert?

Racer443 schrieb:
> Okay, das heißt, wenn ich vom Verkäufer keinen Treiber dazubekomme

dann siehst du zu, dass du durch das Plastik lesen kannst, welcher IC da 
verbaut ist, suchst dir den Hersteller im Web und lädsts dir dort den 
Treiber/inf File runter.

Das sind Standard-IC. Da hat der Hersteller des Stick genau 0 
Erfindungshöhe. Der kauft den IC ein, lötet den mit ein paar 
Kondensatoren und den zugehörigen Steckern/Buchsen auf eine Platine und 
verkauft dir das weiter. Im Grunde könntest du so ein Teil auch selber 
bauen und würdest auch nichts anderes machen. Nur kriegst du mit deinen 
mickrigen Stückzahlen im Einkauf nicht denselben Preis wie der 
Hersteller dieser Sticks.

: Bearbeitet durch User
von Racer443 (Gast)


Lesenswert?

Okay danke für die Antworten!


Karl Heinz schrieb:
> Das sind Standard-IC. Da hat der Hersteller des Stick genau 0
> Erfindungshöhe. Der kauft den IC ein, lötet den mit ein paar
> Kondensatoren und den zugehörigen Steckern/Buchsen auf eine Platine und
> verkauft dir das weiter. Im Grunde könntest du so ein Teil auch selber
> bauen und würdest auch nichts anderes machen. Nur kriegst du mit deinen
> mickrigen Stückzahlen im Einkauf nicht denselben Preis wie der
> Hersteller dieser Sticks.

Klar, da ist selber machen deutlich teurer.

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
Noch kein Account? Hier anmelden.