servus, ich bin gerade dabei bei einer bestehenden encoder-schaltung (fertiges Gerät) einen Encoder anzubinden. Das problem ist, dass mein Signal eigentlich der ausgang eines Fringecounters (Sinussignal, Michelsoninterferometer) ist. Ich habe also nur ein singal (sinus, +-10V symmetrisch) welches ich durch einen Komparator in ein Rechtecksignal umwandle. Eigentlich wollte ich dem Gerät dieses Signal geben und die Leitung B auf Masse oder auf +5V legen, ich gebe der Steuerung die Richtung also manuell vor. Das funktioniert aber leider nicht, laut Hersteller der Encoderauswertung braucht das Ding beide Singale A und B. Meine Frage nun, wie kann ich das signal B, welches ja 90° phasenverschoben sein muss, erzeugen? Wenn ich den Sinus integriere bekomme ich je einen -Cosinus, der wäre ja 90° versetzt. ist das so aber auch dynamisch genug? Ich habe auch schon überlegt ob ich es mit einem oder zwei delay-gleider (4538) machen sollte, da wird das ganze aber nur für eine Frequenz genau passen, für alle anderen nicht. Weis jemand Rat? Gruß und Dank Philipp
Ein Quadratursignal enthält Positionsinformationen. Deshalb kann damit ein Zähler hoch- und runtergezählt werden. Wenn du sowieso nur 1 Signal hast, dann kann es auch nur 1 Richtung geben. Und deshalb brauchst du keine Quadraturauswertung, sondern bestenfalls einen simplen Zähler. Alternativ könntest du dich über das Signal des Interferometers noch ein wenig auslassen: worin ist dort die Position versteckt?
Das ist immer nur eine relative position. eine sinusschwingung entspricht einer Wegänderung von der halben Wellenlänge des Laserlichtes( rot ca. 650nm). Bin mir jetzt nicht absolut sicher ob das mit der halben Wellenlänge oder einer ganzen Wellenlänge ist, müsste ich noch mal genauer nachlesen... Ich hab die Auswertung eben schon, dort drin ist auch ein PID Regler für einen simplen Motor. Die will ich jetzt zweckentfremeden um damit meinen Motor für das Interferometer zu betreiben. Klar, wenn ich das blöde Ding nicht nehmen müsste, würd ich auch einen Zähler nehmen und fertig.
Hallo wenn du schon ein Rechtecksignal hast kannst du mit einer PLL die 4fache Frequenz erzeugen. Dann Teiler dahinter. Unter Verwendung des invertierten Ausgangs kannst du 2 Signale erzeugen die 90Grad verschoben sind.
@ Philipp Putzer (putzer_philipp) >Das ist immer nur eine relative position. eine sinusschwingung >entspricht einer Wegänderung von der halben Wellenlänge des Dann musst du sinnvollerweise dein Sinussignal direkt verarbeiten. Und zwar analog, bzw. digitlaisiert. ADC dran, fertig. Ein klassischer Encoder ist hier schlicht fehl am Platz. MfG Falk
Da die Amplitude deines Sinus ja frequenzunabhängig ist (sagen wir von 0V bis 5V oder zumindest voin 2V bis 3V) kannst du so was bauen: +5V | 10k +----1M----+ | | +----|+\ | | | >--+-- A | +--|-/ | | Signal --(-+--|-\ | | >--+-- B +R4+-|+/ | R4 hängt von Spannungsbereich ab, | | | bei 0V75V sind 100k gut | +-100k--+ 10k | GND
Philipp Putzer schrieb: > Ich habe auch schon überlegt ob ich es mit einem oder zwei delay-gleider > (4538) machen sollte, da wird das ganze aber nur für eine Frequenz genau > passen, für alle anderen nicht. Hallo Philipp, muss es auch nicht unbedingt - aber dazu solltest du zuerst folgende Frage beantworten: genügt dir die Zählung der durchlaufenden Sinushalbwellen oder musst du auch innerhalb der Periode interpolieren? Ich kann dir nur sagen, was ich machen würde, aber das ist keineswegs eine triviale Lösung: ich würde mit einem ausreichend schnellen µController einerseits Sinus und Richtung zum Zählen auswerten und andrerseits den Sinus digitalisieren, um die Position innerhalb der Periode zu bestimmen und damit dem Zähler weitere Stellen anzufügen. Wenn du das halt so haben willst, kann am Ausgang ein synthetisches nachlaufendes Quadratur-Signal (Rechteck) erzeugt werden, einfacher wäre es, den Zählwert direkt auszulesen. Dass das funktioniert, weiss ich, weil ich schon Interpolierer nach diesem System gebaut habe, und Heidenhain macht auch sowas. Ohne Interpolation muss der Phasenabstand nicht stimmen, dann genügt es, wenn je nach Richtung der eine Eingang dem anderen etwas hinterherhinkt. Natürlich bekommst du damit nur eine Zählerauflösung von einer halben Wellenlänge. Gruss Reinhard
mir genügt die anzahl der durchlaufenden Perioden. Das ganze mit einem µC zu machen war auch meine erste Idee, dann haben wir den bestehenden Regler gefunden und dachten wir könnten den mscl 'schnell' umbauen und grob das ganze testen. Dem ist wohl nun doch nicht so. Das mit der PLL, wie dynamisch issen des? braucht die nicht eine bestimmte Zeit bis sie stabil läuft??
@ Philipp Putzer (putzer_philipp)
>mir genügt die anzahl der durchlaufenden Perioden.
Wozu dann der Encoder? Dann reicht ein einfacher Eingang am uC. GGf. ein
Zählereingang, wenn die Frequenz recht hoch ist.
MFG
Falk
Philipp Putzer schrieb: > mir genügt die anzahl der durchlaufenden Perioden. >... > Das mit der PLL, wie dynamisch issen des? braucht die nicht eine > bestimmte Zeit bis sie stabil läuft?? Dann brauchst du auch keine PLL, sondern nur eine Verzögerungsschaltung, die A vor B oder B vor A liefert, je nach Richtung. Die Verzögerung dabei muss kürzer sein als die minimale Periodendauer des Sinussignals. Geeignet: CPLD oder Tiny-Prozessor mit ausreichender Taktgeschwindigkeit. Über die auftretenden Frequenzen hast du uns ja auch noch nichts verraten. Die Verzögerung ist also konstant für jede Frequenz, die Phasenlage logischerweise nicht - macht aber nix, solang der Quadraturzähler noch mitzählt. Über die auftretenden Frequenzen ... Gruss Reinhard
ok, meine Grundidee war es ja einen MotorRegler mit einem AVR zu bauen. Also signal rein, zählen, und daraus die istgröße für die Regelung berechnen. PID Regler dort implementieren und eine geeignete Endstufe bauen und fertig. Der Projektleiter meinte aber das dauert ihm zeitlich zu lange und ich soll doch mal das mit dem fertigen PID Regler probieren bzw. umbauen. Das das nicht so einfach wäre hab ich ihm auch gesagt, die Frequenzen von dem Interferometer (100-200kHz) sind auch höher als beim normalen dafür vorgesehen encoder. Ich werd ihm einfach nochmal erklären warum das so einfsch mit ein paar Bauteilen nicht geht. Danke jedenfalls für die Anregungen Gruß Philipp
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.