Ich brauche ein Bild/Grafik für einen Encoder Eigenbau. Wer könnte mir sowas machen, oder hat eine Idee womit man das machen kann? Ich habe es schon mit Photoshop probiert, aber damit kann man minimal nur 1% schritte angeben. Des weiteren habe ich es mit CSS probiert, doch das ist auch nicht richtig (ungleichmässige Farbverläufe).
https://code.google.com/archive/p/wheel-encoder-generator/ https://www.evilmadscientist.com/2012/encoderink/
Eigentlich ist es nicht wirklich ein encoder, da keine codierung verwendet wird. Aber ich kann anhand der Helligkeit genau sagen wo ich bin (im jeweiligen Abschnitt).
Hallo, das kannst du dir die Wertematrix doch selbst berechnen, dann kannst du die Auflösung und Abstufung selbst definieren. F(x,y,n) = 0,5*cos(2n*arctan(y/x))+0,5 mit x,y Achskoordinaten und n Anzahl Verläufe. Grüße Sascha
Du könntest ein kleines Programm schreiben, das das Muster als PNG mit 16-Bit-Graustufen ausgibt. Damit haben die Grauwerte eine sehr feine Abstufung von nur 15 ppm. Aber wie geht es danach weiter? Falls du das Muster ausdrucken möchtest, wird der Druckertreiber und der Drucker selber die ganze Mühe wieder zunichte machen, da dieser keine echten Grautöne drucken kann. Aber warum willst du überhaupt ein Graustufenmuster verwenden? Dadurch, dass das optische Abtastsystem nicht punktgenau, sondern flächig abtastet, bekommst du auch mit einem schwarzweißen Streifenmuster an den Flanken einen sich kontinuierlich ändernden Signalpegel, den du zur Ermittlung von Positionszwischenwerten nutzen kannst. Du musst dazu nur die Sender- und die Empfängerblende breit genug machen.
Wenn das ein nur Ring wäre, die Helligkeitsmodulation sinusförmig und zwei Abtaster eine viertel Periode versetzt, hätte man einen Drehencoder mit (analogem) sin/cos-Signal.
AS5600 + diametraler Magnet? Preiswert, robust, absolute Werte mit 12bit, berührungslos. Wir kennen ja das Problem nicht genauer, aber eventuell passt es ja. Die mechanische Integration könnte halt je nach Aufbau schwierig werden, der Magnet muss zentrisch über dem IC sitzen.
Tobias K. schrieb: > Du meinst mit dem Program? Welches dann? Selber schreiben, aber am Einfachsten ist das BMP-Format, evtl. noch GIF. Die sind unkomprimiert. Hier gibt es ein paar Infos dazu: https://nicolashollmann.de/de/blog/writing-bmp-files/
>AS5600 https://www.mouser.de/new/ams-osram/ams-as5600-potuino-arduino-shield/ https://www.mouser.de/datasheet/2/588/AS5600_AB-POT_UG000378_1-00-1513605.pdf allerdings 51,32 € Es gibt auch immer noch rein mechanische sin/cos-Potis, aaaber der Preis! Wie wäre ein digitaler Encoder und eine Sinustabelle mit DAC?
:
Bearbeitet durch User
Ingo W. schrieb: > Wenn das ein nur Ring wäre, die Helligkeitsmodulation sinusförmig und > zwei Abtaster eine viertel Periode versetzt, hätte man einen Drehencoder > mit (analogem) sin/cos-Signal. Das war auch so der Plan. Aber ich überlege gerade, wie es mit dem Timing wird, wenn der ADC noch rödeln muss.
Paul B. schrieb: > AS5600 + diametraler Magnet? > > Preiswert, robust, absolute Werte mit 12bit, berührungslos. Wir kennen > ja das Problem nicht genauer, aber eventuell passt es ja. Die > mechanische Integration könnte halt je nach Aufbau schwierig werden, der > Magnet muss zentrisch über dem IC sitzen. Das wär auch eine interessante Lösung. Leider kann ich diese nicht implementieren.
Ingo W. schrieb: > Wenn das ein nur Ring wäre, die Helligkeitsmodulation sinusförmig und > zwei Abtaster eine viertel Periode versetzt, hätte man einen Drehencoder > mit (analogem) sin/cos-Signal. Wird so etwas in der Industrie verwendet? Ich kann mir vorstellen, dass das etwas störanfällig ist.
Tobias K. schrieb: > Aber ich kann anhand der Helligkeit genau sagen wo ich > bin Ahso, du brauchst tatsächlich die Graustufen. Das habe ich wohl am Anfang missverstanden. Aber wenn du tatsächlich eine Grafik mit 32-Bit Graustufen ( so viel bietet GIMP an) hinbekommst zweifle ich wie Yalu stark daran dass du diese auch auf Papier bringst. Und dann muss der Grauwert erst wieder über einen optischen Sensor und ADC eingelesen werden. Mein Gefühl saht mir dass da am Ende auch nur realistisch 100 Zwischenstufen rauskommen werden. Die haben das wohl irgendwie geschafft: https://www.quantumdev.com/incremental-encoder-output/ Noch mehr Theorie: https://mdpi-res.com/d_attachment/applsci/applsci-10-01766/article_deploy/applsci-10-01766.pdf?version=1583328011
Tobias K. schrieb: > einen Encoder Eigenbau. Was versprichst du dir von einem Eigenbau? Sind dir käufliche Lösungen zu teuer oder zu groß oder lösen sie zu schlecht auf? Warum reicht für dein Problem micht ein handelsüblicher Resolver: - https://www.digikey.de/de/articles/how-to-precisely-determine-motor-angular-position-and-velocity-with-a-resolver Würde die damit erreichbare Auflösung von 20 Winkelsekunden (ergo 1/180° bzw. eine 64000-tausendstel Umdrehung) für deine Anforderungen reichen? Tobias K. schrieb: > Paul B. schrieb: >> AS5600 + diametraler Magnet? > Leider kann ich diese nicht implementieren. Woran klemmt es denn? Tobias K. schrieb: > Aber ich kann anhand der Helligkeit genau sagen wo ich bin Mir fallen bei optischen Bauteilen auf Anhieb einige Effekte ein, die das schöne, einfache Gedankenmodell der analogen stufenlosen Abtastung schnell unheimlich komplex werden lassen. Unterschiedlich schnelle Alterung der beiden Kanäle und Verschmutzung sind die naheliegendsten. Thomas F. schrieb: > Die haben das wohl irgendwie geschafft: > https://www.quantumdev.com/incremental-encoder-output/ Die haben "einfach" viel technisches KnowHow und viele Ingenieursmannjahre Erfahrung und können dann solche feinmechanischen Wunderwerke bauen, wie sie dort beschrieben sind: - https://www.quantumdev.com/resource-library/rotary-encoder-basics/ - https://www.quantumdev.com/resource-library/incremental-encoder-basics/ Und mit solchen Schlitzscheiben erreichen sie dann Auflösungen bis zu 20k Schritten pro Umdrehung, die entweder als Quadraturpulse ausgegeben oder in absolute sin/cos-Signale umgewandelt werden.
:
Bearbeitet durch Moderator
Harald E. schrieb: > Ingo W. schrieb: >> Wenn das ein nur Ring wäre, die Helligkeitsmodulation sinusförmig und >> zwei Abtaster eine viertel Periode versetzt, hätte man einen Drehencoder >> mit (analogem) sin/cos-Signal. > > Wird so etwas in der Industrie verwendet? > Ich kann mir vorstellen, dass das etwas störanfällig ist. Klar wird sowas in der Industrie verwendet! Optische Inkrementalencoder der Etablierten Hersteller arbeiten meist genau so. Das ist extrem störunanfällig und die Präzision ist so hoch, daß die Auflösung von z.B. 4000 sin/cos Verläufe pro Umdrehung so eines Encoders nach Abtastung mit ADCs noch in einem FPGA um einen Faktor von z.B 500. hochinterpolierbar ist. Der Interpolator liefert dann ein digitales Quadratursignal wie aus einem digitalen Quadratur-Encoder mit der 500-fachen Auflösung (im Beispiel hier 2 Mio Striche/Umdrehung). Das FPGA wird wegen der hohen Geschwindigkeit benötigt, schon bei sehr gemächlicher Drehzahl kommen hohe Frequenzen heraus... Bei sehr langsamen Drehzahlen (z.B im einstelligen U/min Bereich) oder geringerer Auflösung kann das auch ein μC in Software. So ein Interpolator erfordert allerdings einigen Aufwand, z.B. eine (selbstlernende) positionsabhängige Offset- und Amplitudenkorrektur, damit die interpolierte Auflösung konsistent ist. Ich würde daher bei geringerer Auflösung als etwa 1000 Striche pro Umdrehung immer einen rein digitalen Encoder bevorzugen. Die Quadraturauswertung erfolgt im Encoder ab einer bestimmten Strichzahl wegen der dann nicht mehr sinnvoll realisierbaren geringen Abmessungen der Sensoren mit einem Hilfsgitter mit der (n-1)/n -fachen Strichweite der Codescheibe, woraus sich dann ein Aliasmuster mit der n-fachen Breite ergibt, welches leicht zu erfassen ist.
Harald E. schrieb: > Wird so etwas in der Industrie verwendet? Encoder mit Sin/Cos-Ausgängen gibt es schon lange. Allerdings arbeiten sie m.W. nicht mit Graustufen, sondern mit ganz normalen Strichscheiben, wie sie auch bei Encodern mit digitalen Ausgängen verwendet werden. Für die Generierung des Sin/Cos-Signals wird der "Weichzeichnereffekt" genutzt, der dadurch entsteht, dass der abtastende Lichtstrahl nur endlich stark fokussiert wird, so wie ich das schon oben versucht habe zu erläutern: Yalu X. schrieb: > Dadurch, dass das optische Abtastsystem nicht punktgenau, sondern > flächig abtastet, bekommst du auch mit einem schwarzweißen > Streifenmuster an den Flanken einen sich kontinuierlich ändernden > Signalpegel, den du zur Ermittlung von Positionszwischenwerten nutzen > kannst. Du musst dazu nur die Sender- und die Empfängerblende breit > genug machen. Man muss sich natürlich darüber im Klaren sein, dass damit zwar die Auflösung fast beliebig verbessert werden kann, der Erhöhung der Genauigkeit sind aber durch Herstellungstoleranzen, Nichtlinearitäten usw. Grenzen gesetzt. Lothar M. schrieb: > Tobias K. schrieb: >> Aber ich kann anhand der Helligkeit genau sagen wo ich bin > Mir fallen bei optischen Bauteilen auf Anhieb einige Effekte ein, die > das schöne, einfache Gedankenmodell der analogen stufenlosen Abtastung > schnell unheimlich komplex werden lassen. Unterschiedlich schnelle > Alterung der beiden Kanäle und Verschmutzung sind die naheliegendsten. Beides lässt sich erfassen und kompensieren, während der Encoder bewegt wird.
Thomas F. schrieb: > Aber wenn du tatsächlich eine Grafik mit 32-Bit Graustufen ( so viel > bietet GIMP an) hinbekommst zweifle ich wie Yalu stark daran dass du > diese auch auf Papier bringst. Papier ist keine Option. Kann leicht verfärben, und saugt alles möglich an betriebsstoffen auf. > Mein Gefühl saht mir dass da am Ende auch nur > realistisch 100 Zwischenstufen rauskommen werden. Das wären 0,6 Elektrische Rotation. Mehr als genug würde ich sagen. > Die haben das wohl irgendwie geschafft: > https://www.quantumdev.com/incremental-encoder-output/ Optisch?
Lothar M. schrieb: > Was versprichst du dir von einem Eigenbau? Sind dir käufliche Lösungen > zu teuer oder zu groß oder lösen sie zu schlecht auf? Motor soll nachgerüstet werden. Habe nur so 5x10mm Platz für den Sensor am Ring. Lothar M. schrieb: > Mir fallen bei optischen Bauteilen auf Anhieb einige Effekte ein, die > das schöne, einfache Gedankenmodell der analogen stufenlosen Abtastung > schnell unheimlich komplex werden lassen. Unterschiedlich schnelle > Alterung der beiden Kanäle und Verschmutzung sind die naheliegendsten. Normal wird hier nichts schmutzig.
Yalu X. schrieb: > wird der Druckertreiber und der Drucker selber die ganze Mühe wieder > zunichte machen, da dieser keine echten Grautöne drucken kann. Ich brauch keine echten Grautöne. Yalu X. schrieb: > bekommst du auch mit einem schwarzweißen Streifenmuster an den > Flanken einen sich kontinuierlich ändernden Signalpegel, Aber mit meinem Kontinuierlichen Verlauf brauche ich keine Blende. So eine Blende dranzumachen klingt zwar einfach, aber der Teufel steckt im Detail.
Tobias K. schrieb: > Yalu X. schrieb: >> wird der Druckertreiber und der Drucker selber die ganze Mühe wieder >> zunichte machen, da dieser keine echten Grautöne drucken kann. > > Ich brauch keine echten Grautöne. Was dann? Geditherte Grautöne? Dann hängt der Erfolg des Ganzen aber stark vom Dithering-Algorithmus im Druckertreiber bzw. Drucker und vom Durchmesser eines einzelnen, ausgedruckten Pixels ab, der bei den meisten Druckern größer ist als es dem Rastermaß entspricht. > Yalu X. schrieb: >> bekommst du auch mit einem schwarzweißen Streifenmuster an den >> Flanken einen sich kontinuierlich ändernden Signalpegel, > > Aber mit meinem Kontinuierlichen Verlauf brauche ich keine Blende. Irgendwie musst du ja den Erfassungsbereich des Sensors begrenzen. Natürlich kannst du auf die Blende verzichten und den Bereich stattdessen durch den Öffnungswinkel von Sender und Empfänger begrenzen lassen. Diese Begrenzung ist dann aber nicht so sauber definiert wie mit einer Blende und verringert damit die Genauigkeit der ermittelten Winkelposition. Wenn dir die Genauigkeit nicht so wichtig ist, kannst du die Blende auch bei der von mir vorgeschlagenen digitalen Strichscheibe (mit analoger Abtastung) weglassen, solange die Strichbreite ungefähr dem Erfassungsbereich entspricht. Welche Genauigkeit und Auflösung strebst du überhaupt an? Das Muster in einem Eröffnungsbeitrag hat 21 Perioden, und Graustufen von 1% waren dir zu grob. Also erhoffst du dir wohl eine Auflösung von deutlich mehr als 21·100=2100 Winkelschritten pro Umdrehung, was schon recht sportlich ist, vor allem dann, wenn auch die Genauigkeit in dieser Größenordnung liegen soll. Ich würde ein einfaches Strichmuster in der maximalen Auflösung, die der Drucker hergibt, nehmen und dieses ganz klassisch rein digital abtasten. Damit wird vermutlich nicht nur die Auflösung, sondern vor allem auch die Genauigkeit deutlich besser sein als mit den Graustufen. Trotzdem habe ich mal spaßeshalber meinen Vorschlag von oben umgesetzt und ein Muster mit 21 Sinusperioden und 16-Bit-Graustufen generiert (s. Anhang).
Yalu X. schrieb: > *So einiges* So über die einzelnen Pixel mache ich mir keine Gedanken, da diese für den Sensor uninteressant sind. Der ist ja eigentlich ziemlich farbenblind und sieht glaube auch nicht so gut ;-) Ich bin mir noch nicht ganz sicher, wie ich genau die Aufteilung mache. Es könnte auch weniger Teilung werden. Ich habe auch einen Denkfehler gehabt, in dem nämlich eine Sinusfunktion nicht so ganz Linear ist... Deine Grafik sieht viel besser aus als meine. Kannst du mir die mal mit einem Dreieckverlauf generieren in 21, 14 und 7 Perioden? Und bitte bis zur Mitte? Wär echt nett ;-) Hast du das Video vom Linearservo gesehen? Der hat ganz gut funktioniert.
:
Bearbeitet durch User
Interessant: Ich sehe bei den generierten Verlauf (lolline.jpg), auf einem Bildschirm eine "linie", aber auf den anderen nicht. Zudem gibt es Artefakte (auch linien) in meinem generierten Bmp Bild. Woher kommen die? Hat jemand grad mal die Formel/den Code griffbereit, wie ich x und y zum Kreis biegen kann?
:
Bearbeitet durch User
Tobias K. schrieb: > So über die einzelnen Pixel mache ich mir keine Gedanken, da diese für > den Sensor uninteressant sind. Der ist ja eigentlich ziemlich > farbenblind und sieht glaube auch nicht so gut ;-) Ist die reale Pixelgröße größer als das Rastermaß, wird auch ein dunkles Grau als schwarz dargestellt, so dass der Sensor nicht zwischen den beiden unterscheiden kann. Auch für andere Grauwerte entstehen dadurch Nichtlinearitäten, die zudem von dem verwendeten Dithering-Verfahren abhängen. > Deine Grafik sieht viel besser aus als meine. Wie erkennst du das? In der PNG-Grafik sind zwar die Grauwerte um den Faktor 256 höher aufgelöst, da aber ein gewöhnlicher Bildschirm aber nur 8 Bit Grauwertauflösung hat, kann er diese Verbesserung gar nicht wiedergeben. Wenn man überhaupt einen Unterschied erkennt, liegt das an der verlustbehafteten Komprimierung deines JPEG-Bilds. > Kannst du mir die mal mit einem Dreieckverlauf generieren in 21, 14 und > 7 Perioden? Und bitte bis zur Mitte? > > Wär echt nett ;-) Weil du's bist :) Den Python-Code zur Generierung habe ich ebenfalls angehängt. > Hast du das Video vom Linearservo gesehen? Der hat ganz gut > funktioniert. Ja, darin kann aber nicht erkennen, wie genau die Positionserfassung ist. Wenn du den Graustufenverlauf nach Gefühl mit einem Bleistift aufgemalt hättest, hätte das bei flüchtigem Betrachtung sicher einen ähnlich guten Eindruck gemacht. Du solltest für verschiedene Positionen mit einer Schieblehre o.ä. den realen Verfahrweg messen und das Ergebnis mit dem jeweils vorgegebenen Sollwert vergleichen. Ich bin mir ziemlich sicher, dass die Genauigkeit nicht besser als 1mm ist. Für diese Genauigkeit braucht es auch keine Grauwertauflösung von besser als 1%, geschweige denn von mehr als 8 Bit. Tobias K. schrieb: > Interessant: > Ich sehe bei den generierten Verlauf (lolline.jpg), auf einem Bildschirm > eine "linie", aber auf den anderen nicht. Fehler in Hardware, Software oder Bedienung. Dein erstes Bild am Anfang des Threads hat auch schon solche komischen Linien. Ich dachte, das seien Hilfslinien, die du bei der Erstellung mit Photoshop absichtlich eingezeichnet hast.
:
Bearbeitet durch Moderator
Yalu X. schrieb: >> Deine Grafik sieht viel besser aus als meine. > > Wie erkennst du das? Ich zoome mal rein, und erkenne Artefakte. Habe da eine gif datei. Deine Dateien als JPG abgespeichert sind auch einwandfrei für meinen Anspruch. Yalu X. schrieb: > Weil du's bist :) Danke. Yalu X. schrieb: > Ja, darin kann aber nicht erkennen, wie genau die Positionserfassung > ist. Stimmt, leider habe ich das nicht mehr um es zu prüfen. Yalu X. schrieb: > Ich bin mir ziemlich sicher, dass die Genauigkeit > nicht besser als 1mm ist. Ich bin mir ziemlich sicher dass es genauer als 1 mm ist. Halber Millimeter könnt schon drin sein. Yalu X. schrieb: > Ich dachte, das > seien Hilfslinien, die du bei der Erstellung mit Photoshop absichtlich > eingezeichnet hast. Ja das ist richtig. Die im ersten Beitrag zeigen Unsymetrische verteilungen auf. Weiter unten sieht man, dass es einen Sprung gibts im Verlauf. Mein Text hätte lauten müssen: "Ich sehe bei den generierten Verlauf (lolline.jpg), auf einem Bildschirm einen Sprung im Verlauf (grüne Linie), aber auf den anderen Bildschirm nicht."
:
Bearbeitet durch User
Beitrag #7360659 wurde vom Autor gelöscht.
Yalu X. schrieb: > Den Python-Code zur Generierung habe ich ebenfalls angehängt. Woher ist der code? Sieht aus wie von einem Tutorial.
Tobias K. schrieb: > Woher ist der code? Den habe ich extra für dich eingetippt. Lass dich nicht durch die englischen Symbolnamen und Kommentare verwirren. Das Englisch habe ich mir irgendwann mal angewöhnt, weil die von mir entwickelte Software oft von Leuten verwendet oder weiterentwickelt wird, die der deutschen Sprache nicht mächtig sind.
Yalu X. schrieb: > Den habe ich extra für dich eingetippt. Ich fühle mich geehrt ;-) Ich muss dir vielmals danken. Du bist einer der wenigen, der hier anderen auch wirklich hilft. Kannst du mir noch auf die Sprünge helfen, was die "2*" und 0.5 (Zeile 9 u. 16) für einen Hintergrund haben?
:
Bearbeitet durch User
Christoph db1uq K. schrieb: >>AS5600 > https://www.mouser.de/new/ams-osram/ams-as5600-potuino-arduino-shield/ > https://www.mouser.de/datasheet/2/588/AS5600_AB-POT_UG000378_1-00-1513605.pdf > allerdings 51,32 € https://www.mouser.de/ProductDetail/ams-OSRAM/AS5600-ASOM?qs=KTMMzrZdriG6aU1h9lJCUQ%3D%3D 4,32€ als single IC, find ich OK für das was man bekommt.
Tobias K. schrieb: > Kannst du mir noch auf die Sprünge helfen, was die "2*" und 0.5 (Zeile 9 > u. 16) für einen Hintergrund haben? Die Waveform-Funktionen bekommen in mapping() Argumente von 0 (Anfang der Periode) bis 1 (Ende der Periode) übergeben. Als Funktionswert ein Wert von 0 bis 1 erwartet, der in mappings mit 0xffff multipliziert wird, um damit den vollen Wertebereich der 16-Bit-Graustufen auszuschöpfen. Die Dreiecksfunktion ist somit durch die Punkte (0,0), (½,1) und (1,0) definiert, dazwischen wird linear interpoliert:
1 | (½,1) |
2 | ⬤ |
3 | / \ |
4 | / \ |
5 | / \ |
6 | / \ |
7 | / \ |
8 | / \ |
9 | ⬤ ⬤ |
10 | (0,0) (1,0) |
Damit füllt sie sowohl in x- als auch in y-Richtung den Wertebereich von 0 bis 1 vollständig aus. Die verwendete Funktionsgleichung dafür lautet
Alternativ hätte man auch
nehmen können.
:
Bearbeitet durch Moderator
Danke für die Erklärung. Ich werde das dann mal auf einer ausgedienten Festplatte probieren. Ich würde schätzen, dass ich auf eine Genauigkeit von knapp unter 1° komme, auf einem Durchmesser von 35mm. Was schätzt du? Gedruckt wird es mit einem Stylus D78. Und den Sensor werde ich mir irgendwie zusammenbasteln vorerst.
So... erste Tests beendet. Ich muss sagen ich habe mit ziemlich verschätzt mit der Auflösung. Es gab einige Dinge und Erkenntnisse: - Mein Drucker ist kagge - Farben gemischt hat er gleichmäßiger gedrückt, aber der Verlauf ist dann nicht dreiecksförmig. Der dunkle Bereich ist breit aber hat kaum einen Verlauf (grüne Striche in "Bunt taugt *.jpg) im Vergleich zu schwarz (unten - rote Striche). - Mit der LED auf dem Board funktioniert es sehr schlecht. Ich vermute hier starke Reflektionen von der Papieroberfläche. - Wenn man die Scheibe auch nur leicht gedrückt hat, ohne diese zu drehen, dann gab es starke schwankungen im Signal. - Ein Licht von nahezu 90° hat erstaunlich signifikant bessere Ergebnisse erziehlt. Im Bild "Licht ist alles.jpg" sieht man am Anfang das Signal von der LED auf der Platine, und danach mit dem Licht von der Seite. Die Auflösung ist EPIC: ca. 90 Schritte pro Grad. Das aber bisher nur in begrenzten Bereichen (siehe "epic resolution.jpg"). Hier brauche ich nur einen Drucker, der das auf die Reihe bekommt. Bzw. muss man evtl. noch was an den Verlaufsmuster anpassen. Auch ein guter Druck von einem anderen Drucker hat im schwarzen und weißen Bereich eher einen Sinusfärmigen Verlauf. Ich frage mich nun, wie ich am besten vorgehe, um das ganze Minutengenau zu drehen, damit ich die Genauigkeit testen bzw. verbessern kann.
Tobias K. schrieb: > Ich frage mich nun, wie ich am besten vorgehe, um das ganze Minutengenau > zu drehen, damit ich die Genauigkeit testen bzw. verbessern kann. Mit einem richtigen Encoder? https://de.aliexpress.com/item/1005001632749007.html > Ich würde schätzen, dass ich auf eine Genauigkeit von knapp unter 1° > komme, auf einem Durchmesser von 35mm. Mit obigem Encoder-5000 hätte man 20000 Flankenwechsel pro Umdrehung bei 40mm Durchmesser.... Aber probiere ruhig mal weiter. Das Ergebnis interessiert mich, insbesondere die absolute Genauigkeit.
Tobias K. schrieb: > Ich frage mich nun, wie ich am besten vorgehe, um das ganze Minutengenau > zu drehen, damit ich die Genauigkeit testen bzw. verbessern kann. Du musst es nicht minutengenau drehen, sondern wie gesagt lediglich die eingestellte Drehung minutengenau auswerten können. Also brauchst du zum Ausmessen einfach nur einen Drehgeber bzw. Resolver, der die eingestellte Position hinreichend genau und reproduzierbar erfassen kann. die gibts an jeder Ecke. Die kosten halt ihr Geld. > Ein Licht von nahezu 90° hat erstaunlich signifikant bessere Ergebnisse > erziehlt. Im Bild "Licht ist alles.jpg" sieht man am Anfang das Signal > von der LED auf der Platine, und danach mit dem Licht von der Seite. Dann probiers doch mal mit Licht durch das Papier. Nicht ganz zufällig machen das die handelsüblichen Encoder ja ebenfalls auf diese Art. Nur eben mit mechnisch bearbeiteten Geberscheiben. Ätzen ist halt vermutlich einfach zuverlässiger und langzeitstabiler als Drucken.
Thomas F. schrieb: > Mit einem richtigen Encoder? Lothar M. schrieb: > Du musst es nicht minutengenau drehen, sondern wie gesagt lediglich die > eingestellte Drehung minutengenau auswerten können. Ich habe mich falsch ausgedrückt. Ich meinte eigentich, dass ich es nur um ein paar Minuten pro Sekunde drehen lassen will. Dann sehe ich wie die Flanken aussehen und kann auch Messungen vornehmen. Durch das Papier leuchten habe ich schonmal gemacht (siehe oben das Video vom "Linearservo"). Nur hier ist das keine Option. Ich kann weder durchleuchten, noch einen Drehgeber auf die Achse stecken.
Thorsten S. schrieb: > o ein Interpolator erfordert allerdings einigen Aufwand, z.B. eine > (selbstlernende) positionsabhängige Offset- und Amplitudenkorrektur, > damit die interpolierte Auflösung konsistent ist. Auf so etwas wollte ich hinaus. Die analogen Printstufen sind ja kaum sinnvoll zu reproduzieren, kann ich mir denken. Ja ist jeder Dekoder in der Produktion anders. Bzw es braucht einen aufwändigen Prozess. Yalu X. schrieb: > Encoder mit Sin/Cos-Ausgängen gibt es schon lange. Allerdings arbeiten > sie m.W. nicht mit Graustufen, sondern mit ganz normalen Strichscheiben, Ja klar, die benutzen wir auch. Ich habe nur keine Erfahrung mit den o.g. gedruckten Sinusfunktionen. > Für die Generierung des Sin/Cos-Signals wird der "Weichzeichnereffekt" > genutzt, der dadurch entsteht, dass der abtastende Lichtstrahl nur > endlich stark fokussiert wird, Wir benutzen klassische Encoder-Scheiben, bestimmen die Position mit allerlei Fehlerkorrekturen aufs Mü genau und geben dann einen Sin-Cos aus, wo benötigt. Die meisten Anwendungen brauchen aber einen digitalen Ausgang, weil der am Ende in die Regelung geht. Die digitalen Encoderscheiben sind einfach besser interpretierbar und lassen sich nicht von Alterung der Laser-LEDs oder der Scheibe beeindrucken.
Tobias K. schrieb: > Ich meinte eigentich, dass ich es nur um ein paar Minuten pro Sekunde > drehen lassen will. > Dann sehe ich wie die Flanken aussehen und kann auch Messungen vornehmen. Ja, siehst du, das meinte ich: wie willst du garantieren, dass der "DRehmechnismus" nicht unrund läuft? Fazit: du musst gleichjzeitig und parallel dazu den Rundlauf messen. > Dann sehe ich wie die Flanken aussehen und kann auch Messungen vornehmen. Mir kommt da in den Sinn, dass der, der nur (s)einen Hammer kennt, damit letztlich auch die Schraube ins Holz drischt. Wenn du einen entsprechend genauen fertigen Drehgeber nimmst, der bei jeder Winkelsekunde (oder noch feiner) einen Impuls ausgibt, mit dem du dann deinen ADC triggerst und dessen Wandlungswert in eine Datei schreibst, dann kannst du hinterher eine Kurve darstellen, die völlig unabhängig von jeder Geschwindigkeitsschwankung ist. Du darfst die Scheibe nur nicht so schnell drehen, dass der ADC nicht mehr hinterher kommt.
Lothar M. schrieb: > wie willst du garantieren, dass der > "DRehmechnismus" nicht unrund läuft? Mir kam die Idee, dass ich das mit einem Luftstrom machen könnte. Kann man fein einstellen, und selbst ein pulsierender Luftstrom - oder wenn es ein Übergang zwischen luftschaufeln gibt - würde die Trägheit der Scheibe glätten. So ein teuerer Drehgeber ist keine Option hier.
Und ich wunder mich, warum der Kurvenverlauf im dunklen Bereich nicht proportional ist zum Druck: Zum einen Kann der Drucker kein perfektes Schwarz, und zum anderen ist es wieder die Physik: https://www.allaboutcircuits.com/technical-articles/understanding-photovoltaic-and-photoconductive-modes-of-photodiode-operation/
Tobias K. schrieb: > Wer könnte mir sowas machen, oder hat eine Idee womit man das machen > kann? Mit Photoshop im HDR-Modus, einem guten Drucker eines Printservices einer Druckerei mit Übergabe als 16 Bit TIFF. Die Vorlage ist eher weniger anspruchsvoll. Dein Problem ist der Ausdruck. Mit eigenem Drucker hast du ein Offset-Problem mit doppelten Sinn. Der Sinus wird nicht perfekt um die Nullinie liegen und das Schwarzweiss wird für manche Graustufen gedithert. Das sollte also perfekt gedruckt werden und gezielt genutzt werden, also ein Schwarz-Weissmuster verwenden, welches durch die optische Unschärfe als Graustufe abgebildet wird. Da muss man sich aber fragen, wie hoch die Auflösung werden kann und wieviele LEDs denn beteiligt sein sollen. Durch die Ungenauigkeiten wird man keine absoluten Werte verarbeiten können, sondern einen Sinus hinein modulieren. Das erfordert aber einige Punkte. Wenn man die LEDs so anordnet, dass mit 4 Punkten ein kompletter Sinus mit je 90° eingeschlossen wird, lässt sich der DC Anteil weginterpretieren. Nach Abzug des Offsets, einen Sinus-Fit anlegen.
Beitrag #7398968 wurde vom Autor gelöscht.
Habe wieder etwas dran gearbeitet: Mittels Polynomischer Regression habe ich nun das signal mehr oder weniger gut in ein dreiecksignal umgewandelt, das direkt proportional zum Drehwinkel ist. Das Problem ist, dass der Druck zwar Linear in Graustufen umgewandelt ist, aber der Drucker das nicht linear hinbekommt bzw. die Diode am Ende das nicht linear weiter gibt. Auch das Papier ist keine perfekt gleichmäßig weiße Fläche. So dass es Abweichungen zwischen den Einzelnen Verläufen gibt (Punkt C). Die Kurven zeigen einen Sensor, wobei die Werte bei den Extremwerten (Punkt B) nicht verwendet werden können. Hier muss noch ein zweiter Sensor verwendet werden, der 180° phasenversetzt ist.
:
Bearbeitet durch User
Yalu X. schrieb: > Diese Begrenzung ist dann aber nicht so sauber definiert wie mit > einer Blende und verringert damit die Genauigkeit der ermittelten > Winkelposition. Das kommt auf das Signal/Rausch-Verhältnis an.
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.