Hallo zusammen, ich habe in einer Anwendung Inkrementalgeber mit differentiellem A und B Signal und Absolutwertgeber mit SSI Interface im Einsatz. Nun sind die Leitungen sehr lang und liegen zum Teil auch parallel zu irgend welchen Wechselrichtern (Maschinensteuerungen). Es muss also mit Störungen der Signale durch Burst gerechnet werden. Die liegen nachweislich auch in den älteren Anlagen vor. Das ganze geht dann in ein FPGA zur Auswertung. Um das ganze möglichst störunempfindlich zu gestalten würde ich die Filter an den Digitaleingängen mit einer möglichst niedrigen Grenzfrequenz wählen. Welche Art von Filter würdet Ihr als geeignet ansehen? Debounce, Integrator mit oberem und unterm Schwellwert, irgend was komplizierteres wie IIR oder FIR (gibt es denn so was überhaupt für 1 Bit?). Meine Gedanken vorab: Debounce wird ja oft zur Entprellung genommen. Hat aber so scheinbar den Nachteil, dass wenn mehrere Störpulse hintereinander kommen die alle innerhalb der Debounce-Zeit liegen, dann bekommt man ja Ewigkeiten kein gültiges Signal. Beim Integrator verlängert sich die Verzögerung um das doppelte der Störimpulszeit. Vielleicht hat ja schon mal jemand DEN ultimativen Filter für mich entworfen? ;-)
Wie wärs das ganze niederohmig zu machen. (D.h. zu Terminieren?)
RS422 Übertragung mit 120 Ohm abschließen und verdrillte Leitung benutzen, dann ist das meiste weg. Die restlichen Spikes mit einem Spikefilter rausfiltern, wie du oben schon schriebst. Wenn der Burst länger ist als ein Encoder-Schritt ist eh der Schritt verloren.
Matthias G. schrieb: > Debounce wird ja oft zur Entprellung genommen. Da muss ich jetzt doch etwas schmunzeln... ;-) Übrigens, Displays werden auch oft als Bildschirm benutzt =)
> Wie wärs das ganze niederohmig zu machen. (D.h. zu Terminieren?) Terminiert ist es natürlich. Das ist selbstverständlich. Abgeschirmte paarweise verdrillte Leitungen mit der richtigen Impedanz wird natürlich auch verwendet. Und trotzdem kommt es in der Praxis tatsächlich zur Stärbeeinflussung. > Spikefilter Ja klar, aber mit welchem Design?
Matthias G. schrieb: >> Spikefilter > Ja klar, aber mit welchem Design? Zum Beispiel so. Hab ich mal im Datenblatt eines HCTLxxx Encoder-Interface Chips gefunden.
Christian R. schrieb: > Zum Beispiel so. Und dort ist die passende VHDL-Umsetzung: http://www.lothar-miller.de/s9y/categories/5-Entprellung unter Tastenentprellung_mit_Schieberegister
Danke für die Tips. Für eine Tastenentprellung ist das sicherlich perfekt. Aber für einen digitalen seriellen Eingang? Beispiel: Beim SSI-Eingang mit einer Baudrate von 100 kBaud kommt alle 10us ein neuer Wert rein. Jetzt könnte man den Debouncer (der obere Spikefilter ist nicht anderes) so auslegen, dass in dem Schieberegister ein einkommendes Bit innerhalb von sagen wir einmal 3us durch schiebt. Daher hat man eine Verzögerung von 3us. Soweit OK. Sollten dann aber Spikes im 2us Takt kommen, dann sind in dem Schieberegister NIE alle Bits gleich. da wird meine Verzögerung theoretisch unendlich groß. Jedenfalls zum Abtastzeitpunkt nach 10us können ungünstig gelagerte Spikes zu einem Fehler führen. Bei einem Integrator ist das z.B. anders. Vielleicht ist aber ein Filterdesign höherer Ordnung noch viel effektiver!????
Matthias G. schrieb: > Sollten dann aber Spikes im 2us Takt kommen, dann sind in dem > Schieberegister NIE alle Bits gleich. Korrekt. Aber ehrlich: wenn du so ein schlechtes Signal hast, dann mußt du an der Übertragung arbeiten. Alles andere ist eigentlich nur eine längere Schreibweise für "Pfusch". > Bei einem Integrator ist das z.B. anders. Vielleicht ist aber ein > Filterdesign höherer Ordnung noch viel effektiver!???? Ja, aber das kannst du nur beurteilen, wenn du das Störsignal und die Störer genau kennst. Sonst wird das nur hochtechnifiziertes Handauflegen...
Lothar Miller schrieb: > Aber ehrlich: wenn du so ein schlechtes Signal hast, dann mußt du an der > Übertragung arbeiten. Alles andere ist eigentlich nur eine längere > Schreibweise für "Pfusch". Genau so sehe ich das auch, wir hatten auch mal Probleme mit schlampig verlegten Drehgeber-Leitungen. Die Mechanik-Partnerfirma hat dann immerzu gedrängt, ich sollte doch im FPGA das Störzeug rausfiltern. Aber das geht eben nur begrenzt. Und im Öl abgesoffene Drehgeber werden immer schlimmer, das ist alles nur Pfusch. Man muss die Ursache beseitigen und nicht mit massivem Aufwand an den Symptomen herum doktorn.
Christian R. schrieb: > Man muss die Ursache beseitigen und > nicht mit massivem Aufwand an den Symptomen herum doktorn. Ja, da gebe ich Dir recht. Leider sieht die Welt aber ein bisschen anders aus. Da liegen z.B. die Kabel schon in separaten Kabelpritschen aus besagtem Grund. Plötzlich fällt irgend einer andern Firma nach 2 Jahren ein parallel dazu über 100 ungeschirmte Kabel von Thyristorstellern parallel zu verlegen. Da ist es schon von Vorteil wenn man die größtmögliche Sicherheit hat. Ein geeigneter Filter würde unter Umständen viel Service-Aufwand und damit Kosten sparen. Selbst wenn man dafür nichts kann bleiben die Aufwände doch bei einem selbst hängen.
Ich würd folgendes machen: einen Zähler der bei Einer 1 einen nach oben Zählt und bei einer 0 um einen nach unten. ist der zähler über 75% dann wird der Ausgang 1, und unter 25% 0. Also praktisch ein Integrator mit Hysterese.
Tron schrieb: > Ich würd folgendes machen: ... Danke. So dachte ich das auch und hatte das schon mal so gemacht. Die Hystereseschwellen hatte ich sogar gleich auf 0 und 100% gelegt. Hast Du zufällig auch noch eine Theorie, die das bestätigt. Oder gibt es vielleicht doch noch was "besseres". Aber auch hierzu habe ich keine "Theorie" gefunden.
> Hast Du zufällig auch noch eine Theorie, die das bestätigt. Oder gibt es > vielleicht doch noch was "besseres". Aber auch hierzu habe ich keine > "Theorie" gefunden. Mag sein das es was Besseres gibt, für meine Anwendung hat das gereicht.
Sowas wollte ich auch mal probieren, am besten mit einstellbarer Länge/Schwelle. Bin aber noch nicht dazu gekommen....bisher hat der o.g. Spike Filter gereicht. Natürlich in Verbindung mit ordentlich verlegten Leitungen.
VOR der Frage welches Filter mit welchen Eigenschaften am geeignesten ist müssen grundsätzliche Überlegungen gemacht werden. Welches Frequenzspektrum hat das Grundsignal, welches die Störer? Überlappen sich die Spektren ? Kann man eine feste Grenzfrequenz bestimmen um Nutzsignal und Störer zu separieren? Nur wenn die Störer viel hochfrequenter sind als das Nutzsignal ist eine Filter-Lösung denkbar. Aber: Die allerbeste Lösung ist der Vorschlag von Lothar Miller. Die Störungen müssen daran gehindert werden auf das Nutzsignal einzuwirken. Ich hatte einmal einen Fall wo die Masse des Drehgebernetzteils und der Eingangsstufe nicht verbunden waren. Die RS422 Receiver vertrugen nur +/- 7 Volt common mode voltage. Danach fingen sie an seltsame Störungen einzufangen. Kaputt gehen sie erst viel später. In einem anderen Fall war der Schirm der Drehgeberleitung beidseitig aufgelegt und es floß ein Stom durch ihn. Ein stromdurchflossener Schirm ist ganz ganz übel was Störungseinkopplung angeht - da ist gar kein Schirm noch besser. Ein "common mode filter"(antiparallel gewickelt gegen Gleichtaktstörungen) wirkt in vielen Fällen auch Wunder. Es ist sehr wahrscheinlich, dass die Störungen durch einen Fehler dieser Art verursacht werden.
Manfred Kraus schrieb: > war der Schirm der Drehgeberleitung beidseitig aufgelegt Das kann tatsächlich böse ins Auge gehen, wenn auf dem Schirm Ausgleichströme fliessen. Urigerweise sind sich da auch die Hersteller von Komponenten nicht einig, ob und wo (Sender/Empfänger) der Schirm am besten aufgelegt werden soll... :-/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.