- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 91

Thema: Vision-Erkennung bei Bestückungsautomaten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    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

    Bild hier  

    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)

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    51
    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

    Bild hier  
    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?

  3. #3
    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

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.091
    @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

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Ist korrigiert. Ich sollte meine Posts vllt nicht mehr in OOo vorschreiben. Es fehlten die Leerzeichen immer nach Satzzeichen und bei Zeilenumbrüchen. Die wurden wohl nicht mitkopiert. Warum? Keine Ahnung.

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    51
    Beiträge
    46
    Zitat Zitat von einballimwas Beitrag anzeigen
    Ich habe leider nichts gefunden, was die Kapazität betrifft, aber du kannst da sicher nachgucken. 20K Teile halte ich für nicht übertrieben.
    Meinst du wieviele Bauteile von den professionellen Bestückautomaten gesetzt werden? Wenn ja, das hängt von vielen Faktoren ab. Die Anzahl der Köpfe, die Geschwindigkeit usw. ...daraus wird dann die "theoretische" Bestückleistung errechnet, welche in der Praxis jedoch niemals erreicht wird. Um die theoretische Bestückleistung zu erreichen müssten alle Bauteile so aufgerüstet sein dass der Automat mit allen Köpfen gleichzeitig die Bauteile abholen kann und diese gleichzeitig auf die LP platzieren kann (also muss der Bauteilabstand exakt so groß sein wie der Abstand zu den Nozzlen. In der Realität wird man diesen Zustand niemals erreichen und jeder Nozzle-Wechsel beansprucht auch Zeit.

    Zitat Zitat von einballimwas Beitrag anzeigen
    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=#
    Da muss ich mir etwas anderes einfallen lassen, denn wenn ich mir einen Bestücker bauen werde, dann wird der größtenteils aus Schrott-Teilen bestehen.

    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Eine gute Kamera kostet gutes Geld. Für einen Selbstbau-Bestückautomaten sollte man aber auch mit "Billigteilen" klar kommen. Sicher wird man nicht die Genauigkeit und vor allem die Geschwindigkeit erreichen, die aktuelle professionelle Bestückautomaten erreichen, aber das ist auch nicht nötig.

    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Mit der Bilderkennung habe ich mich bisher noch gar nicht befasst. Wenn es da OpenSource-Lösungen gibt, um so besser. Wenn nicht müsste man sich was basteln.

    Zitat Zitat von einballimwas Beitrag anzeigen
    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 werde bei Gelegenheit mal ein paar Fotos der Kamerabeleuchtung von professionellen Bestückautomaten machen. Die Maße kann ich dir dann auch geben, wenn du willst, allerdings kann ich dir jetzt schon sagen, dass die verschiedenen Automaten verschieden Große Kameras und dementsprechend auch verschieden große Beleuchtungsmodule haben. Das hängt immer davon ab wie groß die Bauteile sein können, welche mit dem Automaten gesetzt werden können.
    Das sehe ich persönlich aber völlig unkritisch, denn wenn man eine relativ kleine Kamera hat, aber einen großen Stecker vermessen will, dann könnte man das ja softwaremäßig "rastern", also in Bereiche aufteilen und mehrere Fotos machen, welche dann am PC zusammen gesetzt werden. Der Zeitverlust dadurch ist ja völlig irrelevant, denn wieviele große Stecker setzt man schon als Hobbybastler.

    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Wie gesagt, mit der Bauteilerkennung habe ich mich noch nicht befasst. Ich kann zwar sagen wie die Shapes in den Bestückautomaten erzeugt werden (und ich könnte auch ein Windows-Programm schreiben, mit dem man das auch kann), aber wie man das Kamerabild mit dem erzeugten Shape vergleicht weiß ich spontan auch noch nicht. Ersteinmal müsste ich den Bestücker selber bauen und dann mal weiter sehen wie ich die Erkennung realisieren könnte.

    Zitat Zitat von einballimwas Beitrag anzeigen
    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 ).
    Die Lageerkennung des Bauteils im Gurt wird eigentlich nicht gemacht. Lediglich zum teachen der Abholposition wird das gemacht (einmalig vor Produktionsstart) und dann auch nur wenn es dazu einen Grund gibt. Gründe wären z.B. Bauteil soll außermittig abgeholt werden, die Taschen sind so groß, dass das Bauteil darin hin und her rutscht (dann sollte möglichst exakt die Mitte der Tasche getroffen werden), usw.
    Die Erkennung, ob das Bauteil aufgenommen worden ist und die Erkennung der Lage kann in einem Schritt vereint werden. Man kann auch zusätzlich eine Abfrage des Vacuum-Werts machen um schon direkt nach dem Abholen festzustellen ob das Bauteil abgeholt wurde (dann ist nachträglich noch die Lage-Erkennung nötig), aber so etwas ist nur aus Geschwindigkeitsgründen sinnvoll, also für uns sicher nicht von Interesse.
    Die "nochmalige" Kontrolle nach dem Drehen ist auch unnötig. Wenn man eine gescheite Nozzle verwendet und nicht zu schnell dreht sollte das überhaupt kein Problem darstellen. Nötig wäre so etwas nur dann, wenn man mit "krummen" Nozzlen arbeitet oder bei speziellen Bauformen (Stecker, usw.). Professionelle Bestückautomaten schauen sich das Bauteil einmal an, richten es aus und setzen es dann direkt.
    Mein Vorschlag:
    Vor dem Produktionsbeginn die Gurt-Erkennung, es sei denn man bastelt sich einen Feeder, der immer die exakt gleiche Position hat, auch nachdem man ein Bauteil gerüstet hat.
    Lage-Erkennung der LP mittels der Board-Kamera (Passer-Marken) anfahren, erkennen und die Differenz zur Soll-Lage beim Bestücken berücksichtigen
    Ab nun immer wiederholen, bis die LP komplett bestückt ist:
    -Gurt-Tasche anfahren,
    -Bauteil abholen
    -Über die Kamera fahren
    -Lage-Erkennung des Bauteils
    -Lage-Korrektur
    -Bestück-Koordinate anfahren
    -Bestücken


    Zitat Zitat von einballimwas Beitrag anzeigen
    Zum Thema Kalibrierung kann ich garnichts sagen, da ich erst schauen muss, wie es mit der Steuerung aussieht.
    Die Kalibrierung ist quasi nichts anderes wie das erkennen eines Bauteils. Statt mit dem Bauteil über die Kamera zu fahren fährt man halt mit der Nozzle (normalerweise mit speziellen Kalibrier-Tools) über die Kamera. Statt die Lage des Bauteils zu korrigieren speichert man die Differenz zwischen Ist- und Sollwert und berücksichtigt diese bei jedem Bestückvorgang.


    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Warum nicht? Ein Bestückautomat arbeitet genauso. Es werden lediglich etwas mehr Daten benötigt. Zum einen gibt es das NC-Programm. Darin stehen die Passer-Marken und Bestück-Koordinaten. Dann gibt es das Array-Programm, darin stehen Informationen über die Abholpositionen der Bauteile (XY-Position, Höhe). In der Parts-Library stehen Bauteil-Daten.
    Das Programm wird nun abgearbeitet:
    Zuerst wird im NC-Programm die erste Zeile abgearbeitet, da steht auch drin welche Abholnummer das Bauteil hat. Nun werden aus dem Array-Programm die Abholdaten zu der Abholnummer gelesen das Bauteil wird abgeholt. Nun werden die Bauteildaten aus der Parts-Library gelesen. Welche Daten benötigt werden steht mit im Array-Programm. Als nächstes wird das Bauteil über der Kamera vermessen und mit den Daten aus der Parts-Library vergleichen (stimmen die Größe, die Anzahl der Beine, usw. ?). Wenn alles passt wird das Bauteil noch ausgerichtet (Verdrehung des Bauteils, Verdrehung der LP und die Soll-Drehung). Der Versatz des Bauteils an der Nozzle kann nicht korrigiert werden, das wird lediglich mit den Bestück-Koordinaten verrechnet. Nun wird das NC-Programm weiter abgearbeitet. Die Bestück-Koordinaten werden angefahren und das Bauteil gesetzt (die Dicke der LP und die Höhe des Bauteils werden dabei berücksichtigt).
    ...weiter zur nächsten Zeile im NC-Programm...


    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Die erste Funktion ist praktisch eine Zeile eines NC-Programms. Da fehlen halt noch die Daten über die Abholpositionen und die Daten über das Bauteil.


    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Ne ne, ich würde das auch nicht anders machen. Nur halt alle Bauteile direkt nacheinander abarbeiten, nicht dass man jedes mal die Koordinaten neu eingeben muss.


    Zitat Zitat von einballimwas Beitrag anzeigen
    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
    Löst der Schalter nicht aus? Wenn die Maschine den Schalter erreicht muss die doch anhalten und den Schrittzähler für diese Achse auf Null setzen.


    Zitat Zitat von einballimwas Beitrag anzeigen
    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).
    Hey, danke. Das Angebot nehme ich gerne an. Aber vorher muss ich mal ein Konzept erarbeiten, wie ich das überhaupt realisieren will. Entweder ich fahre 2 Motoren gleichzeitig um ein Verkanten zu verhindern (dann müssten immer mindestens die 2 Motoren einer Achse gleich sein), oder ich baue eine Art Schiene, die nur einseitig betrieben wird.


    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Auch davon werde ich Fotos machen.


    Zitat Zitat von einballimwas Beitrag anzeigen
    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
    Das mit den GUIs könnte ich übernehmen. Wichtig zu wissen wäre wie ich die die Schrittmotoren richtig ansteuern kann. Kann ich das direkt über den Parallel-Port machen, oder müsste ich einen Verstärker bauen ...oder sind gar Treiber nötig?


    Zitat Zitat von einballimwas Beitrag anzeigen
    Was muss noch geklärt werden? Wiekannst du dich einbringen? Kannst du Metall bearbeiten oder auf solche Maschinen zurückgreifen?
    Leider nicht. Gelernt habe ich Radio- und Fernsehtechniker und tätig bin ich seit über 10 Jahren als Einrichter für SMD-Linien. Softwaremäßig könnte ich sicher einiges dazu beitragen, elektrisch müsste ich mein Wissen mal wieder auffrischen, würde aber sicher auch noch einiges basteln können. Die Mechanik ist nun wohl ein Bereich in der wir beide keine Möglichkeiten haben .
    Aber zur Not kann man immer noch was aus Holz bauen, und wenn es sich bewährt hat kann man sich diese Teile sicher auch irgendwo aus Alu herstellen lassen.


    Zitat Zitat von einballimwas Beitrag anzeigen
    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.
    Ich wohne bei Ansbach (Mittelfraken), das ist etwa 50 km vor Nürnberg.
    Momentan stecke ich noch mitten in der Renovierung, da habe ich nur wenig Zeit. Ansonsten könnten wir hier ganz gut was basteln. Ich habe eine Werkbank im Keller, und elektronisch bin ich auch recht gut ausgestattet (Lötstation, Heißluft-Station, Oszilloskop, und auch viele Bauteile (LEDs, Transistoren, Logik-ICs, Widerstände, usw. ...).
    Ach ja, das wichtigste habe ich vergessen ...den Kaffee-Vollautomaten
    Geändert von Holle (14.03.2012 um 23:33 Uhr) Grund: [/quote] vergessen

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Klar kommst du auch weitestgehend mit Billigteilen aus, aber die kritischen Stellen sind kritisch und damit muss man sie ordentlich durchdenken und auch Geld hinblättern.
    Das sind: Führungen, Kugelumlaufspindeln und das Image Aquisition System. Der Rest ist Vergleichsweise günstig: Eine Vakuumpumpe kann man sich vom Schrott besorgen, bzw aus Schrotteilen selbst zusammen bauen. Ein kleiner Überschlagswert: Spindeln und Führungen 400 Euro, Kamera gebraucht sind knappe 200 Euro (Ich bekomme eine für 35. Vllt lässt sich für dich auchnoch eine rausschlagen. Eine günstige Framegrabberkarte gibt es sicher auch günstig irgendwo gebraucht zu kaufen. Alles in allem wirst du aber einen knappen tausender für eine solche Maschine hinlegen! Holz kannst du ganz vergessen, damit habe ich die letzten Projekte gemacht. Ausserdem verzieht sich Holz schon bei geringsten Temperaturunterschieden derart dramatisch, das du niemals eine Genauigkeit von 1/10 hinbekommen wirst, ohne alle halbe Stunde neu einzumessen. Weiterhin ist Holz auch sehr Feuchtigkeitsempfindlich: Das bedeutet einmal das Garagentor oder die Tür zur Aussenwelt geöffnet und schon hast du wieder Ungenauigkeiten drin.


    Mit der Bilderkennung kannst du ganze Vorlesungen füllen, das ist alles kein Problem. Die Frage ist, welche Kamera eine gute Genauigkeit liefert und dabei nicht zu teuer ist. Ausserdem muss sie relativ weit verbreitet sein oder zumindest überall verfügbar. Spezialkameras bringen uns nicht weiter. Ich weiß noch nicht einmal, wie weit ich mit der CameraLink Kamera komme, die ich nun bekomme. Vielleicht gibt es dafür keine Treiber, die die Bilder an Video4Windows weitergeben oder ich kann allgemein gar nicht darauf zugreifen? Auch hier muss noch eine ganze Weile Forschung betrieben werden. Ich hoffe hier auf die Erfahrungen der anderen Nutzer dieses Boards die vielleicht schon einmal etwas mehr gemacht haben, als nur mit einer Gameboykamera herumgespielt. Die Erwartungshaltung, die du von der Optical Image Aquisition (OAI) und der damit verundenen Bilderkennung hast, scheint mir eine "naja, wird nicht so wirklich schwer sein" zu sein (Ich hoffe, ich missinterpretiere das jetzt nicht!). Auch hier will ich nochmal dran erinnern: Die Maschine zu bauen wird das leichteste sein, was auf uns zukommt! Die Bilderkennung verschlingt bei den Firmen (Siemens, etc) zehntausende, wenn nicht sogar hunderttausende von Euros. Man sollte sich mit Matrizen und Mathe auskennen, wenn man da ran gehen möchte. Ich schätze, ich habe noch bei weitem nicht genug Erfahrung und Wissen, um Bildverarbeitung richtig zu verstehen. Das kommt dann erst im achten Semester, sprich in der Industrie.


    Kannst du mir mal erklären, wie die Shapes in den aktuellen Bestückungsautomaten erzeugt werden? Ich habe leider noch keinen gesehen, daher habe ich davon keine Ahnung. Vielleicht ist das ja ganz ähnlich zu der Methode die ich oben gepostet habe. Danke!


    Die Kamerabeleuchtung ist nicht ganz unerheblich. Schlechtes Licht führt zu sehr schlechten Erkennungsraten und damit zur Verzweiflung des Programmierers (ich! ). Weiterhin muss der Abstrahlwinkel der LED's berücksichtigt werden und das Field of View (FOV), das man erreichen will. Das FOV errechnet sich aus dem Abstand des Objekts zum Sensor und aus der Brennweite der Linse. Durch die Brenweite der Linse kann man den Fokuspunkt (focal point) und das FOV in der Diagonale in ° berechnen. Das hängt dann von der Größe der Bauteile ab und wie hoch die Auflösung der Kamera ist. Schlechtere Bildqualität benötigt eine höhere Vergrößerung um die Unschärfe zu kompensieren. Damit vergrößert sich aber auch wieder die Region of Interest (ROI) und damit die Rechenleistung und Zeit, die man braucht um das Bild zu berechnen und die Position zu korrigieren. Das ganze ist eine Gratwanderung zwischen Rechenleistung, Geschwindigkeit, Qualität und und und. Es sind so viele Faktoren zu berücksichtigen, dass ich nicht wirklich weiß, wo ich anfangen soll. Deswegen erst einmal mit der Kamerabeleuchtung weil das so ziemlich das einfachste ist was man bauen kann, ohne vorher schon alles konstruiert zu haben. Da weiß ich, dass die Beleuchtungsdichte direkt über der Öffnung der Halbkugel gleichbleibend sein muss um eine gute Bildqualität zu erzielen. Mit deiner Angabe von "2 Winkel" kan ich mir den Rest für den Dome herleiten. Wichtig ist eben nur die Flächendeckung.


    Die NC Steuerungen sind meist so aufgebaut, dass das komplette Programm in den Speicher der NC geladen wird und dann Schritt für Schritt ausgeführt wird. Da das MAterial dabei abgenommen wird, ist es kein Problem, das Programm zu pausieren und an der Aussprungadresse wieder einzuspringen. Vielleicht mag das bei Profimaschinen nicht der Fall sein (Laserschneidanlagen haben durch ihre Hardwarebeschaffenheit sehr viel mehr Einsprungmöglichkeiten zu haben), doch bei den normalen NC Fräsen habe ich das so kennen gelernt. Also laden und ausfüren mit pausieren, aber immer nur das komplette Programm. Nun haben wir aber eine Pick and Place Maschine. Die muss die G-Codes "on the fly" im Programm erzeugen und dann Befehl für Befehl in die NC laden (zb bei einer Korrektur der Lage des Bauteils), die das dann ausführt. Das ist nicht wirklich praktikabel. Die großen Firmen haben auch da eigene Steuerungen gebaut, die mit den Programmen, die auf dem Rechner laufen interagieren. Da herrscht eine sehr starke Bindung zwischen Hard- und Software. Leider bin ich zumindest erst einmal an die USBCNC gebunden. Vielleicht wird das später anders. Es wird auf jeden Fall ein Modul "cnc" geben, das die ganze Maschine einstellt und handelt. Dieses Interface muss recht allgemein gehalten werden, dass man später, wenn man eine andere Maschine mit dem Programm nutzen möchte, einfach das Modul umschreibt und nicht das ganze Programm umschreiben muss. Schön ist da das Klassenmodell von C++, mit dem ich die Schnittstelle, die das Programm benutzt öffentlich haben kann und den Rest des Moduls (Umsetzung der Maschinenkoordinaten, initialisierung, Verbindungserstellung mit der NC, bewegen der Achsen, eventuelle E-Stops oder Sicherheitsschalter, usw, usf) einfach vor dem Programm verstecken kann, so dass es sich nicht mehr darum kümmern muss. Das wird alles vom Modul erledigt.




    Wichtig ist die Dokumentation der Arbeits- und Entwicklungsschritte und eine Buchführung über die verschiedenen Revisionen. Bei der Software, die ich baue ist github das Mittel der Wahl. Ich hoffe, dass ich dadurch das Chaos in meinen Projekten bändigen kann


    Tut mir Leid. Eigentlich wollte ich noch so viel mehr schreiben, bin aber leider nicht dazu gekommen. Der Tag war mörderisch und irgendwie bin ich auch nicht voran gekommen, weil Solidworks so langsam runterlädt (ist ja schön, dass sie uns Studenten was zur Verfügung stellen, aber das nutzt doch keiner, wenns knappe 6h dauert). Das ist jetzt schon seit knapp 4 Stunden im Downloadmanager. Wenn ich den LED Dome fertig habe, mache ich die 3D Ansicht und das Eagle Design öffentlich. Übrigens ist das keine Fachdiskussion. Mitleser können gern zu Mitschreibern mutieren. Dafür ist die Evolution da

    PS: Dann zieh du mal um und sag mir, wenn du fertig bist. Vllt können wir zusammen ein Konzept erarbeiten. Mittelfranken dürfte ich nach 3-4h Zugfahrt erreicht haben. Bin gespannt, wie euer Kaffee schmeckt und ob ihr damit in Konkurrenz zu dem Schwäbischen Kaffee treten könnt
    Geändert von einballimwas (15.03.2012 um 19:52 Uhr)

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    51
    Beiträge
    46
    Zitat Zitat von einballimwas Beitrag anzeigen
    Klar kommst du auch weitestgehend mit Billigteilen aus, aber die kritischen Stellen sind kritisch und damit muss man sie ordentlich durchdenken und auch Geld hinblättern.
    Das sind: Führungen, Kugelumlaufspindeln und das Image Aquisition System. Der Rest ist Vergleichsweise günstig: Eine Vakuumpumpe kann man sich vom Schrott besorgen, bzw aus Schrotteilen selbst zusammen bauen. Ein kleiner Überschlagswert: Spindeln und Führungen 400 Euro, Kamera gebraucht sind knappe 200 Euro (Ich bekomme eine für 35. Vllt lässt sich für dich auchnoch eine rausschlagen. Eine günstige Framegrabberkarte gibt es sicher auch günstig irgendwo gebraucht zu kaufen. Alles in allem wirst du aber einen knappen tausender für eine solche Maschine hinlegen! Holz kannst du ganz vergessen, damit habe ich die letzten Projekte gemacht. Ausserdem verzieht sich Holz schon bei geringsten Temperaturunterschieden derart dramatisch, das du niemals eine Genauigkeit von 1/10 hinbekommen wirst, ohne alle halbe Stunde neu einzumessen. Weiterhin ist Holz auch sehr Feuchtigkeitsempfindlich: Das bedeutet einmal das Garagentor oder die Tür zur Aussenwelt geöffnet und schon hast du wieder Ungenauigkeiten drin.
    Ja, eine finale Lösung ist das nicht mit dem Holz, aber zum testen reicht das aus. Es wäre schade wenn man sich etwas aus Alu fräsen lässt und stellt nachher fest dass es so garnicht funktioniert. Zum Thema alle halbe Stunde neu kalibrieren:
    Das wäre in meinen Augen OK, solange es sich um einen Prototypen handelt. Wenn es dann alles so funktioniert wie gewünscht kann man immer noch die Teile aus Alu fertigen lassen uns austauschen. Wahrscheinlich wird man zwischendurch aber immer wieder etwas ändern, so dass die Zwischenlösung mit Holz "schneller" und "viel günstiger" wäre.
    ...wie gesagt, während der Testphase als Zwischenlösung. Dass Holz nicht das endgültige Material sein kann ist klar.
    Also 1000 Euro kann ich derzeit nicht aufbringen. Mein Plan geht eher in die Richtung alles provisorisch zu basteln, Probleme auszumerzen und wenn es soweit zufriedenstellend läuft mit der Erfahrung/Steuerung/... "gescheit" zu bauen. Bis dahin habe ich dann vielleicht auch genügend Geld um da 1-2k zu investieren.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Mit der Bilderkennung kannst du ganze Vorlesungen füllen, das ist alles kein Problem. Die Frage ist, welche Kamera eine gute Genauigkeit liefert und dabei nicht zu teuer ist. Ausserdem muss sie relativ weit verbreitet sein oder zumindest überall verfügbar. Spezialkameras bringen uns nicht weiter. Ich weiß noch nicht einmal, wie weit ich mit der CameraLink Kamera komme, die ich nun bekomme. Vielleicht gibt es dafür keine Treiber, die die Bilder an Video4Windows weitergeben oder ich kann allgemein gar nicht darauf zugreifen? Auch hier muss noch eine ganze Weile Forschung betrieben werden. Ich hoffe hier auf die Erfahrungen der anderen Nutzer dieses Boards die vielleicht schon einmal etwas mehr gemacht haben, als nur mit einer Gameboykamera herumgespielt. Die Erwartungshaltung, die du von der Optical Image Aquisition (OAI) und der damit verundenen Bilderkennung hast, scheint mir eine "naja, wird nicht so wirklich schwer sein" zu sein (Ich hoffe, ich missinterpretiere das jetzt nicht!). Auch hier will ich nochmal dran erinnern: Die Maschine zu bauen wird das leichteste sein, was auf uns zukommt! Die Bilderkennung verschlingt bei den Firmen (Siemens, etc) zehntausende, wenn nicht sogar hunderttausende von Euros. Man sollte sich mit Matrizen und Mathe auskennen, wenn man da ran gehen möchte. Ich schätze, ich habe noch bei weitem nicht genug Erfahrung und Wissen, um Bildverarbeitung richtig zu verstehen. Das kommt dann erst im achten Semester, sprich in der Industrie.
    Ich denke auch dass die Bilderkennung die härteste Nuss wird, aber mit ein paar Tests werden wir da schon etwas "zusammen schustern". Mit der Zeit können wir das dann vielleicht auch verbessern. Ein großer Schritt wäre gemacht wenn wir "Kanten/Linien" erkennen können.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Kannst du mir mal erklären, wie die Shapes in den aktuellen Bestückungsautomaten erzeugt werden? Ich habe leider noch keinen gesehen, daher habe ich davon keine Ahnung. Vielleicht ist das ja ganz ähnlich zu der Methode die ich oben gepostet habe. Danke!
    Klar kann ich das...
    Zuerst wählt man eine Shape-Klasse (BGA, QFP, usw.). Als nächstes wird die Gehäuse-Größe angegeben (Länge/Breite). Nun noch die Anzahl der Beine/Balls, sowie deren Größe. Beim QFP z.B. gibt man X/Y Gehäusemaße ein und X/Y Gesamtmaße. Das (Gesamtmaß - Gehäusemaß) / 2 ist die Beinlänge. Die Beinbreite und den Pitch muss man auch eingeben. Aus diesen Daten wird ein 2D-Bauteilbild erzeugt. Nun noch die Höhe und der Shape ist fertig. Es fehlen aber noch die Angaben zur Nozzle (welche soll verwendet werden), Geschwindigkeit (wie schnell darf das Bauteil in X/Y bewegt werden und in Theta (gedreht). Weiterhin werden in dem Shape noch Angaben zum Feeder gemacht (welcher wird verwendet, wie tief liegt das Bauteil in der Tasche, ...).
    Der Shape selber ist aber schnell erzeugt. Man hat natürlich einige Klassen zur Auswahl und kann zusätzlich noch Optionen angeben (Bestückversatz, Abholversatz, abweichende Toleranzen, fehlende Beine/Balls, usw.) ...das ist aber nur eine Option und nicht zwangsläufig nötig.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Die Kamerabeleuchtung ist nicht ganz unerheblich. Schlechtes Licht führt zu sehr schlechten Erkennungsraten und damit zur Verzweiflung des Programmierers (ich! ). Weiterhin muss der Abstrahlwinkel der LED's berücksichtigt werden und das Field of View (FOV), das man erreichen will. Das FOV errechnet sich aus dem Abstand des Objekts zum Sensor und aus der Brennweite der Linse. Durch die Brenweite der Linse kann man den Fokuspunkt (focal point) und das FOV in der Diagonale in ° berechnen. Das hängt dann von der Größe der Bauteile ab und wie hoch die Auflösung der Kamera ist. Schlechtere Bildqualität benötigt eine höhere Vergrößerung um die Unschärfe zu kompensieren. Damit vergrößert sich aber auch wieder die Region of Interest (ROI) und damit die Rechenleistung und Zeit, die man braucht um das Bild zu berechnen und die Position zu korrigieren. Das ganze ist eine Gratwanderung zwischen Rechenleistung, Geschwindigkeit, Qualität und und und. Es sind so viele Faktoren zu berücksichtigen, dass ich nicht wirklich weiß, wo ich anfangen soll. Deswegen erst einmal mit der Kamerabeleuchtung weil das so ziemlich das einfachste ist was man bauen kann, ohne vorher schon alles konstruiert zu haben. Da weiß ich, dass die Beleuchtungsdichte direkt über der Öffnung der Halbkugel gleichbleibend sein muss um eine gute Bildqualität zu erzielen. Mit deiner Angabe von "2 Winkel" kan ich mir den Rest für den Dome herleiten. Wichtig ist eben nur die Flächendeckung.
    Ich bin heute nicht dazu gekommen Fotos zu machen, aber die kommen noch, versprochen. Bei der MSF kann man zwischen 2D und 3D Kamera wählen und das jeweils zwischen Large und Small. Es ist zwar nur EINE 2D-Kamera und nur EINE 3D-Kamera im Portal verbaut, aber mit "Small" nutzt man eine Vergrößerung. Die Small und Large Kamera haben eigene Offset-Werte, also sind da entweder 2 Kameras in einem Gehäuse oder ein mechanischer Zoom, denn wenn das nur ein digitaler Zoom wäre, dann bräuchte man keine 2 Offsets. Die Rechenleistung sollte keine Probleme bereiten, denn wenn es ein Pentium 233 schafft 20 Köpfe sau schnell zu handeln (und natürlich auch den Rest der Maschine), dann sollte ein Ein-Kopf-Bestückautomat (der zudem noch recht langsam ist) mit einem "modernen" PC recht unterfordert sein.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Die NC Steuerungen sind meist so aufgebaut, dass das komplette Programm in den Speicher der NC geladen wird und dann Schritt für Schritt ausgeführt wird. Da das MAterial dabei abgenommen wird, ist es kein Problem, das Programm zu pausieren und an der Aussprungadresse wieder einzuspringen. Vielleicht mag das bei Profimaschinen nicht der Fall sein (Laserschneidanlagen haben durch ihre Hardwarebeschaffenheit sehr viel mehr Einsprungmöglichkeiten zu haben), doch bei den normalen NC Fräsen habe ich das so kennen gelernt. Also laden und ausfüren mit pausieren, aber immer nur das komplette Programm. Nun haben wir aber eine Pick and Place Maschine. Die muss die G-Codes "on the fly" im Programm erzeugen und dann Befehl für Befehl in die NC laden (zb bei einer Korrektur der Lage des Bauteils), die das dann ausführt. Das ist nicht wirklich praktikabel. Die großen Firmen haben auch da eigene Steuerungen gebaut, die mit den Programmen, die auf dem Rechner laufen interagieren. Da herrscht eine sehr starke Bindung zwischen Hard- und Software. Leider bin ich zumindest erst einmal an die USBCNC gebunden. Vielleicht wird das später anders. Es wird auf jeden Fall ein Modul "cnc" geben, das die ganze Maschine einstellt und handelt. Dieses Interface muss recht allgemein gehalten werden, dass man später, wenn man eine andere Maschine mit dem Programm nutzen möchte, einfach das Modul umschreibt und nicht das ganze Programm umschreiben muss. Schön ist da das Klassenmodell von C++, mit dem ich die Schnittstelle, die das Programm benutzt öffentlich haben kann und den Rest des Moduls (Umsetzung der Maschinenkoordinaten, initialisierung, Verbindungserstellung mit der NC, bewegen der Achsen, eventuelle E-Stops oder Sicherheitsschalter, usw, usf) einfach vor dem Programm verstecken kann, so dass es sich nicht mehr darum kümmern muss. Das wird alles vom Modul erledigt.
    Das mit dem Programm ist bei SMD-Automaten überhaupt kein Problem. Es wird Zeile für Zeile abgearbeitet, somit ist jederzeit eine Unterbrechung möglich.
    Bei Siemens-Bestückautomaten ist das schon wieder anfälliger (ein winziger Stromausfall und man kann die LP wieder abwaschen). Panasonic handelt das etwas anders, da kann man selbst nach einem Stromausfall problemlos weiter machen wo man aufgehört hat. Problematischer wird es wenn man mitten im Programmablauf manuell dazwischen rum fummelt. In dem Fall ist es dann nötig den Startblock anzugeben, wo die Maschine weiter machen soll. Bei einer Maschine mit mehreren Köpfen ist das aber oftmals nicht so einfach weil 10 Bauteile auf einmal abgeholt werden, aber dann z.B. ein Bauteil nicht gesetzt wurde (z.B. Erkennungsprobleme). Wenn ich nun den Shape anpasse und einfach im Programm nachsehe welchen Block dieses Bauteil hatte und diesen als Startblock angebe kann es sein dass die anderen 9 Bauteile "doppelt" bestückt werden. Beispiel: Das Bauteil war Block Nr. 50. Der Kopf hat nun aber Block 50 bis 59 auf einmal abgeholt. Das Bauteil von Block 50 wurde nicht erkannt, aber die anderen (Block 51 bis 59) wurden erkannt und gesetzt. Wenn ich nun den Startblock 50 angebe (das Bauteil fehlt ja noch auf der Karte) würden die Blöcke 51 bis 59 ebenfalls nochmal mit bestückt werden. Aus diesem Grunde gibt es auch 3 Betriebsmoden: Auto, Block, Step
    Auto: Das Programm wird automatisch abgearbeitet
    Block: Es wird immer nur ein Block abgearbeitet (vom abholen bis zum setzten)
    Step: Es wird immer nur ein winziger Teil gemacht. Z.B.: Nozzle über das Bauteil fahren - Nozzle auf das Bauteil aufsetzten - Das Bauteil aufnehmen - Zur Kamera fahren - Über die Kamera fahren - Zur Bestück-Position fahren, Das Bauteil auf die LP aufsetzten - Nozzle wieder hoch fahren.
    Der Step-Betrieb wird zum Einrichten und zur Fehlersuche gebraucht.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Wichtig ist die Dokumentation der Arbeits- und Entwicklungsschritte und eine Buchführung über die verschiedenen Revisionen. Bei der Software, die ich baue ist github das Mittel der Wahl. Ich hoffe, dass ich dadurch das Chaos in meinen Projekten bändigen kann
    Ja, das ist in jedem Programm so ....und VIEL Kommentare verwenden, damit man sich auch Jahre Später schnell wieder im Quellcode zurecht findet.


    Zitat Zitat von einballimwas Beitrag anzeigen
    PS: Dann zieh du mal um und sag mir, wenn du fertig bist. Vllt können wir zusammen ein Konzept erarbeiten. Mittelfranken dürfte ich nach 3-4h Zugfahrt erreicht haben. Bin gespannt, wie euer Kaffee schmeckt und ob ihr damit in Konkurrenz zu dem Schwäbischen Kaffee treten könnt
    Ich ziehe nicht um, wir renovieren nur. Meinst du es macht Sinn jetzt schon ein Konzept zu erarbeiten? Ich dachte wir machen erst ein paar Tests (wie steuern wie die Schrittmotoren richtig an, welche Methoden zur Bilderkennung funktionieren in der Praxis, usw.). Wenn dann die einzelnen Schritte erfolgreich erprobt wurden wäre ein Konzept dran wie man das am besten nutzen kann. Derzeit wissen wir ja noch nicht mal ob die Motoren geeignet sind, oder welches Interface geeignet ist.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Ich werde heute nur sehr kurz angebunden antworten: Ich bin total platt

    Meinst du es macht Sinn jetzt schon ein Konzept zu erarbeiten?
    Natürlich! Das Programm, das ich programmiere, soll später mal nicht nur meine Maschine steuern sondern auch anderen helfen, die Einstiegshürde zu überwinden, sich sowas selbst zu bauen und muss daher wirklich mit der Maschine aufgebaut werden, sonst ist es ein "from the top to the bottom" Produkt, bei dem man die Probleme vielleicht gar nicht sieht

    Zu den Schrittmotoren: Wenn es dir nicht auf Geschwindigkeit ankommt, dann kannst du ein Gespann aus L297 und L298 nehmen. Eines pro Endstufe. Mit den anderen Bauteilen kommst du auf etwa 10 Euro pro Endstufe. Diese Dinger erwarten ein Clock und ein Step Signal und kosten nicht mehr als 10€ pro Endstufe. Damit wäre das mit den Stepperendstufen schonmal aus der Welt. Nun zu den Motoren: Da du keine Last hast, die du schnell bewegen musst, reichen handelsübliche, kleine Stepper, Beispielsweise http://www.reichelt.de/Schrittmotore...T=0&OFFSET=16&

    Gut, 50Euro sind kein klacks, aber ich habe noch welche auf Halde, die ich dir schicken kann. solche kleineren fliegen auch oft bei Firmen raus, einfach nur mal abends/nachts nach Feierabend im Müllcontainer wühlen. Da wird man zwar saudreckig bei, aber man spart sich 50Euro für meinst fast neue Motoren. Der größte Fischzug bei mir waren an die 20 davon in einer Nacht (Ja, ist unüblich, doch wieso sollte man die fast immer neuen Teile wegwerfen, wenn nur eine Störung in der Endstufe vorliegt? Ich versteh die Firmen nicht!). Fragt sich nur, ob ich noch drei gleiche habe, denn das ist eigentlich das wichtigste. Mit diesen Endstufen bist du relativ flexibel, zumindest, wenn du sie richtig aufbaust. Dann brauchst du nurnoch eine Steuerung. Da kannst du zb die USBCNC für ?200? kaufen, oder dir eine günstigere für den Parallelport holen. Keine Ahnung, was man da heutzutage nimmt. Pass aber auf, dass sie eine APi hat, mit der man sie ausserhalb des Programms ansteuern kann, das dabei ist

    Die Zwischenlösung mit Holz - Okay, das steht dir frei, kein Thema. Ich rate dir nur: Mach es lieber gleich richtig. Für die Richtigkeit der Pläne ist die vorherige Konstruktion verantwortlich! Das dauert sowieso noch eine Weile und geht nur Schritt für Schritt, weshalb man auch keine 1000 Euro auf einmal hinlegen muss. Müssen die Hexabotbauer auch nicht tun. Erst kommt ein Bein, dann das andere, dann das dritte, dann zwischendurch der Body, etc ... Im Ende sinds aber auch tausend oder mehr

    Zur Bilderkennung: Ich werde da erstmal ein Prototypensystem aufbauen, wenn ich die Kamera habe. Dann fummel in an den Algorithmen rum. Vorher passiert da leider recht wenig. Bin aber auch zuversichtlich, dass wir Bauteile erkennen können. Die großen kochen zwar mit größeren Kochern, aber trotzdem kochen sie nur mit Wasser.

    Du sagst, dass das in Blöcken gemacht wird. Daran habe ich noch garnicht gedacht. Ob das mit einer Steuerung, die nicht extra dafür gemacht ist, muss ich mir nochmal klar machen. Wie das ganze gehen soll weiß ich auch noch nicht wirklich. Das Manual ist auch relativ dick, ich werde mich da morgen mal dranhocken, wenn ich noch Zeit habe. Unten habe ich mal das Ablaufdiagramm für einen Block angehängt, wie ich es mir überlegt habe. Das habe ich schnell hingebuttert, auf dem Papier ist es ausführlicher (Was kann durch G-Code erledigt werden, wo ist Interaktion nötig, wo liegen die Schwachstellen? Das steht da noch dabei). Habe ich alles? Habe ich was vergessen?

    So viel für heute.
    Angehängte Dateien Angehängte Dateien

Berechtigungen

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

Labornetzteil AliExpress