PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : relaiskarte an usb



björn2
21.12.05, 15:56
Hi,
ich würde gerne eine Relaiskarte bauen, die man via USB mit dem PC steuern kan. USB deswegen, weil der Paralellport früher oder später ausstirbt und ohne größeren Aufwand nur 8 Relais steuern kann.

Leider hab ich keine Ahnung, wie ich das ganze an einem USB Anschluss realisieren kann... Ich denke, dass man irgendeinen IC mit einem Signal füttern muss, der dann entweder direkt die relais bzw Transistoren steuert, oder signale an andere ICs leitet, die dann nur bei einem bestimmten Signal das Relais steuern... Dieser IC muss ja aber vom System erkannt werden, außerdem sollte es OS unabhängig arbeiten.. (Lin/Win)
Die Relaiskarte sollte möglichst 10 Relais oder mehr steuern können.

Kann mir irgendjemand sagen, wie ich soetwas verwirklichen kann?
Ich hab zwar schon gegooglet, aber nichts gefunden was mir irgendwie weiter hilft :confused:

MFG
Björn

geronet
21.12.05, 17:09
Das geht nur mit einem Mikrocontroller, der entweder das USB Interface selbst eingebaut hat oder mit einem externen Interface-Baustein.
Da gibt es z.B. den PDIUSBD11 oder -12, den FTDI (sehr einfach) oder ein paar andere. So Projektseiten findest du auch oft auf mikrocontroller.net, ein nettes Forum.

Grüsse, Stefan

derguteweka
21.12.05, 18:14
Moin,

Wuerd' mal sagen, dass das richtig aufwaendige an so'nem Projekt eher die SW als die HW ist. Ich koennt mir vorstellen, dass das hier: http://usbirboy.sourceforge.net/
vielleicht ne ganz gute Basis fuer so ein Projekt waere, die HW ggf. noch mit 1-2 Schieberegistern à la 4094 und entsprechenden Treibern fuer die Relais aufgepeppt (das sind dann jeweils 8 weitere Relais pro Schieberegisterbaustein), der Rest ist dann heftiges hacken...

Gruss
WK

björn2
22.12.05, 14:39
Als ich nach den Controlern gesucht hab habe ich vor kurzem einen Bauplan im netz gefunden, den ich ganz interessant finde:D

Leider habe ich den link nicht mehr, allerdings hab ich die seite gespeichert.
Laut Erklärung ist das ein Modulsystem mit max 8 Relais pro master Karte, maximal 7 slave Karten pro master Karte á jeweils max 8 Relais und biszu maximal 256 Karten pro seriell port, welchen man über einen fertigen USB Adapter an jedem PC betreiben kann.
Es ist auch ein passendes Programm zum steuern dabei, das scheint allerdings recht komplex zu sein.
Naja, ich werde mir wohl mal eine Master Karte bauen und dann weiter sehen.

E S
23.12.05, 14:23
Hi,

unter Linux stirbt nichts aus. Mein Server "unterhält" sich ja auch anstandslos mit meinem 30 Jahre alten Terminal. Und die RS232 oder Parportadapter wird es noch eine lange Zeit geben.

Der Parport kann übrigens 12 relais, also Ist Deine Bedingung erfüllt:

8 Datenleitungen
5 Statusleitungen
4 Bidirektionale Leistungen

Also insgesamt 12 relais und noch immer 5 Eingänge frei!

Gruß
Elmar

buffoon
27.12.05, 13:46
Naja, USB ist glaub ich für so was schon zu umfangreich... Ich würde da auch die parallelle schnittstelle oder wenns sehr viel sein muss die serielle schnittstelle nehmen. Bei der seriellen schnittstelle gibt es ja nur 1 startbit, und danach kommen die Daten... Danach einfach die schieberegister immer schön takten und fertig... Dann wäre das Programm auch nicht so umständlich... Das takten könnte man ja mit einem einfachen Quartz machen...

Das war jetzt nur so schnell überlegt, aber das wäre wohl die wahrscheinlich billigste Möglichkeit...

Nur schade, dass diese Schnittstellen beim aussterben sind...

derguteweka
27.12.05, 15:06
Moin,


Naja, USB ist glaub ich für so was schon zu umfangreich... Ich würde da auch die parallelle schnittstelle oder wenns sehr viel sein muss die serielle schnittstelle nehmen.
USB ist eigentlich schon gut dafuer geeignet, das Problem ist halt bloss gegenueber den "Legacy"-Schnittstellen, dass die Ansteuerung nicht mehr so simpel mittels in/out-Befehlen geht, sondern halt ein richtiges umfangreiches Protokoll gefahren werden muss - das macht so 'n Projekt etwas komplexer aber auch interessanter...

Bei der seriellen schnittstelle gibt es ja nur 1 startbit, und danach kommen die Daten... Danach einfach die schieberegister immer schön takten und fertig... Dann wäre das Programm auch nicht so umständlich... Das takten könnte man ja mit einem einfachen Quartz machen...

Das war jetzt nur so schnell überlegt, aber das wäre wohl die wahrscheinlich billigste Möglichkeit...

Da gabs schon mal n paar Threads, die sich genau mit so 'ner Schaltung bzw. der SW dazu befasst haben:
http://www.linuxforen.de/forums/showthread.php?t=193331
http://www.linuxforen.de/forums/showthread.php?t=192134



Nur schade, dass diese Schnittstellen beim aussterben sind...
Jepp, das ist wirklich absolut sch....ade. Aber eben auch ein Grund mehr, sich der USB-Herausforderung zu stellen :D - nochdazu kriegt man bei USB die Spec ohne irgendwelche Faxen fuer umme, also nicht so krank wie bei zb. 1394, DVB , MPEG etc.

Gruss
WK

nobody0
05.01.06, 22:33
Das einfachste ist eine serielle Relaiskarte z. B. von Conrad zu nehmen und die über einen USB-RS232-Adapter zu betreiben.
Die meisten USB-Geräte sind auch intern so aufgebaut, verwenden also einen UART zum USB-Controller, der softwaremässig wie eine serielle Schnittstelle angesprochen wird.
Unter den Tutorial oben findet man einiges dazu.

björn2
06.01.06, 20:04
Hmm, ich denke das mit dem USB Adapter ist die beste lösung.
Ich denke ich werde eine Platte mit einem solchen Adapter betreiben.

Thx für die Hilfe! :)

björn2
06.01.06, 20:13
Nur dumm dass son adapter mehr kostet als die karte :D

nobody0
06.01.06, 21:32
Unsinn; ein Adapter kostet um 7 EUR und eine fertige 8-fach-Relais-Karte um 40.
Hier mal ein Beispiel, das ich gemacht habe:

http://www.true-random.com/homepage/projects/8fa/

kaiserwetter
31.01.07, 16:14
Hallo björn2,

ist zwar ein SMD Chip, aber ich denke das hier ist was Du suchst:

http://www.ftdichip.com/

Der IC FT232BM kann wie in Linux üblich einfach über /dev/ttyUSB0 angesprochen werden.
"Alles ist ein File", eben auch Schnittstellen.

Der IC wird laut Hersteller beim einstecken an den USB automatisch erkannt (Kernel 2.6) und man benötigt keine Treiber!

Gruß
kaiserwetter