Forum: Mikrocontroller und Digitale Elektronik dekodiertes IR-Signal via RS-232 weitersenden


von Mathias Obetzhauser (M-Obi) (Gast)


Lesenswert?

Hallo,

ich bräuchte da mal ein bisschen Hilfe.

Ich möchte mit einem µC ein IR-Signal von einer Fernbedienung (RC5-Code) 
dekodieren und dann die Daten, also welche Taste gedrückt wurde, 
weitersenden via RS-232 an eine SPS.

Da ich noch keine Erfahrung mit µC habe, bräuchte ich ein bisschen 
Hilfe. Ich beschäftige mich eher mit Feldbussen und SPSsen, und deren 
Programmierung. Nun möchte ich praktisch eine IR-Fernbedienung an einem 
Bus anbinden, quasi als Eingänge.

Ich hoffe ihr könnt mir helfen.

M-Obi

von Stefan B. (stefan) Benutzerseite


Lesenswert?


von Mathias Obetzhauser (M-Obi) (Gast)


Lesenswert?

Danke erstmal,

ich wollte es eigentlich mit einem AVR lösen, weil ich habe von Pollin 
das Evaluation-Board. Und dann einen MAX232 als Pegelwandler. Den 
IR-Empfänger hab ich schon, einen TSOP1736.
Nun weiß ich halt nicht was ich noch alles brauche, und vorallem welcher 
AVR dafür ausreicht.


M-Obi

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Für eine einfache Dekodierung reicht alles aus, was du auf das Pollin 
Board stecken kannst und in C programmieren kannst. Die Anforderungen 
sind nicht hoch.

RC5 Routinen findet man in der Codesammlung z.B. die von Peter Dannegger 
in  Beitrag "Fernbedien RC5 Empfänger"

Ein guter "Allrounder" dürfte der Atmega8 sein. Da hast du auch noch 
Platz im Flash , um auf die gewünschten RC5 Signale auch eventuell 
längere Sendetexte (SPS Kommandos) zu legen, falls erforderlich.

von Mathias Obetzhauser (M-Obi) (Gast)


Lesenswert?

Das klingt ganz gut, dann werd ich das machen mit dem Atmega8, 
dankeschön.
Ich wollte dann auch ein Kommando zurück an den µC schicken, damit er 
weiß das bei der SPS alles vollständig angekommen ist.

Du weißt bestimmt auch wie dazu die Platine aussieht. Nicht das ich da 
was falsches mache bzw. die falschen Werte von den Bauteilen verwende.
Kannst du mir da vielleicht helfen.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Ich weiss nicht, wie die Platine in diesem Codebeispiel aussieht. 
Vielleicht springen hier andere ein, die den Code schon eingesetzt 
haben.

Der Code von Peter ist auf meinen ersten Blick hin ziemlich universell 
einsetzbar. Du brauchst hat einen Eingabepin für das Sensorsignal und 
natürlich den (die) UART-Ausgabepin(s). Welche das sind hängt vom AVR 
und dem Code ab. Der Code kann sicher bzgl. des Eingabepins angepasst 
werden.

Daneben brauchst du noch die Grundversorgung des AVR. Aber das ist ja 
bereits erledigt, wenn du das Pollin-Board verwendest.

Beschaffe dir das Datenblatt vom TSOP1736. Vielleicht ist dort eine 
Beispielanwendung oder zumindest ein Testaufbau mit 
Dimensionierungsvorschlag der zusätzlichen Bauteile 
(Spannungsversorgung, Noise-Canceling, ...) drin.

Suche im I-Net nach anderen Projekten mit dem TSOP1736 oder generell 
TSOP17xx (xx für andere Frequenzen) und kuck dir an, wie der in den 
Schaltungen drin hängt und sein Signal an - irgendeinen - µC mit 
gleicher Vcc und TTL-kompatiblen Eingängen gibt. Normalerweise kann man 
diese Teilschaltung dann übernehmen.

Entwerfe eine erste Erweiterungschaltung für den TSOP1736 auf deinem 
Pollin-Board. Die Schaltungsunterlagen zum Pollin-Board hast du schon?

Stelle deinen Schaltungsentwurf zur Diskussion und frage nach 
Verbesserungsvorschlägen in der Community.

Liefere bei der Frage das Material mit, das man zur Antwort braucht 
(Datenblätter und/oder Links auf vergleichbare Projekte).

Erkläre auch deine Mess- und Testmöglichkeiten. Damit man weiss, ob du 
mit einem 32-Kanal-Logikanalyzer, einem Digitaloszi oder nur einem 
"hochohmigen Kopfhörer" Hardwareentwanzen tust und damit man dir 
entsprechende Tests vorschlagen kann.

Was anderes - ist mir heute abend im Bus eingefallen - mach dir auch 
Gedanken, was du mit dem Umbau der SPS bewirkst.

Nicht technisch, sondern rechtlich. Ich will nicht schwarz malen, aber 
es könnte ja sein, dass Sicherheitsvorschriften ("Worst-Case": Maschine 
im öffentlichen Raum und Heinze mit TV-Gone sind unterwegs) zu beachten 
sind und dass du als Umbauer plötzlich die Herstellerhaftung für die 
neue "Gesamtmaschine" übernimmst.

von Mathias Obetzhauser (M-Obi) (Gast)


Lesenswert?

Ich werde dann erstmal nen Schaltplan entwerfen mit Eagle, dann melde 
ich mich wieder. Danke erstmal.

Zum rechtlichen: Die Schaltung wird nicht in einer Maschine laufen, ich 
brauch das nur für mich zu Hause. Zu Hause experimentiere ich immer nen 
bisschen rum mit meiner SPS und meinem Feldbus, um auszuprobieren was 
man damit alles machen kann. Und wenn ich die Schaltung für eine 
Maschine von meiner Arbeit brauche, würde ich wissen, was z.B. im 
NOT-AUS passieren würde. Damit hab ich täglich zutun. Ich arbeite 
nämlich als Mechatroniker bei der Firma Phoenix Contact, wir haben viel 
mit Automatisierungstechnik zutun (nur halt nich mit Elektronik).
Aber trotzdem Danke ;).

von Mathias O. (m-obi)


Angehängte Dateien:

Lesenswert?

ich hab jetzt mal einen Schaltplan entwickelt von der ganzen Schaltung, 
so wie sie später laufen soll, nicht zur Programmierung.

Ganz kurz nochmal zum Ablauf:
Der TSOP empfängt ein IR-Signal von einer Fernbedienung. Das Signal wird 
dann vom ATTiny verarbeitet, sodass man weiß welche Taste gedrückt 
wurde. Dies gibt dann als Zahl weiter per RS-232 an eine RS-232-Klemme 
von einem Feldbus.


Gibt dazu mal bitte eure Kommentare ab.

von Mathias Obetzhauser (M-Obi) (Gast)


Lesenswert?

bitte sagt dazu was..

von Falk B. (falk)


Lesenswert?

Passt.

von Mathias O. (m-obi)


Lesenswert?

Hab noch ein Problem. Weiß nicht welchen ich von den Beiden (µC und 
SPS(Feldbus)) DCE und DTE machen soll, oder beide DTE. Und ob ich 
Handshake verwenden soll oder nicht.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Geschmackssache.

Ich würde nachsehen, wie die SPS(Feldbus)) seitens RS232 gebaut ist und 
dann den µC als Gegenstück bauen.

Das Nachsehen kann man durch scharfes Kucken auf die RS232-Buchse machen 
("Männchen = DTE") bzw. mit Suchen der TXD-Leitung mit einem Multimeter 
("-paar Volt auf Pin 3 bei DB-9 dann DTE").
http://www.sprut.de/electronic/interfaces/rs232/rs232.htm

Dadurch kann man ein normales 1:1 beschaltetes Rs232-Kabel benutzen und 
braucht kein sog. Nullmodemkabel mit gekreuzten Leitungen.

Nach Murphy ist das aus der Kiste genommene Kabel immer vom anderen Typ 
und man sucht sich tagelang einen Wolf, warum eine Übertragung nicht 
klappt. Vermeidet man grundsätzlich Nullmodemkabel, muss sich Mr. Murphy 
was anderes ausdenken.

Du kannst dir auf einem µC-Entwicklungsboard auch beide Buchsenarten 
(m,w) anbringen und ein Patchfeld. Dann bist du für alle Eventualistäten 
gerüstet. (Mr. Murphy freut sich über solche Tipps ;-)

Bei dem Pollin Funk-AVR-Evaluationsboard und dem Pollin 
AVR-Evaluationsboard v2 ist übrigens die Schaltung und Bestückung so 
ausgelegt, dass das Board ein DCE ist. So gesehen wäre es praktisch, 
wenn die SPS ein DTE ist.

Für Hardware-Handshake ist auf den Pollin-Boards keine 
Hardwareverbindung vorgesehen, die entsprechenden Pins sind nicht 
verbunden. D.h. da müsstest du nachbessern und eigene Verbindungen 
anlöten.

Software-Handshake kannst du in deinen Programmen vorsehen. Für den 
Anfang würde ich das aber mal zurückstellen und statt dessen die 
Kommunikation in den Programmen sorgfältig planen (Telegramme mit 
Prüfsummen) und ich würde nicht zu hohe Baudraten benutzen.

von Mathias O. (m-obi)


Lesenswert?

Dann ist der Aufbau nach meinem Schaltplan ein DCE, nur halt mit einem 
Stecker? Dann müsste ich eine Buchse zeichnen, damit es korrekt wäre?

Nach dem Datenblatt von der RS-232-Klemme wäre es besser den µC als DTE 
auszulegen, siehe auf Seite 25. Wenn es so wäre, wie würde dann die 
Schaltung geändert aussehen?

Hier das Datenblatt zur RS-232-Klemme von der SPS:
http://select.phoenixcontact.com/cgi-bin2/pcdwlfile3.sh/db_d_ib_il_rs_232__pac_5935_de_04.pdf?fct=dwl&from=eshop&lang=de&UID=2727349&prodid=&asid=609085

Das Pollin Board wird später sowieso nicht für den eigentlichen Einsatz 
geradestehen müssen, dafür baue ich eine extra Schaltung, nur mit den 
nötigsten Teilen. Das Board ist nur zum experimentieren da. Somit kann 
ich auch dann ein Hardware-Handshake reinbauen. Nur ich wollte fragen 
was sinnvoller ist, Hardware oder Software oder garnichts von beiden?

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Mathias Obetzhauser wrote:

> Dann ist der Aufbau nach meinem Schaltplan ein DCE, nur halt mit einem
> Stecker? Dann müsste ich eine Buchse zeichnen, damit es korrekt wäre?

Eine Buchse ist es immer. Stecker ist das Ding an dem Ende eines Kabels. 
Eine Buchse ist ein Ding an einer Platine oder einem Gehäuse in das man 
einen Stecker hineinsteckt. Du hast eine männliche Buchse angegeben und 
das sollte mit der Beschaltung eine weibliche Buchse sein, damit ein 
herkömmliches 1:1 RS232 kabel benutzt werden kann.

> Nach dem Datenblatt von der RS-232-Klemme wäre es besser den µC als DTE
> auszulegen, siehe auf Seite 25. Wenn es so wäre, wie würde dann die
> Schaltung geändert aussehen?
>
> Hier das Datenblatt zur RS-232-Klemme von der SPS:
> 
http://select.phoenixcontact.com/cgi-bin2/pcdwlfile3.sh/db_d_ib_il_rs_232__pac_5935_de_04.pdf?fct=dwl&from=eshop&lang=de&UID=2727349&prodid=&asid=609085
>

Ich habe mir nur Seite 3 angesehen. Dort ist bei der Klemmenbelegung 
geschrieben:

2.2 CTS Steuereingang für
Hardware-Handshake

1.3 DTR Steuerausgang für
Hardware-Handshake

Das entspricht dem, dass die "Inline-Klemme zur seriellen 
Datenübertragung" sich als DTE fühlt.

ADD: Seite 25 habe ich mir jetzt auch angesehen. Hier sind zwei DTEs 
miteinander verbunden. Durch die Leitungkreuzungen CTS-DTR wird ein DTE 
wfür die Gegenseite als DCE sichtbar (Nullmodem-Fall).

> Das Pollin Board wird später sowieso nicht für den eigentlichen Einsatz
> geradestehen müssen, dafür baue ich eine extra Schaltung, nur mit den
> nötigsten Teilen. Das Board ist nur zum experimentieren da.

Ist OK. Hier würde ich noch ohne Handshake arbeiten.

> Somit kann
> ich auch dann ein Hardware-Handshake reinbauen. Nur ich wollte fragen
> was sinnvoller ist, Hardware oder Software oder garnichts von beiden?

Hardware. Wenn schon ein eigenes Layout gemacht wird, dann richtig mit 
allen Optionen!

von Mathias O. (m-obi)


Angehängte Dateien:

Lesenswert?

Hab jetzt mal den geänderten Schaltplan. Hab mich orientiert nach den 
Datenblatt von der Klemme.Und???

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Du hast das AVR Board jetzt also als DTE geplant. Sieht OK aus. Hätte 
ich wie geschrieben aber nicht gemacht.

Denn wenn du das Board während der Entwicklung oder zu anderen Zwecken 
mal an einen PC hängen willst (und das wirst du wollen ;-), brauchst du 
bei diesem Board ein Nullmodemkabel mit zwei weiblichen Steckern oder 
eine RS232-Patchbox inkl. Genderchanger statt einem einfach 
aufzutreibenden 1:1 Kabel mit einem männlichen Stecker und einem 
weiblichen Stecker.

Andererseits - wenn du schon ein Kabel hast um z.B. die "Inline-Klemme 
zur seriellen Datenübertragung" mit einem PC zu verbinden, kannst du das 
jetzt für die Verbindung AVR/Inline-Klemme benutzen.

von Jean P. (fubu1000)


Lesenswert?

Hoi,
ich hab ein glück moin frei ;-)
Ich hoffe ich konnte alles lesen (bissi angetrunken).
Aber in VO sollte nochn Pull-up (>10k).

Gruß

von Mathias O. (m-obi)


Angehängte Dateien:

Lesenswert?

Hab jetzt mal den Pullup reingebracht, hoffentlich so richtig.

Das Board (nicht das Pollin Board) werde ich nur dafür verwenden, wofür 
es ausgelegt ist.

von Jean P. (fubu1000)


Lesenswert?

R2 besser 100 Ohm und C8(4,7µf) parrallel dazu (also gegen GND), nit in 
Reihe.
Aso und vorsicht alle Signale sind natürlich invertiert. Also 0->1 , 
1->0 ,lalala.
N8 und letzten Prost ;-/

von Mathias O. (m-obi)


Lesenswert?

ok hab den Widerstand geändert aber der C8 soll so sein laut Datenblatt 
von Vishay.

http://www.vishay.com/docs/tsop17.pdf

Meinst du die Signale vom TSOP sind invertiert, wenn ja, dass weiß ich.

von Jean P. (fubu1000)


Lesenswert?

Tschuldigung C8 ist richtig, war wohl doch einer zuviel gestern.
Gruß

von Mathias O. (m-obi)


Lesenswert?

@fubu1000:
Meintest du denn die Signale vom TSOP sind invertiert?

von Jean P. (fubu1000)


Lesenswert?

Ja ich meinte die TSOP Signale sind invertiert.

Gruß

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.