Forum: Analoge Elektronik und Schaltungstechnik PWM Signal Senden und Empfangen dann Vergleichen


von Stefan S. (erdberquark)


Lesenswert?

Hallo alle zusammen,

ich habe leider mal wieder eine Frage ;-)

Da ich nicht weiß wonach ich da suchen soll!!

Also ich Sende über eine IR-Diode ein gepulstes signal zum Beispiel 
"Lang Lang Kurz" dieses Signal wird dann über eine Fotodiode wirder 
aufgenommen.

Nun würde ich gerne die beiden Signale Vergleichen um Festzustellen, ob 
auch alles angekommen ist. Wenn dieses der Fall ist möchte ich ein 
Positives Signal ausgeben. Um dann die Richtigen übertrasgungen zählen 
zu können.


Natürlich könnte ich das ganze auch über den uC machen. Da die Signal in 
einer sehr schnellen abfolge kommen wurd emir dazu geraten das ganze 
Analog aufzubauen. Natürlich möxchte ich den uC nicht damit auch noch 
belasten ;-)


Also über eine kurze Anregung wie ich das machen muss oder wonach ich 
suchen muss wäre bestens.

Gruß

Quark

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Stefan S. schrieb:
> sehr schnellen abfolge

Wie schnell? Poste mal gewünschte Datenrate und Menge der Daten.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan S. schrieb:
>  ein gepulstes signal zum Beispiel "Lang Lang Kurz"
Das hat doch nichts mit einer PWM zu tun....  :-/

> Also ich Sende über eine IR-Diode ein gepulstes signal zum Beispiel
> "Lang Lang Kurz" dieses Signal wird dann über eine Fotodiode wirder
> aufgenommen.
Ein (1) Signal also.
> Nun würde ich gerne die beiden Signale Vergleichen um Festzustellen, ob
> auch alles angekommen ist.
Woher kommt jetzt das zweite? Von der Fotodiode? Warum willst du es dann 
vergleichen, wenn du sowieso schon das "Original" hast?

von Stefan S. (erdberquark)


Lesenswert?

Hi,

also die Daten Menge wird nicht ganz so viel sein ich will ja nur wissen 
ob das Signal ankommt oder nicht. Geplant sind immer 5er Pakete um 
sicher zu stellen das ich auch mein Signal aufnehme und nicht zufällig 
irgend welche anderen Signale.

Ich will nur die Zeit zwischen den Impilens messen.

Also es ist geplant einen Drehzahlmesser zu bauen.

Meine Photo Diode hat Rise/Fall Time von jeweils 100ns

Wie schnell ich dann genau messen muss wäre dann die Frage langsammer 
kann ich am ende immer noch werden aber erstmal das beste raus holen.


Wenn ich mich nicht Irre wäre meine Foto Diode alle 200ns wieder bereit 
ein neue Signal aufzunehmen.

Gruß

Quark

von Stefan S. (erdberquark)


Lesenswert?

@ lkmiller

Hi, du hast recht das es nichts mit einer PWM zu tun hat. Also ich habe 
ja nur ein gepulstes Signal und nicht ein Moduliertes.


Ich Sende mit meiner IR Diode Pakete und Schicke diese auf einen 
Reflektor von dort wird das Signal abgelenkt und kommt wieder zurück und 
wird von der Foto Diode wieder aufgenommen.


Ich würde gerne nur dann ein OK Singnal ausgeben wenn das gesamte Paket 
angekommen ist. Daher möchte ich die Signale vorher vergleichen.

Hoffe ich habe mich nun etwas verständlicher ausgedrückt ;-)

Gruß

Quark

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan S. schrieb:
> Ich Sende mit meiner IR Diode Pakete und Schicke diese auf einen
> Reflektor von dort wird das Signal abgelenkt und kommt wieder zurück und
> wird von der Foto Diode wieder aufgenommen.
Du hast also "nur" die Lichtlaufzeit (+irgendwelche Schltzeiten)?
Dann kannst du das jeweilige Bit ja sofort nach der Ausgabe wieder 
einlesen und vergleichen...

von Stefan S. (erdberquark)


Lesenswert?

Ob ich am Ende wirklich so schnell schalten kann das ist noch die Frage 
;-)

ABer an sich habe ich erstmal nur die Lichtlaufzeit.

Ja natürlich könnte ich jedes Bit nach dem auslesen auch wieder 
vergleichen
mein Plan ist es ja immer 5er Paket zu vergleichen um sicher zu gehen 
das es auch mein Signal ist das ich bekomme.

Daher suche ich ja eine Möglichkeit die Paket zu vergleichen und wenn 
dann ein Paket richtig übergenben wurde möchte ich ein Impul an den uC 
übergeben.


Dieser soll dann die Zeit zwischen den beiden Richtig impulens messen.

Aus diesem Grund möchte ich ja das ganze so schnell wie möglich 
vergleichen damit so wenig Zeit bei den Paket verloren geht das man es 
vernachlässigen kann!!!

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan S. schrieb:
> mein Plan ist es
Ja, der fehlt hier noch...
> ja immer 5er Paket zu vergleichen um sicher zu gehen
> das es auch mein Signal ist das ich bekomme.
5er-Pakete sind im binären Umfeld unbeliebt...

> Daher suche ich ja eine Möglichkeit die Paket zu vergleichen und wenn
> dann ein Paket richtig übergenben wurde möchte ich ein Impul an den uC
> übergeben.
Wieso immer Pakete? Da mußt du ja immer zwischenspeichern. Und wenn du 
ein fehlerhaftes Bit erkennst, dann wird es nicht besser, wenn du danach 
noch weiter Bits übertragen willst.
Wer gibt im uC die Pulse aus? Software oder Hardware (UART)? Wenn es 
Software ist, dann wäre das bei mir nur 1 Zeile mehr Code für den Test. 
Die Lichtlaufzeit wäre durch die Programmlaufzeit sicher kompensiert.

Stefan S. schrieb:
> Natürlich könnte ich das ganze auch über den uC machen. Da die Signal in
> einer sehr schnellen abfolge kommen
Zahlen, bitte. Was ist "sehr schnell"?
> wurd emir dazu geraten das ganze Analog aufzubauen.
Vom Emir? Wer kommt auf die Idee, ein digitales signal analog 
auszuwerten? Oder meinstest du diskret, also mit Logik-ICs...

von Stefan S. (erdberquark)


Lesenswert?

Hi,

leider bin ich noch nicht so firm in dem Thema wie ich gerne sein würde.

Wie viele Bits mein Daten Paket am ende bekommt ist noch offen es sollte 
nur eins sein.

Meine momentan eingeplante Fotodiode schaft es alle 200ns einen Wert 
aufzunehmen. Daher würd eich erstmal versuchen das signal so schnell wie 
möglich aufzunehmen.

Langsamer kann ich am ende immer noch werden.



Wie genau ich die Pusle erzeuge weiß ich noch nicht. Ich nutze das was 
am einfachsten ist.

jetzt wo du es sagast meine ich natürlich Logik-ICs. Hätte ich unter dem 
begriff gesucht wäre meine suche wohl auch erfolgreicher verlaufen ;-)

Sorry

von Muetze (Gast)


Lesenswert?

Moin,

mir scheint der einfachste Weg wäre es, den Pegel des Ausgehenden und 
des reflektierten Signals über eine XOR-Verknüpfung zu vergleichen (geht 
alles analog). Wenn du dann ein Signal sendest und es wird nichts 
reflektiert, dann erhältst Du ein Signal, welches Du mit dem Controller 
auswerten kannst.
Du musst nur ein wenig auf die Signallaufzeiten aufpassen.

Grüße
Muetze

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan S. schrieb:
> Meine momentan eingeplante Fotodiode schaft es alle 200ns einen Wert
> aufzunehmen. Daher würd eich erstmal versuchen das signal so schnell wie
> möglich aufzunehmen.
Der Ansatz ist falsch.
Richtig ist: so schnell wie nötig und so langsam wie möglich.
Denn was machst du mit einem schnell erfassten Signal, wenn du es nicht 
genauso schnell weitergeben/verarbeiten kannst?

> Langsamer kann ich am ende immer noch werden.
Wenn alles läuft: schneller kannst du immer noch werden...

von citb (Gast)


Lesenswert?

Muetze schrieb:
> mir scheint der einfachste Weg wäre es, den Pegel des Ausgehenden und
> des reflektierten Signals über eine XOR-Verknüpfung zu vergleichen (geht
> alles analog).

Stimmt, das empfangene Signal muss immer den gleichen Zustand haben, wie 
das Gesendete. Lediglich in der Schalt- und Laufzeit sind Unterschiede 
zu tolerieren. Das ueber XOR erzeugte Signal "UNGLEICH" sollte also mit 
einer Verzoegerung ausgewertet werden.

citb

von Stefan S. (erdberquark)


Lesenswert?

Natürlich hast du  Recht das nicht immer der schnellste Weg der beste 
ist.


Also wenn ich von 20000 impulsen max ausgehe, dann ware das alle 50us 
ein Impuls. Dann würd eich gerne damit ich nichts verpasse 100mal 
schneller sein also macht das dann alle 0,5us eine Messung.


Hoffe das reicht dir nun als feste Zahl ;-)

Wie würde ich denn dann ein ganzes Packet abfragen??
Kann ich die bausteine irgednwie verknüpfen?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan S. schrieb:
> Wie würde ich denn dann ein ganzes Packet abfragen??
Warum? Wenn ein einzelnes Bit kaputt ist, dann ist doch dein ganzes 
Paket kaputt, oder?
Es wird nicht einfach sein, diskret ein ganzes (wie auch immer 
geartetes) Paket abzufragen, weil ja die Bitdauer unterschiedlich ist. 
Das macht deutlich mehr  Aufwand als das simple diskrete bitweise XOR.
> Kann ich die bausteine irgednwie verknüpfen?
Dazu bräuchte man erst mal einen Schaltplan, von dem, was du jetzt schon 
hast. Dann könnte man was dazuzeichnen...

von Muetze (Gast)


Lesenswert?

Moin,

Wenn Du wie oben beschrieben das Ausgangs- und das reflektierte Signal 
miteinander vergleichst (Laufzeiten beachten), dann musst Du gar nicht 
messen. Verknüpfe den Ausgang der XOR-Verknüpfung mit einem 
Interrupt-Eingang.
Wenn nun ein Unterschied zwischen dem Ausgangs- und reflektierten Signal 
entsteht, dann wird ein Interrupt ausgelöst und du kannst auf die 
Situation reagieren.
So musst Du auch nicht ganze Pakete miteinander vergleichen. So lange 
alles korrekt läuft, wird kein Interrupt ausgelöst. Kommt ein Interrupt, 
dann kannst Du schauen, in welcher Datensequenz dies passiert und Du 
kannst Die Daten erneut senden.

Grüße
Muetze

von Stefan S. (erdberquark)


Lesenswert?

Also wenn ich alles so richtig verstanden habe ist es am einfachsten die 
Signale einzeln zu überprüfen und nicht als ganzes Paket.

Ich werde mir das nochmal überlegen und schauen, ob ich mich mit der 
Lösung zu frieden geben kann.

Besten Dank schonmal!!!

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.