USB_4_Relais
SainSmart USB 4 Kanal Relais Modul ( http://www.sainsmart.com/ )
Dieses Relais Modul kostet ca. 17 Euro bei Amazon
Das Board wurde "nackt", d.h. ohne irgendeine Dokumentation geliefert. Keine Beschreibung, kein Schaltplan. Na ja, das Board soll ja nur funktionieren. Und wenn es mal funktioniert, braucht man keine Dokumentation mehr, ;-) .
Auf der Web-Seite von diesem Relaisboard von SainSmart gibt es einen "Download Link". Von dort kann man die Containerdatei "USB8RelayManager.rar" herunterladen. Nachdem der darin enthaltene Treiber geladen ist, steuert "USB 8 Relay Manager v.1.4.exe" die vier Relais an.
Bei dem gelieferten Board gab es eine Falle : Der Jumper "R10", mit dem man die 5 Volt von der USB Buchse "5V" zur Stromversorgung der Relais "VCC" verbindet, war nicht bestückt.
Nachdem dieser Jumper bestückt und gesteckt war, funktionierte das Board mit der Windows Software. Vorher wurde das Board zwar erkannt, aber kein Relais klackte. Es gibt auf dem Board zwei rote Kontroll-LEDs für die Spannungen, eine für den FTDI Chip, und eine für die Relais (Relay LED & USB LED, siehe Fotos). Böse Falle. Insbesondere da man dies ohne Schaltplan oder sonstige Dokumentation nur raten kann. Der Jumper ist auf den Produktfotos auf den Webseiten des Herstellers und bei Amazon bestückt, aber nicht gesteckt. Im Nachhinein betrachtet hätte das auch sofort auffallen können, ;-) . Auch weil da "5 V" und "VCC" auf der Platine steht.
Die ebenfalls in der Containerdatei enthaltene Dokumentation zu dem FTDI Chip ist interessant. Dort wird der benutzte "Bit Bang Mode" erklärt.
Zur Zeit dreht sich das Board leider noch nicht unter Linux. Daran wird gearbeitet.
Dokumentation : Application Note AN_220 FTDI Drivers Installation Guide for Linux
Der USB Treiber muß, wie in der Dokumentation beschrieben, getauscht werden. Kein ttyUSBnn. Wäre natürlich schön, wenn es auch mit dem Standardtreiber funktionieren würde.
pi@xhs01 ~/Desktop/arm926 $ ./statictest
libusb couldn't open USB device /dev/bus/usb/001/004: Permission denied.
libusb requires write access to USB device nodes.
FT_ListDevices failed: error code 2.
pi@xhs01 ~/Desktop/arm926 $ sudo ./statictest
Device 0: serial number is A7033IHE
Device 0:
Flags = 0x0
Type = 0x5
ID = 0x04036001
LocId = 0x104
SerialNumber = A7033IHE
Description = FT245R USB FIFO
ftHandle = (nil)
EEPROM: Vendor Id = 0x0403
EEPROM: Product Id = 0x6001
EEPROM: Manufacturer = FTDI
EEPROM: ManufacturerId = A7
EEPROM: Description = FT245R USB FIFO
EEPROM: Serial number = A7033IHE
pi@xhs01 ~/Desktop/arm926 $
root@xhs01:/dev/bus/usb/001# ls -1cl
total 0
crw-rw-r-T 1 root root 189, 0 Jan 1 1970 001
crw-rw-r-T 1 root root 189, 1 Jan 1 1970 002
crw-rw-r-T 1 root root 189, 2 Jan 1 1970 003
crw-rw-r-T 1 root root 189, 3 Jan 1 1970 004
crw-rw-r-T 1 root root 189, 4 Jan 1 1970 005
root@xhs01:/dev/bus/usb/001#
Die große Frage ist jetzt, wie man die Relais ansteuert ?
Problem : Um den FTDI anzusprechen, müssen folgende Anweisung gegeben werden :
"
sudo rmmod ftdi_sio <ret>
sudo rmmod usbserial <ret>
"
Das funktioniert nicht, wenn man noch weitere USB Geräte ansteuern möchte :
pi@xhs01 ~ $ sudo rmmod ftdi_sio
Error: Module ftdi_sio is in use
pi@xhs01 ~ $
Außerdem will niemand die Treiber wirklich deinstallieren. ttyUSBn ist schön !
Einfach mal den Treiber ttyUSBn versuchen, mit Putty in den diversen Einstellungen, mit verschiedenen Baudraten spielen, brachte bislang leider auch keinen Erfolg.
Grrrrrr .....
Also, wenn man ein Relaisplatine entwickeln möchte, dann so etwas. Aber bitte dann den FTDI Chip nehmen, der sich bei Windows und Linux als serielle Schnittstelle anmeldet (COMnn, ttyUSBn). Und dann eine simple Befehlssyntax.
Schade, es hätte so schön sein können ....