Chciałbym przedstawić prosty projekt “przekaźnika” na USB. Słowo przekaźnik specjalnie jest w cydzysłowiu, gdyż zastosowano tutaj innego rodzaju sposób załączania, niż to jest spotykane w mechanicznych przekaźnikach. W tym projektcie użyto transoptor wraz z triakiem do złączania odbiornika zasilanego napięciem sieci 230V lub innym napięciem przemiennym. Zastosowany triak pozwala załączać odbiorniki zasilane napięciem do 600V.
Schemat i PCB
Schemat jest stosunkowo prosty. Wykorzystano znany mikrokontroler Atmega Attiny45 odpowiednio zaprogramowany, tak aby można było sterować wyjściem PB0. Mimo prostoty uparłem się wykonać własną płytke PCB, aby to dobrze wyglądło i bezpiecznie użytkowało. P
amietajmy, że mamy doczynienia z napięciem króre potrafi zabić człowieka!!!


Płytka jest stosunkowa mała, wielkości wspołczesnych pendrivów. Płytka ma dwie strefy: niskiego napięcia i wysokiego napięcia. Obszar od pinów MOC3043(biały układ) do złacza ARK2 jest objęty wysokim napięciem 230V, pozostały niskiego napięcia bezpiecznego dla człowieka (+5V).
Finalizując cały układ można obwinąć taśmą izolacyjną lub nasunąć koszulkę termokurczliwą o takiej długości, aby widoczne było złacze USB i ARK. Wówczas powinno być bezpiecznie.
(Na zdjęciach zabrakło złacza dla bezpiecznika, ale tytczasowo nie dysponuje takim złaczem. Jak tylko otrzymam zmienie fotki).
Dla testu podłaczyłem innego rodzaju obudowę bezpiecznika - na kabelku. Tak też można zrobić.
SterowanieUkład po podłaczeniu do routera/komputera widoczny jest pod komendą 'lsusb':
Bus 001 Device 055: ID 16c0:05df VOTI
Bardziej szczegółowo
Bus 001 Device 055: ID 16c0:05df VOTI
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x16c0 VOTI
idProduct 0x05df
bcdDevice 1.00
iManufacturer 1 digi-led.pl
iProduct 2 usbRelay
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 74mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 0 (Defined at Interface level)
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 10
Device Status: 0x0000
(Bus Powered)
Do sterowania układu jest napisane dedykowane oprogramowanie(dla Linuksa) o banalnej obsłudze:
Załączenie:
./usbrelay on
Wyłaczanie:
./usbrelay off
Status:
./usbrelay status
Program działa tylko i wyłącznie z urządzeniem o w/w podanych PID:VID. Stan przekaźnika sygnalizowany jest dioda LED - tutaj o kolorze żółtym.
Na koniecCałość bazuje na licencji OSHW. Dlatego też projekt - oprogramowanie(firmware, program do sterowania) oraz schematy zostały udostępnione i są na stronie
https://github.com/artekw/usbRelay. Być może ktoś posili się o jakieś modyfikację, próby robienia we własnym zakresie.