Forum: PC Hard- und Software Relaissteuerung über USB


von usbrelais (Gast)


Lesenswert?

Schönen Guten Abend,
ich habe mich vor einer Weile mit dem Parallelport beschäftigt und eine 
Relaiskarte dafür gebaut.
Nun möchte ich diese über USB betreiben.
Ich sitz jetzt hier schon eine Weile am PC und habe ziemlich viel 
gegooglet.
Mit einem USB-LPT Adapter scheint es nur mit äußerst viel Glück zu 
funktionieren. Ansonsten benötigt man fertige USB-Relaisplatinen bzw 
fertige µC, die mit USB umgehen können.
Ich hab mich mal mit der ganzen Funktionsweise von USB beschäftigt, aber 
nirgendwo geht jemand ganz genau darauf ein, was eigentlich abläuft, nur 
"usb meldet sich am controller an" etc.

Vornweg:
Ist es möglich die Relaiskarte mittels PicAxe(z.b. 20m2) über USB zu 
steuern?
Was genau muss der µC dann tun?
Prinzipiell würde ich mich als µC-Fortgeschrittener bezeichnen...Da es 
ja fertige Chips zu kaufen gibt, muss man das ja irgendwie selber 
hinbekommen.
Grüße

von Tjaja (Gast)


Lesenswert?

Entweder Du machst es Dir leicht, nimmst einen FTDI oder CP210x 
(USB-USART-Bridge) und hängst dahinter einen uC deiner Wahl ohne USB 
oder Du nimmst gleich einen uC mit USB (z.B. nen PIC oder nen Cortex 
z.B. ST oder NXP).
Microchip, ST oder NXP bieten da glaub ich auch gleich schon Beispiele 
an für CDC.

Von der Software aus kannst Du Dir dann noch eine kleine GUI basteln 
über die der uC parametriert werden kann. Dann könnte der uC die Pins 
selbst verwalten (z.B Uhrzeit, einstellbare Frequenz, PWM, o.ä.). 
Alternativ könnte man auch nur ein Kommando über ein Terminal schicken 
(z.B. PortA.1 on).

von usbrelais (Gast)


Lesenswert?

Also Softwareseitig würde ich ein C-Programm schreiben, das im 
Hintergrund läuft. Muss eigentlich auch garnix anderes machen als einen 
Pegel auf High und Low zu setzen um mein Relais zu schalten.

Als µC würde ich Pic bevorzugen, da wir den auch im Studium haben :)

Hab ich das jetzt richtig verstanden, dass ich da garnix weiter 
einprogrammieren muss und er von sich aus mit USB umgehen kann?
Nehmen wir mal das Beispiel mit dem PIC, was müsste ich an dem Teil noch 
machen um ein USB-Signal zu benutzen?
Grüße

von Christian R. (supachris)


Lesenswert?

Nimm am besten einen IOWarrior mit Relais-Treiber dahinter und fertig. 
Da musst du dich um die USB Sachen nicht kümmern und auch keinen µC 
extra programmieren.

von usbrelais (Gast)


Lesenswert?

IOWarrior sieht ja recht interessant aus, lediglich der Preis(11 Euro) 
schreckt bisschen ab, bin halt Student -.-
Hab jetzt hier eine 22Seitige PDF gefunden, wie ich das teil anspreche, 
aber mich interessiert lediglich nen Codeschnipsel, um sagen wir an Pin 
X einen HighPegel auszugeben.
Ich hab langsam keine Kraft mehr den ganzen Kram rauszusuchen, ich mach 
schon seit Tagen nix anderes mehr :(

Hat jemand Erfahrung damit und kann mir nen Codeschnipsel geben, mit dem 
ich den Pin X ansteuern kann? (Bitte nicht "googles doch selber", 
entweder jmd ist so freundlich, ansonsten halt nicht^^)

Wie sieht es aus mit Treibern? Einfach ran das Teil per usb und dann per 
Software angesteuert oder Bedarfs da noch mehr vorarbeit?
Grüße

von SNR (Gast)


Lesenswert?

usbrelais schrieb:
> IOWarrior sieht ja recht interessant aus, lediglich der Preis(11 Euro)
> schreckt bisschen ab, bin halt Student -.-

Rechen mal nur den uC, USB-Buchse, Hühnerfutter und die Platine...und Du 
bist garantiert teurer! Von den Relais mal ganz zu schweigen.

usbrelais schrieb:
> Hab jetzt hier eine 22Seitige PDF gefunden, wie ich das teil anspreche,
> aber mich interessiert lediglich nen Codeschnipsel, um sagen wir an Pin
> X einen HighPegel auszugeben.

Von Schnipsel würde ich da nicht unbedingt sprechen.

usbrelais schrieb:
> Ich hab langsam keine Kraft mehr den ganzen Kram rauszusuchen, ich mach
> schon seit Tagen nix anderes mehr :(

Dann kauf ein fertiges System. Anstecken und fertig.
Ich glaube sowieso dass das selber schreiben Dich überfordern würde 
(sorry, nicht böse gemeint).

Grüße

von Juppi J. (juppiii)


Lesenswert?

Die picaxe kannst du doch ansteuern,damit diese dann deine Relais 
schaltet.
Kannst auch den C Control pro32 nehmen ,der ist sehr einfach zu 
behandeln.
Gibt noch viele andere Möglichkeiten.
Je weniger Hard und Software Aufwand,welchen man sparen will,
umso teuerer.

20m2 kannst du auch mit einen USB to seriell ansteuern,wie ich mich 
erinnere.

von usbrelais (Gast)


Lesenswert?

Naja ich hab seit 2 Semestern Java und 3 Semstern C89, ich denk schon 
dass ich das selber schreiben hinbekomme, solang ich ne Vorlage hab, wie 
es geht, was die einzelnen Funktionen sind, etc. Ganz allein ausm 
Stehgreif wird das nix, das is klar :)


Auch wenn ich mich jetzt hier als absolut unfähig hinstell, aber
http://www.codemercs.com/116/?L=0
hier gibts eine Liste von Shops, die das Teil verkaufen.
Nur leider sind einige im Ausland oder verlangen sehr hohe 
Versandkosten(6 Euro) oder liefern nur komplette Kits, ich brauch aber 
lediglich eine Lochrasterplatine(ca 1 Euro) und die kleinste version von 
einem IO Warrior, soweit ich das gesehen hab der io warrior 24, sollte 
bis 13 Euro was dabei sein, kennt jemand eine Alternative?
USB Kabel hab ich noch genug rumliegen was ich modifizieren kann.
Hab mir mal eine Schaltung ausm Internet reingezogen:
Ich brauch eigentlich nur eigen 1,3KOhm Widerstand, mit dem ich VReg mit 
D- vom Usb verbinde(Wieso eigentlich?!), Kondensatoren um eine Konstante 
Spannung zu gewährleisten, evtl einen Jumper um zwischen High und Low 
Power switchen zu können, ein USB Kabel zum aufschneiden und ranlöten 
für die Spannungsversorgung und Datenübertragung
das wars dann schon oder?

Grüße

von Christian R. (supachris)


Lesenswert?

11€ ist doch für die eingesparte Programmierarbeit gut. Und das bissl 
Hühnerfutter drumherum ist ja wirklich nicht viel. Ich hab einiges mit 
den IOWarriorn schon gemacht, ging immer bestens. Man kann natürlich 
auch so ein FT232 oder FT245 Modul suchen, und das über die D2XX Dll 
ansprechen. Aber viel billiger als 11€ wirds da auch nicht. Oder halt 
eine der vielen V-USB Varianten zusammen frickeln, aber das ist dann 
immer ein Glücksspiel, ob die an deinem Rechner laufen. Die halten sich 
allermeist nicht an den USB Standard.

von SNR (Gast)


Lesenswert?

Christian R. schrieb:
> Man kann natürlich
> auch so ein FT232 oder FT245 Modul suchen, und das über die D2XX Dll
> ansprechen.

Ja, die Variante würde ich auch empfehlen.
FT232 und ein einfacher kleiner uC mit UART.
Wenn du dann die UART Initialisierung und Sende/Empfangsroutinen von 
hier übernimmst, dann noch die string.h um die empfangenen Strings zu 
Parsen und fertig ist der Fisch.
Wenn Du Dich bereits mit uC auskennst ist das ne Arbeit von ner Stunde.
Wenn nicht, sollte es in ein paar Tagen machbar sein dass Du die 
Ausgänge über ein Terminal ansteuerst.

von Christian R. (supachris)


Lesenswert?

Ich meinte eher den FTDI ohne uC zu benutzen, für ein paar Relais ist 
das komplett unnötig. Da reichen die GPIO des FTDI im BitBang Modus 
völlig aus. Macht doch die Sache nicht immer komplizierter als nötig.

von usbrelais (Gast)


Lesenswert?

und welcher FTDI bietet sich da an? gibts ja ein riesiges Sortiment :)
Am Besten einer mit Beinchen dran damit ich anständig mit meinem 
Amateurlötkolben arbeiten kann.

Wie sieht es da programmierseitig aus?
Hab bisschen Angst, dass ich mir den falschen kaufe  :(

Grüße

von usbrelais (Gast)


Lesenswert?

Bzw doch ein IO Warrior wenn das sich preislich eh nix nimmt.
Vergesst meinen letzten Post :)

Gibts irgendwo einen Shop mit vernünftigen versandkosten?

Weiß jemand wo ich ein ganz simples Programmierbeispiel dazu herbekomme?
Grüße

von Christian R. (supachris)


Lesenswert?

FTDI gibts nit in DIP. Nur als Modul. Der IOW24 wäre in DIP erhältlich, 
bestellbar u.a. bei Segor. Haben allerdings zeimlich heftige 
Versandkosten. Beispielcode gibts auf der Homepage beim Hersteller.

von usbrelais (Gast)


Lesenswert?

Hab mir jetzt nen Io Warrior 24, Widerstände und ne Platine bestellt. 
Inkl Versand 21 Euro. Geht eigentlich. Wenn ichs hab, probier ich damit 
unter Linux ne LED anzusteuern und wenn das funktioniert, die ganze 
Sache noch aufn nem Router zum Laufen zu bringen :)
Grüße

von StinkyWinky (Gast)


Lesenswert?

Dann hättest du ja gleich einen kleinen Printerserver mit Paralelport 
nehmen können...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.