Hallo zusammen, es geht um folgende: Ich habe eine Coescheibe, die 512 Schlitze hat. Die Codescheibe ist in einem Inkremtal Encoder aufgebaut. Mir geht es darum: Wie kann ich Softwaremässig prüfen, dass die Codescheibe genau diese Anzahl der Schlitze hat. Es fehlen mir Idee: wie kann ich das prüfen? Die Mikrokontroller Type ist erst mal nicht so wichtig: Man kann in schlimmsten fall einen fertigen Arduino oder einen STM32. Auf euren Input werde ich mich freuen. Danke in voraus
10 mal drehen und mitzählen? Im betrieb schauen ob es sprünge in der drehzahl gibt = Zahnlücke ?
Clemens S. schrieb: > 10 mal drehen und mitzählen? > Im betrieb schauen ob es sprünge in der drehzahl gibt = Zahnlücke ? und wie erkennt man, die gezählte Schlitze?
Na der Encoder wird ja wohl für jeden Schlitz ein Signal auseben, sonst würde das Teil seinen Zweck nicht erfüllen. Eventuell per Graycode, oder einfach nur 1/0.
:
Bearbeitet durch User
Martin_gast schrieb: > und wie erkennt man, die gezählte Schlitze? Wie meinst du diese Frage? Zu Grundlagen von Incrementalencoder siehe: https://de.wikipedia.org/wiki/Drehgeber https://en.wikipedia.org/wiki/Rotary_encoder
Martin_gast schrieb: > Die Codescheibe ist in einem Inkremtal Encoder aufgebaut. In welchem? Hersteller? Typ? Oder ist das ein Eigenbau? > Mir geht es darum: Wie kann ich Softwaremässig prüfen, dass die > Codescheibe genau diese Anzahl der Schlitze hat. > Es fehlen mir Idee: wie kann ich das prüfen? Ich würde einen Motor gergeglet über eine 1024er oder 4096er-Scheibe eine Umdrehung machen lassen und den Geber an die Achse des Motors koppeln. Und dann musst du nur noch die Impulse deines 512er Gebers zählen. > Wie kann ich Softwaremässig prüfen, dass die Codescheibe genau diese > Anzahl der Schlitze hat. Du könntest ein brauchbares Foto von der Scheibe machen und per Bildauswertung feststellen, ob 512 Löcher in der Scheibe sind...
:
Bearbeitet durch Moderator
* parallel einen "guten" laufen lassen und vergleichen * mit fester Umdrehung laufen lassen (Schrittmotor) * einigermaßen konstant drehen lassen und die Zeiten jedes Signals-Schlitzes (und die 90° Verschiebung zueinander) überwachen (Qualität der Schlitze, wenn ein Schlitz zu ist oder ein zusätzlicher, dann siehst Du das an den Messwerten) * Referenzsignal (ganze Umdrehung) mit auswerten falls vorhanden, ggf. selber basteln (*) * Qualitätsprozess des Herstellers sicherstellen (*) Z.B. ein Stück Klebeband auf die Welle und einen Schleifer daran. Jedesmal, wenn der Schleifer gerade keinen Kontakt hat, ist eine neue Umdrehung rum. Bei 1 Umdrehung ist das sehr ungenau, bei 30 Umdrehungen weisst Du, ob Deine Schrittzahl stimmt.
@ Danke an alle Mir geht es darum: Wie kann mit einfachen mittels einen Eingangskontrolle machen. Es muss einfach einen klare Aussage gemacht werden: ob die Kodescheibe Okay oder NotOkay ist? Der Andere schrieb: > Wie meinst du diese Frage? jaein Wie merkt das Prüfsystem, wo es angefangen hat bzw. (erste A_Spur und B_Spur) Lothar M. schrieb: > Du könntest ein brauchbares Foto von der Scheibe machen und per > Bildauswertung feststellen, ob 512 Löcher in der Scheibe sind... @Das ist aber ungeeignet für einen Endtest. das dauert sehr lange.
Ich bitte doch sehr! Was genau willst Du prüfen? Den kompletten Encoder oder nur die Scheibe?
Der Prüfer schrieb: > Was genau willst Du prüfen? Den kompletten Encoder oder nur die Scheibe? Ich will nur die Scheibe prüfen
Martin_gast schrieb: > das dauert sehr lange. Ich bin mir ziemlich sicher, dass optische Methoden den mechanischen überlegen sind.
Es geht also im eine Form von Produktionslinie und du willst mehr als 2-3 Stück prüfen? Dann nimm einfach einen von dem du weisst das er tut, schliesse ihn direkt mit einem zu testenden Exemplar zusammen und dreh die automatisiert ein paar dutzend mal. Dabei schaust du per Mikrocontroler ob die Ausgaben exakt übereinstimmen. Wenn du noch keinen hast von dem du weisst dass er garantiert korekt ist, dann vergleiche trotzdem ein paar und du siehst wieviele eher zusammen passen und welcher aus der Reihe tanzt. Wenn wirklich die mehrheit der Teile falsch läuft, stimmt was mit eurem Zulieferer nicht... EDIT: Oder da es nur um die Scheiben geht - die lassen sich ausbauen, oder? Dann tu die einfach auf eine Achse übereinander und schau ob alle gleich sind. Wenn ein Loch verdeckt ist, sieht man das sofort denn das sind Dinge die unsere Augen sehr gut wahrnehmen.
:
Bearbeitet durch User
Alex G. schrieb: > Es geht also im eine Form von Produktionslinie und du willst mehr als > 2-3 Stück prüfen? Ja Alex G. schrieb: > EDIT: Oder da es nur um die Scheiben geht - die lassen sich ausbauen, > oder? Nein leider nicht. Der lieferant kann nicht garantieren, dass alle Scheiben Okay sind. Die scheibe hat einen Durchmesser von 4 mm.
Martin_gast schrieb: > Nein leider nicht. > Der lieferant kann nicht garantieren, dass alle Scheiben Okay sind. > > Die scheibe hat einen Durchmesser von 4 mm. Könntest du vieleicht einfach mal deine "Information Hiding" Strategie beenden und mit allen Fakten rauskommen was genau du prüfen willst.
Aufgabe für einen µController: einen Schrittmotor so ansteuern, dass er genau eine Umdrehung macht, und gleichzeitig werden die Impulse des Gebers mitgezählt. Das kann der allereinfachste Controller, hohe Schrittfrequenz ist ja nicht nötig. Eine LED leuchtet grün, wenn das Zählergebnis 512 ist. Die Prüfung selbst dauert keine Sekunde, fraglich ist bloss wie lange es dauert, den Geber anzuflanschen - aber das gilt für ALLE Methoden. Georg
Martin_gast schrieb: > Mir geht es darum: Wie kann mit einfachen mittels einen > Eingangskontrolle machen. Es gibt doch ein halbes Dutzend Vorschläge, die alle einfach sind (im Verhältnis zum Einspannen des Encoders und der Software im Testgerät). Wenn Du schonmal einen Schrittmotor angesteuert hast, ist das einfach. Wenn nicht, nimm eine Lösung ohne. Wenn die Scheibe einzeln entnehmbar ist, ist es optisch einfacher und schneller als elektrisch. Wenn nicht, dann halt elektrisch. Wenn Du einen µC hast, dann ist die Signal-Auswertung einfach. Wenn nicht, dann schreibe, was Du zur Verfügung hast und kennst.
Martin_gast schrieb: > Lothar M. schrieb: >> Du könntest ein brauchbares Foto von der Scheibe machen und per >> Bildauswertung feststellen, ob 512 Löcher in der Scheibe sind... > @Das ist aber ungeeignet für einen Endtest. > das dauert sehr lange. Lediglich das Erstellen des "Prüfprogramms" dauert lange. Der eigentliche Prüfprozess läuft mit Sicherheit ziemlich schnell. Evtl. lässst sich mit sowas schnon was anfangen: https://image.analyser.gsa-online.de/?lang=de Achim S. schrieb: > * Qualitätsprozess des Herstellers sicherstellen Das wäre mein erster Ansatz. Der Hersteller muss kontrollieren und sicherstellen, dass alle Löcher in der Scheibe sind.
gratuliere, du hast mir schon am Montag um 11 die Laune verhagelt. Was willst du eigentlich?!? Einen Geber testen oder eine Geberscheibe? Martin_gast schrieb: > Mir geht es darum: Wie kann ich Softwaremässig prüfen, dass die > Codescheibe genau diese Anzahl der Schlitze hat. Martin_gast schrieb: > Die scheibe hat einen Durchmesser von 4 mm. Martin_gast schrieb: > Ich will nur die Scheibe prüfen Martin_gast schrieb: > Wie merkt das Prüfsystem, wo es angefangen hat bzw. (erste A_Spur und > B_Spur) Das passt so nicht zusammen. eine scheibe hat keine "Spur" A und B entstehen durch versetzte Auswertung EINER Spur Welche Art von Fehler wird erwartet? Fehlende Löscher? Fehlende Stege? ein Geber mit 513 gleichverteilten Löchern ein Geber mit 511 gleichverteilten Löchern? Martin_gast schrieb: > Die scheibe hat einen Durchmesser von 4 mm. Sonst noch Informationen die du in 2 Stunden teilen möchtest? Schmeiß das Ding auf eine Leuchtfläche und mach ein Foto und zähl die Striche. bau dir eine Schnellspannvorrichtung mit einer Schwungmasse und mit einer Photodiode und schau ob die Kanten gleichmäßig sind, wenn du die scheibe anschupst (schließt den Fehler gleichmäßige fehlerhafte Anzahl von löchern aber aus. das ist aber eh ein akademischer Fehler)) sg
512 löcher in einem Kreis von 4mm?! Okey, optische Verfahren scheiden damit aus (außer man nimmt Makroobjektive oder sowas). Da man sie ja also nicht ausbauen kann, sowieso. Bleibt nur den Geber als solchen zu testen! Also entweder an Schrittmotor anschließen, oder wie ich beschrieben hab, einfach aneinander koppeln und egal wie drehen. Denke das ist die allereinfachste Lösung. Auch von der Software her.
:
Bearbeitet durch User
Woher hat der TE die Info das dort "Löcher" verbaut sind? Hat er die persönlich gesehen? Bitte Typ und Hersteller nennen, geht nicht? Also troll dich, Du bist entlarvt!
> an Schrittmotor Hmm, schwierig. Der Schrittmotor müsste mind. 512 Schritte / Umdrehung haben, wahrscheinlich sogar mehr wegen Toleranzen. Mechanische Kopplung muss rutschfrei sein... Ich würde eher weiteren "geprüften" Geber gleichzeit mit auf die Achse spannen, evtl. einen ordentlichen von renomierten Firma. >4 mm Durchmesser >512 Löcher Es werden eher nich 511 oder gar 513 Löcher sein, sondern aufgrund Fertigungsfehler von den geplanten 512 einzelne, durchaus mehrere, nicht "durchsichtig" also nicht richtig gebohrt resp. gelasert. Schwierig. --> Anderen Zulieferer suchen. Oder ist es doch eine Glas-Codescheibe mit Graycodespuren ? Gruss
Martin_gast schrieb: > Die scheibe hat einen Durchmesser von 4 mm. Ich kenne sowas eine Zehnerpotenz größer... Wie wird die Miniaturscheibe denn ausgewertet? Das mus ja eine ausgefuchste Optik sein.
Erich schrieb: > ist es doch eine Glas-Codescheibe mit Graycodespuren ? Es handelt sich um eine Kunstsott-Codescheibe. Lothar M. schrieb: > Wie wird die Miniaturscheibe denn ausgewertet? Diese Codescheibe wird zwischen einen Motor und einen optischen Encoder aufgebaut. Durch einen spezielle Lichtsensor(in der Encoder) und ASIC + (Firmware), können die Signale ausgwertet werden. Das heisst, wenn ich auf die Codescheibe 512 Schlitze habe, dann habe 512 Periode von A und 512 Periode von B aber nur einen "Nullimpuls". Wir benennen das Z-Signal. --> Diese kurze Beschreibung entspricht aber das Gesamtesystem.
Martin_gast schrieb: > Wie merkt das Prüfsystem, wo es angefangen hat bzw. (erste A_Spur und > B_Spur) Martin_gast schrieb: > einen "Nullimpuls". > Wir benennen das Z-Signal. willst du mich verarschen oder bist du so dämlich? (bitte nicht als Beleidigung auffassen. das ist ernst gemeint) dann nimm doch den asic und bau dir eine schnellwechselhalterung dran und zähle mit einem µC die Striche.
Das ganze Dingens mit einem Motor + Schwungmasse drehen. An den Encoder: PLL hintendran. Wenn gut: PLL VCO Steuerspannung glatt. Wenn wo was fehlt oder zu viel ist, gibts einen schoenen Knacks in der Steuerspannung.
Clemens S. schrieb: > willst du mich verarschen oder bist du so dämlich? Ja die Bauteile (ASIC und Lichtsensor) haben wir noch nicht. Die werden erst in eine Paar Monate geliefert. Wenn wir alle Bauteile hätten, wäre dann anders aber es ist nicht so. Die Codescheibe ist im Hause und wir wollen bis die andere Teile geliefert werden die Codescheibe prüfen.
Clemens S. schrieb: > Sonst noch Informationen die du in 2 Stunden teilen möchtest? Ich bin raus. Mir wird das hier zu blöd. sg
Das tolle "Würmer aus der Nase ziehen" Spiel geht munter weiter. Nimm eine Lupe und zähle Clemens S. schrieb: > Ich bin raus. Mir wird das hier zu blöd. Jepp
Martin_gast schrieb: > Lichtsensor) haben wir noch nicht. Dann kannst du die Scheibe auch nicht im "üblichen" Verfahren durch Drehen und Zählen auswerten. Martin_gast schrieb: > Wie kann ich Softwaremässig prüfen, dass die Codescheibe genau diese > Anzahl der Schlitze hat. Die Scheibe wird ja schon nicht 510 oder 514 gleichverteilte Schlitze haben, sondern es ist einfach einer nicht durchsichtig. Deshalb kann ich mir auch gut vorstellen, du siehst dir die Dinger einfach mal unter dem Mikroskopf mit Durchlicht an. Eine Unregelmäßigkeit im Muster wie z.B. einen geschlossenen Schlitz kannst du dort vermutlich recht leicht erkennen... > Wie kann ich Softwaremässig prüfen Wenn du es unbedingt mit Software willst: Mikroskop mit Fotookular, Foto machen und anschließend Bildverarbeitung.
:
Bearbeitet durch Moderator
Martin_gast schrieb: > Wenn wir alle Bauteile hätten, wäre dann anders aber es ist nicht so. > Die Codescheibe ist im Hause und wir wollen bis die andere Teile > geliefert werden die Codescheibe prüfen. Ist das eine Beschäftigungstherapie für dich in der Zwischenzeit? Ernsthaft verwenden könnt ihr die Scheiben ja nicht, solange ihr nicht wisst, ob das ganze zusammengebaut überhaupt funktioniert. Ich zumindest würde es auf keinen Fall riskieren, womöglich hunderte Codescheiben irgendwo einzubauen ohne Test des Gesamtsystems. Ist aber nur meine unmassgebliche persönliche Meinung. No Risc no Fun. Georg
Lege zwei der Codescheiben übereinander. Drehe eine erst einmal auf volle Überdeckung. Möglich oder nicht? irgendwelche Lücken erkennbar? Dann dreh sie um eine halbe Zahnweite weiter. überall volle Öffnung oder nicht? Da lässt sich, wenn die Scheiben genau aufeinanderliegen (mit einer Lehre als Aufnahme) auch ein einzelner Fehler gut erkennen.
also wenn ihr es nicht wollt/schafft vom Lieferanten eine Qualitätsgarantie zu bekommen, dann muß eben eine Eingangskontrolle her. Stichprobenartig sicher auch trotz einer Lieferantengarantie... Dreh das Ding einfach und zähle die Impulse in einem festen Zeitfenster. Die Größe des Fensters ergibt sich aus den Randbedingungen...wie schnell wird gedreht, wieviel Impulse liefert die Scheibe bei einer Umdrehung bzw. wieviele soll sie liefern. Dann noch über einige wenige Umdrehungen gemittelt und schon hast du ein gut/schlecht Ergebnis. Und je nach Stückzahl bekommt der Lieferant entweder die Teile zurück (Nachbesserung) oder einen Rechnungsabzug. Beides kann allerdings sehr lästig sein! Im Zweifelsfall neuen Lieferanten suchen. Gruß Rainer
Ich würde das gar nicht so kompliziert machen. Nimm einen Schrittmotor und einen Arduino Uno und einen Schrittmotortreiber. Scheibe auf Schrittmotor spannen und drehen lassen, ca. 5U/min. Photodiode/Phototrans. kannst auch gleich aus dem Arduino Starter Paket entnehmen. Dummy Code void StartDiscTest() Stepper1.steps.run(800) // 4 Umdrehungen a 200Steps pro Umdrehung int i = 0; int iDiff = 0; int iError = 0; int iGapCount = 0; bool bInGap = false; for i = 0 to 4096 // 4 runden if PhotoTrans.value > 200 and bInGap = false then // erster schlitz time = millis; bInGap = true; end if if Phototrans.value < 10 // dunkel, schlitz is vorbei) iDiff = millis - time; if (iDiff ) >= MaxSchlitz or (iDiff) <= MinSchlitz then iError = iError + 1 end if iDiff = 0; bInGap = false; end if iGapCount = iGapCount + 1 next if iGapCount < 4096 then goto myError Stepper.stop print.out.screen(iError) end Bekommt man in einem Abend hin. Kannst ja beliebig erweitern, rote Led und Stepper anhalten bei Error, oder alles in ein Textfile ausgeben.
:
Bearbeitet durch User
Falls die Angabe des Durchmessers mit 4mm tatsächlich stimmen sollte dann hat direkt am Umfang der Scheibe ein Schritt (Lücke plus Steg) eine Breite von 4 * Pi / 512 = 24,5µm. Da ist das (optisch) Abtasten schon nicht ganz einfach.
D*PI=Umfang 4*3.14 ~ 12.5mm 512 Schlitze macht 1024 Änderungen ~ 1/100 mm pro Man nehme ein hochauflösende DSL-R- oder System- Kamera und legen die Scheibe direkt auf den Sensor. helle Fläche knipsen. Bild auswerten ... fertig.
Philipp G. schrieb: > Photodiode/Phototrans. kannst auch gleich aus dem Arduino Starter Paket > entnehmen. Mit ein wenig Fingerspitzengefühl geht das bei einem Scheibendurchmesser von 4mm(!!) sicher recht einfach... ;-) > Bekommt man in einem Abend hin. Ja, so ist das, wenn man die Spec nicht ganz durchliest. Passiert laufend.
:
Bearbeitet durch Moderator
Lothar M. schrieb: >> Bekommt man in einem Abend hin. > Ja, so ist das, wenn man die Spec nicht ganz durchliest. Passiert > laufend. Ok. Bei 4mm wird das so nix. Also ein Microstepper, die Achse ist dann wohl eine Nadel, auf der sich die Scheibe draufstecken lässt. Hinter der Scheibe weisse Power LEDs darauf richten. In einem Abstand von ca. 10cm eine weiss eingefärbte Plexisglas Scheiben aufstellen. Auf diese Scheibe wird das Licht der LEDs projeziert. Auswertung siehe oben.
Martin_gast schrieb: > Die Codescheibe ist in einem Inkremtal Encoder aufgebaut. Clemens S. schrieb: > 10 mal drehen und mitzählen? > Im betrieb schauen ob es sprünge in der drehzahl gibt = Zahnlücke ? Es steht doch da, dass ein Encoder da ist und geprüft werden soll. Der wird sicher auch irgendwelche Pulse abgeben...also entweder die Umdrehungen mitzählen oder über ein Zeitfenster bei fester Drehzahl zählen...feddich. Gruß Rainer
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.