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 PCBSchemat 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.