atmega32 <---> atmeg32 Infrarot-Kommunikation
Hallo liebes Forum,
ich habe gerade angefangen mich mit Mikrocontrollern zu beschäftigen.
Ein paar Dinge habe ich schon realisiert.
Was ich jetzt gerne machen würde wäre eine Kommunikation zwischen zwei Kontrollern, es geht um das Senden von Zahlen im zweistelligen Bereich von einem Controller zum anderen. Es geht dabei nur um eine Richtung, ein Chip kann nur senden, der andere nur Empfangen.
Es ist nicht so schlimm, wenn dabei auch mal eine Übertragung nicht funktioniert.
Was ja eh schwierig zu kontrollieren ist wenn eine Kommunikation nur in einer Richtung stattfindet...
Ich habe bei Google gesucht aber nichts passendes gefunden.
Es geht dabei um eine möglichst einfache und unkomplizierte Lösung.
Hat einer von euch eine Idee, ein Tutorial oder etwas vergleichbares?
Ich danke euch für eure Mühe!
Crypi
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo
Ob serielle Daten oder RC5 übertragen werden soll ist eigentlich egal. Wichtig (und gemeinsam für beides) ist die Hardwaregrundlage.
Bei der IR-Kommunikation wird das eigentliche Signal auf eine Trägerfrequenz aufmoduliert um Störungen durch Fremdlicht zu minimieren. Gebräuchlich (und bei RC5 zwingend!) sind 36kHz. Für diese Trägerfrequenz gibt es spezielle Empfänger (TSOP genannt) die das Signal aus der Trägerfrequenz wieder ausfiltern und (invertiert!) zur Auswertung bereitstellen.
Zur Modulation der Trägerfrequenz wird die sendende IR-LED mit der Kathode am Signalausgang und die Anode am Ausgang des Trägersignals angeschlossen (natürlich mit Vorwiderstand).
Bei High-Signal bleibt die IR-LED dunkel, der TSOP empfängt nichts, sein invertierter Ausgang bleibt high. Bei Low-Signal blinkt die IR-LED im Rythmus des Taktsignals, der TSOP erkennt das Trägersignal und der Ausgang des Empfänges wechselt nach Low.
(Der TSOP benötigt je nach Typ ca. 6-10 Pegelwechsel des Trägersignals. Diese Pegelwechsel dienen bei RC5 als Mass für die Bitlänge und beschränkt bei der seriellen Übertragung die Baudrate auf 2400 Baud. Für höhere Baudraten gibt es TSOPs für deutlich höhere Trägerfrequenzen)
Als Beispiel für den Aufbau einer solchen Schnittstelle zeige ich einen Ausschnitt aus dem Schaltplan des asuro im Anhang. Obwohl der Aufbau mit R17/C8 nicht dem Datenblatt des SFH 5110-36 entspricht, funktioniert diese Schaltung bei ausreichender Versorgungsspannung Vcc gut. Bestellbeispiele für TSOP und IR-LED:
TSOP: Conrad-Best.-Nr.: 171069
IR-LED: http://shop.conrad.at/ce/de/product/184376/
(Bestellnummern aus https://www.roboternetz.de/phpBB2/ze...ag.php?t=50631)
Zur Software: Die Trägerfrequenz erzeugt man am einfachsten mit einem Timer an dessen OCx-Ausgang (mit 72kHz toggeln!), das Signal entweder mit dem TXD des USART oder manchestercodiertes RC5 an einem beliebigen Pin. Auswerten des TSOP dann entsprechend mit RXD oder Polling/Interrupt an beliebigem Pin.
Ich hoffe, ich habe nichts wichtiges vergessen.
Gruß
mic