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
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
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.
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.
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.
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 ;).
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.
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.
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.
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?
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!
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.
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.
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 ;-/
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.