Pitanje:
Slanje signala na USB priključak pomoću C
user5369
2011-08-15 18:42:14 UTC
view on stackexchange narkive permalink

Želim poslati jednostavan 5V signal na USB priključak. Izolacija USB kabela uklonit će se i spojiti na relej koji je spojen na električni sustav vrata. Mislim da bih trebao napisati ovaj kod na C. Može li mi netko dati savjet?

5v signal na USB port? Nisam siguran da razumijem što želite.
u redu, elektronika nije moja specijalnost. Moram poslati signal s usb porta na usb kabel. To je sve, nema veze što sam rekao o 5V ranije :)
Što kažete na uređaj USB s serijskim uređajem i samo kontrolirate jedan od signala poput Ready to Send ili sličnog?
Pet odgovori:
Majenko
2011-08-15 19:23:46 UTC
view on stackexchange narkive permalink

Ne možete raditi što želite samo spajanjem releja na USB priključak.

USB je sabirnica na kojoj radi serijski protokol. Potrebno je da se povežete s tom sabirnicom koristeći odgovarajuće protokole.

Trebat će vam upotreba "uređaja" koji je sposoban programirati se da reagira na računalni poticaj i aktivira vanjski signal .

Postoji mnogo načina da se to postigne, od gotovih proizvoda, preko DIY kompleta, pa sve do diskretnih IC-a koje možete koristiti za izgradnju vlastitog sustava.

Osobno bih preporučio jedan od mnogih dostupnih DIY kompleta, poput ploče eksperimentalnog sučelja USB Velleman K8055. Mnogo je sličnih.

Ako želite ući u glatku prljavštinu, tada trebate promatrati stvari poput Mikrokontrolera (na kojima se temelji Velleman), a koji se mogu programirati na učiniti mnogo različitih stvari. Neki od njih imaju ugrađenu USB podršku, ali potrebno je poprilično detaljnog znanja o USB protokolu da biste se s njima uhvatili ukoštac. Većina ljudi koristi "FTDI" čip za prvo pretvaranje USB-a u RS-232.

Ako želite gotov proizvod, možda biste željeli pogledati mogućnost USB paralelnog pisača Uključite proizvod koji možete programirati i pristupiti mu kao da je paralelni (Centronics) priključak izravno spojen na vaše računalo. To bi vam dalo 8 izlaza koje možete uključiti i isključiti.

Ipak, pripazite na još jednu stvar - većina izlaza računala / mikrokontrolera neće biti dovoljno moćna da izravno pokreće relej. Morat ćete napajati signal kroz neki krug "vozača" da biste postigli dovoljno snage. Ovo može biti jednostavno poput pojedinog tranzistora ili možda gledate nešto složenije, poput MOSFET-a itd. Oh, pazite se "Natrag EMF" - relej je "induktivno opterećenje".

Je li moguće koristiti RJ45 samo za slanje signala? ili moram koristiti mikrokontroler?
RJ45 je Ethernet priključak - koji također ima protokole i signalizaciju o kojima treba brinuti. Jednako složen kao (ako ne i više od) USB-a.
@user5369 - Ethernet priključak, poput USB priključka, nije jednokračni signalni sustav. Signali se šalju niz vod pomoću diferencijalnih struja, a ne tako da linija bude visoka ili niska. Paralelni priključci za pisač i serijski priključci RS232 približno su jedini konektori koje ćete vjerojatno pronaći na računalu i koji koriste jednostruku signalizaciju da možete postaviti "visoko" ili "nisko" kako želite.
Kellenjb
2011-08-15 19:21:38 UTC
view on stackexchange narkive permalink

USB nije tako jednostavan kao što izgledate da mislite. USB ima komunikacijski protokol koji vam ne omogućuje jednostavno izlaz visokog ili niskog iznosa.

Vjerojatno najjednostavniji način da to učinite je upotreba mikrokontrolera spojenog preko USB-a serijskim na USB način. Za to možete koristiti FTDI čip. Nakon spajanja na FTDI čip računalo će instalirati virtualni serijski priključak. Zatim možete poslati podatke na ovaj serijski priključak i mikrokontroler će ih primiti putem UART-a. Mikrokontroler tada može čitati u paketima koje šaljete, a vi možete imati 1 paket za "uključeno", a drugi za "isključeno". Mikrokontroler bi samo isključio pin visoko ili dolje na temelju posljednjeg paketa koji je primio.

Druga mogućnost koju treba razmotriti bila bi izravna upotreba serijskog porta. Mnoga računala daju vam kontrolu nad čistom za slanje igla tipa. Ako možete dobiti ovu sposobnost, bilo bi samo pitanje da li imate program koji prebacuje stanje slanja za slanje.

stevenvh
2011-08-17 13:57:58 UTC
view on stackexchange narkive permalink

USB je sofisticirana serijska sabirnica koja omogućuje komunikaciju između hosta (vašeg računala) i do 127 uređaja (sve vrste proizvoda povežete se s računalom). Čini se da nemate izravan pristup autobusu, ionako ne možete s njim jednostavno uključivati ​​i isključivati ​​stvari. Ali za to postoji niz rješenja.

Računala imaju sve manje priključaka EIA232 (često se nazivaju starim imenom RS232), ali ponekad vam je potreban. Nekoliko tvrtki specijaliziranih za sučelja, takozvani mostovi , koji USB sabirnicu pretvaraju u EIA232. FTDI poznati je proizvođač tih mostova, a u drugim odgovorima predloženo je korištenje upravljačkih signala EIA232 za upravljanje relejem. To može funkcionirati, ali zapravo se radi o nepravilnoj upotrebi EIA232.

Manje poznati proizvod FTDI-a je FT245R pretvarač USB u FIFO, koji vam omogućuje upravljanje općenito U / I putem USB-a. Ovaj proizvod tvrtke DLP Design modul je spreman za upotrebu zasnovan na FT245R.

USB245 module

Upotrijebite jedan od U / I za prebacivanje releja preko tranzistora. (Ulazno-izlazni izlazi ne mogu isporučiti potrebnu struju za izravno pokretanje releja.)


Pogledajte također ovaj odgovor na povezano pitanje.

Nick Johnson
2011-08-16 05:10:31 UTC
view on stackexchange narkive permalink

Kao što su drugi istakli, USB je sabirnica, pa morate koristiti uređaj s druge strane da biste naredbe sabirnice pretočili u fizičke radnje. Najlakši način da to učinite je da upotrijebite brojne postojeće proizvode dizajnirane za to, bez potrebe za pisanjem koda za ugrađeni kraj - na primjer, Phidgets imaju čitav niz uređaja - ovaj relej ploča vjerojatno je ono što želite.

Ako ste spremni naučiti malo ugrađenog programiranja, Arduino ili tinejdžer pružaju pristupačnije i hakabilnije opcije.

Chris Stratton
2011-08-17 10:28:07 UTC
view on stackexchange narkive permalink

Izravno prebacivanje 5v bilo bi moguće samo ako imate informacije o programiranju na niskoj razini i prava pristupa za USB PHY ili čvor čvorišta, tj. mogućnost omogućavanja / onemogućavanja 5v VBUS-a (i to posebno za određeni port , ako trebate zadržati rad drugih uređaja kao što je USB tipkovnica).

Definitivno postoje sustavi na kojima bi to bilo moguće (usamljeni USB priključak tableta s kojim sam se nedavno igrao, na primjer), ali to je vrlo implementacijski specifičan i neprenosiv hack.

Većinom su poželjni prijedlozi koje vam daju svi drugi za upotrebu USB-I / O čipa poput FT245 ili mikrokontrolera s omogućenom USB-om ili čak spremne USB-relejne ploče , budući da rade putem upravljačkih programa koji se oslanjaju na standardni USB protokol i ne ovise o intimnom znanju pojedinih čipova koji se koriste za implementaciju sučelja hosta ili čvorišta.

UREDITI: Pokušavam se prisjetiti, možda zapravo biti standardne naredbe za omogućavanje / onemogućavanje VBUS-a određenih nizvodnih priključaka na čvorištu, ali u praksi malo čvorišta zapravo ima potreban uređaj za prebacivanje napajanja da to implementira. Pronaći onaj koji to čini možda neće biti jednostavnije / jeftinije od kupnje USB-relejne ploče.



Ova pitanja su automatski prevedena s engleskog jezika.Izvorni sadržaj dostupan je na stackexchange-u, što zahvaljujemo na cc by-sa 3.0 licenci pod kojom se distribuira.
Loading...