Fernsteuerung 10 Meter

Begonnen von picass, 18.03.2023, 12:44:10 CET

Vorheriges Thema - Nächstes Thema

picass

#20
Die erste, dokumentierte Datenübertragung! Die geht so:
Das oben vorgestellte Kürzest-Unterprog zur Erzeugung einer 40 kHz Frequenz wurde umgebaut in ein Unterprog, welches genau 64 Cyclen enthält. Gleich zu Anfang wird die IR-Diode eingeschaltet, nach 20 der 64 Cyclen wieder ausgeschaltet, sodass ein Tastverhältnis von ca. 1/3 entsteht, also 1/3 an und der Rest aus.
Von dieser Schwingung werden genau 20 Stück abgezählt und hintereinander weg ausgestrahlt, was dann die 40 kHZ Frequenz repräsentiert. Nach den 20 Schwingern gibts eine Pause vom ca. 6 mS, dann schwingts wieder 20x, dann....

Auf dem Oszi-Display ist oben/gelb das Ausgangssignal am PIC, welcher die IR-Diode antreibt, zu sehen und unten/blau das Signal, welches sich am Empfängerbaustein einstellt. Die Darstellung ist aus welchem Grunde auch immer invertiert. Die Sendezeit müsste "1" sein und entsprechend die Pause "0". So'n Digi-Oszi hat auch ein geheimnisvolles Innenleben. >:D  :(
Grüße, picas

picass

Nachdem nun klar ist, wie die Übertragung stattfinden könnte, wäre zu klären, was denn mit den übertragenen Signalen anzufangen wäre. Is klar, die sollten im besten Falle in eine Folge von "Einsen" und "Nullen" verwandelt werden. Eine "Null" zu erkennen, muss nicht wirklich schwierig sein. Aber was ist mit der "Eins" in diesem Fall, denn die besteht mitnichten aus einem eindeutigen "1"-Pegel. Im Gegenteil schwurbelt es innerhalb des Burstes zwanzigmal rauf und runter.
Die Startflanke zu erkennen, wäre noch "wie üblich". Bei einer statischen "1" kann man bei einem Signal, dessen Länge bekannt ist, z.B. einfach in der zeitlichen Mitte den Pegel ablesen, bei Bedarf auch mehrfach. Die Signallänge ist ja hoch genau bekannt, aber die "1"-Amplitude ist ein Sieb mit vielen Löchern. Wo oder wie also hier sicher den Status erkennen?
Ach ja: an der Signal-Länge soll nicht geschraubt werden, das Signal überträgt ja die 40 kHz. Ohne Einhaltung der Frequenz unterdrückt der Empfänger das Signal.
Grüße, picass

^Cobra

Moin, ich dachte immer solche Empfänger wandeln die Impulse auf 1 bzw 0 setzt. 
Meine auf der Homepage von Sprut stand das mal... 
Aber in Endeffekt:
Am den start Impuls ist dir Länge von allem bekannt. Quasi 'messen' wie viele Impulse mit welcher Pause kommt? Ich meine bei 1 Pegel war zuerst high pulse 0 waren es zuerst die pausen. Als Start immer 2 bits mit 1 also zuerst high.
Gebe aber zu: habe ich nur in der Theorie alles mal gelesen. Wie so vieles ist es dabei geblieben.
P. S. Aber meine Fräse nimmt Gestalt an. Liege krank im Bett wenn ich aber wieder fit bin geht's da weiter und ihr könnt euch auf Fotos, Video, und selbst gebastelts freuen. 
Gruß 
Cobra

PICkel

Hallo picass,

der TSOP liefert logisch 0 bei Empfang Deiner 40kHz-Impulse.

AAAABER:
Die Anzahl der Impulse/Burst ist begrenzt, "Dauerfeuer" wird unterdrückt!
Nach einem Burst bestimmter Länge ist eine Pause mit einer entsprechenden Mindestlänge nötig.
(Steht alles im Datenblatt, wer hätte das gedacht?  ;D )

Die Übertragung basiert also darauf, nach einem Start-Burst unterschiedliche Burst- Pausenlängen auszuwerten. Also beispielsweise kurzes Signal, danach lange Pause -> Null,
langes Signal und kurze Pause -> Eins.

Gruß
PICkel


picass

Was? Wie?
Datenblatt: Watt is'n dat? Hätte ja auch mal früher gesagt werden können! >:(  >:(  >:(

Aus der Formel (signal1) mit den teils nicht erklärten Größen werde ich nicht wirklich schlau. Die Zweite mit der Angabe von 60 mS macht es nicht besser. Da kann ich nur raten. Auch das Lesen des kompletten DBs - vor einer Woche >:D - machte es nicht besser.
Grüße, picass

PICkel

Dann erzeuge doch mal eine Impulsfolge gem. signal2.jpg.
Also 24 Impulse+Pausen mit zusammen 25us (entspr. 40kHz) = 600us. Danach genausolange Pause.
Und das mehrere Male hintereinander. Dann beenden oder längere Pause.

Dann sollte sich am TSOP-Ausgang ein entsprechendes Rechtecksignal ergeben.

 

picass

#26
So getan!
Und das – auf den Bildern – kam dabei raus:
gelb/oben : das orig-Ausgangssignal am PIC-Port
blau/unten: das Empfangssignal direkt am IR-Empfänger abgegriffen

Bild 1 : ein Burst
Bild 2 : zwo davon
Bild 3 : ein Burst mit Zoom-Funktion vergrößert, wobei die ersten Schwingungen nicht auf den Schirm passten.

Das Empfangssignal ist verzögert dargestellt, warum auch immer. Ist aber wurscht, solange die Timings sonst passen.
Wichtige Erkenntnis: Der Empfänger gibt einen Burst mit seinen 24 Einzel-Schwingungen tatsächlich – wie du beschriebst – als eine ,,1" aus. In bebilderten Beispiel ist es eine ,,0", aber das ist ebenso wurscht. Das hatte ich anders erwartet, nämlich derart, dass solch Burst auch nach dem Empfänger mit all seinen (hier 24) Schwingungen aufgelöst wird.

Dieses Nicht-Auflösen und stattdessen einen Burst zu einer ,,Eins" zusammen zu fassen, macht die weitere Auswertung nun um Etliches einfacher – zumindest für mich. Das ist schon mal ein gutes Ergebnis. Für eine Codierung probiere ich jetzt mal etwas. Aber da schrieb ich schon: besonderen Aufwand wie etwa einen NEC- oder sonstigen prof. Code halte ich für unnötig. Mir würden schon 5 Bits als ausreichend erscheinen.
Danke für Beratungen, es wird auch weiter gehen. Könnte sein, um einiges langsamer. Denn für die Empfangsseite müsste ja nun auch ein PIC eingestielt werden. Das ruft dann doch nach einer extra Platine, damit IR-Empfänger und PIC vernünftig verbandelt werden. Und Platine dauert.... Aber so bischen rum machen wird auch noch gehen. Es liegen ja nun auch Versuche zur Reichweite an.
Grüße, picass

PICkel

Gratuliere, die erste Hürde ist genommen!

Und wenn Du Dir die Bilder signal1.jpg und signal2.jpg anschaust wirst Du sehen, dass das IR-Signal tatsächlich erst nach einigen 40kHz-Pulsen am Ausgang wirksam wird.

Der Ausgangstransistor im TSOP ist (siehe Block-Diagramm im Datenblatt) in Emitterschaltung mit 30kOhm gegen Plus geschaltet und negiert deshalb ein eingehendes IR-Signalpaket. Also alles wie es im Oszillogramm und in den Signalbildern zu sehen ist.

Gruß
PICkel

picass

Wenn du das Datenblatt, rsp. Teile davon noch weiter erklärst, hat selbst ElNixRaffo es demnächst verstanden.
 >:D
Grüße, picass

picass

Nur super kurz: mit der Reichweite werden wir wohl Null-Komma-Null Probleme bekommen.
Ein erster Test gerade: bei nur berchnet 1,4 mW "funkte" das über gut 5 Meter in meinem Arbeitsraum. Der "Strom" durch die Sendediode betrug 2,8 mA. Zulässig sind "normal" max. 100 mA und gepulst bis 1 A. Au man, ist diese Empfangseinheit empfindlich. Husch, weg.
Grüße, picass

picass

#30
Melde Erfolg: die erste Verständigung zweier PICs miteinander via IR-Sendesignal ist in trockenen Tüchern.
Es gibt den Sende-PIC wie den Empfangs-P, jeweils mit Minimalst-Beschaltung. Auch die beiden Platinen für IR-Sendediode und die entspr. Empfangseinheit sind erschütternd einfach gehalten.
Gleiches gilt auch für das "Protokoll". Den Begriff habe ich extra in Anführungszeichen gesetzt, weil das Wort für das heutige Übertragungsmuster schon etwas hoch gegriffen ist. Nix mit "NEC-Protokoll"! >:D
 
Mit der intern auf 40 kHz runtergeteilten Frequenz - mein Begriff dafür: FC (Frequenz Count) - werden schlicht 3 Stück solcher FC's hintereinander weggesendet. Der Empfänger wacht via Interrupt auf, und weil - wie PICkel so schön ausrechnete - der PIC nur 0,1 mS benötigt, um in die Puschen zu kommen, reicht das locker, um gleich noch die erste "Eins" zu dekodieren. Der mit gleichem Quarztakt und gleichem FC (was war das nochmal? :-[ ) versorgte Empfangs-PIC prüft dann noch das zweite und das dritte FC auf Logikpegel und gibt dann Erfolg oder sonst NIX aus. Heuer entschied er sich für Erfolg.
Grüße, picass

^Cobra


Schnellantwort

Achtung: In diesem Thema wurde seit 120 Tagen nichts mehr geschrieben.
Wenn Sie nicht absolut sicher sind, dass Sie hier antworten möchten, starten Sie ein neues Thema.

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau