Forum: Mikrocontroller und Digitale Elektronik Beamer über RS232 und Hyperterminal steuern?


von matthias (Gast)


Lesenswert?

Hallo,
ich habe gerade versucht, einen NEC Beamer VT695 über die serielle 
Schnittstelle mit einem PC zu steuern.

Als Software habe ich das HyperTerminal Privat Edition verwendet. Das 
serielle Kabel habe ich laut der Anleitung von NEC gebaut und schon 2 
mal durchgemessen. Es ist also in Ordnung.

Da ich an meinem Laptop keine serielle Schnittstelle mehr habe, verwende 
ich einen USB-Seriell-Adapter.

Nun zum Problem:
Egal welche Codes ich zum Beamer schicke, er macht einfach nichts. Ich 
habe schon verschiedene Baudraten versucht, aber auch das bringt nichts.

In der Codesammlung von NEC habe ich gesehen, dass der Beamer nach dem 
Ausführen von Befehlen Codes über die serielle Schnittstelle 
zurückschickt. Wenn ich den Beamer per Hand ausschalte, kommt aber auch 
nichts an.

Muss man die Schnittstelle am Beamer vielleicht noch aktivieren oder 
liegt es vielleicht an meinem Adapter?

Danke für eure Hilfe
matthias

von Peter (Gast)


Lesenswert?

Verbinde mal den Pin 2 und 3 von deinem Kabel miteinandern (ohne 
Beamer), dann sollte jedes Zeichen was du sendest auch wieder 
zurückkommen. Damit kannst du erstmal testen ob die Software und dein 
Dongel überhaupt etwas senden.

von matthias (Gast)


Lesenswert?

Danke für den Tipp,
habs gerade getestet, funktioniert einwandfrei. Ich hab RxD und TxD am 
Adapterkabel (also am Stecker, der an den Beamer kommt) gebrückt.

Demzufolge sollte es gehen.

von Peter (Gast)


Lesenswert?

jetzt weisst du erstmal das das Kabel und die Software funktionieren, 
warum der Beamer nicht reagiert wird schwerer.

Stehen denn die genauen Übertragungsparameter fest?

Baud, parität, Bits, Sart und Stop bits?

von Justus S. (jussa)


Lesenswert?

mal am Beamer nachgemessen, dass du auch die richtige Steckerbelegung 
hast?

von matthias (Gast)


Lesenswert?

Ja, die Daten stehen alle in der Anleitung.

Baudrate:   19200bps
Datenlänge: 8 bit
Parität:    keine
Stoppbit:   1 bit
X ein/aus:  keine
Übertragungsverfahren:   Voll-Duplex

Die Baudrate kann man am Beamer aber noch einstellen (19200, 9600, 
4800).

Bisher habe ich im Hyperterminal folgende Werte eingestellt:

Bits pro Sekunde: 19200
Datenbits:        8
Parität:          keine
Stoppbits:        1
Flusssteuerung:   keine

von matthias (Gast)


Lesenswert?

Am Beamer habe ich bisher noch nicht gemessen, aber ich gehe mal davno 
aus, dass die Belegung laut Anleitung korrekt ist.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Vertausch mal RxD und TxD.

von Karl H. (kbuchegg)


Lesenswert?

Rufus t. Firefly schrieb:
> Vertausch mal RxD und TxD.

Hätt ich jetzt auch mal gesagt.
Ehe man etwas schlimmeres ins Auge fasst, geht man erst mal von einem 
falsch gekreuztem Kabel aus. Eventuell noch fehlende RTS/CTS Leitungen.

von Jens P. (Gast)


Lesenswert?

Die Handshake-Leitungen brauchen die nicht. Hab hier im Haus an 12 NEC's 
das ganze als Standalone-Steuerung (nur ein und aus) laufen.

von matthias (Gast)


Lesenswert?

RTS und CTS werden in der Anleitung auch nicht aufgeführt.
Deswegen habe ich nur RxD, TxD und Masse angeschlossen.

RxD und TxD habe ich jetzt umgelötet und versuche es nachher mal.

von Karl H. (kbuchegg)


Lesenswert?

matthias schrieb:
> RTS und CTS werden in der Anleitung auch nicht aufgeführt.
> Deswegen habe ich nur RxD, TxD und Masse angeschlossen.

Ist auch einfach mehr so ein Erfahrungswert.
Ein Standardkabel, RxD/TxD RTS/CTS und Masse funktioniert praktisch 
überall, egal was die Anleitung sagt. Dazu noch ein Zwischenstecker, 
welcher diese 4 Signalleitungen auskreuzt,2 Männchen/Weibchen Umsetzer 
und man ist für so ziemlich alle Eventualitäten gerüstet, die einem in 
freier Wildbahn so begegnen.

von matthias (Gast)


Lesenswert?

Eine Idee die mir gerade noch kam:
vielleicht übermittle ich die Codes falsch.

In der Codesammlung stehen der Code für das Einschalten so da:
02H 00H 00H 00H 00H 02H

Ich habe die Befehle bisher immer wie folgt im Terminal eingegeben:
02 00 00 00 00 02

Aber werden die einzelnen Zeichen dann auch als HEX-Zeichen übermittelt? 
Wohl eher nicht. Ich nehme eher an, dass diese Zeichen in Hex 
umgewandelt werden und dann die umgewandelten Hex-Zeichen gesendet 
werden.

Aber wie übermittle ich dann direkt Hex-Zeichen?

von Karl H. (kbuchegg)


Lesenswert?

matthias schrieb:

> In der Codesammlung stehen der Code für das Einschalten so da:
> 02H 00H 00H 00H 00H 02H
>
> Ich habe die Befehle bisher immer wie folgt im Terminal eingegeben:
> 02 00 00 00 00 02
>
> Aber werden die einzelnen Zeichen dann auch als HEX-Zeichen übermittelt?
> Wohl eher nicht. Ich nehme eher an, dass diese Zeichen in Hex
> umgewandelt werden und dann die umgewandelten Hex-Zeichen gesendet
> werden.
>
> Aber wie übermittle ich dann direkt Hex-Zeichen?

Deine Vermutung stimmt.

Mit Hyperterminal ist das nicht so einfach zu versenden.
Benutze HTerm, damit kann man auch vernünftig 'Nicht-Text' auf den Weg 
bringen.

von Bastler (Gast)


Lesenswert?

Erstelle mit einem Hex-editor die Zeichenfolge und speicherdiese als 
*.txt.
Dann kannst du im Hyperterminal mit "Übertragung->Textdatei senden" das 
ganze übermitteln. Mach ich oft so.

von Jens P. (Gast)


Lesenswert?

hTerm ist dafür unschlagbar.

von Bastler (Gast)


Lesenswert?

Ich stimme zu, hTerm!

Es ist aber manchmal nützlich ein paar "Standard Befehle" als TXT zu 
speichern. Gerade bei längeren Zeichenfolgen (hab welche mit ca. 70 
Byte).

von matthias (Gast)


Lesenswert?

Hi,
hab gerade HTerm ausprobiert. Funktioniert wunderbar.
Danke für die ganzen Tipps.

von matthias (Gast)


Lesenswert?

Jetzt melde ich mich doch nochmal.

Mit HTerm hat das gut geklappt, aber damit nun jeder Benutzer den Beamer 
vom Rechner aus steuern kann, ist HTerm nicht gerade geeignet.

Ich hab schon versucht, eine Assembler-Datei zu schreiben, mit der ich 
mit den Befehlen IN und OUT auf die serielle Schnittstelle zugreifen 
kann.
Irgentwie wollte MASM das aber nicht.

Am besten wäre ein kleines Fenster, in dem ca. 8 Buttons sind, hinter 
denen die jeweiligen Befehle liegen.

Vielleicht hat jemand schon mal sowas programmiert.

Danke

von Karl H. (kbuchegg)


Lesenswert?

matthias schrieb:

> Ich hab schon versucht, eine Assembler-Datei zu schreiben, mit der ich
> mit den Befehlen IN und OUT auf die serielle Schnittstelle zugreifen
> kann.
> Irgentwie wollte MASM das aber nicht.

Na du tust dir da aber eine Menge Arbeit an.

Ein Windows Programm schreibt man doch nicht mehr in Assembler.
Schon gar nicht, wenn man eine GUI Anwendung machen will. Da kannst du 
dir auch gleich einen Strick kaufen.

Am schnellsten kommt man unter Windoes zu einer GUI Anwendung mit Visual 
Basic oder C#

Für beides gibt es bei Microsoft kostenlose Entwicklungsversionen. Dazu 
noch ein Tutorial aus dem Web und in 1 oder 2 Stunden hast du das 
Framework fertig. Danach suchst du dir ein Tutorial wie man die serielle 
Schnittstelle anspricht.

von matthias (Gast)


Lesenswert?

Ok, hast du mir vielleicht einen Link zu einem Tutorial?
Bis jetzt habe ich noch keins gefunden.

Danke

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.