Lichtsteuerung mit PC: selber bauen&programmieren

Von: , Frage gestellt am Mi, 27. Nov 2002

Hallo Liebe Leute!

Ich hab ein mehr oder weniger kompliziertes Projekt vor mir.

Undzwar geht es um eine Lichtsteurung über den PC. Eine Art selbstgebauten DMX-Controller.
Undzwar möcht ich mittels einer selbstprogrammierten Software, wahrscheinlich in JAVA oder VisualBasic, die ich aber dann noch erstellen muss, Lichter an und auschalten können. Praxis bezogenes Beispiel: Partykeller: ein paar Lämpchen, Stroboskop, ... (keine Hochwertigen Scanner usw. ;) ) die möcht ich jedenfalls per Tastendruck an und auschalten können, ferner möchte ich automatische Abläufe programmieren können.
Ich denke mein Anliegen dürfte klar sein :) .

Vielleicht ist es ja möglich (irgendwie bestimmt), über beispielsweise nen COM-Port die Lichter anzuschließen, bzw. irgendwelche Relais damit zu schalten.
Oder könnte man eine spezielle Karte löten (es gibt ja unmengen an Teile bei Conrad *g*).

Einfach gefragt, kann mir jemand bei meinem kleinen Projekt weiterhelfen? Oder mich zu irgendwelchen Seiten verlinken?
Oder kennt einer einen, der einen kennt, dessen Kollege sowas ma gemacht hat ... ? :)

Ich wäre für jegliche Hilfe äußerst dankbar!

Mit vielen Grüßen,
Alexander.

7 Antworten zu dieser Frage

  1. Antwort von nach 11 Stunden 0 hilfreich
    Re: Lichtsteuerung mit PC: selber bauen&programmie

    Moin Ich hab ein mehr oder weniger kompliziertes Projekt vor mir.
    Das Gefühl kenn ich. Undzwar geht es um eine Lichtsteurung über den PC. Eine Art
    selbstgebauten DMX-Controller.
    es gibt ein paar Möglichkeiten, hier die 2 extremen einmal kurz beschrieben:

    1. der lpt-Port. mit dem kann man bis zu 8 Relais ohne Latchs und bis zu 128 Relais mit Latches schalten. Der lpt gibt 8 Bit Daten raus + einer Strob-Leitung. Die 8 Bit bleiben stehen (bis windows versucht mit dem Drucker zu reden), d.h. eine einfache Transistor-Relais-Schaltung reicht schon für 8 Relais. Mit Latches (flip-flop's) kann man mehr machen. Aus 7 Bit baut man sich mit Logik-steinen einen addressdecoder (gibt's fertig zu kaufen) das 8 Bit stellt den Wert da. Die Strobe-Leitung zusammen mit der Addresse steueren Flip-Flop's (oder Latchs) an. Von denen aus gehts mit Transistor-Relais-schaltung weiter.

    Nachteil: wenn du dich verlötets, sprich etwas schiefgeht kanns deinen Rechner zerlegen. Das Problem tritt bei der 2. Möglichkeit nicht so stark auf, die ist aber teuerer.

    2. Der C-Controll von Conrad. Davon gibts 2 Varianten:

    a) der Basic-Controller: er hat insgesamt 16 I/O-pin's die man auf Ausgang schalten kann. (macht also 2^15 = ca 32000 mögliche Addressen). Hier kann man natürlich auch auch nur mit den 16 Bit arbeiten die schon da sind. (per I2C müsste man auch bequemer an viele Ausgänge kommen, weis aber nicht ob Conrad die nötigen Teile verkauft). Endstufe ist auch hier eine Transsitor-Relais-schaltung.

    b) der C-Controll 2. wesentlich teuerer dafür mit integriten Relais (etwa 16 Stück, bin da nicht so sicher) => sprich prog., anschliessen, fertig (kein Löten, keine Schaltpläne, keine Probleme).

    die C-Controlls können über RS232 (sprich einer COM-schnittstelle) senden und empfangen und laufen auch wenn der Rechner aus ist (offline-betrieb ?). Ausserdem kann man an ihnen auch Sensoren anbringen (Licht an wenn dunkel/Tür auf ?, Strobo auf Takt ?). Die Programmierung ähnelt Basic, ist sehr einfach (bei 2'er sogar graphisch). (Ausserdem gibts Anzeigen für die Teile, so bis 256x512 Pixel).

    wenn du mehr wissen willst poste nochmal.

    cu

    • Antwort von nach 20 Stunden 0 hilfreich
      Re^2: Lichtsteuerung mit PC: selber bauen&programm

      es gibt ein paar Möglichkeiten, hier die 2 extremen einmal
      kurz beschrieben:
      Ich habe wirklich keine Ahnung von sowas, aber sollte man nicht auch eine (eventuell vorhandene) MIDI-Schnittstelle in die Überlegungen mit einbeziehen?


      Sebastian


      • Antwort von nach 21 Stunden 0 hilfreich
        Re^3: Lichtsteuerung mit PC: selber bauen&programm

        Moin Ich habe wirklich keine Ahnung von sowas, aber sollte
        man nicht auch eine (eventuell vorhandene) MIDI-Schnittstelle
        in die Überlegungen mit einbeziehen?
        wenig belastbar, wenige Bit's und sehr umständlich in der Ansteuerung wenn man mit Java oder VB arbeiten will.

        Aber an sich gehts. Hab ja auch nicht behauptet dass das da vollständig ist. Das sind nur die Möglichkeiten mit denen ich schonmal zu tun hatte.

        cu

    • Antwort von nach 23 Stunden 0 hilfreich
      Re^2: Lichtsteuerung mit PC: selber bauen&programm

      Hi Jungs,

      Danke für die Antworten, und Pumpkin, danke für die ausführliche Möglichkeitsdefinition.

      Zur 1. Möglichkeit: Also könnte man über den LPT Port seine Signale fließen lassen, die dann entsprechende Relais ansteuern. Soweit korrekt? Doch wie würde mir es denn nun programmiertechnisch gelingen, in Java oder VB (in anderen Sprachen bin ich noch nicht ganz so bewegt), über die LPT-Schnittstelle signale fließen zu lassen. Ich meine, wie könnte ich rausskriegen, wie ich gewisse Adressen ansteuere, oder welche Pins ich wie anzusprechen habe, damit "et klappt": Ich drücke n Knopf -> Signal geht durch LPT -> zu gewissen Relais für Lampe X . Meine Frage ist nun eher auf Quelltext bezogen. ... ohne Latches, soweit ich richtig verstanden habe, ne recht simple Lösung, oder?
      Aber... was genau meinst du mit dem Decoder. bzw. wie funktioniert das mit den Latches.

      Zu 2.:
      Ich blättere ja jeden Abend fleissig im dicken Conrad Katalog, das mit den C-COntrollern hab ich mir mal angeschaut da gibt es ja spezielle Karten für COM Anschluss mit 8 Relais (die Karten kann man kaskadieren..) (ich glaube das meintest du auch, oder?). Dazu ne passende Software ... dürfte alles kein Problem sein. ABER, ich will ja meine eigene Software haben, gibt es in der Sache ne Möglichkeit?

      Oder aber meintest du diese "C-Controll M-Unit" ?

      Hm, nunja, sind denn all diese Aperaturen, ob 1 oder 2, dazu in der Lage, Signale, besser: die Relais, oder ferner die Lampen in beispielsweise einer Sekunde etwa 5 Mal an/aus zu schalten?

      Ich hoffe du kannst mir weiter weiterhelfen :)

      viele Grüße und Gute Nacht,
      Ali.

      • Antwort von nach einem Tag 0 hilfreich
        Re^3: Lichtsteuerung mit PC: selber bauen&programm

        Moin Danke für die Antworten, und Pumpkin, danke für die
        ausführliche Möglichkeitsdefinition.
        immerwieder gerne Zur 1. Möglichkeit: Also könnte man über den LPT Port seine
        Signale fließen lassen, die dann entsprechende Relais
        ansteuern. Soweit korrekt?
        jupp.

        Doch wie würde mir es denn nun programmiertechnisch gelingen, in Java oder VB, über die
        LPT-Schnittstelle signale fließen zu lassen. Ich meine, wie
        könnte ich rausskriegen, wie ich gewisse Adressen ansteuere,
        oder welche Pins ich wie anzusprechen habe, damit "et klappt":
        Ich drücke n Knopf -> Signal geht durch LPT -> zu
        gewissen Relais für Lampe X . Meine Frage ist nun eher auf
        Quelltext bezogen.
        VB: keinen blassen Schimmer.

        Java: es gibt ein Package von Sun mit dem man unter Windows und Linux lpt und com1-4 ansprechen kann. Im klartext erzeugt man eine io-Stream der direkt auf die Schnittstelle geht. Bei lpt schreibt man also ein Byte rein. Diese Byte liegt dann an den Pin's Data0-7 solange an bis du ein neues reinschreibts. welcher Pin jetzt Data0 darstellt kann man nachlesen (google oder rfc). 255 schaltet z.b. alle Data-pin's auf High (5 oder 12 V). 0 schaltet alles auf low (0V). 4 schaltet alles auf low ausser data2. verstanden ? ... ohne Latches, soweit ich richtig
        verstanden habe, ne recht simple Lösung, oder?
        geht gut, kann bis zu 8 Relais (also Lampen) bedienen. Aber... was genau meinst du mit dem Decoder. bzw. wie
        funktioniert das mit den Latches.
        Man kann z.b. 7 Bit (128 Möglichkeiten) als Addresse benutzen um ein Flip-flop auszuwählen. (Die Auswahl macht ein AddressDecoder, hab auf die Schnelle keinen bei Conrad gefunden)

        dann hat man ein Bit über um das flipflop zu "programmieren". Den Ausgang des Flipflop's kann man nun für die Transistoren benutzen. So kann man mehr als 8 Lampen steuern. (ist ein bisschen gefummel mit Elektronik und Laufzeiten, klappt nie beim ersten Versuch, ist aber billiger als die C-Control-Variante) Zu 2.:
        Ich blättere ja jeden Abend fleissig im dicken Conrad Katalog,
        das mit den C-COntrollern hab ich mir mal angeschaut da gibt
        es ja spezielle Karten für COM Anschluss mit 8 Relais (die
        Karten kann man kaskadieren..) (ich glaube das meintest du
        auch, oder?)
        nein. (das kann der 2'er sein... hab keinen catalog hier) Dazu ne passende Software ... dürfte alles kein
        Problem sein. ABER, ich will ja meine eigene Software haben,
        gibt es in der Sache ne Möglichkeit?
        zu den Karten die du meinst gibts C-Header (im Netz, nicht bei Conrad). Diese kann man in JNI verbauen und dann Java benutzen. Dafür braucht man etwa 20 Zeilen einfachen C-Code.

        VB: keinen blassen Schimmer. Oder aber meintest du diese "C-Controll M-Unit" ?
        Das ist eine Variante des C-Controll-Basic systems. (Das ist die komplizierte und unzuverlässige Variante, ausserdem kann man die nicht direkt an den PC (über com) anschliessen) (kuck mal nach StartBoard das ist die dickste und an einfachsten zu benutzende Variante). Hm, nunja, sind denn all diese Aperaturen, ob 1 oder 2, dazu
        in der Lage, Signale, besser: die Relais, oder ferner die
        Lampen in beispielsweise einer Sekunde etwa 5 Mal an/aus zu
        schalten?
        Der C-Controll (1) und die lpt-Schnittstellen kommen ganz locker über 50 Hz, mit abchechen von Stoppbedingungen. Bei den Karten bin ich nicht so sicher, die müssten allerdings auch auf >20 Hz kommen. Dabei verbrennen dir dann allerdings die Relais. Schon bei 5 Hz würd ich keine normalen Relais mehr nehmen sondern über elektronische nachdenken. (was bei 220V Wechselspannung schwierig wird) Normale sind für <<1 Hz gedacht. Und selbst dann halten sie nicht lange (30.000 Schaltvorgänge Lebenserwartung sind typ. für kleine Relais, das wären bei 1 Hz 8,3 Stunden)

        Oder auf 12V-Gleichspannung-Halogen mit Leistungstransistoren umsteigen. Die kann man dann mit dem C-Controll auch noch dimmen. Die Transistoren halten 5 Hz Jahrzehnte durch. Denen ist die Frequenz eigentlich ganz egal.

        Man bekommt bei Conrad Leistungstransitoren für 300W. Die muss man allerdings aktiv kühlen.

        cu

      • Antwort von nach 2 Tagen 0 hilfreich
        Re^3: Lichtsteuerung mit PC: selber bauen&programm

        Hallo,
        C-Control kann ich für so einfache Anwendungen empehlen.

        Mit C-Control-Basic kan man einfache Abläufe noch locker
        in 50...100ms abarbeiten.
        Ohne zusätzliche Schaltungen hat man beim C-Control-1
        mind. 16 Digtale Ausgänge zur Verfügung. Oder aber meintest du diese "C-Controll M-Unit" ?
        Hm, nunja, sind denn all diese Aperaturen, ob 1 oder 2, dazu
        in der Lage, Signale, besser: die Relais, oder ferner die
        Lampen in beispielsweise einer Sekunde etwa 5 Mal an/aus zu
        schalten?
        Die eigentlichen Treiber für die lampen sollte man sich
        selber basteln, wie von Pumkin beschrieben am besten mit
        Leistungstransistoren oder bei 50Hz-Wechselspannung gehen auch
        Thyristoren bzw Triacs. Um keine Sicherheitsprobleme zu
        bekommen, würde ich nur mit Schutzkleinspannung arbeiten
        (z.B. 24V)!!!

        Die Ansteuerung kann dann z.B. so sein, daß Du das C-Control-
        Modul so programmierst, daß es Bytes vom PC empfängt und
        entsprechend den gesetzte Bits sofort auf die Digitalports
        ausgibt. Das Ding kannst Du aber schnell mal umprogrammieren
        (Programm wird in EEPROM geladen), so daß es auch anders
        arbeitet z.B. selber irgendwelche Lichtmuster ausgibt.
        Gruß Uwi

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!