Hej
Har for nyligt installeret Ubuntu på min HTPC og er nu ved at lave et system der kan styre mine gardiner fra computeren. Kredsløbet og det mekaniske har jeg som sådan styr på problemet er at jeg ikke er sikker på hvad der er den nemmeste måde at få nogle digitale I/O's på. Jeg har ingen parallel port på mit bundkort og nogle usb til parallel er eftersigende kun til printere (understøtter ikke skrivning til pins for sig selv) og jeg slet ikke om de understøtter linux.
Så håber at nogen af jer ved hvorledes jeg nemmest får nogle digitale porte jeg selv kan styre via noget c++. Skal i alt bruge 8 outputs og 4 inputs.
På forhånd tak.
usb til parallel / digital I/O
-
- Indlæg: 3
- Tilmeldt: 25. jul 2009, 10:12
- IRC nickname: Briam
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: usb til parallel / digital I/O
Briam skrev:Hej
Har for nyligt installeret Ubuntu på min HTPC og er nu ved at lave et system der kan styre mine gardiner fra computeren. Kredsløbet og det mekaniske har jeg som sådan styr på problemet er at jeg ikke er sikker på hvad der er den nemmeste måde at få nogle digitale I/O's på. Jeg har ingen parallel port på mit bundkort og nogle usb til parallel er eftersigende kun til printere (understøtter ikke skrivning til pins for sig selv) og jeg slet ikke om de understøtter linux.
Så håber at nogen af jer ved hvorledes jeg nemmest får nogle digitale porte jeg selv kan styre via noget c++. Skal i alt bruge 8 outputs og 4 inputs.
På forhånd tak.
Hej Briam
Jeg er udannet IT ingeniør med specialisering i Teknisk og Embedded Software. Dit problem ligger indenfor mit fagområde.
Jeg kan fortælle dig at det er mest almindeligt at bruge en seriel port, og så en microcontroller i den anden ende via en USB <--> seriel adapter.
Du kan også bruge en USB <--> parallel port adapter. Parallelporten har max 8-bit, så du bliver nødt til at lave noget digital elektronik, som laver multiplex-I/O.
Du skal huske modstande i de multiplexede I/O portbits for at undgå at brænde elektronikken i USB <--> parallelport adapteren af. (Hint: 2 porte er konfigureret som output - den 1. er logisk lav - den 2. er logsik høj = kortslutning gennem 2 I/O porte, hvis de er forbundet). Du skal også huske at låse ubruge indgange til en forsyningsspæding (ground eller +5V)
Digital elektronik, som du skal bruge:
3 stk 74LS373 / 74HCT373 - Octal D-Type Transparant Latch, 3- state, og
1 stk 74LS238 / 74HCT238 - 3-TO-8 Line decoder / demultiplexer (A2 benet skal forbindes til ground).
Edit1:
kommer lige i tvivl om man kan bestemme retning (I eller O i I/O) på portbits på en paralelport - tvivler på det. ellers er løsningen seriel, med 2 seriel->parallel logik kredse + glue digtalelektronik - eller bedre en mikrocontroller og en seriel rs232 <-> TTL level shifter (MAX232 eller MAX3232 afhængig af forsyningsspænding).
Edit2:
om Edit1: Det kan man godt på nibble (4-bit) niveau hvilket er implementeret i IEEE 1284 standarden, som der også er en device driver for: Det beyder at parallel port løsningen med de 4 74LS/74HCT kredse vil virke.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 3
- Tilmeldt: 25. jul 2009, 10:12
- IRC nickname: Briam
Re: usb til parallel / digital I/O
Mange tak for svaret... Jeg har i mellemtiden fundet en lidt anden løsning som i mine øjne er noget af det samme du forslår
http://www.schmalzhaus.com/UBW/
Og den kan jeg endda købe færdig på sparkfun.com så vidt jeg har forstået kommer jeg til at se den som en seriel port når jeg sætter den til computeren. Jeg er bare usikker på hvordan man så tilgår den i sin kode.
Det med usb til parallel er jeg ret sikker på slet ikke vil virke. Har læst mange steder at de adaptere kun virker med printere og at du derfor ikke kan bit bange.
Min plan var så at bruge 4 h-broer altså 2 l298 til at styre mine 4 motorer. Jeg har leget med en l298 før men kan se inde på sparkfun at de har sådan en her
http://www.sparkfun.com/commerce/product_info.php?products_id=315 I beskrivelse står der quad half h-bridge, men hvad en er halv h-bro? og vil den på sparkfuns side være et bedre valg en en l298 eller noget helt tredje?
http://www.schmalzhaus.com/UBW/
Og den kan jeg endda købe færdig på sparkfun.com så vidt jeg har forstået kommer jeg til at se den som en seriel port når jeg sætter den til computeren. Jeg er bare usikker på hvordan man så tilgår den i sin kode.
Det med usb til parallel er jeg ret sikker på slet ikke vil virke. Har læst mange steder at de adaptere kun virker med printere og at du derfor ikke kan bit bange.
Min plan var så at bruge 4 h-broer altså 2 l298 til at styre mine 4 motorer. Jeg har leget med en l298 før men kan se inde på sparkfun at de har sådan en her
http://www.sparkfun.com/commerce/product_info.php?products_id=315 I beskrivelse står der quad half h-bridge, men hvad en er halv h-bro? og vil den på sparkfuns side være et bedre valg en en l298 eller noget helt tredje?
-
- Indlæg: 155
- Tilmeldt: 5. jun 2008, 11:46
- Geografisk sted: Odense
Re: usb til parallel / digital I/O
Briam skrev:I beskrivelse står der quad half h-bridge, men hvad en er halv h-bro?
En halv H-Bro er som navnet antyder kun halvdelen af en hel H-bro.
Kontakterne er som regl erstattet af BJT-transistorer eller FET-transistorer.
Parallelporten har max 8-bit, så du bliver nødt til at lave noget digital elektronik, som laver multiplex-I/O.
Det er ikke helt sandt. Parallelporten har 8 bits som (normalt) er bidirektionelle. Der ud over har den også 5 inputs og 4 outputs.
Mvh Simon
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: usb til parallel / digital I/O
larsth skrev:Parallelporten har max 8-bit, så du bliver nødt til at lave noget digital elektronik, som laver multiplex-I/O.
Det er ikke helt sandt. Parallelporten har 8 bits som (normalt) er bidirektionelle. Der ud over har den også 5 inputs og 4 outputs.
Hej Simon.
Om parallel port:Nytiig information, men hvis man skal bruge dem skal man til at lave sin egen special tilpassede device driver.
Det er ikke umuligt at lave en device driver - men det er ikke meget nemt. Fordelen er at man kan lave driveren så den passer til det specielle behov man måtte have.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 5095
- Tilmeldt: 27. apr 2008, 02:16
- IRC nickname: lars_t_h
- Geografisk sted: Fyn
Re: usb til parallel / digital I/O
Briam skrev:Mange tak for svaret... Jeg har i mellemtiden fundet en lidt anden løsning som i mine øjne er noget af det samme du forslår
http://www.schmalzhaus.com/UBW/
Og den kan jeg endda købe færdig på sparkfun.com så vidt jeg har forstået kommer jeg til at se den som en seriel port når jeg sætter den til computeren. Jeg er bare usikker på hvordan man så tilgår den i sin kode.
Kigger du lidt mere på siden kan se at det kræver programmering af firmware ned i en PIC mikrocontroller.
De skriver også om Windows - er du uheldig har den hardware du har kig på kun en Windows USB device driver.
Det er bedst at bruge en microcontroller, hvor du kan slukke for computeren, og lade mikrocontrolleren styre det hele - og kun give mikrocontrolleren data om hvad den skal gøre.
Jeg plejer at bruge Atmel mikrocontrollere, men er begyndt at bruge ARM Cortex M3 mikrocontrollere.
/Lars
Jeg er Software ingeniør (Diplomingeniør) i Informationsteknologi og indlejede systemer, hvor indlejrede systemer er computer (microcontroller) + elektronik i for eksempel et TV, en router, en vaskemaskine og den slags
-
- Indlæg: 3
- Tilmeldt: 25. jul 2009, 10:12
- IRC nickname: Briam
Re: usb til parallel / digital I/O
Jeg har bestilt den og den kommer med firmware og hele skidtet allerede på. Så jeg kan faktisk styre den ved at sende kommandoer til den. Har læst at den i linux dukker op som en seriel port uden nogen ekstra drivere.
Problemet med at lade en microcontroller styre det hele er at jeg gerne vil kunne styre gardinerne med den fjernbetjening jeg bruger til alt det andet (ipod touch). Derfor er det nødvendigt at lade det gå igennem computeren.
De gange jeg har brugt parallelporten har jeg brugt inpout32.dll
Problemet med at lade en microcontroller styre det hele er at jeg gerne vil kunne styre gardinerne med den fjernbetjening jeg bruger til alt det andet (ipod touch). Derfor er det nødvendigt at lade det gå igennem computeren.
De gange jeg har brugt parallelporten har jeg brugt inpout32.dll