Präzision

Ein Baukasten-System mit genormten (Metall-)Bauteilen für Entwicklung und Prototyping von kleineren Maschinen. / A Metal Construction Set for prototyping and fast devolpment of small devices.
Benutzeravatar
case
Beiträge: 733
Registriert: Mi 13. Jun 2012, 01:12

Präzision

Beitrag von case » So 30. Mär 2014, 03:36

Hi,

im Moment beschäftigt mich stark der Gedanke an einen möglichen Bohrautomaten, den ich dringend benötige, um weitere UniProKit-Teile herstellen zu können.

Ursprünglich hatte ich eigentlich vor, den OSEG-3D-Drucker oder ein Derivat davon für solche Zwecke gebrauchen zu können, aber nach ellenlangem Grübeln bin ich zu dem Schluss gelangt, das das so nicht geht, aus genau dem Grund, den ich auch schon in früheren Diskussionen vertreten habe: Ein 3D-Drucker ist ein Leichtgewicht, eine kleine Frässpindel zum Platinenfräsen kann man da sicherlich noch mit dranhängen, aber mehr geht nicht. Darum möchte ich parallel dazu ein weiteres Konzept verfolgen, bei dem andere Dinge im Vordergrund stehen, davon das Wichtigste: Präzision. Soll heissen, insbesondere im Gegensatz zu Geschwindigkeit. Für die UniProKit-Teile ist m.E. eine Präzision von 0.1mm das Minimum, aber schöner wäre 0.01mm. K.A: ob ich das schaffen kann, aber es scheint mir zumindest wert, sich mal damit zu beschäftigen und die Möglichkeiten auszuloten.

D.h., was auch immer man mit dem neuen Konzept erreichen kann (und natürlich kann man da auch einen Extruderkopf dranhängen), das Ding wird zunächst garantiert höllisch langsam sein. Ist mir aber egal, hauaptsache die Teile werden halbwegs genau gebohrt. Und zum Platinenfräsen ist hohe Genauigkeit sicher auch nicht verkehrt.

Hier ein paar Eckpunkte, wie ich mir das Teil in etwa vorstelle:

- Grundprinzip einer Portalfräse, d.h., das Werkstück wird nicht bewegt, sondern das Portal bewegt sich überall hin. Ich hab mich dazu entschlossen, weil eine meiner Vorgaben ist, das man damit mindestens 1m lange Profilteile bohren kann, d.h., angestrebter Verfahrweg 1m x 20cm x10cm. Das Teil soll so lang wie nötig sein, dabei möglichst schmal und flach bzw. niedrig. Wenns anstatt 10cm Höhe 15cm werden könnten wäre das schön, aber ist nicht zwingend nötig.

- Alle Achsen werden zunächst mit stinknormalen M8-Gewindestangen mit 1.25mm Steigung (deshalb höllisch langsam) angetrieben, oder bei passendem Budget meinetwegen auch mit Trapezspindeln (1.5mm Steigung). Später könnte man dann ev. noch versuchen, ob man etwas höhere Geschwindigkeit ohne allzugroße Verluste der bis dahin erzielten Präzision erreichen kann, indem man (mehrgängige) Trapezspindeln mit größerer Steigung verwendet.

- Die lange Achse (Y) wird mit 2 Nema-23 Steppern mit ca. 1Nm Drehmoment angetrieben (hier wird immerhin das komplette Portal bewegt), ev. kann man hier sogar noch die Pololus als Treiber verwenden, auch wenns vermutlich sehr langsam wird. Die schmale X-Achse wird mit 1 Nema-23-Stepper angetrieben und das heben und senken des Portals, also die Z-Achse, mit 2 Nema-17 Steppern mit etwa 0.5 Nm. Somit könnte man mit etwas Glück vielleicht noch RAMPS als Steuerung verwenden.

- Hohe Präzision soll durch ein aktives Positionsbestimmungssystem erreicht werden. Verwendung von Glasmasstab wäre ideal, aber ist leider auch ziemlich teuer, darum soll zunächst versucht werden, mit einer einfachen DIY-Lösung zumindest soviel Präzision wie möglich zu erzielen, dazu gleich mehr.

- Wie auch beim OSEG-3D-Drucker sollten soviel wie möglich UniProKit-Bauteile verwendet werden, insbesondere der gesamte Protalaufsatz lässt sich damit wahrscheinlich realisieren. Nur bei der langen Y-Achse ist dies beim besten Willen nicht möglich, darum wird hier zugekauft und eine unterstützte Linearführung mit nach unten offenen Kugellagern verwendet.

- Frässpindel: Kress 1050, das Ding wiegt 1.7Kg.

OK, soweit der Überblick.

Bezüglich der Positionierung kam mir folgendes in den Sinn: Ich hab mir kürzlich für 20,- EUR ein USB-Mikroskop gekauft, welches angeblich bis zu 500-facher Vergrößerung kann. Ausserdem hab ich hier schon seit einiger Zeit ein 1m langes Längenmaß aus Metall rumliegen, mit 0.5mm Skalenschritten. Die Toleranz beträgt laut DIN-Norm 0.1mm auf 1m Länge, das ist zwar nicht ganz so dolle, aber sollte zumindest reichen um das Prinzip zu erforschen und wenns klappt kann das Längenmaß später gegen eines mit einer höheren Genauigkeit ausgetauscht werden. Im übrigen sind die 0.1mm lediglich die vorgeschriebene Mindest-genauigkeit laut Norm, kann ja theoretisch sein, dass der Hersteller in der Realität noch etwas genauer gearbeitet hat.

Wieauchimmer, wenn es damit klappt hätte man auf jedenfall schonmal eine garantierte Positioniergenauigkeit von 0,1mm und das auf 1m Länge, das ist schonmal gra nicht soo schlecht, angesichts dessen, dass es bei einer solchen länge schon ein Problem für sich darstellt, mit welchen Messmitteln man das überhaupt prüfen will. Zumindest ich verfüge über keine solchen, aber falls einer weiss wo man ein 1m-Lineal mit einer Skalengenauigkeit von 0.001mm für unter 50,- EUR (oder meinetwegen auch 100,-EUR) kaufen kann, wäre ich interessiert, davon zu erfahren ;)

OK, aber für den grundlegenden Aufbau spielt das erstmal keine Rolle.

Immerhin hab ichs schon geschafft für mein billig-USB-Mikroskop einen passenden Treiber unter Linux ausfindig zu machen und ans laufen zu bringen, aus Linux-Sicht ist das einfach eine USB-Cam wie jede andere auch, nur dass die halt noch ne billige Plastiklinse davorgeschaltet hat.

Hier ein paar erste Foddos davon:

Bild

Bild bzw. für Originalgröße auf folgenden Link klicken:
http://wiki.opensourceecology.de/images ... sbmic2.png

Im ersten Bild sieht man das metallene Längenmaß im rechten Bereich und im linken ein transparentes Plastikkärtchen mit einer Vergleichsskala (zum Mikroskopieren) welches ich dagegen gelegt habe, etwa um eine Art Zeigermarkierung zu simulieren und zu sehen, wie sich diese zu den Strichen auf der Skala des Längenmaßes verhält.

Interessant ist nun die Frage, wie man damit eine feinaufgelöste Positionierung erreichen kann. Meine Idee dabei ist folgende: Zunächst wird die Schlittenbewegeung mit Bordmitteln des Steppermotors so genau wie möglich ausgeführt. Der Backlash wird dabei entweder softwaremässig rausgerechnet, sofern man mit dem Ding auch richtig fräsen will (d.h., vor und zurück-fahren). Soweit es die reine Bohrfunktion angeht würde es aber auch reichen, zunächst die Null-Position anzufahren, bzw. diese sogar nach hinten zu überschreiten und dann wieder in die andere Richtung zu drehen, bis die Null-Position erreicht ist.

Alsdann kann man bequem die ganze Reihe ein Loch nach dem anderen bohren ohne das hier irgendein Richtungs- bzw. Lastwechsel erfolgt und somit auch kein Backlash aktiviert wird. Wenn das Profil mehrere parallele Bohrreihen erfordert, wie etwa bei den Flachprofilen, dann muss, bevor die nächste Reihe gebohrt wird, die Homing-Prozedur erneut durchgeführt werden. Dies ist nicht zunterschätzen, da es schätzungsweise ca. 5 min dauert, bis der 1m angefahren hat, aber ich sagte ja schon, das das System sehr langsam sein wird. Ich rechne mit etwa 200 U/min, das macht bei 1.25mm Steigung pro Umdrehung grad mal 25cm pro Minute und 4.16mm pro Sekunde.

Aber ich schwiff gerade ab, denn ich wollte eigentlich noch etwas zur Positionierung sagen. Die Cam kann ca. 30 Bilder pro Sekunde machen, aber ich schätze mal mit Bild abspeichern und Bildauswertung wird das Ganze möglicherweise zu langsam um die Skalen-Striche aktiv mitzuzählen. Daher sehe ich den geplanten Abluf so, dass man wie gesagt zunächst mit Bordmitteln des Steppers die gewünschte Position mit einer gegebenen Ungenauigkeit anfährt, die aber immerhin klein genug ist, um zumindest schon auf kleiner als 0.5mm genau nahe am Zielpunkt zu sein. Nun erfolgt die restliche genaue Positionierung mit Hilfe der Cam und einer entsprechenden Bildauswertung. (Die Steuerung unserer Augen funktioniert übrigens ähnlich, zunächst wird mit sogenanten schnellen Sakkaden (Augenbewegungen) der ungefähre Zielpunkt schnell angefahren und dann erfolgen eine oder mehrere langsame Sakkaden zu genauen Positionierung.)

Aber auch dieser Vorgang muss nicht jedesmal passieren, im Grunde würde es ja reichen, wenn in einer Art Kalibrierungsvorgang zunächst ein Skalenstrich nach dem anderen angefahren wird und man sich in einer Tabelle dann die benötigten Stepper-Schritte gemerkt hat. D.h., diese Tabelle enthält anschliessend für jeden einzelnen Skalenstrich die genaue Zahl an Stepper-Schritte ab der Home-Position, und ab da kann dann eine Position sozusagen blind, einzig aufgrund der Tabellenwerte angefahren werden. Und Positionen die zwischen den Skalenstrichen liegen können uaf Basis der Tabellenwerte natürlich rechnerisch ermittelt werden.

Die Bildauswertung erfolgt so, dass die Skalenstriche aufgrund der Vergrößerung nun seeehr dick sind, also jedenfalls mehrere Pixel dick. Wenn man nun einen virtuellen Strich von nur einem Pixel Dicke darüberlegt, sei es an der Kante oder in der Mitte und selbiges mit dem Zeigerstrich macht, dann kann man anschliessend durch Zugabe von einzelnen Stepperschritten beide Pixel-Striche in Übereinstimmung bringen und hat damit die maximal exakte Positionierung.

Ich vermute, die Hauptschwierigkeit wird darin liegen, den genauen Kantenverlauf zu ermitteln, denn, wie man auf den Fotos schon sehr gut sehen kann, sind die Kanten der Skalenstriche bei entsprechender Vergrößerung gar nicht mehr so glatt und gerade, sondern ziemlich rauh, ausgefranst und uneben. Aber mit einem guten Kantendetektionsalgorithmus sollte das weiter kein problem sein.

Bleibt die Frage, welche Genauigkeit denn nun mit der Cam erreicht werden kann. Dazu hab ich die obigen Fotos mal in Gimp reingeladen und gecheckt, mit wievielen Pixeln eine Strecke von 1mm aufgelöst wird. Dabei kam ich auf 140 Pixel / mm.

1mm / 140 = 0,007142857mm

d.h., zumindest bei dem was wir optisch sehen haben wir eine Genauigkeit von 0,007mm bzw. 7 Microns, das erscheint mir schonmal ganz ordentlich zu sein, zumindest wenn man es tatsächlich schafft, so genau zu positionieren, was von Seiten der Stepper und dem kleinen Gewindeanstieg von nur 1.25mm möglich sein sollte. Zur Erinnerung: 1 Umdrehung = 200 Schritte ... d.h., im Vollschrittmodus, es gibt aber auch noch halb- viertel- achtel- und sogar sechzehntel-Schritt-Modus, dh., nei letzterem wären es 3200 Schritte pro Umdrehung, d.h. eine Auflösung von

1.25mm / 3200 = 0,000390625 mm, also rund 0.4 Microns bzw 400 Nanometer, was sich, wie ich finde, schon ziemlich cool anhört ;)

Also von Motorseite her haben wir 0,4 Mü gegenüber 7 Mü in der Optik. Das reicht zunächst, wobei ich mir noch nicht ganz sicher bin ob sich die optische Auflösung nicht sogar noch deutlich verbessern lässt, aber das steht auf nem anderen Blatt, aber

7 / 0.4 = 17,5

das hört sich zunächst zwar ganz gut an, aaaber es zeigt andererseits auch schon die Grenzen an, wenn es irgendwann mal später um ein etwaige Geschwindigkeitsvergrößerung gehen sollte. Die kann man nur mit Spindeln größerer Steigung bewirken, aber damit verschlechtert sich die Motorauflösung entsprechend. Aber ok, vielleicht gibts da ja noch andere Möglichkeiten indem man den Motor noch besser ansteuert oder einen stärkeren Motor verwendet, vielleicht kann ich dadurch trotz der gegebenen Last (das ganze Portal-Gewicht) trotzdem irgendwie noch mehr als 200 u/min hinbekommen, k.A.

Jedenfalls hofe ich druch diese Zahlenspielereien schon mal einen gÜberblick geliefert zu haben, worum und um welche Größenordnungen es eigentlich geht und in welchen Bereichen wir uns bewegen. Für den Bohrautomaten ist eine gewisse Präzision unerlässlich und hat oberste Priorität, trotzdem hoffe ich, dass sich noch die eine oder andere Optimierungsmöglichkeit ergibt, so dass wir später noch etwas Spielraum für Geschwindigkeitsoptimierungen haben. Im Moment würde ich über den Daumen gepeilt schätzen, dass es locker ne Stund dauern kann, um 1m Profillänge mit einer Lochreihe zu versehen, damit könnte ich zur Not leben, aber eine Verbesserung um sagen wir mal Faktor 10 würde mich hochzufrieden machen ;)

Naja, jetzt gehts aber erst mal daran, das ganze Ding in 3D zu konstruieren und nen vernünftigen Bauplan zu machen, ich hoffe meine Fingerübungen in FreeCad und Blender von neulich machen sich dabei bezahlt.

Gruss, Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: Präzision

Beitrag von J.R.I.B. » Di 1. Apr 2014, 23:03

Gute Idee das mit einem optischen System zu machen. Dann könnte man gar auf die Stepper verzichten..

Wenn die Kamera nah genug dran ist am Präzisions-Lineal, dann könnte man so lange entlangfahren, bis es von hell auf dunkel umschwenkt. Hell- dunkel (also wie eine Art Sonnensensor) geht in Echtzeit. Das für jede Achse mit beliebigen schnellen Motoren und du erhältst gar einen perfekt geregelten Hell-dunkel-Übergangs-Regler mit deiner prima Präzision.


Freut mich, dass wir mit den zwei Varianten gut synchronisiert sind. :) Super auch, wenn wir nur mit Halb-Schritt auskommen würden, falls du das wirklich mit Schrittmotoren machen willst, weil du dem Hell-Dunkel-Regler nicht traust. :D
Kein Micro-stepping => keine Strommessung => eine einzige H-Brücke pro Phase und schon hat man Vor-, Rückwärts und Geschwindigkeit. Bei DC-Motor gar nur 1 einzige insgesamt. Unglaublich DIY and robust. Mein Professor würde dich lieben. :D Sollte dein Hell-Dunkel-Übergangs-Regler zuverlässig arbeiten, wovon ich überzeugt bin, wenn wir nah genug physikalisch(Position)/optisch(Linse) heranzoomen können und keine Staubprobleme haben. Dann können wir gar wirklich einen DC-Motor verwenden.

Gute Arbeit, case.

Benutzeravatar
case
Beiträge: 733
Registriert: Mi 13. Jun 2012, 01:12

Re: Präzision

Beitrag von case » Mi 2. Apr 2014, 02:17

Hi Jan,
J.R.I.B. hat geschrieben:Gute Idee das mit einem optischen System zu machen. Dann könnte man gar auf die Stepper verzichten.
Naja, da ich mich mit Servos nun überhaupt rein gar nicht auskenne würde ich persönlich erstmal lieber bei Steppern bleiben wollen, aber ich denke, prinzipiell hast Du recht.
Wenn die Kamera nah genug dran ist am Präzisions-Lineal, dann könnte man so lange entlangfahren, bis es von hell auf dunkel umschwenkt. Hell- dunkel (also wie eine Art Sonnensensor) geht in Echtzeit. Das für jede Achse mit beliebigen schnellen Motoren und du erhältst gar einen perfekt geregelten Hell-dunkel-Übergangs-Regler mit deiner prima Präzision.
Bin mir nicht sicher ob "beliebig schnell" eine Option ist, da die CAM wie gesagt 30 Bilder pro Sekunde macht. Keine Ahnung ob man das irgendwie aufbohren kann, indem man sich auf einen reinen hell-dunkel-Übergang beschränkt. Vielleicht wäre sowas eher durch Einsatz eines spezifischen hell-dunkel-Sensors möglich bzw. schneller, als mit der CAM. Ich sehe es aber bei der CAM gerade auch als Vorteil, damit auch das nähere Umfeld sehen und messen zu können, d.h., abgesehen von dem Positionierungssystem würde ich die auch hinterher gerne nutzen, um die Genauigkeit des Resultats zu überprüfen, also z.B. den Abstand zwischen zwei Bohrungen, oder einer Bohrung und deren Entfernung zum Rand.

Die Nähe der Cam zum Objekt ist aber auch noch ein interessantes Thema. Ich hab für das Foto die Cam ziemlich direkt auf das Lineal draufgesetzt und dann scharf gestellt, d.h., noch näher geht nicht (zumindest wird das durch so eine Art Plastikaufsatz gehindert. In der Praxis ergibts ich dadurch eine Vergrößerung von etwa 1:100, und nicht etwa 1:500, wie auf der Verpackung steht ;) Ich glaube aber, wenn man noch näher rankäme wäre das eine Möglichkeit, noch etwas mehr Vergrößerung zu bekommen.

Dazu hier ein Bild, wo der Skalenabstand schon deutlich größer ist, allerdings auf Kosten der Schärfe. Wenn man die hell-dunkel-Übergänge aber eh nochmal alogrithmisch bearbeitet, z.B. mit irgendwelchen raffinierten Filtern, dann könnte es damit vielleicht auch gehen.

Bild

Es gibt aber noch ein anderes Problem, weswegen ich glaube, das man nicht mehr viel an zusätzlicher Vergrößerung rausholen kann und das ist einfach die damit verbundene weitere Einschränkung des Blickfeldes.

Denn wie auf den gleich noch folgenden Bildern sehen kann sind die Kanten der Skalenstriche nicht perfekt gerade, sondern eher am Rand estwas krisselig und ausgefranst, d.h., zumindest bei dem Metalllineal (bei dem transparenten Plastikkärtchen dagegen siehts schon etwas besser aus). Jedenfalls bewirkt das bei einem sher engen Bildausschnitt, das diese Ausfransungen viel stärker ins Gewicht fallen, auf dem obigen unscharfen Bild haben die Striche sogar eine sehr ungleichmäßige Dicke.

Worauf ich hinaus will ist, dass man wahrscheinlich doch noch den Blick ins nähere Umfeld benötigt, d.h. etwas konkreter gesagt, entlang einer Skalenstrichkante, um sozusagen den wahren Kantenverlauf zu berechnen. Ist das Blickfeld zu eng fallen die Ausfransungen zu stark ins Gewicht.

Zumindest, wenn man das System einfach gestakten will. Ev. gibts aber auch hier noch ein Hintertürchen: Man könnte sich vielleicht den Umstand und die Zusatzinfo zunutze machen, das wir ja quasi wissen, dass die Abstände zwischend en Skalenstrichen gleich sind. D.h., man könnte die vorher mal abscannen und irgendwie den durchschnittlichen Abstand bestimmen, bzw. einen statistischen Wert ermitteln, der dem "wahren" Wert am nächsten kommt. Damit hätte der Kantenalgorithmus ein zusätzliches Kriterium, um entscheiden zu können, ob das nun schon die wahre Kante ist, oder eben eine Ausfransung. Oder so ähnlich ;)
Freut mich, dass wir mit den zwei Varianten gut synchronisiert sind. :) Super auch, wenn wir nur mit Halb-Schritt auskommen würden, falls du das wirklich mit Schrittmotoren machen willst, weil du dem Hell-Dunkel-Regler nicht traust. :D
Falls Du damit den Algorithmus meinst, dem würd ich schon trauen, den würd ich notfalls sogar als Neural-Network implementieren wenn nötig. nee, meine Defizite liegen eher wie gesagt darin, dass ich null Ahnung von Servo-Technik hab. Ich stell mir daher irgendwie abstrakt vor, dass es eines gewissen apparativen Aufwands bedarf, um zB. so einen Servo mikromillimetergneau auf den Punkt abzubremsen, und warum soll ich mir ohne große Not den Aufwand machen, wenn ich doch dem Stepper nur eine 0 oder eine 1 schicken muss ? Der Stepper erscheint mir da einfach viel komfortabler und luxuriöser, insbesondere, solange ich im Rahmen meiner Anwendung bequem mit dem bei Steppern üblichen Drehmoment-Bereich hinkomme. Ich sehe da für mich die Grenze so in etwa beim Torch-Table. Maschinen die noch größer und schwerer wären, so das Servos zwingend erforderlich wären, übersteigen schlichweg meinen Horizont ;) Ich bin ja kein gelernter Ingenieur sondern eher bestenfalls sowas wie ein motiviert-dilettierender Laie ;)

Und wieso sollte man nur mit Halbschritt-Modus auskommen wollen ? Die Pololus können bis zu sechzehntel Schritt, das neue T-Bone sogar bis 1/256-Schritt, in meinen Augen sind das good news, weil es bedeutet entsprechend wesentlich feiner positionieren zu können, von daher dachte ich immer, die Möglichkeit auch x-tel Schritte machen zu können, wäre mein Freund. !?
Kein Micro-stepping => keine Strommessung => eine einzige H-Brücke pro Phase
Versteh ich immer noch nicht, die Strommessung macht doch der Treiber vollautomatisch. Für mich ist das quasi ne Blackbox, ich weiss dass es der Treiber macht und brauch mich nicht weiter drum zu kümmern. Soon Pololu kostet rund 10,- EUR, Problem gelöst ;)
und schon hat man Vor-, Rückwärts und Geschwindigkeit.
OK, aber das wird dann alles softwareseitig geregelt, was ja auch den Vorteil einer gewissen Flexibilität mit sich bringt, d.h., man kann für spezifische Zwecke sogar spezielle Beschleunigungspattern entwickeln usw., es macht ja doch einen gewissen Unterschied, ob ich z.B. damit gerade drucken oder fräsen will.
Bei DC-Motor gar nur 1 einzige insgesamt.
Ich fürchte, ich weiss nicht mal, was eine H-Brücke ist, ... d.h., für mich ist das eine chemische Bindung über Wasserstoff, mittels derer z.B. die beiden Stränge der DNA zusammengehalten werden, aber ich vermute mal, ist damit beim DC-Motor eher nicht gemeint !? ;)
Unglaublich DIY and robust. Mein Professor würde dich lieben. :D
Na, jetzt wahrscheinlich nicht mehr ;) Dabei ist "DIY und robust" etwas, das ich auch durchaus gern unterschreibe ;)
Sollte dein Hell-Dunkel-Übergangs-Regler zuverlässig arbeiten, wovon ich überzeugt bin, wenn wir nah genug physikalisch(Position)/optisch(Linse) heranzoomen können und keine Staubprobleme haben. Dann können wir gar wirklich einen DC-Motor verwenden.
Naja, wie schon angemerkt kommen wir zumindest nicht nahe genug für die 1:500 Vergrößerung, aber vielleicht wäre 1:100 ja schon nah genug ? Und statt Staubproblem haben wir das Ausfransungsproblem, was in etwa aufs Gleiche hinausläuft. Möglicherweise könnte man dem begegnen, indem man sich irgendwie eine Skala selbst macht, zB. einfach drucken oder so, es muss ja nicht unbedingt mein olles Stahllineal sein. Mein Laser-Drucker kann 1200 dpi, das entspräche ungefähr 47,2 Punkte auf einen mm Abstand., ist nicht gerade viel, aber immerhin.

Zum Schluss noch ein Aspekt, der vielleicht einer direkten Ablesung etwas entgegenkommt: Die Skalenstriche sind nicht alle gleichlang, sondern unterschiedlich, d.h., man kann anhand der Länge des Striches unterscheiden zwischen halber mm, mm, alle 5 mm und alle 10mm, siehe folgende Fotos:

Bild

Bild

Man müsste also auf dem Weg zu einer Position nicht unbedingt jeden Hakb-mm-Strich mit erfassen sondern könnte bekem die 10mm-Striche abzählen udn in Zielnähe dann die kleineren. ich denke das kommt der Cam-geschwindigkeit etwas entgegen, macht ja einen Unterschied ob ich die möglichen 30 Bilder pro Sekunde mit ersterem verplempere (damit käme ich in 1 s nur 15mm weit) oder für letzteres verwende (also immerhin 30cm/s).

Aber das nur als Hinweis dafür, wenn manw irklich etwas mit direkter Ablesungmachen will, ansonsten bleibt ja noch die von mir schon skizzierte Möglichkeit, die Positionen in einem Kalibriervorgang abzuscannen und dann aus dem Gedächtniss bzw. eine gespeicherten Wertetabelle blind anzusteuern.

Gruss, Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: Präzision

Beitrag von J.R.I.B. » Fr 4. Apr 2014, 09:48

Wenn man anstatt der Kante, die Mitte verwendet und wie du gesagt hast, eine Gerade durchlegt, dann müssten die Werte dem nahen Wert schon recht nah kommen.


Das mit den Micro-Schritten ist so ein Thema, denn nur weil es die Schritte unterstützt heißt das nicht, dass es auch wirklich genau ist. Micro-stepping ist ein nicht-lineares Problem und ich wundere mich, ob man dem in unserem DIY Kostenbereich trauen sollte.

Ich denke, du bekommst deine Präzision auch ohne, das nicht scharf gestellte Bild könnte sich da sogar nochmal anbieten, um genau die Mittelgerade zu finden, auch mit geringem Blickwinkel.

Deine H-Brücken hatte ich fast vergessen, sehr wichtige diese Brücken. Nachfolgend ein Beispiel: (Diode ist bereits im MOSFET eingebaut. Also nur 4 LogicLevel-Transistoren nötig, Richtung und Geschwindigkeit geht dann über das Programm.)
Bild
Schrittmotoren sind praktisch. Beim DC- Motor musst du aber auch nur auf Vollbremsung umschalten und der Motor steht je nach Magnetfeld -> Torque.

Das Stehenbleiben auf der Stelle mit dieser Genauigkeit könnte wahrlich ein Problem werden. Ich finde deine Ausführung aber vielversprechend. Der Vorteil von der Kamera ist, dass man nicht auf die Kante, wie bei Hell-dunkel-Sensoren angewiesen ist, sondern, dass man die Mitte des Strichs berechnen kann. Das und ein vorgeschalteter Filter, falls dieser dann überhaupt noch nötig ist. Eigentlich ja nicht, müsste man mal testen, wie nah die Mittelgerade dem wahren Wert kommt. Und wie viel vom Strich (Länge) man sehen muss, damit es hinreichend genau wird.

Benutzeravatar
case
Beiträge: 733
Registriert: Mi 13. Jun 2012, 01:12

closed loop für 3D-Printer

Beitrag von case » Do 5. Feb 2015, 01:45

cool, der kann den mitten im drucken manuell aus der Richtung reissen, aber der Drucker druckt anschliessend inbeirrt an der richtigen Stelle weiter.
Ein Drehencoder scheint keine schlechte Idee zu sein.

https://www.youmagine.com/designs/dc-mo ... nformation
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Bastelmike
Beiträge: 98
Registriert: Mo 25. Jun 2012, 19:51

Re: closed loop für 3D-Printer

Beitrag von Bastelmike » Mi 18. Feb 2015, 19:04

case hat geschrieben: Ein Drehencoder scheint keine schlechte Idee zu sein.

https://www.youmagine.com/designs/dc-mo ... nformation
Hallo Oliver,

mit einem Drehencoder wärst Du ja wohl wieder bei der indirekten Wegmessung. Hatten wir schonmal früher diskutiert.
Im Prinzip nix Schlimmes, wird bei preisgünstigen Werkzeugmaschinen durchaus oft verwendet. Allerdings hängt die Genauigkeit von der mechanischen Komponente, Kugelrollspindel oder was auch immer, ab. Wenn dann hier im DIY die billigste Kugelrollspindel aus China verwendet wird, ich würd sagen ade Genauigkeit :roll:

Ich frag mich allerdings bei dieser Diskussion, welche Positionsgenauigkeit oder Positionsstreubreite oder Positionswiederholgenauigkeit Ihr anstrebt. Vielleicht sagt dazu ja mal einer was konkret.

Mike

Benutzeravatar
case
Beiträge: 733
Registriert: Mi 13. Jun 2012, 01:12

Re: closed loop für 3D-Printer

Beitrag von case » Fr 20. Feb 2015, 08:26

Hallo Mike,
Bastelmike hat geschrieben:mit einem Drehencoder wärst Du ja wohl wieder bei der indirekten Wegmessung. Hatten wir schonmal früher diskutiert.
Ein sehr berechtigter Hinweis !

Und ich erinnere mich auch, das ich, als ich das postete, tatsächlich dabei noch dachte: "Hmm, aber eigentlich waren wir ja schon soweit, einen linearen Glasmaßstab als Optimum anzusehen".

Aber ich war halt ziemlich beeindruckt von dem Video, wo der mitten im Druck den Extruder wegreisst. Insbesondere, zumal ich selbst in letzter Zeit bei meinem Drucker gewisse Probleme mit unregelmäßig auftretenden Schrittverlusten hatte, vermutlich aufgrund eines etwas zu schwach eingestellten Treibers (Motorstrom), aber jedenfalls kann man dann jedesmal das Stück wegschmeissen und von vorn anfangen, ... ziemlich nervig.

Insofern erschien mir dieser Drehencoder als eine Art Zwischenschritt auf dem Weg zur optimalen Positionierung. Die optische direkte Wegmessung ist weiterhin das Optimale, und insbesondere im Hinblick auf die Präzision. Aber der Drehencoder scheint zumindest im Hinblick auf die Wiederholgenauigkeit schon ein gewisser Fortschritt zu sein, gegenüber einem System, das nur aus der "Erinnerung" heraus positioniert und wo sich der od. die Fehler fortpflanzen. In sofern fand ichs passend das hier zu posten. Ich strebe aber nicht an, soon Ding jetzt auch bauen zu wollen, sondern würde weiterhin das mit dem USB-Mikroskop als mögliche Alternative zum Glasmaßstab verfolgen.
Im Prinzip nix Schlimmes, wird bei preisgünstigen Werkzeugmaschinen durchaus oft verwendet. Allerdings hängt die Genauigkeit von der mechanischen Komponente, Kugelrollspindel oder was auch immer, ab. Wenn dann hier im DIY die billigste Kugelrollspindel aus China verwendet wird, ich würd sagen ade Genauigkeit :roll:
Ja, genau darin liegt auch der besondere Reiz einer direkten Positionsbestimmung, dass eben all diese Fehlerquellen umgangen werden.
Ich frag mich allerdings bei dieser Diskussion, welche Positionsgenauigkeit oder Positionsstreubreite oder Positionswiederholgenauigkeit Ihr anstrebt. Vielleicht sagt dazu ja mal einer was konkret.
Tja, wenns ums "anstreben" im Sinne von "wünschenswert" geht, würde ich sagen 0.01mm Genauigkeit beim fertigen Werkstück und dazu wohl 0.001mm bei der Weg-Messung. Derzeit machbar erscheint mir allerdings eher eine Werkstücktoleranz von 0.1mm und 0.01mm Positionierung, das wäre zumindest der Bereich, den ich bei einem 3D-Drucker standardmässig erwarten würde und der mich bei einer Selbstbau-Fräse wie meinem Bohrautomaten schon glücklich machen würde ;) Die bisherigen Erfahrungen mit meinem Drucker und dem Bohrautomaten haben mich da wohl etwas bescheidener gemacht aber ein bischen mehr Realität kann ja nicht schaden ;)

Positionsstreubreite und -wiederholgenauigkeit meint das Gleiche, oder ? Da kann ich keine konkreten Zahlen nennen, aber würde sagen, je mehr Wiederholgenauigkeit desto besser, sie ist eigentlich das Wichtigste. Und das spricht natürlich wieder für eine direkte Wegmessung.

Gruss, Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Bastelmike
Beiträge: 98
Registriert: Mo 25. Jun 2012, 19:51

Re: closed loop für 3D-Printer

Beitrag von Bastelmike » Mi 25. Feb 2015, 10:58

case hat geschrieben:Hallo Mike,

Positionsstreubreite und -wiederholgenauigkeit meint das Gleiche, oder ?
Hallo Oliver,

ist leider nicht das Gleiche. Wiederholgenauigkeit meint, Du fährst mit einer Verfahrachse immer wieder die gleiche Position an (auch aus beiden Richtungen) und misst die positive oder negative Abweichung zum Sollwert. Größte positive und negative Abweichung werden (als Absolutwert) addiert und Du hast die Positionswiederholgenauigkeit.

Positionstreubreite misst Du, indem Du mit der Achse viele verschiedene Positionen anfährst und die positive bzw negative Abweichung ermittelst. Jetzt wieder den grössten positiven und negativen Wert absolut addiert ergibt die Streubreite.
Die Streubreite ist praktisch der worst case, wenn Du zwei Bohrungen machst. Im ungünstigsten Fall weicht der Bohrungsabstand um die Positionsstreubreite ab (theoretisch jedenfalls).

Was die Genauigkeiten angeht, so werdet Ihr eine Genauigkeit von 0,01mm wohl nie erreichen. Zum Vergleich, bei Lehrenbohrwerken liegt die Positionsstreubreite so um die 7µm. Bei hochwertigen Bettfräsmaschinen und Portalfräsmaschinen (nicht Käsefräsen!) so 15-20µm typischerweise. Konsolfräsmaschinen sind in der Regel ungenauer.
Und die GEnauigkeit von Lehrenbohrwerken erreicht niemand in DIY; da müsste derjenige sich schon Jahrzehnte hauptberuflich mit dem Bau von Lehrenbohrwerken beschäftigen. Ausserdem ist meine Erfahrung mit OSE bisherleider, dass die Erzeugnisse in Leistungsfähigkeit und Genauigkeit eine Klasse unterhalb von Industrieprodukten wiederfinden. :(

Gruss Mike

Benutzeravatar
J.R.I.B.
Beiträge: 288
Registriert: Mi 5. Jun 2013, 00:34

Re: Präzision

Beitrag von J.R.I.B. » Mi 25. Feb 2015, 23:54

Wahr. Mehr ist von Altruismus auch nicht zu erwarten, weder Zeit noch Geld für High-tech (sowohl Algorithmen als auch Bauteile). Open source ist Altruismus. Zumindest für diejenigen, die sich die Arbeit gemacht haben - und das dann einfach veröffentlichen. ;)

Und deshalb wünscht man sich immer, dass man von Mikrostepping und all den anderen Komplikationen absieht ...

Encoder-Genauigkeit ist relativ. Es soll Robotik-Spezialisten gegen, die bauen vierrädrige Roboter, die tagelang auf dem exakt selben Kreis mit Radius 3m fahren können. Diese Genauigkeit erreicht man aber im Allgemeinen niemals selbst, wenn man nicht gerade eine Doktorarbeit oder ähnlich anfertigt - und dabei auf alle Ressourcen (Vorarbeiten, Bauteile, Technik, Algorithmen, Nahrung, ...) eines Lehrstuhls + Robotik-Unternehmens zurückgreifen kann - und nicht locker lässt.

Also zurück zur direkten Positionsbestimmung. (Das ist auch der Trick bei vielen dieser Multirotor -Akrobaten die z.B. durch Ringe mit Looping durchsausen können .. da hängt an der Wand meist irgend ein Positionsbestimmungssystem, Infrarot, Optisch, oder andersartig.)

Oder aber nachfragen wie der 93-jährige Ingenieur diese zig Dreh- und Fräsmaschinen (inklusive wasserbetriebene Präzisions-Bandsäge seines Vaters von zirka 1900) hergestellt hat ...

Und selbst wenn .1mm nicht erreicht werden können. Open source sollte keine Milli-, Mirko- oder Nanostrukturen bauen, sondern Dinge die die wirklichen Probleme anpacken. Eine Schraube kriegt man in ein um 1mm verschobenes Loch schon rein, besonders bei Materialien wie Holz oder dünnem Blech. Die meisten Behausungen bestehen noch immer weitgehend aus Holz. (Und allemal besser als die momentanen Zustände in den Armuts- und Hungerzentren dieser Welt wird's wohl werden. Also nur nicht locker lassen.).

Benutzeravatar
case
Beiträge: 733
Registriert: Mi 13. Jun 2012, 01:12

Re: closed loop für 3D-Printer

Beitrag von case » Do 26. Feb 2015, 03:05

Bastelmike hat geschrieben:Was die Genauigkeiten angeht, so werdet Ihr eine Genauigkeit von 0,01mm wohl nie erreichen.beschäftigen.
(...)Ausserdem ist meine Erfahrung mit OSE bisherleider, dass die Erzeugnisse in Leistungsfähigkeit und Genauigkeit eine Klasse unterhalb von Industrieprodukten wiederfinden. :(
Das mag wohl sein. Denn gibts von hier aus zwei Optionen:

1. Zumindest rein theoretisch könnte ein industrieller Hersteller die Teile fertigen, denn immerhin sind die Pläne ja OpenSource.

2. Man bescheidet sich mit dem erreichbaren. Sofern das 0.1mm wären könnte ich auch durchaus damit leben. Und falls ich die Teile zum Verkauf anbieten würde (und das würde ich sehr gern!) müsste ich das dann eben mit angeben, d.h., ein Teil mit 0.01mm wäre dann Spezifikations-gemäß, und ich müsste mein Teil halt dahingehend kennzeichnen, das es in diesem diesem Punkt von der Spezifikation abweicht.

In der Praxis sieht es so aus, das ich jetzt schon eine Weile mit den noch wesentlich ungenaueren, da von Hand gebohrten Teilen gearbeitet, d.h. in sovielen verschiedenen Projekten verwendet habe, das mein UniProKit-Baukasten (also die Aufbewahrungsboxen) fast leer ist und ich dringend Nachschub bräuchte (den ich aber diesmal garantiert nicht mehr von Hand bohren werde ;)). In den meisten der Anwendungsfälle war die mangelnde Genauigkeit entweder nicht relevant, oder aber zumindest kein großes Problem. Ein Beispiel wäre etwa ein Case (also ein Gehäuse, nich ich ;)) oder ein Rahmen, damit etwa eine Platine nicht völlig frei in der Gegend rumbaumelt, sowas halt. Die Nützlichkeit im Bastler-Alltag ist so dermaßen immens, ich wünschte, ich könnte Euch dieses Gefühl vermitteln ... man greift einfach in die Kiste und schraubt etwas zusammen und schon hat man was ... und enorm Zeit gespart. Ich selbst bin daher schon regelrecht süchtig nach den Teilen und brauche/will definitv mehr davon ;) Sind sie nun in 0.1mm Genauigkeit ... nehm ich sofort, be my guest. ;)

Naja, und gewissermaßen als drittes gibts ja auch noch die Option, die Sache mit der optischen Wegbestimmung mittels USB-Mikroskop-cam, was ja der eigentliche Aufhänger für diesen Thread hier ist, weiter zu verfolgen, immerhin hab ich das Teil und das lange Metall-Lineal ja eh hier schon rumliegen.

Allerdings hat es für mich noch weitaus höhere Priorität, überhaupt weitere Teile herstellen zu können, gern auch erstmal mit ner geringeren Genauigkeit.

Dazu müsste ich , falls Euch der Status interessiert, an dem Bohrautomat noch eine mittelkleine Änderung vornehmen, wozu ich mal ein bis zwei Tage am Stück Zeit haben müsste, bin aber momentan knietief in anderen Projekten, also quasi gebunden.

Naja, und ein bischen liegts auch daran, das es momentan halt noch in der Werkstatt saukalt ist, bei knapp über null grad mag ich da jetzt grade nicht wirklich an dem Bohrautomat rumdoktern (die Schaltungen für das Solarbox-Projekt dagegen kann ich im Warmen am Schreibtisch löten ;)). Jedenfalls hoffe ich das es da weitergeht wenns wieder etwas wärmer wirdund ich mir dann endlich den ersehnten Nachschub an Teilen anfertigen kann.
Jan hat geschrieben:Eine Schraube kriegt man in ein um 1mm verschobenes Loch schon rein, besonders bei Materialien wie Holz oder dünnem Blech. Die meisten Behausungen bestehen noch immer weitgehend aus Holz.
Naja, ev. würds sozusagen mit Gewalt gehen, aber ich weiss nicht nicht, ob Mike dieses Argument so gelten lässt *grins*

Und 1mm ist das was ich auch von hand bohren kann und diese Ungenauigkeit geht mir mächtig auf den Nerv, also 0.1mm sollten es schon sein, und dann wärs mit der Schraube wohl auch ok.

Letztendlich muss man denn in der Praxis mal sehen was geht.


Gruss, Oliver
--- Man wächst nur, indem man etwas zuende bringt und etwas anderes beginnt ---

Mein Blog: http://makeable.de
OpenEcoLab-Charta: http://openecolab.de

Antworten