Forum: Mikrocontroller und Digitale Elektronik NEC Beamersteuerung


von spejt (Gast)



Lesenswert?

Hey Forum,

ich bin dabei eine kleine Beamersteuerung zu bauen, die Signale über ein 
RS232 Kabel an den Beamer schickt.

Jetzt stellt die Firma des Beamers (NEC) eine Manual dazu bereit, in der 
ich als Anfänger in diesem Gebiet nicht ganz durchblicke...

Für das Kabel steht in der Manual folgendes:
    1
    2  To TxD of PC
    3  To RxD of PC
    4
    5  To GND of PC
    6
    7  To CTS of PC
    8  To RTS of PC
    9
Bedeutet dies, dass ich praktisch folgendes machen muss?:
Beamer                 Device
 1 DCD                  1 DCD
 2 RxD        x         2 TxD
 3 TxD        x         3 RxD
 4 DTR                  4 DTR
 5 GND                  5 GND
 6 DSR                  6 DSR
 7 RTS        x         7 CTS
 8 CTS        x         8 RTS
 9 RI                   9 RI

Und dann noch zu den Kommandos, Als beispiel der Power-ON Befehl:
 001. POWER ON
**********************************************************************
Function:
This command switches on the main power of the projector.

Command:
   02H  00H  00H  00H  00H  02H

Response: At the time of a success
   22H  00H  01H  xxH  00H  CKS
             (*1) (*2)      (*3)

Response: At the time of a failure
   A2H  00H  01H  xxH  02H  DATA01  DATA02  CKS
             (*1) (*2)           (*4)       (*3)

Supplement:
The projector does not accept the other command during power on 
processing.

1. Bedeutet 02H 00H ..., dass dass Hexadezimal ist, also: 00000010B 
00000000B ...
Und kann ich diese Bits einfach hintereinander durch den Pin schicken 
oder wie genau stell ich das an?

2. Und über welche Leitung muss ich dass schicken, bzw. über welche 
kommt die Antwort?


Vielen Vielen Dank schon mal für eure Antworten!
Finds echt cool dass es Leute gibt, die kostenlos anderen dabei helfen!

Grüße, spejt

von Linüx (Gast)


Lesenswert?

spejt schrieb:
> Für das Kabel steht in der Manual folgendes:
>     1
>     2  To TxD of PC
>     3  To RxD of PC
>     4
>     5  To GND of PC
>     6
>     7  To CTS of PC
>     8  To RTS of PC
>     9

Englisch Nachhilfe

to = zu / hinführend
of = von / des
PC = Personal Computer

Also Pin 2 Beamer gehört an den TxD pin des PCs (Pin3 bei SUBD9pol) 
Belegungen gibt es ja millionenfach im www.

http://www.arcelect.com/9_PIN_PIN_OUT.GIF

von spejt (Gast)


Lesenswert?

Erstmal danke für deine Antwort!
Yapp, dass hab ich mit meiner Zeichnung auch gemeint..

Aber wie sieht das mit der Übertragung von den Kommandos aus, und über 
welche Leitung muss dass laufen?

von Klaus R. (klaus2)


Lesenswert?

...du sendest die hex kommandos mit einem terminalprogramm einfach über 
die rs232 deines pcs, das passiert dann automatisch über den TXD pin.

Klaus.

von spejt (Gast)


Lesenswert?

Ich möchte das ganze allerdings als eigenständiges Gerät haben. Also 
wenn man auf einen Taster drückt, wird das jeweilige Komando gesendet...

Aber wenn du schreibst, der PC würde dass über TxD senden, kann ich das 
doch auch machen, oder?

Ich dachte ich könnte via Interrupt die Taster abfangen, und dann das 
jeweilige Komando senden. Aber wie läuft da die genaue Kommunikation ab? 
Ich hab sowas noch nie gemacht, und werd aus der Manual nicht wirklich 
schlau...

von Kater brummt- sehr gut! (Gast)


Lesenswert?

1.) Gängiges Nullmodem RS232 Kabel zwischen Projektor und COMx deines PC 
funktioniert. Achtung. Die Mini Din Schnittstelle ist anders belegt. Es 
weiß natürlich keine Sau, um welches Gerät es genau geht .

2. Mit einem HEX fähigen Editor erst mal die Frames ausprobieren und 
sehen obs klappt. (was ist das für ein Format im Anhang ??)

Übertragungsrate 38400, 8N1

3. Die Frames später über eine Batchdatei öffnen und rausschicken, 
Beispiel:

NEC_BROADCAST_POWER_ON.BAT

  mode com1: baud=38400 parity=n data=8 stop=1 to=on xon=on odsr=off 
octs=off dtr=off rts=off idsr=on
  copy POWER_ON.232 com1:
<EOF>


Als POWER_ON.232 den Befehlsframe 02 00 00 00 00 02  (für POW ON) mit 
Hex Edit erstellen
Analog mit POWER_OFF.232          02 01 00 00 00 03  ( für POW OFF)

Man erkennt schon, daß das letzte Byte im Frame eine (8 bit)Prüfsumme 
ist.

3. Deinen Fragen nach fürchte ich, das sagt dir alles überhaupt nix ...!
Lese dich erst mal in die Materie ein !

von spejt (Gast)



Lesenswert?

Ok, erstmal vielen Dank für deine Antwort!

Mein Plan ist es, mit nem Mikrocontroller die Kommandos an an den Beamer 
zu senden, um ihn so über das RS232 Kabel zu steuern...

Dazu hab ich das Grundgerüst schon geschrieben. Und jetzt bin ich mir 
halt nicht sicher, wie die Kommunikation aussieht/abläuft.

Für den Power-On sende ich also das: 02 00 00 00 00 02.
Jetzt steht in der Manual aber folgendes:
    Baud rate:           38400(!1)/19200/9600/4800bps
Heißt dass jetzt, dass ich ein Bit alle (60/4800)sek verschicken muss?


P.S. Der Anhang ist eine *.txt Datei, ich häng sie nochmal an...

von Kater brummt- sehr gut! (Gast)


Lesenswert?

Nein, die vielen vielen Querverweise und Sternchen mit Nummern beziehen 
sich darauf, daß der Frame bei dem und dem Gerät eine Änderung der Art - 
wieder Sternchen Nr mit Verweis Tabelle auf weitere Tabelle - aufweist. 
Man hat versucht, alle bisher gebauten Geräte mit einem Dokument zu 
erschlagen. Mit dem Ergebnis, daß die Lesbarkeit dieses Dokumentes 
wirklich unter aller Sau ist.
Probiers mit Einstellung 38400 8N1 für die serielle Schnittstelle. Wie 
ist denn die Bezeichnung deines Projektors ?

Es gibt / gab mal ein geniales Hex fähiges Terminal-Programm, mit dem 
man komplette Frames in einem Stück senden kann mit einem doppelten 
Fenster für RX und TX. IDEAL für diese Zwecke. Leider hab ich vergessen, 
wie das Ding hieß. Wers weiß, bitte posten, Danke und gute Nacht !

von phischu (Gast)


Lesenswert?

Hallo spejt,

zuerst must du nicht "ein Bit alle (60/4800)sek verschicken".

Nur wenn du dem Beamer einen Steuerbefehl senden willst, z.B. den 'Power 
on' Befehl, dann musst du diesen in dem o.g. RS232-Format einmal senden. 
Z.B. 8N1@19200bps (was laut txt-Dokument von allen Beamern deiner Serie 
unterstützt werden sollte) was soviel bedeutet wie:

    Baud rate:    19200bps
    Data length:  8 bits
    Parity bit:   No parity
    Stop bits:    1 bit

Diese Einstellungen kannst du in Windows über die Treibereinstellungen 
des Gerätemanager oder die Konfiguration deinens seriellen Terminals 
einstellen.

Dann kannst du mit einer Terminalsoftware wie z.B. ComTestSerial von 
MicroRidge den Steuerbefehl über den Com Port des PCs an den Beamer 
schicken. Bei der von mir genannten Software kannst du z.B. Direkt den 
Hexadezimalbefehl für "Power on" senden, wenn du im unteren Fenster
\x02\x00\x00\x00\x00\x02 eingibst und auf send klickst, wobei das \x 
immer ein hexadezimales Zeichen bedeutet.

Willst du diesen Befehl über ein eigenständiges Gerät senden mit z.B. 
einem ATMega µC kannst du das Protokollformat über die UART-Register 
einstellen (siehe Datenblätter der µC) und dann das Signal bzw. die 
HexWerte über einen UART Sende-Befehl über einen Pegelwandler, wie z.B. 
dem Max232 über den Tx Ausgang des µC an den Rx des Beamers schicken (am 
Beamer Pin 1 am 8Pol Mini DIN oder Pins 2 am 9pol DSub, je nach 
Ausstattung. GND Leitung Pin 4 bzw. 5 nicht vergessen).
Unter den Stichworten RS232 und Max232 findest du im Forum und auf 
mikrocontroller.net genug Infos.

Zum einfachen Senden von Steuerbefehlen musst du bei der 'Bastel'lösung 
nicht einmal die Antworten des Beamers auswerten. Man merkt es ja, wenn 
er nicht anläuft.

I.d.R versendet man Power Up befehle sowieso mehrmals, um 
Übertragungsfehlern entgegenzuwirken (z.B. 3 mal Magic Paket bei Wake On 
Lan)

Hoffe diese Infos helfen dir weiter.

Viele Grüße,

Philipp

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.