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
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.
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...
* 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.
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.
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=deAchim 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üfenMartin_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.
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.
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.
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.
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.
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