-         
Seite 1 von 10 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 91

Thema: Vision-Erkennung bei Bestückungsautomaten

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    34
    Beiträge
    795

    Vision-Erkennung bei Bestückungsautomaten

    Anzeige

    Praxistest und DIY Projekte
    Hallo Leute,

    mich faszinieren immer wieder diese Bestückungsautomaten.

    Daher würde ich mich total interessieren, wie diese "Vision-Erkennung"
    funktioniert.

    Wie z.B. in diesem Video:
    http://ea.automation.siemens.com/doc...1=5574&m2=7779

    Bei Minute: 02:44. Das video könnt ihr euch bei der o.g. Seite rechts in einem Zip-Archiv herunterladen.

    Wenn der Bestücker ein Bauteil holt, dann ist das oft
    etwas schief oder nicht genau mittig.

    Das Vision-System schaut sich die Position des Bauteils an,
    und korregiert dann die Koordinaten.

    Aber wie funktioniert dieses System?

    Hat da jemand ne Ahnung/Mutmaßung/Idee

    Würde mich wahnsinnig interessieren...
    Gruß,
    Franz

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    05.06.2007
    Ort
    Dortmund
    Alter
    29
    Beiträge
    42
    Ich hab und werde in den Ferien in ner SMT-Fertigung mit solch einem Teil arbeiten. Nach dem, was mir ein Mitarbeiter da erzählt hat, ist darin eine extrem hochauflösende Cam, die das Bauteil fotografiert. Der Rechner im Bestückungsautomaten gleicht das dann mit einem Soll-Bild ab und verändert die Position falls nötig. Das Soll-Bild wird aus ner Bauteildatenbank genommen und dann so gedreht, wie das Bauteil auf der Platine sein soll. Das ganze geschieht so schnell, dass in dem Moment wo der Mensch die LEDs der Cam aufblinken sieht, das Bauteil schon korrigiert ist.

    Sind sowieso coole Teile. Wenn se nur nich so teuer und groß wärn... *träum*

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.01.2005
    Ort
    Bayern
    Alter
    34
    Beiträge
    795
    Hallo,

    ja cool, dann kannst du uns ja bald berichten .

    Aber schon mal danke für die Info... Das ist ja dann technisch ziemlich aufwendig...



    Hier mal ein paar Links eines Eigenbau-Bestückers:
    Quelle: www.cncecke.de bzw. www.benezan.de

    Video: http://www.benezan.de/Forum/SmdBestueckung-Beast.AVI
    Video:http://www.benezan.de/Forum/Pipettenwechsel.AVI
    Video:http://www.benezan.de/Forum/Zentrierung.avi

    Gruß,
    Franz

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    05.06.2007
    Ort
    Dortmund
    Alter
    29
    Beiträge
    42
    Respekt dem der das Ding gebaut hat. Einige bauen sich ne CNC-Fräse, warum nicht auch nen Bestückungsautomaten.

    Es kommt bei dem optischen Erkennungssystem darauf an was du damit setzen möchtest. Ich weiß nicht wo da beim Selbstbau eher die Grenze liegt, ob bei der Erkennung oder bei der mechanischen Ausrichtung. Außerdem kommt es bei einem solchen Gerät ja auch nicht so auf Geschwindigkeit an, wie bei den professionellen. Mit geeignetem Vorwissen sollte es schon möglich sein sowas zu realisieren, wenn auch sehr aufwendig. Is halt nur die Frage ob es sich lohnt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    18.07.2006
    Ort
    bei Karlsruhe
    Alter
    27
    Beiträge
    106
    was kostet denn do ein teil (rein theoretisch versteht sich^^)

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    46
    Beiträge
    46
    Sorry, daß meine Antwort so spät kommt, aber ich habe erst gerade diesen Thread entdeckt...

    Ich arbeite seit über 10 Jahren als Einrichter für SMD-Bestückungslinien. Die Bauteilerkennung wird durch 3 Methoden erreicht (vielleicht gibt es auch mehr, ich kenne jedoch nur diese 3):
    1.) 2D-Erkennung: Wie schon mal erwähnt wird ein "Foto" des Bauteils gemacht.
    2.) 3D-Erkennung: Ein Laser scannt die Unterseite ab und kann somit Höhenunterschiede erkennen (z.B. beim BGA von Vorteil)
    3.) Line-Sensor: Ein Laser ist seitlich montiert und vermisst die Höhe des Bauteils. Der Line-Sensor wird nur in Verbindung mit der 2D-Erkennung benutzt. Er ist nicht unbedingt nötig, da man die Höhe auch anders vermessen kann.

    Je nachdem welche Bauteil-Klasse für dieses Bauteil gewählt wurde wird nach verschiedenen Merkmalen gesucht.
    Die einfachste Methode ist die Außenkontur-Erkennung. Das Bauteil wird vermessen (Länge, Breite) und mit den Soll-Werten verglichen. Ist es außerhalb der Toleranzen (z.B. hochkant an der Pipette) wird es in einem Sammelbehälter abgeworfen, ansonsten wird die Lage bestimmt (versetzt?, verdreht?) und korrigiert. Die Erkennung funktioniert entweder nach der Schatten-Methode (wird heutzutage kaum noch verwendet) oder nach der Graustufen-Methode.
    Je nach Bauteil werden verschiedene Klassen benutzt. Für ein Widerstand benutzt man oftmals nur eine Außenkontur-Erkennung, oder (besser) mit Anschlußflächen-Erkennung. Das funktioniert so, dass die Gesamtlänge des Bauteils eingegeben wird und die Größe der Anschlußflächen. Nun wird das Foto nach hellen Flächen untersucht, welche die Größe der Anschlußflächen haben. Ist ein Bauteil nun nicht mittig unter der Pipette wird die Differenz beim Bestücken berücksichtigt. Das gleiche gilt für die Verdrehung.
    Wenn man nun z.B. eine Gehäuseform für einen QFP anlegt, dann benötigt man die Maße des Gehäuses, die Gesamtmaße (Gehäuse + Beine), die Beinbreite und den Pitch. Die Beinlänge kann die Maschine selber errechnen ((Gesamtgröße - Gehäusegröße) / 2).
    Die Höhe des Bauteils ist ebenfalls wichtig. Zum einen um die Kamera richtig zu fokussieren und zum anderen um das Bauteil "sanft" auf die LP zu setzen. Gibt man die Höhe zu hoch ein, dann würde das Bauteil auf die LP "fallen", wenn man die Höhe zu gering eingibt würde das Bauteil mit zu viel Druck auf die LP gesetzt. Da die Pipetten/Bestückköpfe gefedert sind hat man jedoch einiges an Toleranz.
    Beim BGA gibt man die Anzahl der Balls an, sowie deren Größe und Anordnung (versetzte Reihen, ...). Die Höhe der Balls wird wieder errechnet (Gesamthöhe, Gehäusehöhe). Hier ist eine 3D-Kamera von Vorteilen, denn die 2D-Kamera erkennt nicht wenn ein Ball fehlt. Da das "Pad" ebenso hell auf dem Foto ist wie der Ball wird ein fehlender Ball in der Regel nicht erkannt (mit etwas Glück bei Helligkeitsunterschieden schon). Eine 3D-Kamera hingegen erkennt die Höhe jedes Balls.
    Bei besonderen Gehäuseformen (Stecker, BGAs mit ungeordneten Balls, ...) kann man auch verschiedene Bereiche eingeben, um somit eine möglichst gute Erkennung zu erzielen.

    Zum Thema Preis:
    Ein Bestückautomat kostet etwa soviel wie ein Auto. Diese Aussage ist recht schwammig, denn es gibt gebrauchte Autos, neue Autos, Kleinwagen, Oberklasse-Autos, Premium-Sportwagen, usw.
    Bei den Bestückautomaten ist es das gleiche, die kann man neu und gebraucht kaufen. Es gibt ganz einfache "halbautomatische" und mit allen denkbaren Extras ausgestattete Vollautomatische Bestückautomaten.
    Zu einer Bestück-Linie gehören jedoch mindestens noch ein Siebdrucker, ein Ofen und die Transportbänder. Oft sind auch noch automatische Inspektionen, Scanner usw. in einer Linie integriert.
    Eine Bestücklinie kann also durchaus mehrere Millionen kosten.

    Sollten weitere Fragen diesbezüglich bestehen, dann nervt mich ruhig

    Mal was anderes...
    Hat schon mal jemand mit dem Gedanken gespielt sich einen SMD-Bestücker selber zu bauen?
    Ich hätte da schon ein großes Interesse dran.
    Was mir so vorschwebt ist ein einfacher, aber vollautomatischer Bestücker.
    Die Geschwindigkeit wäre mir da völlig egal, da es im Hobbybereich auch eine Stunde dauern darf bis eine LP bestückt ist. Hauptsache die LP ist fertig bestückt bevor die Lotpaste angetrocknet ist .
    Ein Problem wäre die Zuführung der Bauteile. Ein Feeder (Förderer) kostet 1-2 tausend Euro und bei einem Bauteilspektrum von z.B. 100 Bauteilen wäre alleine dafür schon ein "Einfamilienhaus" vom Preis her fällig.
    Automatische Feeder fallen somit aus. Meine Idee wäre stattdessen Trays und "aufgeklebte Gurtstreifen zu benutzen. Die Board-Kamera (welche z.B. die Passer-Marken der LP erkennt) könnte auch dazu benutzt werden um die Bauteile in den Gurt-Taschen zu erkennen, ansonsten müssten die Gurtstreifen ja auf 1/10 Millimeter genau geklebt werden, was ziemlich unrealistisch wäre. Dieser Umstand würde die Bord-Kamera zwar zwingend nötig machen, dadurch ist jedoch auch eine weitaus genauere Bestückung möglich.
    Da wir sicher alle kein Geld scheißen können müsste der Bestücker so billig wie möglich werden.
    Meine Ideen zur Kosteneinsparung wären da z.B.:
    -Nur eine Kamera verwenden. Diese sollte von oben herunter schauen (Board-Kamera) und fest am Bestückkopf montiert sein. Diese Kamera könnte nun also erkennen wie die genaue Lage der LP ist (durch Passer-Marken) und wo genau das abzuholende Bauteil liegt. Über 2 fest installierte Spiegel könnte diese Kamera auch gleichzeitig als Bauteilkamera verwendet werden, welche das Bauteil von unten anschaut. Vielleicht könnte man dafür sogar eine ausgediente Digitalkamera verwenden (Makro, usw. wären da schon sehr praktisch).
    -Für die Schrittmotoren könnte man die Motoren von ausgeschlachteten Tintenstrahl-Druckern oder Flachbett-Scanner verwenden. Diese haben zwar wenig Leistung, aber da die Geschwindigkeit unrelevant ist kann man ja Getriebe verwenden.
    -Als Nozzle (Pipette) wären vielleicht die Spitzen einer Vakuum-Pinzette geeignet, die müsste man dann nur noch federn

    Meint ihr, dass diese Komponenten geeignet wären?

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Jetzt habe ich schon 3 Mal bearbeitet und die Formatierung ist schon wieder flöten. Lebt damit

    Oha, gerade eben diesen Thread entdeckt! Hochauflösende Kameras - Wie hochauflösend?Licht - Welche Wellenlänge?Wie werden die Bauteiledaten abgelegt (Ich dachte an XML)?Eine Board Kamera ist sowieso immer für den Teachin Modus nötig. Es mag sein, dass es da Konverter gibt, die die Bauteilepositionen ausspucken wenn man ihnen bestimmt Files vorwirft, aber zur visuellen Kontrolle ist dennoch eine Kamera nötig und ich teache die Maschine lieber manuell und genau, als automatisch und ungenau . Weiterhin kann man mit der Board Kamera - wie du eben schon sagtest. Die Methode mit zwei Spiegeln fällt allerdings aus, weil dazu eine verdammt genaue Optik vonnöten ist. Sind denn diese teuren Framegrabberkarten bei den Maschinen im Einsatz, oder wird die CV komplett durch den Rechner gemacht. Weiterhin: Wie kommt das Bild in die Maschine? LED Ring oder Stroboskop? Wenn LED Ring, welche Wellenlänge? Das mit dem Feeder ist kein Thema. Nimm einen Pneumatikzylinder mit einer Gummispitze und zieh die Gurte eben immer um x weiter, dass das nächste Bauteil entnommen werden kann. Wie gedenkst du die Nozzle drehbar zu machen? Das wird bei den Hobbymaschinen entweder durch Schrittmotoren mit einer Hohlwelle gemacht, oder mit einer Vakuumkupplung, die drehbar ist. Ich habe mir schonmal Gedanken über die verschiedenen Werkzeuge gemacht. Denkbar wäre ein Magazin, in dem verschiedene Werkzeugköpfe mit Nadeln hängen, die dann einfach mit starken Magneten und einem O-Ring abgedichtet werden.Schrittmotoren sind sicher geeignet, allerdings wird das Maschinendesign nicht wirklich billig, denn 1/100tel sollte schon drinne sein, mit ein bisschen mehr Speed. Ich würde da eher zu Servos tendieren mit professioneller Steuerung. Für den Anfang tun es allerdings auch Schrittmotoren Für eine eigene PnP würde sich die Graustufenmethode super anbieten. Ich frage mich nur, wie man die Kamera richtig justiert. Da wird sich aber zu gegebener Zeit etwas finden. Hast du mir noch ein paar mehr Informationen zu dieser Methode?Ich komme auf keinen grünen Zweig beim Design des Kopfes. Zu wenig Erfahrung im mechanischen Bereich. Bin da eher der Informatiker und Elektroniker.Das ist der halbwegs aktuelle Stand mit einer Hobbymaschine: http://www.youtube.com/watch?v=-mP_BH9JTzE



    Mittlerweile funktioniert auch die Übermittlung eines Bildes an den Rechner. Leider nur per Webcam, da mir die richtige Kamera fehlt. Nunja, egal. Um ein wenig mit OpenCV herumzuspielen ist es ausreichend. Es gibt sowieso viel zu viel zu tun, um sich jetzt um alles zu kümmern. Am wichtigsten sind erst einmal die richtige Ansteuerung der USBCNC und die Erstellung der Eingabemasken. Der Rest wird sich nach und nach zusammenfügen. Wenn ich optimistisch bin, mache ich mich gegen Ende des Jahres mal ernsthaft an die CV ran. Nun ist erstmal die Maschinenabstraktion dran. Das gute Stück fährt nämlich immernoch gegen den Block, wenn ich es ihr befehle .. Auf Referenz fährt sie ... Manchmal Sorry, wenn der Post etwas unzusammenhängend ist, ich habe bei der Erstellung an so viele Dinge gleichzeitig gedacht und einfach runtergetippt.
    Geändert von einballimwas (12.03.2012 um 22:30 Uhr)

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    46
    Beiträge
    46
    Zitat Zitat von einballimwas Beitrag anzeigen
    Hochauflösende Kameras - Wie hochauflösend?
    Dazu müsste ich mal einen Blick in die Maschinenspezifikationen werfen, sofern das da überhaupt aufgeführt ist. Aber so hochauflösend kann das nicht sein, denn:
    Nehmen wir mal die Panasonic MSF (Vorgänger der Panasonic BM). Das ist eine eierlegende Wollmilchsau. Diese Maschine kann von 0201 bis große Stecker alles bestücken, was an die Nozzle passt. Es sind 2 Portale, beide mit einer 2D-Kamera und das 2. Portal hat zusätzlich auch noch eine 3D-Kamera.
    Dieser Bestückautomat hat 10 Köpfe je Portal und kommt mit einem Pentium 233 aus!!! ...und das sogar auf Windows-Ebene.
    Inwiefern die Zusatz-Karten den PC entlasten vermag ich nicht zu beurteilen, aber ich kann mir nicht vorstellen dass die Auflösung sonderlich hoch ist.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Licht - Welche Wellenlänge?
    Zur Beleuchtung werden ganz normale rote LEDs verwenden (eine ganze Menge davon). Man kann einstellen welche Bereiche wie stark leuchten sollen (3 Bereiche: direkt von unten, etwas versetzt, schräg angeordnet).

    Zitat Zitat von einballimwas Beitrag anzeigen
    Wie werden die Bauteiledaten abgelegt (Ich dachte an XML)?
    Die Part-Library (Bauteil-Bibliothek) wird in einem eigenen Format gespeichert. Das ist eigentlich nichts anderes als eine Text-Datei mit den Daten zu den einzelnen Bauteilen. Eine INI-Datei wäre da wahrscheinlich ausreichend.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Eine Board Kamera ist sowieso immer für den Teachin Modus nötig.
    Die Board-Kamera ist in erster Linie dazu da um die Leiterplatten-Marken (Passer-Marken) zu erkennen und somit eine genau Lage der LP zu ermitteln. Manche Bestücker (z.B. die BM von Panasonic) nutzen diese auch dazu, um die Abholposition der Bauteile zu teachen. Das macht insbesondere dann Sinn wenn man Beuteile hat die nicht mittig abgeholt werden (z.B. wenn in der Mitte ein Loch ist, usw.). Des weiteren ist die Board-Kamera dafür zuständig um die Nozzle-Station (Pipetten-Wechsler) zu prüfen. Geprüft wird ob die Filter in den Nozzeln noch sauber sind (Grauwert) und ob die Plätze in der Nozzle-Station korrekt belegt sind. Manche Automaten lesen damit auch Codes auf den Nozzlen und erkennen somit nicht nur ob die richtigen Plätze belegt sind, sondern auch ob sich die richtige Nozzle darin befindet.
    Bei manchen Automaten wird die Board-Kamera auch bei jedem Start zur Selbstkalibrierung benutzt, indem 2 feste Positionen angefahren werden und diese abgeglichen werden. Das ist z.B. bei der Panasonic CM der Fall, da diese auch Bauteile in der Größe 01005 (halb so groß wie 0201) bestücken kann, was natürlich eine höhere Genauigkeit erfordert.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Es mag sein, dass es da Konverter gibt, die die Bauteilepositionen ausspucken wenn man ihnen bestimmt Files vorwirft, aber zur visuellen Kontrolle ist dennoch eine Kamera nötig und ich teache die Maschine lieber manuell und genau, als automatisch und ungenau . Weiterhin kann man mit der Board Kamera - wie du eben schon sagtest.
    Man kann die Abholposition sowohl mit der Board-Kamera, wie auch mit der Bauteil-Kamera ermitteln. Die Bord-Kamera wird zum "manuellen" teachen der Abholposition verwendet. Die Bauteilkamera wird für die automatische Korrektur verwendet, indem die Abholposition abhängig von der Bauteillage an der Nozzle angepasst wird. Steht ein Bauteil also immer etwas weiter nach Links ab, dann wird die Abholposition nach links verschoben, damit das Bauteil mittig an der Nozzle hängt. Diese Funktion klingt prima, ist in der Praxis jedoch oft problematisch, weshalb ich persönlich lieber ohne automatische Abholkorrektur arbeite (die kann man zum Glück deaktivieren).

    Zitat Zitat von einballimwas Beitrag anzeigen
    Die Methode mit zwei Spiegeln fällt allerdings aus, weil dazu eine verdammt genaue Optik vonnöten ist.
    Schade. War auch nur so eine Idee um die 2. Kamera zu sparen.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Sind denn diese teuren Framegrabberkarten bei den Maschinen im Einsatz, oder wird die CV komplett durch den Rechner gemacht.
    Es sind spezielle Karten für die Kameras im Einsatz. Ob das nun Framegrabberkarten sind oder was auch immer weiß ich leider nicht.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Weiterhin: Wie kommt das Bild in die Maschine?
    Wie das genau funktioniert weiß ich nicht. Das Bild von der Kamera wird auf jeden Fall per OSD angezeigt. Wenn ich einen Screenshot mache sehe ich an der Stelle wo das Kamerabild zu sehen war einen leeren Bereich. Wie die Maschine das Signal verarbeitet weiß ich leider nicht.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Hochauflösende Kameras - Wie hochauflösend?
    Dazu müsste ich mal einen Blick in die Maschinenspezifikationen werfen, sofern das da überhaupt aufgeführt ist. Aber so hochauflösend kann das nicht sein, denn:
    Nehmen wir mal die Panasonic MSF (Vorgänger der Panasonic BM). Das ist eine eierlegende Wollmilchsau. Diese Maschine kann von 0201 bis große Stecker alles bestücken, was an die Nozzle passt. Es sind 2 Portale, beide mit einer 2D-Kamera und das 2. Portal hat zusätzlich auch noch eine 3D-Kamera.
    Dieser Bestückautomat hat 10 Köpfe je Portal und kommt mit einem Pentium 233 aus!!! ...und das sogar auf Windows-Ebene.
    Inwiefern die Zusatz-Karten den PC entlasten vermag ich nicht zu beurteilen, aber ich kann mir nicht vorstellen dass die Auflösung sonderlich hoch ist.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Licht - Welche Wellenlänge?
    Zur Beleuchtung werden ganz normale rote LEDs verwenden (eine ganze Menge davon). Man kann einstellen welche Bereiche wie stark leuchten sollen (3 Bereiche: direkt von unten, etwas versetzt, schräg angeordnet).

    Zitat Zitat von einballimwas Beitrag anzeigen
    Wie werden die Bauteiledaten abgelegt (Ich dachte an XML)?
    Die Part-Library (Bauteil-Bibliothek) wird in einem eigenen Format gespeichert. Das ist eigentlich nichts anderes als eine Text-Datei mit den Daten zu den einzelnen Bauteilen. Eine INI-Datei wäre da wahrscheinlich ausreichend.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Eine Board Kamera ist sowieso immer für den Teachin Modus nötig.
    Die Board-Kamera ist in erster Linie dazu da um die Leiterplatten-Marken (Passer-Marken) zu erkennen und somit eine genau Lage der LP zu ermitteln. Manche Bestücker (z.B. die BM von Panasonic) nutzen diese auch dazu, um die Abholposition der Bauteile zu teachen. Das macht insbesondere dann Sinn wenn man Beuteile hat die nicht mittig abgeholt werden (z.B. wenn in der Mitte ein Loch ist, usw.). Des weiteren ist die Board-Kamera dafür zuständig um die Nozzle-Station (Pipetten-Wechsler) zu prüfen. Geprüft wird ob die Filter in den Nozzeln noch sauber sind (Grauwert) und ob die Plätze in der Nozzle-Station korrekt belegt sind. Manche Automaten lesen damit auch Codes auf den Nozzlen und erkennen somit nicht nur ob die richtigen Plätze belegt sind, sondern auch ob sich die richtige Nozzle darin befindet.
    Bei manchen Automaten wird die Board-Kamera auch bei jedem Start zur Selbstkalibrierung benutzt, indem 2 feste Positionen angefahren werden und diese abgeglichen werden. Das ist z.B. bei der Panasonic CM der Fall, da diese auch Bauteile in der Größe 01005 (halb so groß wie 0201) bestücken kann, was natürlich eine höhere Genauigkeit erfordert.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Es mag sein, dass es da Konverter gibt, die die Bauteilepositionen ausspucken wenn man ihnen bestimmt Files vorwirft, aber zur visuellen Kontrolle ist dennoch eine Kamera nötig und ich teache die Maschine lieber manuell und genau, als automatisch und ungenau . Weiterhin kann man mit der Board Kamera - wie du eben schon sagtest.
    Man kann die Abholposition sowohl mit der Board-Kamera, wie auch mit der Bauteil-Kamera ermitteln. Die Bord-Kamera wird zum "manuellen" teachen der Abholposition verwendet. Die Bauteilkamera wird für die automatische Korrektur verwendet, indem die Abholposition abhängig von der Bauteillage an der Nozzle angepasst wird. Steht ein Bauteil also immer etwas weiter nach Links ab, dann wird die Abholposition nach links verschoben, damit das Bauteil mittig an der Nozzle hängt. Diese Funktion klingt prima, ist in der Praxis jedoch oft problematisch, weshalb ich persönlich lieber ohne automatische Abholkorrektur arbeite (die kann man zum Glück deaktivieren).

    Zitat Zitat von einballimwas Beitrag anzeigen
    Die Methode mit zwei Spiegeln fällt allerdings aus, weil dazu eine verdammt genaue Optik vonnöten ist.
    Schade. War auch nur so eine Idee um die 2. Kamera zu sparen.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Sind denn diese teuren Framegrabberkarten bei den Maschinen im Einsatz, oder wird die CV komplett durch den Rechner gemacht.
    Es sind spezielle Karten für die Kameras im Einsatz. Ob das nun Framegrabberkarten sind oder was auch immer weiß ich leider nicht.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Weiterhin: Wie kommt das Bild in die Maschine?
    Zitat Zitat von einballimwas Beitrag anzeigen
    LED Ring oder Stroboskop?
    LED-Stroboskop . Es sind LEDs, die im Moment des "Fotos" kurz aufblitzen.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Wenn LED Ring, welche Wellenlänge?
    5mm Standard-LEDs in Rot.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Das mit dem Feeder ist kein Thema. Nimm einen Pneumatikzylinder mit einer Gummispitze und zieh die Gurte eben immer um x weiter, dass das nächste Bauteil entnommen werden kann.
    Ich bin da eher ein Fan von elektrischen Feedern. Das Problem ist jedoch, dass "fertige" Feeder unbezahlbar sind und selbst gebaute nicht variabel genug sind. Entweder baut man die Feeder so dass die sowohl für 8mm-Gurte wie auch für 32mm-Gurte verwendet werden können, dann braucht man unheimlich viel Platz. Oder man baut für jede Gurtbreite eigene Feeder, dann braucht man ein riesiges Spektrum an Feeder. Die Förderlage darf auch nicht viel Spiel haben, sprich es muss genau getaktet werden und es darf auch kaum seitliches Spiel vorhanden sein. Die Folie muss mit abgezogen werden, aber nicht zu feste, das würde die Abholposition verändern und die Folie deformieren. Zu locker darf es auch nicht sein, sonst wird die Folie nicht sauber abgezogen. Manche Folien lassen sich ganz leicht abziehen, andere kleben recht fest, deswegen müsste da eine Sensorik mit dran, usw. usw.
    Um ab und zu mal eine LP zu bestücken wäre ich deswegen lieber den Weg gegangen die Gurte auf einen Träger zu kleben, dann die Folie vom Gurt abziehen und den Gurt somit als "Tray" zu benutzen.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Wie gedenkst du die Nozzle drehbar zu machen? Das wird bei den Hobbymaschinen entweder durch Schrittmotoren mit einer Hohlwelle gemacht, oder mit einer Vakuumkupplung, die drehbar ist.
    Das wird sogar bei den professionellen Geräten mit einer Hohlwelle gemacht. Ich denke dass sich diese Methode bewährt hat und auch genauer ist.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Ich habe mir schonmal Gedanken über die verschiedenen Werkzeuge gemacht. Denkbar wäre ein Magazin, in dem verschiedene Werkzeugköpfe mit Nadeln hängen, die dann einfach mit starken Magneten und einem O-Ring abgedichtet werden.
    Solche Magazine (Nozzle-Station) werden in fast jedem Bestückautomaten verwendet. Früher wurden die Werkzeuge oft "seitlich" gegriffen. Heutzutage werden die fast überall von oben aufgesteckt.
    Die Art der Befestigung variiert. Gängig sind Verriegelungen mit gefederten Kugeln, die in eine Rille greifen. Magnete werden eigentlich nicht verwendet, da sich sonst die Nozzle magnetisieren könnte und das Bauteil nach dem Setzen wieder mitgenommen wird. Ein O-Ring ist nicht nötig. Dieser würde zum einen den Wechsel schwergängig machen und zum anderen darf da eh nicht viel Spiel sein, sonst würde alles "wackeln". Ein leises zischen ist immer wahrnehmbar, jedoch ist das vernachlässigbar, sofern man ein einigermaßen stabiles Vacuum aufbaut.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Schrittmotoren sind sicher geeignet, allerdings wird das Maschinendesign nicht wirklich billig, denn 1/100tel sollte schon drinne sein, mit ein bisschen mehr Speed.
    Die Schrittmotoren würde ich wenn möglich aus alten Drucken usw. ausbauen. Auf dem Wertstoffhof sollte man reichlich alte Drucker finden. Eine Genauigkeit von 1/100tel halte ich für übertrieben. Selbst die MSF (mit der man immerhin 0201 bestücken kann) hat nur eine Genauigkeit von ca. 3/100tel.
    Speed wäre mir eigentlich völlig egal. Je schneller, desto mehr Fehler können entstehen. Spontan fallen mir gerade folgende Beispiele ein:
    Bauteildrehung --> Wenn die Oberfläche recht glatt ist kann es eine gummierte Nozzle erforderlich machen, wenn man zu schnell dreht
    Bauteil in XY bewegen --> je schneller die Maschine wird, desto stärker muss das Vacuum sein, und desto "planer" muss die Nozzlefläche sein
    Bauteil setzen --> Bei einer schnellen Bestückung kann es nötig sein die LP von unten zu unterstützen (anhängig von der Größe und Dicke der LP), sonst schwingt diese zu sehr mit und die Bauteile "fallen" auf die LP statt sauber in die Lotpaste gesetzt zu werden.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Ich würde da eher zu Servos tendieren mit professioneller Steuerung. Für den Anfang tun es allerdings auch Schrittmotoren
    Sicher, Servos sind besser. ...aber leider auch teurer. Schrittmotoren bekommt man fast zum Nulltarif, wenn man die aus Schrottgeräten ausbaut, aber woher bekommt man geeignete Servomotoren?

    Zitat Zitat von einballimwas Beitrag anzeigen
    Für eine eigene PnP würde sich die Graustufenmethode super anbieten.
    Jo, aber ich habe momentan keine Idee wie man so etwas realisiert.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Ich frage mich nur, wie man die Kamera richtig justiert. Da wird sich aber zu gegebener Zeit etwas finden. Hast du mir noch ein paar mehr Informationen zu dieser Methode?Ich komme auf keinen grünen Zweig beim Design des Kopfes. Zu wenig Erfahrung im mechanischen Bereich. Bin da eher der Informatiker und Elektroniker.
    Die Bauteilkamera muss fest in der Maschine installiert sein. Die Boardkamera muss fest am Bestückkopf installiert sein. Wichtig ist dass es wirklich fest ist und nichts wackelt. Dann werden die Kameras auf ihre tatsächliche Position geteached, denn beim Einbau hat man immer Toleranzen. Einmal ausbauen und Einbauen, schon muss neu kalibriert werden.
    Zuerst kalibriert man die Board-Kamera. Dazu verbaut man am besten einen festen Kalibrierpunkt in die Maschine mit ein. Man fährt die Koordinaten des Kalibrierpunktes an und im Idealfall landet man genau auf dem Kalibierpunkt. Ansonsten fährt man manuell auf den Kalibrierpunkt und gibt das Offset ein. Mit dem Offset sollte man dann nun genau den Kalibrierpunkt treffen. Sobald die Boardkamera dann kalibiert ist fährt man mit einer Nozzle über die Bauteilkamera. Im Idealfall hat man eine spezielle Kalibriernozzle, ansonsten sollte man die kleinste Nozzle nehmen, die man hat. Die Spitze der Nozzle sieht man nun auf dem Bild der Bauteilkamera. Wenn diese nicht genau mittig ist muss man wieder manuell verfahren bis diese genau mittig ist und das Offset abspeichern. Diese Offsets müssen nun immer berücksichtigt werden und dann sollte auch alles passen.

    Zitat Zitat von einballimwas Beitrag anzeigen
    http://www.abload.de/image.php?img=unbenanntogy6z.jpgDas ist der halbwegs aktuelle Stand mit einer Hobbymaschine: http://www.youtube.com/watch?v=-mP_BH9JTzE

    Sieht doch schick aus. Diese Geschwindigkeit würde mir vollkommen ausreichen, sofern die Vollautomatisch läuft. Wenn eine LP 2 Stunden braucht bis die bestückt ist geht das für mich voll in Ordnung. Anscheinend hast du eine Quelle um an die Teile zu kommen. Ich würde das wohl eher in einer weniger Massiven Ausführung bauen, da meine finanziellen Mittel sehr begrenzt sind.

    Zitat Zitat von einballimwas Beitrag anzeigen
    Mittlerweile funktioniert auch die Übermittlung eines Bildes an den Rechner. Leider nur per Webcam, da mir die richtige Kamera fehlt. Nunja, egal. Um ein wenig mit OpenCV herumzuspielen ist es ausreichend. Es gibt sowieso viel zu viel zu tun, um sich jetzt um alles zu kümmern. Am wichtigsten sind erst einmal die richtige Ansteuerung der USBCNC und die Erstellung der Eingabemasken. Der Rest wird sich nach und nach zusammenfügen. Wenn ich optimistisch bin, mache ich mich gegen Ende des Jahres mal ernsthaft an die CV ran. Nun ist erstmal die Maschinenabstraktion dran. Das gute Stück fährt nämlich immernoch gegen den Block, wenn ich es ihr befehle
    Ich empfehle 2 Endschalter. Einen Hardware-Endschalter, zum Schutz der Anlage. Zusätzlich einen Software-Endschalter (eine bestimmte Position), in der einfach nicht weiter gefahren wird. Sollte der Software-Endschalter einmal übergangen werden (Inkemental-Geber hat sich verzählt, ...), dann ist noch der Hardware-Endschalter vorhanden, der knapp hinter dem Software-Endschalter plaziert werden sollte und den Motor spannungsfrei schaltet.

    Zitat Zitat von einballimwas Beitrag anzeigen
    .. Auf Referenz fährt sie ... Manchmal Sorry, wenn der Post etwas unzusammenhängend ist, ich habe bei der Erstellung an so viele Dinge gleichzeitig gedacht und einfach runtergetippt.
    Warum fährt sie nur "manchmal" auf Referenz? Werden die Daten nicht richtig ermittelt, gehen Daten verloren, liegt es an der Auswertung der Daten?

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Hallo Holle,


    du schreibst „Pentium 233“ und „10Köpfe je Portal“. Das ist jenseits von gut und böse. Zumindest für einen Pentium 233, der eben nur mit ~200Mhz läuft. Ich habe leider nichts gefunden, was die Kapazität betrifft, aber du kannst da sicher nachgucken. 20K Teile halte ich für nicht übertrieben. Dann muss man sich nochmal angucken, dass diese Kameras eine Auflösung von fast HD haben (Die in ebay zumindest - Man erkennt sie daran, dass sie ein wenig teurer als normale Kameras sind und einen Camera Link haben) und schon sind wir bei den extra Karten. Diese Karten nennt man Framegrabber Karten. Diese Karten haben einen speziellen Chip, der die Bildberechnungen durchführt und sind somit verdammt schnell und teuer. Teuer heißt in diesem Fall 1000€ aufwärts. Dafür bekommt der Rechner dann lediglich Koordinaten geliefert, die er auswertet. Ein Beispiel für eine FramegrabberKarte findest du hier:http://www.adlinktech.com/PD/web/PD_...5&seq=&id=&sid=#


    Leider habe ich nichts über den Preis herausgefunden. Doch bei dieser Karte dürfte er bei 700 liegen. Und die macht nur eine einzige Kamera gescheit. Womit wir wieder beim nächsten Problem wären: Kameras. Ich habe eine bei einem Freund liegen. Das Modell weiß ich leider noch nicht, bekommen werde ich sie allerdings Ende diesen Monats. Diese Kameras kosten auch 200-1000€, je nach Sichtbereich (Wellenlänge) und aufgesetztem Objektiv. Meist ist eben kein Objektiv drauf, was den Gesamtpreis im Endeffekt nochmal und 200-500 Euro erhöht.


    Hier muss ein Kompromiss gefunden werden. Da ich mit OpenCV arbeite, benötige ich eine Kamera, die entweder eine Video4Windows Schnittstelle hat oder über eine andere,von OpenCV unterstützte Schnittstelle unterstützt. Die meisten Webcams tun das, wie es mit anderen Kameras aussieht, weiß ich nicht. Vielleicht kann man das auch so deichseln, dass eine handelsübliche Kamera genutzt wird, die in HD filmen kann. Da habeich mich allerdings noch nicht schlau gemacht, weil es noch so viele andere Dinge zu tun gibt. Es wird sich etwas finden.


    Die Beleuchtung habe ich schon fast fertig im Rechner. Ich benötige nurnoch die Maße des Objektivs der Bauteilkamera, dann stell ich jemanden an die Abkantpresse fürs Gehäuse und schicke die Bestellung zur Platinenfertigung raus. Ich hatte an SMD LED's gedacht. Jetzt im nachhinein ist das total doof. Da braucht man viel zu viele und ausserdem können auch welche kaputtgehen. Da sind TTH LED's viel schneller ausgetauscht als diese SMD Fitzeldinger. Geplant war eine octagonale Halbkugel mit den von dir genannten drei Ebenen: Direkt von unten, im 45° Winkel und direkt von der Seite. Das mit dem direkt von der Seite werde ich mir noch einmal überlegen müssen. Wichtig ist ja, dass der komplette Bereich ausgeleuchtet wird und nicht die LED's gegenseitig. Bedeutet, ich muss die Biegungen noch einmal anpassen. 0°, 22,5° und vllt 45°. Dafür muss ich mir die LED Spezifikationen allerdings noch einmal angucken und die Platinengröße ggf ebenso anpassen.


    Ich hatte das bei meinem Programm so gedacht: Es können Gehäuseformen als XML Datei erstellt werden, die dann ihre Dimensionen, die die Kamera im Endeffekt sehen soll. Weiterhin bietet diese Datei auch ein kleines Template, um das Gehäuse auf dem Bild zu zeichnen was sicher hilfreich sein wird, wenn man an der Bilderkennung herumprogrammiert. OpenCV verwendet dazu das „haartraining“ für Objekterkennung, indem die Library sich viele tausend Fotos anguckt und dann anhand der Kriterien entscheidet, ob das Objekt das richtige ist und wie es liegt. Dazuwerden auch ellenlange XML Dateien (Templates) mit Matrizen und Werten angelegt, durch die ich noch garnicht durchgestiegen bin. Diese OpenCV interne und meine selbst angelegten Templates treten dann als Bundle auf: Mein Template wird vom Programm eingelesen und damit kann dann das Programm erstellt werden: Man fährt über die Bauteilposition, wählt ein Bauteil aus, gibt ihm einen Namen und wählt aus den Templates die Gehäuseform aus. Danach auf Speichern drücken und weiter zur nächsten Position. Es mag sein, dass es dafür auch Konverter gibt, die die Ablaufpläne in G-code für die NC's umsetzen, aber so weit bin ich noch keinesfalls. Manuell ist erst einmal besser und einfacher (es gibt noch genug zu tun – Zuviel für einen Menschen, der noch nichtmal in Teilzeit daran arbeiten kann ). Ich bin ja auch irgendwie an die OpenCV Library gebunden, weshalb ich die Struktur danach ausrichten muss. Die großen Maschinenhersteller stecken nicht umsonst hunderttausende in ihre Bilderkennung. Den Vorgang hatte ich im obigen Post als Teachin bezeichnet.


    Momentan habe ich den folgenden Ablaufzum Pick&Place Vorgang in meinem Notizbuch stehen:
    -Kopf über den Gurt fahren
    -Lageerkennung des Bauteils
    -Korrektur der Nozzle
    -Aufnahme des Bauteils
    -Über die Bauteilekamera fahren
    -Erkennen ob das Bauteil aufgenommenworden ist
    -Lage erkennen und Offsets kalkulieren
    -Bauteil drehen
    -Nochmalige Kontrolle
    -Über die Zielposition fahren undplatzieren


    Kann man das noch irgendwie verbessern? Ist lediglich ein grober Ablauf, denn damit kann ich, wie es momentan aussieht, erst in 2 Jahren anfangen (Muss ja bis jetzt an alles denken und selbst eine eierlegende Wollmilchsau sein ).


    Zum Thema Kalibrierung kann ich garnichts sagen, da ich erst schauen muss, wie es mit der Steuerung aussieht. Die Maschine, die du auf dem Video siehst, ist die Maschine eines Freundes, eigentlich eine CNC Fräse. Das bedeutet, sie arbeitet mit einer Steuerung, die komplette Programme einliest und dann Schritt für Schritt abarbeitet. Da ich aber keine Programme in diesem Sinne abarbeite, sondern immer wieder mit der Steuerung interagieren muss um Werte zu korrigieren, kann ich diese Funktionender Nc garnicht nutzen. Momentan arbeite ich mit zwei Funktionen. Die eine zum absoluten positionieren nach NC Koordinaten und die andere, um relativ zu positionieren (verfahre kontinuierlich bis ich Stop sage). Alles weitere werde ich selbst implementieren müssen. Dazu arbeite ich momentan ein Konzept aus, damit die Modularität gewährleistet bleibt und ich mich nicht auf diesen Steuerungstyp festnageln muss. Es gibt einfach nix anderes momentan. Diese Schnittstelle von NC zu Programm ist verdammt wichtig: Du wirst dir wohl eine andere Steuerung zusammenschustern wollen. Wenn du also damit steuern möchtest, musst du dir die Schnittstellen anpassen. Mein Programm muss also eine Schnittstelle anbieten, die für möglichst viele Steuerungen möglichst komfortabel und einfach ist. Das sollten nicht mehr als 2-3 Funktionen sein. Der Rest, wie Arbeitsraumüberwachung und sowas, sollte in höheren Ebenen gemacht werden, also komplett von der Software übernommen werden. Je abstrahierter man ist, desto freier ist man auch in der Gestaltung.


    Da ich noch nie mit der USBCNC gearbeitet habe, und auch so gut wie keine Dokumentation vorhandenist (Die USBCNC wurde eigentlich als Steuerung entworfen und nicht für irgendwelche Zweckentfremdungen. Ein Job, den sie hervorragend erledigt, Lob an den Entwickler!) und die API Teile, die man für die Pick and Place Geschichte brauchen kann, recht minimalistisch ausfallen, muss ich gucken, wie ich damit hinkomme. Austesten, was diese oder jene Funktion überhaupt tut und dann ggf nutzen. Ich bin– im Gegensatz zu meinem Freund – total unbedarft in CNC's. Das höchste der Gefühle ist ein bisschen Fräsplan erstellen, aber alles weitere? Fehlanzeige. Bis das Interface zur Maschine richtig läuft, geht wohl noch ein bisschen Zeit ins Land. Er wohnt nicht gerade um die Ecke und ich habe noch mein Studium. Arbeiten mit der Maschine geht nunmal nur mit der Maschine. Das bedeutet Wochenenden zu opfern. Wochenenden, an denen man zur Abwechslung mal ausschlafen könnte (). Nunja, ich werde es noch hinbekommen. Momentan sind die Referenz und Stoppschalter dran. Danach die Umrechnung der NC internen Daten in Daten, mit denen ich was anfangen kann im Programm (mm, nicht Schritte oder ähnliches). Weil ich das noch nicht ganz draufhabe, fährt sie eben hin und wieder mal auf Referenz und manchmal eben über das Ziel hinaus


    Ich selbst werde mir natürlich eine weit weniger massive Maschine bauen. Aluprofile und Kugelumlaufspindeln mit Linearführungen, die ein wenig billiger sind. Schrittmotoren habe ich hier, da kann ich dir drei schicken (obich noch drei gleich starke habe, weiß ich allerdings nicht).


    Da das mit den Magneten dann ausfällt– wie macht man es dann richtig? Hast du eine Idee, vllt sogar eine Zeichnung (Hand/CAD – Egal)? Ich könnte mir nichts anderes vorstellen. Höchstens einen Bajonetverschluss.


    Wie soll das Nutzerinterface aussehen? Ich will es möglichst praktikabel machen und nicht komplett nachmeinen Bedürfnissen. In GUI Design bin ich auch komplett unerfahren, da ich Linux nutze und somit dauernd in der Konsole arbeite


    Was muss noch geklärt werden? Wiekannst du dich einbringen? Kannst du Metall bearbeiten oder auf solche Maschinen zurückgreifen?


    Ich wohne zwischen Stuttgart und Karlsruhe. Vllt könnte man sich mal treffen und etwas ausarbeiten. So komplett über das Internet ist es ein wenig doof.
    Geändert von einballimwas (14.03.2012 um 11:47 Uhr) Grund: Leerzeichen bereinigt

  10. #10
    Erfahrener Benutzer Robotik Einstein Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    32
    Beiträge
    4.905
    @einbalimwas
    Könntest du den letzten Post etwas bearbeiten? Es fehlen extrem viele Leerzeichen und dadurch ist es schwer zu lesen.

    ein (noch) mitlesender Hannes

Seite 1 von 10 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •