Re: (Automatische) Messung der Filamentdicke
29. August 2013 16:21
Hallo,

da warst jetzt doch ein wenig zu schnell Joachim eye rolling smiley ich glaube dass eine kamera "auszulesen" ein wenig komplexer ist wie einen zeilensensor.

Ich denke wir sollten hier mal unsere gedanken sortieren.
Auf was kommt es denn bei so einer messung an, wie sollte diese erfolgen, und unter welchen bedingungen sollte diese funktionieren?

Meiner meinung nach sollte die messung folgende merkmale aufweisen:
1. Genauigkeiten +/- 0,03mm
2. ohne viel elektronik auskommen
3. so kostengünstig sein wie nur möglich
4. nicht unbedingt filament abhängig sein (IR bereich oder der zeilenlaser wären hier mit sicherheit sinnvoller)
5. schnell sein (damit kann man sich großartige berechnungen ersparen. Kommt eine fehlmessung hat sie nicht so einen großen einfluss auf das ergebniss da sofort wieder ein neuer wert kommt, nur ober und untergrenzen definieren, ist die messung außerhalb wird der untere oder der obere wert verwendet, fertig!)
6. einfach nachzubauen sein
7. falls die verarbeitungszeit von dem atmega nicht ausreicht, dann eben noch einen darauf setzen und die werte auf das hauptboard einspeisen, hier wären mit sicherheit nano oder micro sinnvoll. Sollte diese kapazität ausreichend sein dann bitte gleich 2 eingänge für dualbetrieb einplanen.
8. schnell realisierbar sein

Die oben genannten punkte wären schon mal zielführend denke ich. Wobei das nur meine persönliche meinung ist.
Den Zeilensensor auszulesen bzw. anzubinden wird keine großartige schwierigkeit sein. Eine schaltung hierzu müsste sogar in dem datenblatt von dem sensor dabei sein. Die spannungsversorgung, auch kein thema, und die IR diode oder zeilensensor müssten ebenfalls i.O. gehen.
Herausforderung wird sein die programmierung von dem teil wie auch die anbindung an die firmware.

Gruß
Mirco

Bezüglich sensoren hier ein link sensoren

Hier ein top sensor für 6,50$ 5,5µ sensor

ob man das ding jetzt verwenden kann smoking smiley da seid ihr jetzt gefragt.

2-mal bearbeitet. Zuletzt am 29.08.13 16:46.
VDX
Re: (Automatische) Messung der Filamentdicke
29. August 2013 16:54
... ein Hinweis zur möglichen Auflösung mit billigen Web-cams - vor Jahren hatte ich mir mal mit einer 60€-Webcam von Conrad und im Druckstudio belichteten Gitterrastern mit 50µ Linienbreite und Lücke ein XY-Positionierencoder aufgebaut, mit dem ich Verschiebungen/Schattenränder bis zu 1µ (=0.001mm) genau auswerten konnte!

Dafür habe ich einfach die Optik und IR-Filterplatte vom Kamerachip entfernt und eine rote Laserdiode ohne jede Optik einige cm vor die Kamera gesetzt und zwei von den Gitterraster-Folien aufeinander und auf das Kamerafenster gesetzt ... eins der Raster war an X, das andere an Y befestigt ... bei Bewegung gegeneinander ergab das ein Moiré-Muster.

Zur Auswertung habe ich das überlagerte Schattenbild aufgenommen und mit DIAS (damals ein BV-Programm für 700€, gibts heute für umsonst) ausgewertet.

Die Kamera-Pixel hatten eine Größe von 6x6 Mikometern, mit 10x-Interpolation konnte ich mit dem BV-Programm die Konturgrenzen mit ungefähr einem µ Auflösung messen, weil die Kanten gerade waren und ich so über die gesamte Bildbreite/-höhe integrieren konnte winking smiley

1-mal bearbeitet. Zuletzt am 29.08.13 16:56.


Viktor
--------
Aufruf zum Projekt "Müll-freie Meere" - [reprap.org] -- Deutsche Facebook-Gruppe - [www.facebook.com]

Call for the project "garbage-free seas" - [reprap.org]
Re: (Automatische) Messung der Filamentdicke
30. August 2013 00:15
Hallo Mirco,

Ich denke nicht dass ich zu schnell war.

Mein Ansatz ist es den PC für die Auswertung zu nehmen und die Hostsoftware für die Regulierung des Flowmultiplikators.

Das würde im Idealfall bedeuten, dass mit einer Webcam als Hardware alles erledigt ist.

Ich würde das Bild auswerten und ins clipboard etwas schreiben wie ZB. Multiply=1.043

Der Host schaut regelmässig ins clipboard und wenn er diese Folge findet regelt er den Multiply auf diesen Wert.

So wäre der Host unabhängig von der Art der Auswertung.

Man hätte dann sogar eine Kontrolle wenn das Material ausgeht.

Ihr verfolgt für mein Verständniss schon fast eine industrielle Lösung...
Re: (Automatische) Messung der Filamentdicke
30. August 2013 01:14
Moin!

Ihr verfolgt für mein Verständniss schon fast eine industrielle Lösung...

Naja viktor baut sowas halt. Er kommt aus dem Bereich und dementsprechend sind seine Umsetzungen anspruchsvoller, aber dennoch von der Durchführung her einfach gehalten.

Wir anderen überlegen uns halt wie wir das machen wollen. Ich bin für eine binäre Lösung. Eine LED, ein opto-relais und fertig. Genauer gehts mit der ccd-zeile. Okay viktors Lösung mit 1mykro ist noch genauer. Mit einem unschlagbaren preis/Leistungsverhältnis wie ich finde.

Jetzt kommt es nur auf den Aufwand an, den man bereit ist zu investieren.

MfG magicworx
Re: (Automatische) Messung der Filamentdicke
30. August 2013 03:09
Der Vorteil davon es "vor Ort" also am Drucker zu Messen, Auszuwerten und zu Verarbeiten ist das der gcode komplett unangetastet bleibt. Der Wert für das Filament kann einfach direkt in die Steuerung für den Filamentvortrieb einbezogen werden. dabei kann man den Abstand der Messung bis zur Verbraucher (dem Druckkopf) mit berücksichtigen. Die Steuerung für den Filamentvortrieb sollte ja wissen, wieviele Schritte Filament sie durchgedrückt hat. Es bleibt so alles "Druckerintern" und funktioniert auf weiter, wenn der "Host" nur eine SD Karte ist die in den Drucker gesteckt wird.

Gruss Matthias

1-mal bearbeitet. Zuletzt am 30.08.13 03:10.
Re: (Automatische) Messung der Filamentdicke
30. August 2013 06:25
@Achim
Das sehe ich genau so wie Matthias, im bezug auf den druck möchte ich eigentlich standalone sein und nicht über den pc die ganze schoße steuern. Ich habe für meinen/Deinen drucker nicht gerade eine monstermaschine als pc. Allerdings dauert es schon eine ganze weile bis die multiplikatoren auf den arduino übertragen werden und dann reagieren. Somit ist diese geschichte schon ein wenig träge.

@Viktor
hier ist meiner meinung nach wieder ein pc im spiel was meiner meinung nach nicht ganz so sinnvoll ist wie schon oben erwähnt

@Matthias
das denke ich auch. Obwohl ich sagen muss dass wenn sich der sensor teilen lässt, was ich schon glaube dann auch 2 stänge vermessen werden könnten und somit ein dualbetrieb möglich wäre. Der TCD1103GFG hat ein messfeld von 8,25 mm somit könnte man 2x3mm filament und natürlich dann auch 2x1,75 filament "vermessen" die auswertung muss natürlich dann über das 2. board erfolgen.

Das ganze bedeutet im moment aber auch einen eingriff in die filmware. Da verschiedene filmware varianten verwendet werden wird es umso schwieriger sein für jeden die geschichte verfügbar zu machen. Andererseits verwendet man sowieso einen 2. arduino. Somit würde ich die auf den schrittmotordriver gehen und diesen auf das board auf den eingang legen, und dann die signale über den 2. arduiono durchschleifen und mit den korrekturwerten wieder auf den aufgesteckten motordriver zum motor weiter umlenken. Von der schnelligkeit her müsste es gehen. Das schafft das ding normalerweise locker.

Somit würde die platine dann wie folgt ausschauen:
2 Steckplätze für pololu (bei dualbetrieb)
2 Anschlüsse für schrittmotoren
1 Steckplatz für einen arduino mega, nano, micro oder sonstwas was man benötigt
1 stecker für spannungsversorgung
und dann den rest den man für die messung benötigt, sensor und lichtquelle direkt auf das board.

fertig ist die laube!

Funktioniert die schoße, aus was für einen grund auch nicht, stecke ich meine pololu´s auf das andere board wieder zurück und weiter geht´s.

Im Bezug auf die Selbstbauer. Platine, kann auch lochraster sein, einen arduino kaufen und den rest was man benötigt und fertig.
Somit alles nur einstecken und freude haben.

Habe ich was vergessen?

Gruß
Mirco

1-mal bearbeitet. Zuletzt am 30.08.13 06:26.
Re: (Automatische) Messung der Filamentdicke
30. August 2013 07:09
Mirco, die Idee die Schrittmotortreiber mit auf das Sensorboard zu verlegen ist verlockend. Man müsste mal sehen, ob die Steuerleitungen (vom Firmware-Board zum Sensorboard) dann nur nicht zu lang werden. Aber da geht probieren. Es sind ja nur 2 Leitungen (Richtung und Schritt (Takt)). Oder werden die Schrittweiten (Halfsteps etc.) durch die Firmware gesetzt? Ich hab da noch keine Ahnung, mein Drucker ist ja erst im Aufbau winking smiley

Zur Messung von 2 Filamenten: das sollte kein Problem sein. Der "Erwartungswert" wo sich ein Filament befinden soll ist ja sehr gut festgelegt durch die Führung der Filamente und die Breite der Sensoren ist auch gross genug für 2 Filamentstränge nebeneinander.

Natürlich hat man dann 2 Werte für die Kalibrierung einzugeben. Die Filamente sollten ja gerade unterschiedlich sein.

CU
Matthias
Re: (Automatische) Messung der Filamentdicke
30. August 2013 12:56
Hi,

na dann mal viel Erfolg.

Ich würd mich freuen wenn ausser theoretischen Überlegungen da auch was handfestes draus wird.

Viele Grüße
Joachim
Re: (Automatische) Messung der Filamentdicke
30. August 2013 13:09
Man man man, was habe ich da losgetreten, als ich den Thread anlegte >grinning smiley<

Achim
Re: (Automatische) Messung der Filamentdicke
30. August 2013 14:12
Okay!

Du bist schuld. Und ich darf das jetzt meiner Frau beibringen, das ich die nächsten Stunden im Keller beim basteln verbringe. Und das nur weil ich mit meinen opto-schaltern spielen will

Und dabei habe ich noch nicht einmal einen fertigen Drucker.

Mfg magicworx, der gut gelaunt mit seinen Schaltern spielt.
Re: (Automatische) Messung der Filamentdicke
30. August 2013 14:47
Die Frage die sich jetzt für mich stellt ist natürlich welcher weg wird hier eingeschlagen?
Ansonsten bin ich dabei. Konstruktion mechanisch, gehäuse usw. kann ich alles machen.
Wenn noch irgendeine "unsinnige" hardware benötigt wird einfach nachfragen, vielleicht habe ich was, bzw. kann es organisieren smileys with beer

Einfach sagen was zu tun ist, kleine skizze für die mechanik reicht aus. Wenn es irgendwelche teile zu drucken gibt, ebenfalls. (mache ich dann mit Deinem H-Belt Achimeye rolling smiley übrigens hat das ding einen kleines upgrade bekommen, läuft jetzt noch ein wenig besser cool smiley).

Bin ab morgen in meinem 2. teil des urlaubes. Diesmal aber in D und somit erreichbar.

Gruß
Mirco
Re: (Automatische) Messung der Filamentdicke
30. August 2013 15:19
Hallo Mirco,

Ich heisse Joachim.
Es gibt aber auch den Achim hier. smiling smiley

Freut mich wenn Du den Drucker noch verbessern konntest.

Viele Grüße

Jo Achim
Re: (Automatische) Messung der Filamentdicke
30. August 2013 15:23
Also ich bin erstmal dabei den Drucker aufzubauen. Das hat für mich "Priorität" smiling smiley Versteht wohl jeder winking smiley

In den Pausen schaue ich mich nach Chips um (nicht denen aus Kartoffeln, sondern aus Silizium). Es kommt mir auf Verfügbarkeit, günstigen Preis und Ansteuerbarkeit vom Arduino an. Als Maximum für die Pixelgrösse habe ich mir 14µm Pixelkante zu Pixelkante gesetzt. Am liebsten ist mir ein Gehäuse mit Beinen zum Verlöten, da wohl die meisten keinen Ofen haben um die Dinger backen zu können (ich auch nicht) - immer dieser neumodische Kram....

Danach würde ich den Chip bestellen und eine kleine Testschaltung aufbauen, in der ich zuerstmal das Signal auf meinen Oszilloskop sehen will und dann im Arduino digitalisiert.

Dazu werde ich mir parallel die Firmware meines Druckers anschauen. Mal sehen wo man was einschleifen kann. Der Ansatz von Mirco die Schrittmotorentreiber an den Sensor zu holen ist auch spannend und sollte untersucht werden, wenn die Firmware nicht erfolgversprechend scheint. Die Mirco-Idee hat den Vorteil relativ Hardware/Firmware neutral zu sein. Allerdings gibt es ja auch in der Firmware/G-Code schon die Befehle einzelne Layer mit unterschiedlichen Filamentvolumen zu drucken. Das müsste dann ja eigentlich auch an den Sensor gemeldet werden. Man müsste dafür aber wiederum auch die Firmware modifizieren und eine Kommunikation zwischen den beiden Rechnern (Drucker und Sensor) herstellen. Na ja mal sehen.

Dann geht es an die Auswertung des digitalisierten Signals im Arduino so das man einen (oder bei Dualextrudern zwei) Werte rausbekommt, die den Durchmessern der Filamente entsprechen.

Danach ist die endgültige Integration in die Firmware (oder die korrekte Umsetzung der vorgezogenen Schrittmotortreiber) dran.

Nun aber weiter, das Druckbett montieren.

CU
Matthias
Re: (Automatische) Messung der Filamentdicke
30. August 2013 15:23
Oh, sorry, confused smiley da habe ich jetzt was durcheinander gebracht.

Nee, habe ihm nur eine kleine zentralschmierung spendiert smoking smiley. Läuft mit salatöl, von unten eine kleine wanne und fertig.
Vielleicht mache ich noch ne pommesbude daraus smoking smiley

Gruß
Mirco
Re: (Automatische) Messung der Filamentdicke
30. August 2013 15:31
Ich bins, der Achim >grinning smiley< im Gegnsatz zu Joachim

Bei der Firmware würde ich "Repetier" mal ansprechen, der kennt sich in "seiner FW" asm besten aus

1-mal bearbeitet. Zuletzt am 30.08.13 15:35.
Re: (Automatische) Messung der Filamentdicke
08. September 2013 04:39
Hi,

mein Mikroskop ist gekommen.

Ich habe dann gleich eine einfache Aufnahme gedruckt, damit das Filament immer in der gleichen Richtung und mit gleichem Abstand vor der Linse "langläuft".

Die Ergebnisse seht Ihr im Anhang.

Könnte mir gut vorstellen, dass man damit recht schnell umsetzen könnte was hier diskutiert wird.

Viele Grüße
Joachim
Anhänge:
Öffnen | Download - Picture 33.jpg (381.9 KB)
Öffnen | Download - 2mm Bohrer.jpg (177.3 KB)
Öffnen | Download - PLA_ROT_1,75.jpg (139.8 KB)
Öffnen | Download - PLA_ROT_1,75_Messung2.jpg (138.2 KB)
Re: (Automatische) Messung der Filamentdicke
08. September 2013 05:16
Mit welchem Programm hast Du die Messungen durchgeführt? Ich finde nichts passendes auf der beiliegenden CD (oder ich bin noch nicht wach)drinking smiley
Re: (Automatische) Messung der Filamentdicke
08. September 2013 05:22
Wenn man die kleine CD einlegt gibt es bei mir im Menü "Messung".

Dann wird die Coolingtech Software installiert - zum kalibrieren des Wertes und messen.
Re: (Automatische) Messung der Filamentdicke
08. September 2013 05:30
Ich sehe das Fadenkreuz, aber keine Einheiten und keine Möglichkeit, zum Messen. Ich habe schon mit kalibrieren rumgespielt, ohne nennenswerten Erfolg.
Anbei ein Bild meiner Meßschraube mit 2mm Abstand - Hier komme ich nicht weiterangry smiley

Anhänge:
Öffnen | Download - Microskop.jpg (50.5 KB)
Re: (Automatische) Messung der Filamentdicke
08. September 2013 05:33
Du musst auf das Fotoapparat Symbol clicken.

Dann wird rechts ein Minibild davon abgelegt.

Doppelclick drauf dann gehts das mit Messraster auf und dann das Linealicon.
Re: (Automatische) Messung der Filamentdicke
08. September 2013 06:06
Re: (Automatische) Messung der Filamentdicke
08. September 2013 06:23
Falls hier jemand ein VB Fuchs ist:

Mit diesem VB Programm kann man das Kamerabild auslesen:

[sites.google.com]

Das Pixelauszählen von 2-3 Reihen sollte dann nicht mehr so schwer sein (Getpixel) , oder?

Gruß

Joachim
Re: (Automatische) Messung der Filamentdicke
09. September 2013 09:31
Hi,

ich hatte Langeweile und dann mal was zusammenprogrammiert.

Das Programm wertet das Kamerabild aus, zählt an 3 Stellen die gefundenen Pixel und macht aus dem Durchschnittswert eine Angabe zum Durchmesser.

Installation und Benuzung auf eigene Gefahr... grinning smiley

Gruß
Joachim
Anhänge:
Öffnen | Download - Filamentmessung.JPG (62.2 KB)
Öffnen | Download - Filamentmessung.zip (211.2 KB)
Re: (Automatische) Messung der Filamentdicke
09. September 2013 11:21
Hier einen Adapter für 1.75mm Filament, damit der Faden immer gleichmäßig am unteren Rand des Meßgerätes ist. Kann man schöner machen - egal - es klappt so.
TestAdapter.stl

Achim
Re: (Automatische) Messung der Filamentdicke
09. September 2013 12:57
Meine Erfahrung, grundsätzlich funktioniert es.thumbs up

- Das Bild des Filaments braucht einen guten Kontrast zum Hintergrund
- Der Faden sollte genau senkrecht im Bild sein, sonst wird schräg gemessen
- Etwas mit dem "Schwellenwert Pixelzählung" spielen, damit der Hintergrund nicht mitgemessen wird, erkenntlilch an einer evtl. sichtbaren gelben Linie außerhalb des Filaments, vor dem Hintergrund.
- Ich habe Probleme mit glänzendem Material, da werden Teile des Materials z.T. nicht mehr gemessen/ausgespart.
- Die "Pixel pro Milimeter" sind vom Linsenabstand zum Material abhängig, muß für jede Meßsituation (persönliche Verhältnisse) angepasst werden.

Dann ergibt es brauchbare bis sehr gute Werte.
Wenn man das alles gut hinbekommen hat, das Filament mal um 45° + 90°drehen. Damit kann man sehr gut "ovalität" messen/erkennen

Danke, mach weiter so grinning smiley
Achim

1-mal bearbeitet. Zuletzt am 09.09.13 12:59.
Re: (Automatische) Messung der Filamentdicke
09. September 2013 13:53
Hi,

ich musste dringend weg, deshalb erst jetzt mehr Info:

Der Hintergrund muss zwingend Weiss sein, weil die Software beim zählen der Pixel alle ignoriert, die blass sind (dafür auch der Schwellenwert).
Weisses Filament kann man aus diesem Grund nicht ausmessen !!!
(Ausser man macht noch eine inverse Variante mit schwarzem Hintergrund).

Das Filament muss wie in dem Screenshot von mir hochkant aufgenommen werden.

Kalibrieren:

Idealerweise in einer guten Vorrichtung mit der der Draht immer gleichmässig am Objektiv vorbeigeführt wird einen 2mm Bohrer nehmen.
Den Fokus scharfstellen / Optik scharfstellen.

Jetzt sollten die 3 gelben Linien genau wie auf meinem Screenshot nur über die Breite des Bohrers / Testkörpers gehen.
Wenn nicht dann mit der Beleuchtung (mein Mikroskop hat eingebaute LED's) oder Schwellenwert arbeiten.

Dann mit Pixel pro mm so einstellen dass als Filamentdurchmesser die 2mm des Bohrers angezeigt werden.

Ab jetzt kann dann das Filament gemessen werden.

Die gelben Linien dürfen nur über die Breite des Filament gehen.
Das geht auch "live" während man das Filament in der Vorrichtung dreht...

Was ich noch machen will:
Die Lichtreflexion in der Mitte des Filaments kann zu fehlenden Pixeln führen.
Das werde ich noch eliminieren in dem ich bei erkannten langen Linien am Rand einfach davon ausgehe dass es sich um eine durchgehende Linie handelt.

Viel Erfolg.

Gruß
Joachim

P.S. die hier haben auch noch eine gute Idee gehabt.
Per Spiegel 3 Ansichten vom Filament aufzunehmen wegen der Rundheit

[softsolder.com]

2-mal bearbeitet. Zuletzt am 10.09.13 07:38.
Re: (Automatische) Messung der Filamentdicke
12. September 2013 05:04
Dafür dass das Thema hier in der Theorie groß und breit diskutiert und zelebriert wurde bin ich erstaunt wie wenig Rückmeldung zur Praxis kommt...

Egal

Gruß
Joachim
Re: (Automatische) Messung der Filamentdicke
12. September 2013 05:26
Hi, bin noch dabei meine k8200 umzubauen auf anderes Netzteil (zusätzlich 24V fürs heiz-bett)
aber werde mal die nächste zeit die Software von dir ausprobieren ob die auch mit meinem alten gerät von reichelt funktioniert.
Re: (Automatische) Messung der Filamentdicke
12. September 2013 05:28
Hi Jack,
ich bin zur Zeit mit dem Drucken an sich beschäftig (mein erster 3D Drucker überhaupt). Es müssen bei mir erstmal brauchbare Ergebnisse rauskommen, bevor ich bei dem Thema weiter machen werden.
Deine Ergebnisse sind schon interessant. Allerdings glaube ich, das es besser ist die Korrekturwerte direkt in das Board des Druckers einzuspeisen, da im G-Code jede Menge Angaben und Annahmen zu der zu extrudierenden Filamentmenge stecken. Bei deren Berechnung geht der Slicer von der konfigurierten sprich der "idealen" Filamentqualität (rund und mit definiertem Durchmesser) aus. Das ist die Basis auf der der G-Code erstellt wird. Das auf dem Host umzurechnen und entsprechende korrigierte Daten zu schicken wird sicherlich kniffelig. Wenn der Drucker das autonom erledigt, dann sieht die Sache schon viel einfacher aus. Es läuft auf eine Firmwareänderung hinaus, in der der Korrekturwert verarbeitet werden kann (oder auf eine Manipulation der Motorsteuerung wie Mirco es vorschlägt).

Also ich bin weiterhin am Ergebnis interessiert, mache aber erst weiter wenn der Drucker druckt (z-Achse korrigieren, Bett richten, Parameter für das Filament herausfinden, kein Warping mehr haben). Ich denke ich muss erstmal einen halbwegs stabilen Prozess haben, bevor ich mich an die Verbesserung desselben mache. Ansonsten wäre jede Bastelei "für die Katz".

CU
Matthias

1-mal bearbeitet. Zuletzt am 12.09.13 05:29.
Re: (Automatische) Messung der Filamentdicke
12. September 2013 05:52
Könnte man das nicht in den Repetier-Host integrieren und damit den Flow-Regler "steuern" ?
Ich denke, dies wird sich am leichtesten umsetzen lassen um überhaupt erstmal zu schauen was die ganze Sache bringt.


Gruß
Boris
--
DIY Mendel90
Gen7 1.4.1 mit Repetier Firmware 0.91 + Repetier Host
Gen7 Extension Board mit LCD, SD-Card, Bluetooth und FAN-Control
In diesem Forum dürfen leider nur registrierte Teilnehmer schreiben.

Klicke hier, um Dich einzuloggen