Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller über USB an WinRechner - mit USB-Modul


von Volker (Gast)


Lesenswert?

Hallo,

ich möchte gerne Variablen von einem Atmega88 per I2C über USB auf einem 
Windows-Rechner anzeigen lassen.

Habe dazu folgendes USB-Modul:
USB to I2C IIC SPI UART TTL Converter Module STC ISP Adapter led 3.3v 5v
Aufdruck: you sheng usb device v1402(ysuma01-341a)
http://www.ebay.de/itm/191168669612?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649

Damit müsste sich eigentlich die gewünschte Kommunikation herstellen 
lassen.

Zwei Fragen hätte ich im Vorfeld:

- benötigt das Modul einen Treiber? (falls das hier jemand weiß)

- was kann man für solche Anwendungen als Terminal-Programm benutzen?

von Sepp (Gast)


Lesenswert?

Kannst auch einen STM32F072/42 verwenden. es gibt von ST entsprechende 
VCP (Virtual Com Port) Treiber für den µC und PC.

Schon hast du eine Verbindung PC - µC über USb und kannst ein Terminal 
verwenden!

von Sepp (Gast)


Lesenswert?

Im allgemeinen brauchen die Module einen Treiber. Vorallem, wenn man 
über ein Terminal (was einen VCP bedingt) kommunizieren will.

von stefanus (Gast)


Lesenswert?

Von I²C wüde ich abraten, denn das decken die Standard USB Treiber nicht 
ab. Nimm lieber einen USB-UART, also einen virtuellen COM Port.

Es gibt wohl auch Konstrukte, die auf µC Seite I²C "sprechen", und dass 
PC Seitig auch UART Protokoll umsetzen. Dabei sollte man bedenken, dass 
diese beiden Protokolle völlig unterschiedlich funktionieren. Das macht 
die Sache kompliziert.

von Volker (Gast)


Lesenswert?

Sepp schrieb:
> Kannst auch einen STM32F072/42 verwenden. es gibt von ST entsprechende
> VCP (Virtual Com Port) Treiber für den µC und PC.

Danke für den Tipp! Könnte man für die Zukunft mal überlegen.

Jetzt muss erst mal das USB to I2C IIC SPI UART TTL Converter Module 
ran.


Auf der Platine sitzt ein CH341A USB Control Chip.

von Volker (Gast)


Lesenswert?

stefanus schrieb:
> Von I²C wüde ich abraten, denn das decken die Standard USB Treiber nicht
> ab. Nimm lieber einen USB-UART, also einen virtuellen COM Port.

Habe noch ein USB nach COM Modul, so ähnlich wie das hier:
http://www.ebay.de/itm/NEW-USB-To-TTL-COM-Converter-Module-buildin-in-CP2102-/170872574767?pt=LH_DefaultDomain_0&hash=item27c8cc932f

Das läuft dann bei Win ohne Treiber und für die Kommunikation mit dem 
M88 benötigt man nur einen Software-UART und die Verbindungsleitungen 
GND, RXD und TXD?!?

von Volker (Gast)


Lesenswert?

Wobei das Problem ja ist, dass keine 100%-stabile Taktfrequenz vorliegt, 
hat stefanus das bedacht?

von Volker (Gast)


Lesenswert?

Mir welchen Terminalprogrammen kann man denn eine Kommunikation über die 
genannten Module zum µC  herstellen?

Geht das auch mit dem HyperTerminal von Win?
(scheint mir eher für Internetverbindungen gedacht)

von Brater (Gast)


Lesenswert?

hterm.

Das Hyperterminal von Windoofs ist absolut besch.....

Wenn du den USB/COM-Konverter nimmst, einen China Arduino nano dazu, 
solltest du glücklich werden.

von Bernhard S. (b_spitzer)


Lesenswert?

Statt Hyperterm lieber H-Term
oder als "Alleskönner" PuTTY oder Hercules Terminal(für Geräte von 
HW-Group gedacht, kann im Netzwerkbereich auch kleine Server-Dienste)

von Volker (Gast)


Lesenswert?

Danke!

Habe mir HTERM hier runtergeladen:
http://www.heise.de/download/hterm-3753283.html

Und hier den Treiber (CP210x) für das CP2102 USB to UART Bridge 
Controller Modul:
http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

Werde es gleich mal testen.

von Andreas S. (igel1)


Lesenswert?

Hi Volker,

Du hast geschrieben:
> Habe noch ein USB nach COM Modul, so ähnlich wie das hier:
> Ebay-Artikel Nr. 170872574767
>
> Das läuft dann bei Win ohne Treiber und für die Kommunikation mit dem
> M88 benötigt man nur einen Software-UART und die Verbindungsleitungen
> GND, RXD und TXD?!?

Ich habe vor 1-2 Jahren einmal ganze 10h auf so einen USB->RS232 
Konverter aus China vergeudet - der war allerdings mit dem PL2303-Chip 
ausgestattet gewesen.

Schlußendlich fand ich dann heraus, daß dieser Konverter einen 
Nachbau-Chip enthielt, der leider nicht 100% identisch mit dem Original 
war und der mit neueren Treiber-Versionen Probleme hatte.
Zu diesem Zeitpunkt war der schöne Sonntag aber schon futsch.

Daher mein Rat: Solltest Du auf Probleme mit dem Konverter stoßen, mach' 
nicht den selben Fehler wie ich und investiere viel Zeit in die 
Fehlersuche. Nimm' in so einem Fall lieber einen USB->RS232 Konverter 
aus seriöser Quelle, der optimalerweise auf einem FTDI-Chip basiert. 
Die sind zwar etwas teurer, funktionieren dafür aber zuverlässig - 
ähnliche Erfahrungsberichte habe ich in vielen Foren gefunden.

Viele Grüße

Igel1

von Volker (Gast)


Lesenswert?

Danke für die Info, werde das beherzigen!

Erkannt wird der virtuelle COM-Port schon mal, er wird in HTERM als COM9 
angezeigt.

Den Rest probiere ich nach dem Wochenende aus.


Eine Frage hätte ich noch. Weil der µC mit internem Resonator läuft, 
wird die Taktfrequenz wahrscheinlich leicht daneben liegen.
Kann man dem entgegenwirken, indem man eine niedrige Baudrate verwenden?

von Andreas S. (igel1)


Lesenswert?

Hi Volker,

das Fenster zwischen Norm-Baudrate und der von Dir erzeugten Baudrate 
ist nicht sonderlich groß:

Du darfst ca. 2% von der genormten Baudrate abweichen, wenn Du bei jeder 
fallenden Flanke des Startbits neu synchronisierst.

Mit RC-Kombinationen reicht das meistens nicht einmal für 9.600 Baud, 
denn das Dingen soll da vermutlich im Sommer und Winter funktionieren 
:-)

Wenn Du kein Atomkraftwerk damit steuerst, so würde ich 2400 Baud 
probieren - könnte klappen.

Viele Grüße

Igel1

von Patrick B. (p51d)


Lesenswert?

Die meisten Wandler Chips (also die FTDI habens, und auch solche von ST) 
haben auch gleich ein CLK Ausgang, so könntest du zumidest die CLK 
synchronisieren, was wieder eine höhere Baudrate zuläst.
Aber ansonsten ja, kleiner Baud = weniger Fehler (je nach Chip kann die 
USART auch 3-5 Samples pro Bit machen womit auch wieder Fehler reduziert 
werden -> siehe oversampling von z.b ST).

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.