Forum: Mikrocontroller und Digitale Elektronik Aufbereiten von digitalem Signal


von Martin K. (dschadu)


Angehängte Dateien:

Lesenswert?

Hi,

ich bin aktuell dabei einen (oder genauer gesagt sechs) Linear-Aktuator 
für einen Simulator zu bauen. Als Steuerplatine kommen ODrive 3.5 zum 
Einsatz. Die verwendeten Encoder sind CUI AMT10, eingestellt auf 2048 
ppr. Der Encoder arbeitet mit 5 V. Angeschlossen sind A, B, Z (Index) 
auf 5 V toleranten Eingängen am µC (der arbeitet mit 3,3 V)
Versorgungsspannung Motoren: 42 V.
Motor: 149KV (also max. ca 6200 u/min bei 42 V), max. 70A.

Das Problem:
Ich habe leider ein Problem mit der EMV auf den Encoder-Leitungen. Die 
Leitung ist physikalisch so weit weg von den Motorleitungen wie es geht. 
Der Encoder sitzt direkt am Motor, irgendwo müssen die Leitungen sich 
also näher kommen. Die Leitung ist geschirmt und an beiden Enden 
aufgelegt (LIYCY 5x0,25mm²). Die Motorleitungen und auch die Versorgung 
gehen durch einen Ferrit-Kern.
Diese Maßnahmen haben gereicht um die Störungen von 2,2 Vpp runter auf 
1,7 Vpp zu bekommen. Das ist leider noch nicht genug, es gibt immer 
wieder Probleme beim Homing (Index-Signal Suche nach dem Start). Die 
Störung entspricht exakt den 24 kHz PWM-Frequenz die genutzt wird um den 
Motor zu steuern.

Meine Frage ist jetzt:
Was ist die beste Variante diese Störungen weiter zu minimieren? Ich 
habe auf dem Gebiet nicht allzu viel Erfahrung. Auf der Steuerplatine 
selbst sitzen nur 3,3kOhm Widerstände gegen Vcc (3,3 V).
Reicht ein LPF mit z.b. 2,4 kHz cut-off-frequency (680 Ohm + 100 nF)? 
Oder würde ein separater Schmitt-Trigger IC besser funktionieren?

Vielen dank schon mal für eure Hilfe :) Sollten noch Infos fehlen, 
liefere ich die gerne nach.

von Stefan F. (Gast)


Lesenswert?

Das Signal sieht doch fast super aus. Ich würde es durch einen Tiefpass 
schicken und dann durch einen Schmitt Trigger. Wobei die Eingänge vieler 
Mikrocontroller bereits Schmitt-Trigger enthalten.

von AtzeM (Gast)


Lesenswert?

Die Schaltflanken sehen doch gut aus. Stören dich die "Störungen" auf 
dem Scope-Bild ?  Das könnte am Messaufbau zum Scope der Grund sein ... 
GND-Klemme vom Scope an der "richtigen" Stelle angeklemmt ?
Sonst wie Stefanus schon geschrieben, TP-Filter (RC oä.) versuchen ...

von Martin K. (dschadu)


Lesenswert?

Für mich sieht das Signal auch okay aus. Leider zeigt aber das Verhalten 
der Motoren / Steuerung dass es wohl doch zu fehlerhaften Signalen 
kommt.
Ich würde ins blaue raten und sagen dass die Störung ab und zu über die 
0,7 * Vcc kommt (ca. 2,3 V). Ein 5 V Schmitt-Trigger würde diese 
Schwelle ja auf 3,5 V anheben.

Das Mess-Aufbau war nicht 100% sauber (keine Feder benutzt, sondern die 
kurze Masse-Klemme). Dafür fehlten mir drei weitere Hände ;)

Ich versuchs dann mal mit dem Tiefpassfilter mit nachgeschaltetem 
Schmitt-Trigger.
Danke für eure Antworten!

von Achim M. (minifloat)


Lesenswert?

Martin K. schrieb:
> 2048 ppr

Martin K. schrieb:
> Tiefpassfilter

Nicht dass du dir mit dem TP die schönen 2048 ppr vermiest. Wie groß ist 
die maximale Drehzahl der Motoren?

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


Lesenswert?

Martin K. schrieb:
> Das Mess-Aufbau war nicht 100% sauber (keine Feder benutzt, sondern die
> kurze Masse-Klemme). Dafür fehlten mir drei weitere Hände ;)
Miss mal "Masse gegen Masse". Wie sieht das aus? Hast du die Störungen 
einfach so überall?

Martin K. schrieb:
> Was ist die beste Variante diese Störungen weiter zu minimieren?
Das eigentliche Problem ist hier ja nur sekundär der gestörte Geber. Im 
Grunde sollte man mal schauen, ob man die Ursache der Störungen besser 
in den Griff bekommen könnte.
Hast du geschirmte Motorleitungen? Ist der Schirm satt und flächig auf 
PE gelegt? Oder ist der Schirm herausgeführt, verdrillt und führt über 
ein 30cm Pigtail irgendwo aufs Gehäuse?
Wo ist der Ferrit? Direkt am FU Ausgang? Oder soweit weg, dass die 
Störungen schon wieder auskoppeln können?

Martin K. schrieb:
> Die Leitung ist geschirmt und an beiden Enden aufgelegt
Probiers mal, den Schirm nur auf einer Seite aufzulegen. Dafür gibt es 2 
Möglichkeiten, die solltest du beide ausprobieren.

von Noname (Gast)


Lesenswert?

Pulldowns auf der Steuerplatine wären besser. Der Pushpullausgang des 
Encoders liefert laut Datenblatt max. 2mA. Der Lowpegel macht wohl 
aktuell Schwierigkeiten. Mit Pulldowns wird bei 5V immer noch genug 
High-Pegel für die 3.3V-Eingänge erreicht. Parallel zu den Pulldowns 
würde ich noch kleine Kondensatoren schalten.

von Martin K. (dschadu)


Lesenswert?

Achim M. schrieb:
> Nicht dass du dir mit dem TP die schönen 2048 ppr vermiest. Wie groß ist
> die maximale Drehzahl der Motoren?

Wie eingangs geschrieben: ca. 6000 u/min maximal. Damit komm ich auf 
etwa 204 kHz. Das habe ich tatsächlich noch gar nicht beachtet.


Lothar M. schrieb:
> Miss mal "Masse gegen Masse". Wie sieht das aus? Hast du die Störungen
> einfach so überall?

Werde ich mal messen.

Lothar M. schrieb:
> Hast du geschirmte Motorleitungen? Ist der Schirm satt und flächig auf
> PE gelegt? Oder ist der Schirm herausgeführt, verdrillt und führt über
> ein 30cm Pigtail irgendwo aufs Gehäuse?
> Wo ist der Ferrit? Direkt am FU Ausgang? Oder soweit weg, dass die
> Störungen schon wieder auskoppeln können?

Die Motorleitungen sind ungeschirmt. Der Ferrit ist direkt am Ausgang. 
Leitungslänge zum Motor etwa 40 cm. Ich werde mal schauen ob ich auf der 
Arbeit zwei Meter 4x6mm² Ölflex 110 CY abgreifen kann. Leider fehlt mir 
auf der Seite von der Platine eine richtige Möglichkeit den Schirm 
aufzulegen.
Der Schirm vom Encoder ist mangels vernünftiger Möglichkeit ein kurzer 
pig-tail (etwa 1cm).

Lothar M. schrieb:
> Probiers mal, den Schirm nur auf einer Seite aufzulegen. Dafür gibt es 2
> Möglichkeiten, die solltest du beide ausprobieren.

Zu Beginn wars nur auf einer Seite, die zweite Seite dazu zu holen hat 
es minimal verbessert.

Noname schrieb:
> Der Pushpullausgang des
> Encoders liefert laut Datenblatt max. 2mA. Der Lowpegel macht wohl
> aktuell Schwierigkeiten.

Stimmt, das ist mir gar nicht aufgefallen. Ich werde mal versuchen die 
Widerstände aus zu löten.

von Thomas K. (joshua314)


Lesenswert?

Hallo Martin,

wenn ich es richtig sehe, musst du das so machen, wie es alle andere 
machen.
Gehe auf ein Differential Signal direkt am Encoder. Führe für jedes 
Signal 2 verdrillte Leitungen nach aussen.


1. Kannst du hier dein 3,3V zu 5V Problem lösen.
2. Bist du von Masse befreit.

Thema RS422 ...


Sender   Bausteil AM26LS31
Emfänger Baustein AM26LS32

Gruß Thomas

von Noname (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe mal eine Simulation mit LT-Spice gemacht. Die Vorlage kommt von 
Helmut S. Beitrag "Simulationssoftware für Leitungen"
Er verwendet in der Simulation ein Koaxialkabel.
Ich habe die Simulation für ein Patch-Kabel oder ein Twisted pair -Kabel 
mit Wellenwiderstand 100 Ohm abgeändert. Die Induktivität von 400nH/m 
ist eine Annahme.
Es ist immer eine Signalleitung mit GND verdrillt. Den Schirm würde ich 
nur auf der Steuerung auflegen, da vermutlich die PWM kapazitiv auf das 
Motorgehäuse koppelt.
Die Frequenz des Signals habe ich mit 200kHz angenommen. Bei 40cm 
Leitungslänge und Fehlabschluss kommt es schon zu ziemlichen 
Verzerrungen. Das RC-Glied glättet diese und hilft auch noch bei den 
PWM-Störungen.
Vielleicht kennt sich ja einer mit der Simulation von Leitungen aus und 
kann das mal überprüfen.
Bei maximaler Motordrehzahl sollte die Signalform mit einem Oszi direkt 
an den Eingängen der Steuerung gemessen werden.
Professionell macht man es aber eher wie das Thomas K. beschrieben hat. 
Ist halt mehr Aufwand.

von Larry (Gast)


Lesenswert?

> Pulldowns auf der Steuerplatine wären besser.
> Der Pushpullausgang des Encoders liefert laut Datenblatt max. 2mA.

Noch viel besser als Pulldowns waeren ordentliche Treiber
in der Naehe der Encoder. Die dann differentiell das abgeschirmte
Kabel treiben.

Z.B.:
> Sender   Bausteil AM26LS31
> Emfänger Baustein AM26LS32

Alles andere ist nur Flickwerk und kann mit anderer Kabelfuehrung
wieder versagen.

von Stefan F. (Gast)


Lesenswert?

Larry schrieb:
> Noch viel besser als Pulldowns waeren ordentliche Treiber
> in der Naehe der Encoder.

Wenn ich die steilen (da nicht sichtbaren) Flanken des Signals sehe, 
scheint mir der Sensor bereits kräftig genug zu treiben.

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.