Mini-USB-Modul UM2102

Mini-USB-Modul-UM2102_Titel

Die RS232-Schnittstelle ist nach wie vor bei Mikrocontroller-Projekten sehr beliebt. Moderne PCs werden jedoch nicht mehr mit der RS232-Schnittstelle ausgestattet, dafür aber mit USB-Ports. Deshalb ist ein Umsetzer von USB auf die UART-Schnittstelle ein oft benötigtes Hilfsmittel. In diesem Beitrag möchte ich ein sehr preiswertes und nützliches Modul empfehlen, das UM2102 Modul von ELV.

Es müssen lediglich 3 Signale (RX/TX und GND) mit Ihrem Mikrocontroller verbunden werden. Anschließend kann ein vorhandenes Controllerboard mit einem herkömmlichen USB-Kabel mit dem PC verbunden werden. Ein Treiber wird von Ihrem Betriebssystem in der Regel nach dem Anschluss völlig automatisch installiert.
Der Treiber stellt automatisch einen virtuellen COM-Port bereit, welcher ganz normal mit einem Terminalprogramm (in der Bascom und Arduino IDE integriert) überwacht werden kann.

Das Modul UM2102* wird von er Firma ELV angeboten und ist zum Beispiel ideal passend zu unseren Projekten RN-AVR Universal, RN-MikroFunk aber auch zu nahezu allen Arduino-Boards.

Features des USB-Moduls

  • schnelle Erweiterung eines Controllers mit USB-Schnittstelle
  • es reichen 3 Drähte zur Verbindung mit dem Controller (RX/TX/GND)
  • Treiber werden oft automatisch installiert
  • gängige Treiber zu vielen Betriebsystemen verfügbar
  • ideal passend zum Projekt RN-AVR Universal (einfach nur einstecken/einlöten)
  • günstiger Preis
  • fertig aufgebaut, lediglich Stift- oder Buchsenleisten müssen eingelötet werden
  • deutsche Doku
  • winzige Größe von ca. 2,6 cm x 1,8 cm
  • Übertragungsrate 300 bis 921.600 Baud
  • wird über USB-Schnittstelle mit Spannung versorgt
  • 5V USB-Spannung kann für eigene Schaltungen genutzt werden
  • stabilisierte 3,3V / 100mA für eigene Schaltungen verwendbar
  • Signale RX,TX,RTS,CTS,DSR,DCD,DTR,RI,TX,RTS,DTR/Suspend
  • für 3,3V und 5V Ports geeignet
  • Standard 2,54 Raster

 

Pinbelegung

Mini-USB-Modul-UM2102_pinbelegung

Die einzelnen Signale sind in der Beschreibung (die dem Modul beiliegt) genau erläutert. Gewöhnlich werden im Betrieb an einem Controllboard nur die hier rot markierten Pins GND / RX und TX an die gleichnamigen Pins am Controller angeschlossen.
Danach kann das Modul bereits mit einem USB-Kabel mit dem PC verbunden werden und Daten austauschen. Der Treiber wird gewöhnlich automatisch installiert und legt einen virtuellen COM-Port am PC an.
Unten sieht man ein Beispiel wie man den COM-Port findet und das Modul nutzt.
Interessant ist noch der +5V Pin. Hier liegen die 5V des USB-Busses an. Er kann genutzt werden um eigene Schaltungen mit Spannung zu versorgen. Dabei ist zu beachten, dass dieser maximal mit 500mA belastet werden darf, eine höhere Belastung kann den PC beschädigen.

 

Schaltbild des UM2102 USB-Moduls mit Chip CP2102

Mini-USB-Modul-UM2102_beschaltung

Bezugsquelle

 

Bascom Testprogramm für RS232 bzw. USB Datenübertragung

Als Beispiel für die Nutzung des USB-Modules nehmen wir unser Projekt RN-AVR Universal.
RN-AVR-Universal hat bereits einen pinkompatiblen Steckplatz, wo das Modul eingesteckt oder eingelötet werden kann.

Mini-USB-Modul-UM2102_am Projekt RN-AVR Universal

Mini-USB-Modul-UM2102_am Projekt RN-AVR Universal

Wenn man sehen will, welcher COM-Port für das Modul benutzt wurde, dann schaut man in der Systemsteuerung nach, siehe Bild.

Der virtuelle COM-Port wird im Gerätemanager angezeigt

Der virtuelle COM-Port wird im Gerätemanager angezeigt

Im Bild erkennt man, dass hier COM8 reserviert wurde. Über ein Terminalprogramm oder eigene Programme können die Daten quasi so ausgetauscht werden, als wäre das eine normale serielle Schnittstelle.
Um das Ganze zu testen, kann man unter Bascom nachfolgenden Code nutzen.
Compilieren Sie es und übertragen Sie es per ISP-Programmer in das Board RN-AVR Universal.
Jetzt wählen Sie in Bascom das eingebaute Terminalprogramm und stellen dort die oben ermittelte COM8 Schnittstelle ein (siehe Bild).

In der IDE wird der COM-Port eingetragen

In der IDE wird der COM-Port eingetragen

Im blauen Fenster des Terminalprogramms sehen Sie nun die Daten, die unser Board aussendet. In unserem Fall ist das eine Zahl die im Sekundentakt hochgezählt wird. Also die Datenübertragung klappt! Natürlich kann man gleichzeitig auch Daten vom PC zum Board übertragen.

Hier noch der Quellcode unseres Beispielprogrammes:

'##############################################################
'RS232_USB_Beispiel.bas
'
'Ein Testprogramm für die Universalplatine RN-AVR UNIVERSAL
'
'Das Programm zählt eine zahl hoch und gibt diese im Sekundentakt
'über die RS232 Schnittstelle aus
'Wenn ein USB Modul an RN-AVR UNIVERSAL angesteckt oder eingelötet wurde
'dann wird die zahl über USB zu einem virtuellen COM Port übertragen
'und kann auch mit allen Programmen oder Terminalprogramm empfangen werden
'
'######################################################################


$programmer = 12 'MCS USB (Zeile weglassen wenn anderer Programmer)
$prog &HFF , &HFF , &HD9 , &HFE 'Fusebits richtig programmieren (Quarz ein,Jtag aus)

$regfile = "m644def.dat"
$framesize = 32
$swstack = 32
$hwstack = 64

$crystal = 8000000 'Quarzfrequenz
$baud = 9800 'Baudrate (Übertragungsgeschwindigkeit)
Baud = 9800

Dim Z As Integer 'Zahl definieren die hochgezählt wird

Config Pind.6 = Output 'LED
Led1 Alias Portd.6

Z = 0
Do
 Print "Zahl:" ; Z
 Z = Z + 1
 Toggle Led1
 Wait 1
Loop

Weblinks zum Thema

2 Gedanken zu “Mini-USB-Modul UM2102

  1. Martin

    RS232 hat andere Pegel – das ist ein USB-seriell-Modul (hübsch aufgebaut, aus China würde man für den Preis aber 5 Module inkl. Porto bekommen).
    ELV weiß offenbar auch nicht genau, was RS232 ist 🙂

    Antworten
    • Frank Autor des Beitrags

      Nun das RS232 einen anderen Pegel hat weiß sicherlich jeder, dennoch nutzt das Modul das gleiche RS232 Protokoll. Ich denke es ist umgangssprachlich schon in Ordnung wenn man diesbezüglich von RS232 mit TTL-Pegel spricht. Es nur als serielle Schnittstelle zu bezeichnen wäre auch falsch, es gibt viele verschiedene serielle Schnittstellen. Also nicht so kleinlich sein 😉 Es mag sein das es das ein oder andere Modul noch günstiger in China gibt, allerdings nicht immer mit dem gleichen Chip. Unter Umständen kann es dann schon mal Treiberprobleme geben. Zudem kann man da nie sicher sein wie lange ein Modul unverändert angeboten wird. Wenn ich einen Schaltung konzipiere, dann möchte ich gerne das die Bauteile und Komponenten auch in 2 Jahren noch erhältlich sind und pinkompatibel bleiben.
      Hier habe ich mit diesem Modul sehr gute Erfahrung gemacht!

      Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Top