Hallo!
Ich habe ein Problem mit dem Einkoppeln von Störsignalen auf eine
Encoderleitung: ich verwende einen bürstenlosen Motor mit einem Encoder
mit 1024 Pulsen / Umdrehung und differenzieller Signalübertragung, der
von einem Motionkontroller angesteuert wird. Zusätzlich werden die
single ended encodersignale ausgekoppelt und auf einer STiftleiste
herausgeführt (hier wird eine weitere Auswertung der Signale
durchgeführt).
Es werden 2 Achsen verwendet: die Leitungen der ersten Achse sind in
etwa 1m lang, die Leitungen der zweiten Achse sind 1,5m lang; jeweils
single enden und ungeschirmt, es war anders nicht möglich. Durch die 3
Motorphasen des Motors fließen ca 300mA im betrieb, es wurde darauf
geachtet, dass Motor- und Encoderleitungen möglichst getrennt
voneinander verlegt werden.
Bei der ersten Achse wurden keine Probleme festgestellt. Die zweite
Achse mit der längeren Leitung weist Störungen auf, und zwar immer, wenn
der Motor eingeschalten ist. Siehe Oszilloskopbild im Anhang (eine
Dekade entspricht 50 ms).
Ich nehme stark an, dass es sich um Einkopplungen auf die
Encoderleitungen handelt, die von den Motorleitungen herrühren. Kann das
jemand bestätigen?
Kann mir jemand einen Vorschlag machen, wie ich diese Störungen
wegbekomme? Die Schaltung reiche ich gleich nach!
LG
Die beiden Signale sind A der A+ und B+ Kanal des Encoders! Der Motor
ist im Stillstand (aber trotzdem bestromt) und die Störungen kommen ca
alle 2-4s.
Schirmen, differentiell übertragen, Twisted Pair Leitung, niederohmiger
Eingang und vernünftige Treiber am Ausgang, Leitung so kurz wie möglich!
Hab ich was vergessen?
Ergänzend: Motormasse, Signalmasse, Leitungsführung, Abblock-Cs?
NOTfalls versuchen: mit Software die Ansteuerung so zu optimieren, daß
der Motor nicht während des Zeitfensters der Messung die STörungen
aussenden kann.
Hallo,
die Regelung selbst hat damit eigentlich nichts zu tun, hier verwenden
wir eh die differentiellen Signale, die Regelung funktioniert auch ganz
gut. Aber es werden die single ended Signale zusätzlich für eine
Auswertung verwendet, im Anhang nun die Schaltung:
VEncZ ist 5V, damit werden die Encoder versorgt. Die single ended
Signale für die Auswertung dürfen aber nur 3,3V haben. D.h. es wird mit
dem IC2 einmal 3,3 V erzeugt und damit ein Treiberbaustein IC1 versorgt.
Die 5V Encodersignale (singkkle ended) AX+, BX+ (X-Achse) und AY+, AY-
(Y Achse) werden über einen Spannunsgteiler auf 3,3V gebracht und dann
dem Eingang des Linetreibers zugeführt. Am K4ICG werden die Signale dann
abgegriffen. Wie beschrieben, die Leitungen der X-Achse sind kürzer,
hier hab ich keinerlei Störungen auf den Pins 1 und 3 von K4ICG. DIe
Störungen die oben im Bild zub sehen sind, sind von Pin 4 und 6, also
von der Y-Achse, die länger ist.
Wie könnte ich diese Störungen rausfiltern? Würde ein kleiner
Kondensator parallel zu R6 und R8 etwas bringen?
Danke!
Frank schrieb:> Schirmen, differentiell übertragen, Twisted Pair Leitung, niederohmiger> Eingang und vernünftige Treiber am Ausgang, Leitung so kurz wie möglich!
Danke für die Vorschläge:
Schirmen war leider nicht möglich (aus Platzgründen)
Der Encoder liefert zwar differenzielle Signale, diese werden auch vom
motionkontroller verwendet, deswegen funktioniert die Regelung auch rel.
gut. Allerdings werden für die beschriebene Auswertung nach 1,5m Leitung
nur die Singkle Ended Signale verwendet.
Twisted Pair wird nicht verwendet, es handelt sich um Flexleitungen.
Twisted Pair würde aber für Single Ended Übertragung eh nichts bringen,
oder?
Treiberbaustein verwende ich, allerings wird das Signal vorher schon
über 1,5 m übertragen. Der Encoder hat aber auch einen Linetreiber
integriert.
Hm, kann mir jemand einen Tipp geben, wie ich die Störungen am besten
wegfiltern könnte?
Im Anhang noch ein Foto der Störung, diesmal ist die Dekade 1ms. Es ist
eindeutig ein Sinus zu erkennen (ich habe hier ein Video aufgenommen,
das ist ein Ausschnitt davon, ähnliche Störungen kamen ebenfalls alle
2-4 s) Das interessant dabei ist, dass die Störung im zweiten Kanal
(Kanal B, grün) immer im gleichen Verhältnis zur Störung im ersten Kanal
(Kanaly A, gelb) steht (Amplitude und Verzögerung).
Kann sich das jemand erklären?
Das System ändern und gescheit aufbauen.
Alles was du sollst machst ist Murks.
Zum filtern (siehe oben, ist eher Murks, solange das System nicht besser
wird) braucht es Frequenzangaben. Wo sind die?
Werz schrieb:> Schirmen war leider nicht möglich (aus Platzgründen)
Jeder Anfänger weiss, dass bei solchen Signalen geschirmte Leitungen
notwendig sind. Die Aussage ist einfach völliger Unsinn, und dazu noch
unglaubwürdig. Da wurde schlicht aus Unfähigkeit gemurkst.
Georg
Werz schrieb:> Im Anhang noch ein Foto der Störung,
Versuche doch mal, die Screenshot-Funktion von dem DSO zu benutzen. Ein
unscharfes Photo als PNG anzuhängen, macht es nicht besser.
Werz schrieb:> Schirmen war leider nicht möglich (aus Platzgründen)
Schlimmstenfalls mußt du dann damit leben, das es aus Platzgründen nicht
möglich ist, die Signale störfrei elektrisch zu übertragen. Dann hilft
es, die Empfänger des Encoders mit LWL von der Störquelle wegzuführen,
sofern es sich um einen optischen Encoder handelt - who knows?
spontan schrieb:> Das System ändern und gescheit aufbauen.> Alles was du sollst machst ist Murks.
Ich werde mal versuchen, die Encoderleitung nur für einen Versuch nach
extern (weit weg von den Motorleitungen) zu verlegen und zu beobachten,
ob die Störungen weiterhin auftreten.
spontan schrieb:> Zum filtern (siehe oben, ist eher Murks, solange das System nicht besser> wird) braucht es Frequenzangaben. Wo sind die?
Kann man das aus den angeführten Diagrammen mit Angaben der Dekaden
(siehe oben) irgendwie bestimmen oder soll ich versuchen, das Spektrum
aufzunehmen?
Georg schrieb:> Jeder Anfänger weiss, dass bei solchen Signalen geschirmte Leitungen> notwendig sind
Es ist wirklich aus Platzgründen nicht möglich, es handelt sich um dünne
Flexleitungen mit hohen Zyklenzahlen und geringen Biegeradien.
Ist die oben angeführte Schaltung noch verbesserungsfähig? Wie siehts
mit den Abblockkondensatoren des Linetreibers aus? sollte ich hier noch
einen kleineren hinzufügen?
Wäre das Filtern mit einem C parallel zu R6 und R8 denkbar, wenn ich die
Frequenzen der Störungen herausfinde?
Vielen Dank!
Hallo,
ich versteh das ganze Treiben von Dir nicht richtig. Du schreibst, dass
der Encoder differenzielle Signale ausgibt. Aber nach 1,5m Leitung
wandelst Du die Signale in single ended um - wieso denn das??
Und wieso nimmst Du nicht den DS26C(LV)32? Der wandelt Dir doch
differenzielle Encodersignale um, so wie Du Sie scheinbar benötigst -
also diff. Signale vom Encoder abgreifen, auf den DS26C32 und hinten
dran kannst Du dann normal weiterarbeiten. Und wichtig: Nicht den GND
vergessen.
Gruß
TK
Werz schrieb:> Zusätzlich werden die> single ended encodersignale ausgekoppelt und auf einer STiftleiste> herausgeführt (hier wird eine weitere Auswertung der Signale> durchgeführt).
Womit wird diese Auswertung vorgenommen? Sofern die Störungen den
Enkoder 'überlisten', kann man die Signale nachträglich synchronisieren
und damit die Signalfrequenz nach oben begrenzen.
Werz schrieb:> spontan schrieb:>> Zum filtern (siehe oben, ist eher Murks, solange das System nicht besser>> wird) braucht es Frequenzangaben. Wo sind die?>> Kann man das aus den angeführten Diagrammen mit Angaben der Dekaden> (siehe oben) irgendwie bestimmen oder soll ich versuchen, das Spektrum> aufzunehmen?
Du kannst die Frequenz deiner Encoderimpulse bei maximaler Drehzahl
nicht vom Oszi ablesen? Was ist denn bitte dein fachlicher Hintergrund?
So was gehört zu den messtechnischen Basics! Zu mal moderne Oszis das
für dich auf Knopfdruck erledigen.
Miss einfach die Zeit zwischen zwei steigenden Flanken deines
Encodersignals und nimm den Kehrwert (Dazu kannst du die Kästchen auf
dem Oszi-Bildschirm zählen und mit der Zeitbasis multiplizieren).
TK schrieb:> Aber nach 1,5m Leitung> wandelst Du die Signale in single ended um - wieso denn das??
Hi!
es ist eine Anforderung, dass die Signale als Single Ended zur Verfügung
gestellt werden. Was damit weiter passiert, weiß ich leider nicht, ich
muss sie nur single ended auf einer Stiftleiste rausführen.
Ja, der Encoder liefert differentielle Signale. Was ich aber nicht
mache, ist, dass ich die differentiellen Signale in single ended
umwandle, sondern ich nehme direkt nur A+ und B+ her (siehe Schaltung
oben).
Danke!
Dann fahre bis kurz vor die Stiftleiste mit den differenziellen Signalen
optimaler weiße mit Twisted pair und wandel die dann richtig in Single
ended!
So bekommst du vllt die Gleichtakt Störungen raus.
Werz schrieb:
>Was ich aber nicht mache, ist, dass ich die differentiellen Signale in single
ended umwandle, sondern ich nehme direkt nur A+ und B+ her (siehe Schaltung oben).
Und genau hier liegt Dein Problem! Störungen auf differenziellen
Leitungen haben keine Auswirkung, solange diese auf beide Leitungen
gleichsam einwirken. Deshalb benutzt der Encoder ja auch dieses
Übertragungsverfahren. Und genau das solltest Du auch tun - solange es
geht bleibst Du bei der differenziellen Übertragung. Und dann - und nur
dann - wenn es notwendig ist, wandelst Du die Signale mit z.B. dem
DS26C32 in single ended Signale um.
Jedes Signal A / B einzeln umzuwandeln ist murks und geht nur mit
Filterung. Dazu sind aber Werte von
Frequenzen,Leitungslängen,Leitungsbeläge usw. notwendig. Das alles kann
man sich sparen.
Gruß
TK
Hi Frank!
Danke für den Vorschlag, fahre die 1,5m bis zur Platine tatsächlich mit
den differentiellen Signalen, verwende dann aber wie beschrieben nur die
single ended, wie in der Schaltung zu sehen. Der Linetreiber ist
deswegen hier in der Schaltung, weil nach der Stiftleiste noch über 1m
übertragen wird. D.h. ich könnte vorher eine zusätzliche Umwandlung der
differentiellen Signale in single ended durchführen, welcher Baustein
ist hierfür geeignet?
http://at.farnell.com/texas-instruments/ds26c32atm-nopb/line-receiver-quad-5-5v-smd/dp/1468998
Wäre das ein passender Baustein dafür? 5V und 3,3 V habe ich zur
Verfügung!
Danke, lG
Hi,
im Anhang das Datenblatt des Encoders, der 1024 Pulse pro Umdrehung
liefert.
Kann der oben angeführte TI - Baustein für die Umwandlung der
differenziellen Signale in single ended verwendet werden?
Danke!
m.n. schrieb:> Womit wird diese Auswertung vorgenommen?
Ich frage noch einmal: mit welchem Dekoder wird ausgewertet, daß diese
Störungen tatsächlich stören?
Oder enstehen die Spikes durch Masseschleifen beim Oszilloskope?
Werz schrieb:> Danke für den Vorschlag, fahre die 1,5m bis zur Platine tatsächlich mit> den differentiellen Signalen,
Dann zapf doch die Signale nach dem differentiellen Empfänger ab, der
sowieso schon lt. deiner Beschreibung vor dem regelnden Controller ist.
Der kriegt doch anscheinend saubere Signale, die du nur noch ein wenig
bufferst, um Rückwirkungen auf den Regler zu vermeiden und dann geht es
an deine eigene Schaltung.
So riskierst du nur, das du irgendwann auch die differentiellen Signale
so verbiegst mit deiner Filterei, das die Regelung auch nicht mehr geht.
m.n. schrieb:> Ich frage noch einmal: mit welchem Dekoder wird ausgewertet, daß diese> Störungen tatsächlich stören?> Oder enstehen die Spikes durch Masseschleifen beim Oszilloskope?
HAllo m.n.
wie schon beschrieben, weiß ich nicht, wie diese Signale wirklich
ausgewertet werden. Die Anforderung ist, dass ich sie auf einer
Stiftleiste zur Verfügung stelle, was damit weiter passiert, weiß ich
nicht. Wie ich auf die Störungen komme: ich habe die Signale auf der
Stiftleiste mit einem Oszilloskop gemessen und dabei beobachtet, dass
Störungen vorhanden sind.
Matthias Sch. schrieb:> Dann zapf doch die Signale nach dem differentiellen Empfänger ab, der> sowieso schon lt. deiner Beschreibung vor dem regelnden Controller ist.> Der kriegt doch anscheinend saubere Signale, die du nur noch ein wenig> bufferst, um Rückwirkungen auf den Regler zu vermeiden und dann geht es> an deine eigene Schaltung.
Das ist leider nicht möglich, weil der Controller nicht auf der gleichen
Platine ist: d.h. die differenziellen Signale werden weitergeleitet zur
Controllerplatine und erst dort verarbeitet.
Werz schrieb:> Das ist leider nicht möglich, weil der Controller nicht auf der gleichen> Platine ist: d.h. die differenziellen Signale werden weitergeleitet zur> Controllerplatine und erst dort verarbeitet.
Suichst du jetzt nur Gründe, um deine Filterei zu rechtfertigen? 'Ist
leider nicht möglich' ist der falsche Ansatz - dann mach es möglich.
Nimm ein zweites Paar differentielle Empfänger und bau die Schaltung
nach, die auch in der Regelung drin ist. Damit belastest du nebenbei
auch wieder beide Leitungen gleichmässig und riskierst keine Irritation
der Originalschaltung.
Werz schrieb:> welcher Baustein> ist hierfür geeignet?> http://at.farnell.com/texas-instruments/ds26c32atm-nopb/line-receiver-quad-5-5v-smd/dp/1468998>> Wäre das ein passender Baustein dafür?
Der ist auf jeden Fall viel passender als der differential line driver,
den du derzeit an der Stelle misbrauchst. (Du behauptest doch, dass du
auf der Stiftleiste single ended Signale weitergeben sollst. Wieso ist
dann für jedes Einzelsignal der differentiellen Signalpaare ein Pin der
Stiftleiste vorgesehen?)
Mit einem Kondensator im Spannungsteiler am Receivereingang kannst du
auch die gewünschte Filterwirkung erzeugen. Da der Receiver eine
Hysterese hat, nimmt er dir die gebremsten Flanken am Eingang nicht
übel. Leider kann man auf deinen Messungen so wenig erkennen, dass es
schwer ist, zu einem passenden Kondensatorwert zu raten.
Werz schrieb:> Könnte es sein, dass diese Störungen auch von den Hallsensorleitungen> herrühren? Ist das theoretisch möglich?
Mach mal richtige Messungen, auf denen man etwas erkennen kann (die
Breite und Form der Störungen, die Abtastrate, ....) Mach Screenshots
statt Photos vom Bildschirm. Ich könnte mir vorstellen, dass du bei
deinen augenblicklichen Beobachtungen (Sörungen alle 2-4 s) durchaus
auch Messartefakte eine Rolle spielen können.