- 12V Akku mit 280 Ah bauen         
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
    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

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    51
    Beiträge
    46
    Sorry, bin gestern wieder nicht zu den Fotos gekommen. Ich muss mich da leider etwas nach der Auftragslage richten und kann nicht einfach die Maschine für eine halbe Stunde stehen lassen .

    Beim Programm wollte ich mich eigentlich am Panasonic-Programm anlehnen, denn zum einen ist der erprobt und bewährt, zum anderen übersichtlich und verständlich und zudem könnte ich es recht leicht kompatibel zur MSF/BM machen. Der einzige Unterschied wären halt die Anzahl der Köpfe, aber das wäre kein Problem, da es ja in Blöcken aufgebaut ist.
    Die Kompatibilität ist für die meisten hier sicher völlig unbedeutend, aber für mich wäre das schon praktisch, denn:
    1.) Vielleicht kann ich meine Maschine einmal auf der Arbeit verwenden (Prototypen)
    2.) Wenn ich mal eine LP entwickle und bestücke, die vielleicht ein größeres Interesse bei anderen Usern findet und in großen Stückzahlen hergestellt werden sollte könnte ich das sicher auch mal auf der Arbeit machen (das würde jedoch schon alleine wegen der Schablone erst bei größeren Stückzahlen rentabel), aber dann könnte ich mein Programm fast 1:1 nutzen (die Änderung von Kopf 1,1,1,1,1,1,1,1, ... auf 1,2,3,4,5,6... wäre schnell erledigt).

    Man hätte halt ein festes "funktionierendes" Konzept, ohne dass irgendwelche Überraschungen zur ständigen Änderung der eigenen Entwicklung führen würden.
    Das Erstellen eines solches Programms wäre für mich erheblich einfacher, da ich schon beim simulieren sehen könnte ob da ein Fehler drin ist, indem ich es einfach mit einem Programm auf der Arbeit vergleiche.
    Sollte es jedoch aus irgendwelchen Gründen sinnvoller sein es anders zu machen wäre das auch kein Beinbruch, ich müsste mir dann halt einen Umwandler programmieren.

    Dein Blockbild hat einen Fehler:
    Wenn du unbedingt das Bauteil in der Tasche erkennen willst (ich wäre nicht dafür *), dann würde es in deinem Blockbild so sein dass er 2x das Bauteil anschaut, wenn es das erste mal nicht erkannt wurde. Ohne etwas zu ändern wird es das 2. Mal aber auch nicht erkannt.

    * Warum ich dagegen wäre:
    1.) Wenn man Gurte/Trays nutzt, dann hat man einen festen Pitch, somit wäre es unnötig immer wieder aufs neue zu prüfen ob man über dem Bauteil ist.
    2.) Unnötige Zeitverschwendung. Ich lege zwar keinen großen Wert auf eine schnelle Bestückung, aber diese Zeit könnte man meiner Meinung nach einsparen. Die Profis verzichten auch auf diese Funktion, selbst bei Stangenware (wo die Bauteillage tatsächlich etwas variieren kann).
    3.) Man müsste für jedes Bauteil 2 Shapes anlegen. Einmal für die normale Erkennung der Lage an der Nozzle und um verbogene Beine zu erkennen, usw. , und dann wäre es noch nötig das Bauteil von "oben" zu lernen.

    Ich wäre eher dafür optional die Abholposition anfahren zu können, um diese zu teachen (z.B, für ein DPAK, welches nicht genau in der Mitte der Tasche abgeholt werden soll, sondern in der Mitte des Gehäuses).

    Meinst du nicht dass die verlinkten Schritt-Motoren etwas "überdimensioniert" sind?
    Wenn die schon so viel Leistung haben sollen, was hälst du denn von diesen?
    Der ist etwas günstiger und hat doppelt so viele Schritte/Umdrehung, ist also doppelt so genau. Die Kraft bei 1000 pps ist annähernd gleich.

    Wozu 3 gleiche? 2 Gleiche X und Y reichen doch aus. Selbst da wäre es nicht zwangsläufig nötig, dass diese gleich sind, allerdings würde es die Handhabung vereinfachen, wenn zumindest die Schrittzahl gleich ist. Für die Z-Achse und die Theta-Achse kann man auch viel kleinere nehmen, obwohl auch erst geklärt werden sollte ob wir die Z-Achse elektromechanisch oder pneumatisch bauen.
    Was sind das für Motoren, die du auf Lager hast? Würden die ausreichen für die X- und Y-Achse?
    Für die Theta-Achse würde z.B. ein Motor aus einem Tintenstrahldrucker vollkommen ausreichen. Gerade die Motoren am Kopf sollten so klein wie möglich (und so groß wie nötig ) sein. Der Kopf würde sonst recht träge was sich auf die Geschwindigkeit und Genauigkeit auswirken würde.

    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!
    Nun, ich habe zwar noch nie einen SMD-Bestückautomaten gebaut, aber schon diverse andere Dinge. Meine Erfahrung hat mich gelehrt dass es 1.) immer anders kommt, und 2.) als man denkt .
    Ein Stück Holz ist schnell gebastelt. Ich habe halt keine CNC-Fräse im Keller . Wenn ich mich ein paar Stunden an einem Alu-Teil aufhalte und später feststelle dass die Arbeit (und die Kosten) für´n Arsch waren weil ich irgendetwas nicht bedacht habe schlägt das mit der Zeit schon mal in Frust um. Wenn ein Stück Holz für´n "Ofen" war ist das nicht ganz so schlimm, denn das kostet nur ein Bruchteil und nimmer nicht annähend so viel Zeit in Anspruch. Möglicherweise stellt man nach dem Einbau fest dass dieses oder jenes noch verbessert werden könnte, usw.
    Wenn es dann alles so ist wie es sein soll kann ich es immer noch aus Alu "fertigen lassen". Bei komplexen Formen kann das "Holzmodell" auch sehr Hilfreich als Mustervorlage sein, um das Alu-Teil zu fertigen.
    Du hast natürlich recht dass die Kosten erst nach und nach entstehen, aber dennoch entstehen sie. Außerdem wird es sicher günstiger wenn ich gleich 10 Teile aus Alu fertigen lasse, statt 10 x 1.

    Die Bilderkennung wird die härteste Nuss, die sollten wir erst mal unabhängig von dem Rest der Maschine entwickeln.

    Je mehr ich darüber nachdenke, desto mehr denke ich auch dass wir doch schon jetzt ein "grobes" Konzept erstellen sollten, zumindest was die Hardware betrifft, denn schließlich hängt davon ab wie groß alles dimensioniert werden muss.


    Ich beginne einfach mal mit einer Liste (diese kann dann ja erweitert/verändert werden):



    Was sollte die Maschine können?
    - SMD-Bauteile von 0402 bis "oben offen" bestücken
    - Bauteile per Vacuum abholen und setzten. Die Nozzle sollte gefedert sein.
    - Bauteillage erkennen und korrigieren (X/Y/Theta). Erkennungsmerkmale wählbar (nur Außenkontur, Anzahl der Beine/Balls, usw.)
    - Kalibrieren der Bauteilkamera, Boardkamera
    - Offset-Möglichkeit bei der Abhol-Position und Setz-Position
    - Wählbar was mit "nicht erkannten / schlechten Bauteilen" passieren soll (Abwurfschale, zurück ins Tray/Gurttasche , ...)
    - Verschiedene Bestückmoden (Automatisch, Block, Step)
    - Manuelles verfahren aller Achsen. Diese Positionen sollten auch ins Programm übernommen werden können, um z.B. Nachträglich eine Bestückposition ins Programm einfügen zu können.
    - Verschiedene Beleuchtungsmöglichkeiten
    - Nozzle-Wechsler (zur Not auch manueller Wechsel, aber in jedem Fall mehrere Nozzlen)
    - Passermarken - Erkennung
    - Schutzvorrichtungen: Hardware-Endschalter = Sofortiger Stillstand und Spannungslos schalten aller Motoren und Fehlermeldung , Software-Endschalter (vor dem Hardware-Endschalter erreicht) = Sofortiger Stillstand und Fehlermeldung , Überlast-Schutz (Strom- und Temperaturüberwachung der Motoren) = Stillstand + Fehlermeldung
    - Akustische/Optische Meldung bei: Bauteil leer, Bauteil x mal nicht erkannt, Produktion abgeschlossen
    - Die Höhe aller bestückten Bauteile sollte für noch zu bestückende Bauteile berücksichtigt werden, um ein "umwerfen" zu verhindern. Notfalls automatisches "umfahren" der hohen Bauteile.
    - Bei einem leeren Bauteil sollten die anderen Beiteile weiter bestückt werden, damit man das Bauteil wechseln kann "während" die Maschine läuft
    - Bauteile sollten geskipt werden können (auslassen diverser Bauteile im Bestück-Programm, trotzdem weiter im Automatikmodus ausführbar)

    Was wären nette Features (kein Muss, aber vielleicht später mal möglich):
    - Mess-Pins um das erste Bauteil im Gurt zu messen (bei Widerständen, Kondensatoren, Dioden). Das würde jedoch eine Erkennung des Bauteils im Gurt erfordern. Alternativ wäre dass das "erste Bauteil pro Gurt" nach der Erkennung auf 2 Messflächen gesetzt wird (dort an der Nozzle bleibt) und im Anschluss gleich bestückt wird (sofern die Messung OK war). Das wäre einfacher zu realisieren, setzt aber voraus dass die Nozzle klein genug ist um nicht die Kontaktflächen des Bauteils zu berühren, oder dass die Nozzlespitze isoliert ist.
    -Vakuum-Messung an der Nozzle um zu erkennen wenn ein Bauteil "verloren" wurde

    Ideen zur Realisierung:
    - Bauteil-Abholpositionen: Auf einer Fläche Schienen montieren, um den Gurt "einzuklemmen" statt aufzukleben. Ein Paar Stifte für die Gurtlöcher sorgen für eine exakt gleiche Lage des Gurts. Diese Schiene könnte auch als Anlegekante für Trays dienen. Das wäre später sogar erweiterbar, wenn man statt der festen Stifte ein Förderrad verwendet.


    Also das mit den Blöcken wäre kein Problem für mich. Wir brauchen eine Schnittstelle womit man die Achsen an ihre Soll-Positionen verfahren kann, sowie eine Rückmeldung "Position erreicht" erhält. Der Rest ist nichts weiter als eine Abfolge von Befehlen.
    Wir können ja mal telefonieren...

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    51
    Beiträge
    46
    Bei Pollin gibt es sogar einen kompletten Bausatz für eine Schrittmotorplatine.
    Ich kenne mich nicht aus mit Schrittmotoren, vielleicht kann mich mal jemand aufklären:
    -In diesem Datenblatt steht eine Spannung von 6,8 Volt. Im Leistungsdiagramm steht aber etwas von 30 Volt. Bedeutet das nun , dass die 6,8 Volt die Anlaufspannung sind?
    Wieviel Spannung verträgt der Motor dann maximal?
    Wie funktioniert das mit den 2 Phasen? Kann ich da einfach 2 Bausätze verwenden? Wie stimme ich die dann aufeinander ab?
    Wie erkenne ich wieviele Schritte der Motor bereits getan hat (Rückmeldung)?

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Kein Problem, lass dir Zeit mit den Bildern. Sowas ist nicht von heute auf morgen gebaut und wird es auch nie werden. Ich sag' da immer: "Take your time! Nobody will die!"


    Ich habe das Gefühl, im Thema "Programm" reden wir aneinander vorbei! Meine Definitionen:


    "Programm": Software, die auf dem Rechner läuft mit Bedienoberfläche und Erkennung der Bilder von der Kamera. Also eine auf dem Rechner ausführbare Datei. Das ist das, woran ich gerade dran bin. Dieses Programm braucht aber eine Schnittstelle zur Hardware, also zur Steuerung der Motoren (die werden so gut wie nie direkt vom Rechner gesteuert). Dafür gibt es NC's, Numeric Controls. Damit wären wir auch schon beim


    "G-code" oder "NC Befehle" sind Befehle in der Form:
    N3 T0*57
    N4 G92 E0*67
    N5 G28*22
    N6 G1 F1500.0*82
    N7 G1 X2.0 Y2.0 F3000.0*85
    N8 G1 X3.0 Y3.0*33

    Diese Codes sind weitestgehend standardisiert und sind somit auf allen Steuerungen ausführbar. Das hat den Vorteil, dass man jede Steuerung (nun sei einmal dahingestellt ob USB, Parallelport oder Netzwerk) verwenden kann, die solche G-Codes verarbeiten kann. Nutzen wir unseren eigenen Code oder den Code, der für Panasonic Maschinen entwickelt wurde (wenn er denn vom Standard abweicht) dann müssen wir auch eine Steuerung von Panasonic nutzen was mir und meinem Budget gar nicht gefallen würde. Die sind nämlich auch jenseits der tausend. Weiterhin haben wir dann proprietären Code verwendet, wofür man uns zur Rechenschaft ziehen könnte und Lizenzgebühren verlangen kann. Wenn du magst, kannst du mir mal per PN ein kleines Schnipselchen G-Code bestehend aus 20-50 Zeilen schicken, dann gucke ich mir das an, ob das dem Standard entspricht oder nicht. Ich bin mir da mit mir selbst noch nicht ganz im Reinen, ob ich mich in diesem Punkt auf eine Diskussion einlassen will. Der einfache Grund dafür ist, dass ich den ganzen proprietären Mist hasse. Lizenzgebühren, Inkompatibilität und so weiter verabscheue ich zutiefst. Ein Konverter ist, wenn das ganze erst einmal läuft, auch recht schnell gebaut. Das größte Problem wird sein, die Koordinaten umzurechnen. Dafür findet sich aber sicher auchnoch eine Lösung.


    Gut erkannt, mein Blockbild hat einen Fehler. Ich hatte ursprünglich eingeplant, zu erkennen ob überhaupt ein Bauteil im Gurt / Tray ist. Das kann man natürlich weglassen, zumal deine Gründe wirklich überzeugend sind. Dann werde ich das noch rausnehmen. Ich sitze gerade in der Hochschule, kann daher nicht auf die Daten meines Rechners zugreifen. Wenn alles klappt, dann lade ich den korrigierten Ablauf heute noch einmal hoch.


    Der Grund, direkt drei "starke" Motoren zu nehmen ist erst einmal grundsätzlich der möglichen Erweiterung und anderen Eventualitäten geschuldet. Wenn man halbwegs hohe Geschwindigkeiten erreichen möchte, so muss man auch entsprechend Kraft aufwenden. Bei Spindeln mit kleiner Steigung ist die Kraft mehr oder weniger egal, da sowieso eine Art Untersetzung gegeben ist. Wenn man nun aber ein wenig schneller werden will, hat man zwei Möglichkeiten: Entweder man lässt den Motor schneller drehen, oder man nimmt eine Spindel mit größerer Steigung. Ein schnell drehender Motor hat weniger Kraft. Das geht aus den Datenblättern der jeweiligen Motoren hervor. Eine Spindel mit größerer Steigung bietet keine so große Untersetzung, wie eine Spindel mit vergleichsweise geringer Steigung. Ich würde gerne überdimensionieren, sonst kann es sein, dass ich zweimal kaufen muss. Es wäre sicher auch interessant, wie sich die beiden unterschiedlichen Motoren machen, und ob es die fast 20 Euro an Kostenunterschied wert sind. Das Flanschmaß ist auf jeden Fall das gleiche, ist also kein Problem, die Motoren einfach auszutauschen. Im übrigen ist die Genauigkeit eher kein Problem: 1,8°/Schritt macht 200 Schritte pro Umdrehung. Die Spindelsteigung wird in mm/Umdrehung angegeben. Eine typische Spindelsteigung ist 5, was bedeuten würde, wir hätten eine Auflösung von 5/200 oder 0,025mm. Mit den 0,9°/Schritt haben wir die doppelte Auflösung: 0,0125mm. Bei 1000 Schritten pro Sekunde macht das 1,25 cm pro Sekunde ... Das ist absolut langsam. Nehmen wir eine Spindel mit der Steigung 10, dann haben wir 10/200 -> 1/20tel Genauigkeit in dieser Achsenrichtung also 0,05 mm, aber dafür eine Verfahrgeschwindigkeit von 5cm/Sekunde. Da muss ich mich auch noch einmal ransetzen und ausloten, welche Spindeln es gibt und welche Auflösung wir brauchen. Im Prinzip genügt selbst bei 0201 Bestückung eine Auflösung von 1/10mm. Können wir das so ins Pflichtenheft übernehmen? Einwände?


    Mit dem Holz hast du wieder recht. Ist vermutlich auch besser so. Ich werde deinem Beispiel folgen. Wie sagt man? Jung und ungestüm
    Ich habe den Vorteil, dass ich Zugang zu einer NC gesteuerten Fräse habe (auch wenn ich mehr über die Technik weiß, als über das eigentliche Fräsen/Die Mechanik dahinter - Bin nur Elektrotechniker ), weshalb es wohl größtenteils auch an mir ist, die Teile zu fertigen (zumindest die Teile, die wirklich schon aus Alu sein müssen. Ich denke da an die Flansche der Motoren und an die Spindel, die vorgespannt werden muss. In Holz kann man schlecht Kugellager einpressen .


    Zur Theta Achse (Habe ich vorher noch nie bezeichnet, ich nehme aber mal an, dass du die Achse zur Rotation der Teile meinst.): Da reicht ein sehr sehr kleiner Steppermotor, der allerdings mit einer Hohlwelle ausgestattet werden muss. Ich erkundige mich auch hier nochmal in diese Richtung. Zur Trägheit des Kopfes: Auch hier helfen starke Motoren
    Die pneumatische Lösung scheidet aus, da wir die Kraft nur sehr schlecht korrigieren können, mit der die Nozzle dann herunterfährt. Pneumatische Ventile mit Druckregelung sind viel zu teuer (Diejenigen, die mit pneumatischen Muskeln hantieren wissen das ) und man benötigt trotzdem noch eine Z Achse, damit man den Fokuspunkt bei verschiedenen Bauteilehöhen sauber einstellen kann. Ein unscharfes Bild lässt den Rechner die Bauteile nicht erkennen.


    Mit deiner Liste bin ich soweit einverstanden. Wie stehst du zu CNC Steuerungen? Mit einer Steuerung, die G-Code interpretiert und danach handelt lässt sich der Sicherheitsaspekt sehr gut verwirklichen: Die Steuerungen haben vom Gesetz her schon eine solche Sicherung eingebaut und würden uns eine Menge Arbeit abnehmen (Ansteuerung der Endstufen, Sicherheitsabschaltung, Motorregelung, Arbeitsraumüberwachung, usw), unter anderem würde eine Steuerung auch die (eine) Schnittstelle zwischen Maschine und Rechner bilden.


    Füge deiner Liste bitte noch folgendes hinzu:
    - Plexiglasumhausung mit "Tor geöffnet" Schalter, der mit dem Hardware-Endschalter in Serie geschalten ist. (So wird vermieden, dass jemand dort rein langt und sich die Finger bricht: die kleinen Motoren haben mit den Spindeln zusammen eine ordentliche Kraft.


    ToDo für mich:
    - Verfügbare Spindelsteigungen zusammentragen und entsprechende Genauigkeiten festhalten
    - Hohlwellenmotor für Theta Achse auswählen
    - Blockbild neu erstellen
    - Unterteilung in Makros die von der Steuerung ausgeführt werden können und wo noch Aktion vom Programm erforderlich ist erstellen
    - Struktogramm für das Programm zum obigen Punkt erstellen (Die G-Codes müssen dynamisch erzeugt werden, Stichwort Offset, Rotation, etc).


    Todo für dich:
    - Mir den Code schicken
    - Übersichtsplan über die Maschine erstellen (Wo kommen die Bauteile her, wo ist der Arbeitsbereich, wo liegen die Trays, wo werden die Gurte liegen) und die ungefähre Größe abschätzen
    - Anzahl der Platinen, die bestückt werden festlegen (Eurokartenformat reicht?)
    - Weitere Dinge?


    Telefonieren ist gut. Werden wir aber auf nächstes Wochenende verschieben müssen. Ich schicke dir meine Nummer per PN (wenn ich heute abend noch daran denke ). Vielleicht melde ich mich heute abend noch einmal wenn die Ideen sprießen

    Zu Schrittmotoren: http://www.rn-wissen.de/index.php/Schrittmotoren
    Geändert von einballimwas (17.03.2012 um 14:23 Uhr)

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    51
    Beiträge
    46
    Zitat Zitat von einballimwas Beitrag anzeigen
    Kein Problem, lass dir Zeit mit den Bildern. Sowas ist nicht von heute auf morgen gebaut und wird es auch nie werden. Ich sag' da immer: "Take your time! Nobody will die!"


    Ich habe das Gefühl, im Thema "Programm" reden wir aneinander vorbei! Meine Definitionen:


    "Programm": Software, die auf dem Rechner läuft mit Bedienoberfläche und Erkennung der Bilder von der Kamera. Also eine auf dem Rechner ausführbare Datei. Das ist das, woran ich gerade dran bin. Dieses Programm braucht aber eine Schnittstelle zur Hardware, also zur Steuerung der Motoren (die werden so gut wie nie direkt vom Rechner gesteuert). Dafür gibt es NC's, Numeric Controls. Damit wären wir auch schon beim


    "G-code" oder "NC Befehle" sind Befehle in der Form:
    N3 T0*57
    N4 G92 E0*67
    N5 G28*22
    N6 G1 F1500.0*82
    N7 G1 X2.0 Y2.0 F3000.0*85
    N8 G1 X3.0 Y3.0*33
    OK, ich bin etwas Berufsgeschädigt
    Auf meiner Arbeit ist mit "Programm" immer das Bestück-Programm gemeint, sprich das Paket aus NC-Programm, Arry-Programm, Nozzle-Library, Part-Library, usw...
    Ich werde versuchen diese nun "Daten" zu nennen statt "Programm" (also Bestück-Daten, welche die NC-Daten usw. enthalten).


    Zitat Zitat von einballimwas Beitrag anzeigen
    Diese Codes sind weitestgehend standardisiert und sind somit auf allen Steuerungen ausführbar. Das hat den Vorteil, dass man jede Steuerung (nun sei einmal dahingestellt ob USB, Parallelport oder Netzwerk) verwenden kann, die solche G-Codes verarbeiten kann. Nutzen wir unseren eigenen Code oder den Code, der für Panasonic Maschinen entwickelt wurde (wenn er denn vom Standard abweicht) dann müssen wir auch eine Steuerung von Panasonic nutzen was mir und meinem Budget gar nicht gefallen würde. Die sind nämlich auch jenseits der tausend. Weiterhin haben wir dann proprietären Code verwendet, wofür man uns zur Rechenschaft ziehen könnte und Lizenzgebühren verlangen kann. Wenn du magst, kannst du mir mal per PN ein kleines Schnipselchen G-Code bestehend aus 20-50 Zeilen schicken, dann gucke ich mir das an, ob das dem Standard entspricht oder nicht. Ich bin mir da mit mir selbst noch nicht ganz im Reinen, ob ich mich in diesem Punkt auf eine Diskussion einlassen will. Der einfache Grund dafür ist, dass ich den ganzen proprietären Mist hasse. Lizenzgebühren, Inkompatibilität und so weiter verabscheue ich zutiefst. Ein Konverter ist, wenn das ganze erst einmal läuft, auch recht schnell gebaut. Das größte Problem wird sein, die Koordinaten umzurechnen. Dafür findet sich aber sicher auchnoch eine Lösung.
    Kein Problem, wenn das ebenfalls standardisiert ist kann man das gerne nehmen, ich bin da flexibel. Einen Konverter zu schreiben sollte auch keine große Sache sein. Die Koordinaten umzurechnen halte ich eher für das geringste Problem


    Zitat Zitat von einballimwas Beitrag anzeigen
    Gut erkannt, mein Blockbild hat einen Fehler. Ich hatte ursprünglich eingeplant, zu erkennen ob überhaupt ein Bauteil im Gurt / Tray ist. Das kann man natürlich weglassen, zumal deine Gründe wirklich überzeugend sind. Dann werde ich das noch rausnehmen. Ich sitze gerade in der Hochschule, kann daher nicht auf die Daten meines Rechners zugreifen. Wenn alles klappt, dann lade ich den korrigierten Ablauf heute noch einmal hoch.
    Eilt ja nicht...


    Zitat Zitat von einballimwas Beitrag anzeigen
    Der Grund, direkt drei "starke" Motoren zu nehmen ist erst einmal grundsätzlich der möglichen Erweiterung und anderen Eventualitäten geschuldet. Wenn man halbwegs hohe Geschwindigkeiten erreichen möchte, so muss man auch entsprechend Kraft aufwenden. Bei Spindeln mit kleiner Steigung ist die Kraft mehr oder weniger egal, da sowieso eine Art Untersetzung gegeben ist. Wenn man nun aber ein wenig schneller werden will, hat man zwei Möglichkeiten: Entweder man lässt den Motor schneller drehen, oder man nimmt eine Spindel mit größerer Steigung. Ein schnell drehender Motor hat weniger Kraft. Das geht aus den Datenblättern der jeweiligen Motoren hervor. Eine Spindel mit größerer Steigung bietet keine so große Untersetzung, wie eine Spindel mit vergleichsweise geringer Steigung. Ich würde gerne überdimensionieren, sonst kann es sein, dass ich zweimal kaufen muss. Es wäre sicher auch interessant, wie sich die beiden unterschiedlichen Motoren machen, und ob es die fast 20 Euro an Kostenunterschied wert sind. Das Flanschmaß ist auf jeden Fall das gleiche, ist also kein Problem, die Motoren einfach auszutauschen. Im übrigen ist die Genauigkeit eher kein Problem: 1,8°/Schritt macht 200 Schritte pro Umdrehung. Die Spindelsteigung wird in mm/Umdrehung angegeben. Eine typische Spindelsteigung ist 5, was bedeuten würde, wir hätten eine Auflösung von 5/200 oder 0,025mm. Mit den 0,9°/Schritt haben wir die doppelte Auflösung: 0,0125mm. Bei 1000 Schritten pro Sekunde macht das 1,25 cm pro Sekunde ... Das ist absolut langsam. Nehmen wir eine Spindel mit der Steigung 10, dann haben wir 10/200 -> 1/20tel Genauigkeit in dieser Achsenrichtung also 0,05 mm, aber dafür eine Verfahrgeschwindigkeit von 5cm/Sekunde. Da muss ich mich auch noch einmal ransetzen und ausloten, welche Spindeln es gibt und welche Auflösung wir brauchen. Im Prinzip genügt selbst bei 0201 Bestückung eine Auflösung von 1/10mm. Können wir das so ins Pflichtenheft übernehmen? Einwände?
    Vielen Dank für die perfekte Erklärung. Das klingt alles sehr logisch. Keine Einwände, das hat alles Hand und Fuß.
    Idee: Wenn ich das richtig verstanden habe, dann wäre das Problem der Genauigkeit ja nicht ein mechanisches Spiel, sondern die ansonsten fehlende Geschwindigkeit. Mal angenommen ich würde eine Spindel nehmen, mit der ich nur eine Genauigkeit von einen Millimeter schaffen würde, dafür wäre der Kopf rasend schnell. Würde ich nun einen 2. Motor benutzen, mit dem ich das Lager selber drehen kann wäre eine Wahnsinns-Genauigkeit mit einer hoher Geschwindigleit kombinierbar, oder? Verstehst du was ich meine? Das Lager der Spindel wäre dann also nicht fest verschraubt, sondern würde minimal drehbar sein.
    Ein Beispiel: ein Motor katapultiert den Kopf rasend schnell (wegen der großen Steigung der Spindel) über die LP, zeitgleich dreht der 2. Motor das Lager maximal eine Umdrehung (in 400 Schritten/Umdrehung). Somit könnte man die "grobe Spindel" ein 400faches genauer machen. Im Beispiel 1 mm Genauigkeit kämen wir so auf 0,0025 mm Genauigkeit. OK, das Beispiel hat einen Haken, weil da kein mechanisches Spiel eingerechnet ist, aber dennoch könnte man auf dieser Weise eine erhebliche Verbesserung der Genauigkeit erreichen, oder habe ich hier einen Denkfehler?


    Zitat Zitat von einballimwas Beitrag anzeigen
    Mit dem Holz hast du wieder recht. Ist vermutlich auch besser so. Ich werde deinem Beispiel folgen. Wie sagt man? Jung und ungestüm
    Ich habe den Vorteil, dass ich Zugang zu einer NC gesteuerten Fräse habe (auch wenn ich mehr über die Technik weiß, als über das eigentliche Fräsen/Die Mechanik dahinter - Bin nur Elektrotechniker ), weshalb es wohl größtenteils auch an mir ist, die Teile zu fertigen (zumindest die Teile, die wirklich schon aus Alu sein müssen. Ich denke da an die Flansche der Motoren und an die Spindel, die vorgespannt werden muss. In Holz kann man schlecht Kugellager einpressen .
    Genial, dass du da an der Quelle sitzt. Du würdest mir die Teile dann doch sicher auch kostengünstig herstellen, oder?


    Zitat Zitat von einballimwas Beitrag anzeigen
    Zur Theta Achse (Habe ich vorher noch nie bezeichnet, ich nehme aber mal an, dass du die Achse zur Rotation der Teile meinst.): Da reicht ein sehr sehr kleiner Steppermotor, der allerdings mit einer Hohlwelle ausgestattet werden muss. Ich erkundige mich auch hier nochmal in diese Richtung. Zur Trägheit des Kopfes: Auch hier helfen starke Motoren
    Die pneumatische Lösung scheidet aus, da wir die Kraft nur sehr schlecht korrigieren können, mit der die Nozzle dann herunterfährt. Pneumatische Ventile mit Druckregelung sind viel zu teuer (Diejenigen, die mit pneumatischen Muskeln hantieren wissen das ) und man benötigt trotzdem noch eine Z Achse, damit man den Fokuspunkt bei verschiedenen Bauteilehöhen sauber einstellen kann. Ein unscharfes Bild lässt den Rechner die Bauteile nicht erkennen.
    Stimmt, damit wäre diese Entscheidung auch gefallen. Es gibt jedoch eine Alternative zur Hohlwelle:
    Man kann ein sehr feines Gewinde benutzen und die Nozzle dadurch drehen. Der dadurch resultierende Versatz in X kann ja einberechnet werden. Das wäre vielleicht einfacher zu bauen und weniger Störanfällig wie eine Hohlachse.
    Und ja, die Theta-Achse ist die Achse für die Drehung. X-Achse (links-rechts), Y-Achse (vor-zurück), Z-Achse (Höhe), Theta-Achse (Drehung). In den professionellen Automaten gibt es noch mehr Achsen, die benötigen wir jedoch nicht. Nur um mal welche genannt zu haben: TW-Axis (Traywechsler), Rail-Axis (zum Einstellen der Spurbreite), usw.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Mit deiner Liste bin ich soweit einverstanden. Wie stehst du zu CNC Steuerungen? Mit einer Steuerung, die G-Code interpretiert und danach handelt lässt sich der Sicherheitsaspekt sehr gut verwirklichen: Die Steuerungen haben vom Gesetz her schon eine solche Sicherung eingebaut und würden uns eine Menge Arbeit abnehmen (Ansteuerung der Endstufen, Sicherheitsabschaltung, Motorregelung, Arbeitsraumüberwachung, usw), unter anderem würde eine Steuerung auch die (eine) Schnittstelle zwischen Maschine und Rechner bilden.
    Solange es eine Norm gibt bin ich mit allem einverstanden. Eine CNC-Steuerung unterscheidet sich ja auch nicht sonderlich (wenn überhaupt). In beiden Fällen brauchen wir X/Y/Z-Koordinaten. Beim Bestücken ist der Ablauf so, dass zuerst die Koordinaten angefahren werden und dann erst die Z-Achse bewegt wird. Erst wenn die Z-Achse zurück in der Grundstellung ist verfahren X und Y wieder. Wichtig ist auch die Geschwindigkeit. Man kann mit einem großen Stecker an der Nozzle sicher nicht so schnell verfahren wie mit einem SO8, das gleiche gilt für die Bauteildrehung.
    Ich wäre dafür die Geschwindigkeit langsam zu steigern, so dass weniger Kräfte auf das Bauteil wirken. Sagen wir einfach mal dass die "Höchstgeschwindigkeit" erst nach einem cm erreicht wird und dass die Geschwindigkeit bereits ein cm vor dem Ziel reduziert wird. Die Beschleunigung und Verzögerung sind die Momente in denen die größte Kraft auf dem Bauteil wirkt, sprich da ist die Gefahr am größten dass man das Bauteil verliert oder dass es verrutscht.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Füge deiner Liste bitte noch folgendes hinzu:
    - Plexiglasumhausung mit "Tor geöffnet" Schalter, der mit dem Hardware-Endschalter in Serie geschalten ist. (So wird vermieden, dass jemand dort rein langt und sich die Finger bricht: die kleinen Motoren haben mit den Spindeln zusammen eine ordentliche Kraft.
    Wenn du das wünschst können wir das einbauen. Ich würde jedoch vorschlagen dass der Safety-Fall etwas anders behandelt wird wie der Hardware-Endschalter-Fall.
    Begründung: Wenn der Hardware-Endschalter erreicht wird soll der Motor "schlagartig" stehen bleiben. Das ist sicher nicht gerade gesund für die Lager. Im Software-Endschalter-Fall soll der Motor zwar auch stehen bleiben, aber nicht "schlagartig". Da kann noch ein mm "Bremsweg" gegeben werden. Dieser Millimeter ist im Bruchteil einer Sekunde vorbei (bei einer Spindel mit großer Steigung und starken Motoren), jedoch schont dieser Millimeter "Bremsweg" die Lager. Den Safty-Fall würde ich daher lieber so handhaben wie den Software-Endschalter. Aber wenn du den schlagartigen Stillstand wünscht können wir das auch so machen.
    Fühl dich frei die Liste zu erweitern/ändern. Es wäre aber gut wenn man die Änderungen irgendwie Kursiv/Fett oder anderswie hervorhebt, damit man nicht so lange den "vorher/nachher" Vergleich machen muss.


    Zitat Zitat von einballimwas Beitrag anzeigen
    ToDo für mich:
    - Verfügbare Spindelsteigungen zusammentragen und entsprechende Genauigkeiten festhalten
    - Hohlwellenmotor für Theta Achse auswählen
    - Blockbild neu erstellen
    - Unterteilung in Makros die von der Steuerung ausgeführt werden können und wo noch Aktion vom Programm erforderlich ist erstellen
    - Struktogramm für das Programm zum obigen Punkt erstellen (Die G-Codes müssen dynamisch erzeugt werden, Stichwort Offset, Rotation, etc).
    Vielleicht sollten wir auch prüfen welche Spindeln überhaupt erhältlich (bezahlbar) sind. Was hälst du von der Hohlwellen-Alternative?
    Was hälst du von dem "drehbaren Lager" der Spindel, um die Genauigkeit zu erhöhen?


    Zitat Zitat von einballimwas Beitrag anzeigen
    Todo für dich:
    - Mir den Code schicken
    - Übersichtsplan über die Maschine erstellen (Wo kommen die Bauteile her, wo ist der Arbeitsbereich, wo liegen die Trays, wo werden die Gurte liegen) und die ungefähre Größe abschätzen
    - Anzahl der Platinen, die bestückt werden festlegen (Eurokartenformat reicht?)
    - Weitere Dinge?
    OK, den Code kann ich dir aber erst schicken nachdem ich wieder in der Arbeit war
    Die Lage der Gurte/Trays würde ich abhängig machen von der Bauform der Maschine, aber ich kann ja mal ein Plan machen wie ich mir das allgemein vorgestellt habe.
    Die Anzahl der Platinen ist ja eigentlich unwichtig, oder meinst du "Nutzen" (mehrere LPs zusammen)? ...das wäre dann ja nur eine Frage der Größe. Ich wäre dafür dass man auch "große" LPs bestücken kann, denn vielleicht kann ich die Maschine wirklich mal zur Prototyp-Herstellung nutzen. Die Größe der LP ist in den meisten SMD-Firmen durch die Magazine begrenzt. Die Bestückautomaten, Öfen und Transportbänder könnten allesamt größere LPs verarbeiten, aber die LPs werden (abgesehen von Sonderfällen) in Magazinen aufbewahrt, deswegen ist das in wahrscheinlich 95% aller Fälle die maximale Größe.
    Beispiel für ein Magazin wie es in automatischen Bestücklinien Verwendung findet.
    Anzustreben wäre von daher eine maximale LP-Größe von ca. 350x250 mm (damit könnte man wahrscheinlich 95% aller LPs bestücken). Professionelle Bestückautomaten können auch erheblich größere LPs bestücken, aber da diese meist wegen den anderen Komponenten einer Bestück-Linie nicht automatisch produziert werden können beschränken sich die meisten Hersteller auf die Maße welche "von vorne bis hinten" durchlaufen können. Das "Nadelöhr" ist in der Regel das Magazin.


    Zitat Zitat von einballimwas Beitrag anzeigen
    Danke, ich habe vorhin die Beschreibung zum Pollin-Motor gelesen, da war mir die Funkionsweise schon klar geworden

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Naja, geschädigt sind wir alle. Entweder im Beruf oder in anderen Dingen. Ich spreche aus Erfahrung :P Das schreit allerdings nach Begriffsdefinitionen (vielleicht auch für andere, die noch nicht so "viel" Erfahrung haben in Pick&Place Maschinenbau).
    Ich mache mal den Anfang: Edit: Dokument verlinkt - lässt sich leider nicht hochladen mit Chrome http://www.file-upload.net/download-...grdef.pdf.html

    Das wäre es für's erste. Fällt dir dazu noch etwas ein? Mir jedenfalls (noch) nicht.


    G-Codes sind nicht Standard, sie wurden nur einmal als ISO Standard definiert. Leider nutzen die Hersteller immer wieder andere Codes, so dass die Programme untereinander eben nicht immer kompatibel sind. Eigentlich schade.

    Die Teile fertige ich dir dann für den Materialaufwand. Zumindest das, was ich fertigen kann. Wie gesagt, ich bin ein Greenhorn auf dem Gebiet CNC Zerspanungstechnik.

    Die Gewindeidee verstehe ich nicht so ganz, tut mir Leid. Meinst du, die Nozzle wie ein Zahnrad auslegen und dann per Gewinde drehen? Hmm, noch mehr zu kompensieren, noch mehr Programmieraufwand, noch mehr Komplexität. Das "KISS" Prinzip (Keep It Simple, Stupid! - Halte es gefälligst einfach, Idiot!) ist das beste, was wir momentan verfolgen können. Wir müssen sowieso so viel bedenken, dass wir da ganze leicht den Überblick verlieren können. Ich habe jetzt allerdings mal nach Motoren geschaut - Die beginnen bei 70 Euro pro Motor ... Viel zu viel. Daher würde ich vorschlagen, wir machen das ganze über einen Riemenantrieb mit Untersetzung. Da wir ja sowieso keine Kraft zum drehen brauchen kann der Motor sehr sehr klein sein und auch eine relativ grobe Auflösung haben. Bei 1,8°/Schritt haben wir bei 2:1 Untersetzung schon eine 0,9°/Schritt Auflösung an der Nozzle. Die Drehung muss ja nicht schnell gemacht werden und kann ein wenig Zeit in Anspruch nehmen. Wobei ich auch da zuversichtlich sind, dass wir die Bauteile in weniger als einer Sekunde gedreht bekommen.

    Das was du meinst, die langsame Erhöhung der Geschwindigkeit, nennt sich Rampe und wird bereits von der NC Steuerung implementiert.Mit der unterschiedliche Behandlung des Safety Falls bin ich einverstanden. Könntest du ein Zustandsdiagramm zu den verschiedenen Fehlerzuständen entwerfen? Das würde mir sehr helfen.

    Die Liste werde ich erst einmal in LaTeX Form übernehmen, so dass man ein kleines Verzeichnis auf einem Webserver erstellen kann, um nicht immer alles hier reinposten zu müssen (Liste in LaTeX ist erledigt, am Webserver arbeite ich noch).

    Spindeln gibt es in den Steigungen 2 3 4 5 6 10 und alles drüber wird glaube ich als Hochgeschwindigkeitsspindel verkauft. Da muss ich mich aber noch einmal mit meinem CNC'ler kurzschließen und nachfragen. Nächste Woche haben wir eine Antwort. Bis dahin kannst du dich mal bei http://www.cnc-shop.mobasi.com/ umschauen, um dir eine Übersicht der Preise zu verschaffen.

    Das mit dem drehbaren Lager ist teuer, unsicher und führt zu nichts. Da nimmst du lieber kräftige Servomotoren mit einer jeweiligen Endstufe (400W oderso), die du dann in ihrer Schrittanzahl konfigurieren kannst. Das Ergebnis sind steile Rampen, hohe Genauigkeit (eigentlich beliebig), schnelle Verfahrgeschwindigkeiten (die Motoren liegen bei 6000RPM, was bei einer Steigung von 10mm/Umdrehung genau 1m/s Verfahrgeschwindigkeit macht) Für Motor und Endstufe zusammen legst du aber ab 500€+ hin und davon brauchst du mindestens 2. Die kommen dann in die zweite Revision der Pick and Place Maschine (Hörst du das teuflische Lachen in deinem Hinterkopf? ).

    Mechanisches Spiel ist so gut wie nicht vorhanden, da die Komponenten entsprechend teuer sind (Linearführungen, INA oder ähnliche und Kugelumlaufspindeln mit Vorspannung). Die sind allerdings auch bitter nötig, sonst geht die Genauigkeit flöten! Billiger geht hier echt nimmer!

    Mit der Anzahl der Platinen meinte ich eigentlich die grobe Geometrie der Maschine (Arbeitsbereich, Zuführbereich, wo kommt was hin?) und deren Größe. DU hast da sehr viel mehr Erfahrung als ich und weißt, wie groß der Arbeitsbereich und der Abholbereich sein muss, etc, usw. Einfach eine Zeichnung machen, einscannen oder Foto von machen, oder direkt am Rechner machen.

    Heute mal ein bisschen weniger von mir, bin mit den anderen Dingen beschäftigt, wie sortieren der Anforderungen und Zusammenfassen der Daten.

    Edit: Mach nie den Fehler und gehe auf "Erweitert" beim Editieren. Dir wird es die ganze Formatierung verhauen.
    Geändert von einballimwas (18.03.2012 um 09:46 Uhr) Grund: Dokument eingefügt für übersichtlicheren Post

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    09.03.2012
    Ort
    AN
    Alter
    51
    Beiträge
    46
    Ich würde die Definierung der Boardkamera ändern.
    Man kann damit zwar auch die Abholposition teachen, allerdings ist die eigentliche Aufgabe dieser Kamera die LP anzusehen (LP = PCB = Printed Circuit Board). Die Lage der LP wird über Passer-Marken erkennt und Abweichungen vom "Soll-Wert" werden beim Bestücken berücksichtigt. Wenn eine LP nur einen halben Millimeter vom Stopper entfernt liegt (z.B. wegen einem dünnen Randstreifen zurück gefedert), dann würde ohne der Boardkamera ein Versatz von einem halben Millimeter (bei jedem Bauteil) entstehen. Das gleiche gilt für die Verdrehung der LP. Uralt-Bestücker hatten teilweise noch Positioning-Pins benutzt um eine LP exakt in die richtige Position zu bekommen, jedoch waren diese recht störanfällig und zudem auch noch recht ungenau. Die immer kleiner werdenden Bauteile machten die Board-Kamera schließlich zu einem absoluten "must have".

    Die Gewindeidee ist folgende. Stell dir eine Schraube vor, die in einer Mutter steckt. Die eine Seite der Schraube befestigen wir direkt mit der Welle des Schrittmotors. An der anderen Seite befestigen wir die Nozzle. Nun könnte man die Nozzle drehen ohne eine Hohlwelle zu benötigen. Da sowieso nur 180° in beiden Richtungen nötig wären würde sich die Nozzle bei einem feinen Gewinde nur minimal auf- und ab bewegen. Dieses könnte man Softwaremäßig wieder ausgleichen. Beispiel: Das Bauteil soll 90° gedreht werden, dann würde die Schraube eine viertel Umdrehung "rein" geschraubt werden, sprich etwas tiefer kommen. Je nach Gewinde wären das z.B. 0,2mm , welche beim setzen des Bauteils berücksichtigt werden würden und die Nozzle dementsprechend 0,2mm weniger tief fährt als bei 0°. Das wäre billig und robust. Der Programmieraufwand wäre nur minimal mehr .

    Beispiel mit einem M5 Feingewinde (Steigung 0,5mm):
    if (theta > 180) { theta := theta -360 }
    z := z - ( theta * 0.0013888 )

    Erklärung:
    if (theta > 180) { theta := theta -360 } --> Um maximal eine halbe Umdrehung drehen zu müssen
    1° bis 180° würden "vorwärts" gedreht, 181° bis 359° würden "rückwärts" gedreht.
    90° bleiben 90°, aus 270° wird -90°

    z := z - ( theta * 0.0013888 ) --> eine Umdrehung sind 0,5mm. 1° sind also 0,0013888 mm

    0° ---> z - ( 0 * 0.0013888 ) ---> z - 0 ---> Z bleibt unverändert
    90° ---> z - ( 90 * 0.0013888 ) ---> z - 0.124992 ---> Z würde um 0,125 mm geringer (weil wir die Schraube "rein gedreht" haben und die Nozzle nun ja schon diese 0,125 mm tiefer ist)
    180° ---> z - ( 180 * 0.0013888 ) ---> z - 0.249984 ---> Z würde um 0,25 mm geringer
    181° ---> z - ( -179 * 0.0013888 ) ---> z - -0.2485952 ---> z +0.2485952 ---> Z würde um 0.25 mm mehr (weil wir ab 180° die Schraube "raus drehen und die Nozzle somit zu weit weg ist)
    270° ---> z - ( -90 * 0.0013888 ) ---> z - -0.124992 ---> z +0.124992 ---> Z würde um 0.125 mm mehr

    Ich denke diese 2 Zeilen mehr Programmieraufwand sollten keine allzu große Hürde darstellen. Ansonsten geht das auch mit einer Zeile: if (theta > 180) { z := z - ( (theta - 360) * 0.0013888 ) }


    Zu den Riemen...
    Meinst du nun lediglich die Theta-Achse, oder willst du die Riemen auch für die X- und Y-Achse verwenden?
    Wenn ja, wo genau ist da dann der Vorteil (z.B. gegenüber dem Pollin-Motor für 30 Euro)?

    Was genau meinst du mit Zustandsdiagramm? Gib bitte mal ein Beispiel.

    Das mit dem drehbaren Lager ist teuer, unsicher und führt zu nichts. Da nimmst du lieber kräftige Servomotoren mit einer jeweiligen Endstufe (400W oderso)
    Und die sind dann nicht teuer?
    Man muss ja nicht das Lager drehbar machen, man kann auch die Motorhalterung drehbar machen.
    Beispiel: Der Hochgeschwindigkeitsmotor ist an einer Alu-Platte verschraubt, welche lediglich auf die Spindel gesteckt ist. Nun würde sich der Motor samt Alu-Platte drehen, statt der Spindel ...
    ...wenn man nun aber am Rand der Alu-Platte ein paar Zähne fräst und in diesen ein Zahnrad des 2. Motors greift (welcher fest verschraubt ist) kann sich die Alu-Platte nicht mitdrehen (also dreht sich die Spindel), aber der 2. Motor wäre in der Lage die Alu-Platte mit de Hochgeschwindigkeitsmotor (und somit) auch die Spindel zu bewegen. Da der Motor die Alu-Platte nur ganz minimal drehen müsste könnte man mit einer Mords-Übersetzung arbeiten, was zum einen eine super Genauigkeit geben würde und zum anderen sicherstellen würde dass der Highspeedmotor nicht den Feineinstellungsmotor verdrehen kann.
    Aber das ist auch nur eine Idee, diese muss ja nicht unbedingt verfolgt werden.
    Mein Problem ist aber dass ich nicht mal schnell 500 Euro auspacken kann für die Motoren. 500 Euro Gesamtkosten wären noch akzeptabel, aber die Sensoren, Kamera, usw. bekommt man auch nicht geschenkt.
    Klar, mit solchen Motoren könnte man einen leichten Kopf mit Schallgeschwindigkeit durch die Gegend scheuchen, aber für ein "Bastelprojekt" mit dem ich kein Geld verdienen kann ist mir das derzeit doch recht viel.
    Mal angenommen ich würde mit meinem DIY-Bestücker Prototypen für meine Arbeit fertigen und dafür bezahlt werden, dann wäre das gar kein Thema (dann wäre das nur eine Investition), aber die Chancen sind leider mehr als gering.
    Ich bin ja schon von von den Tintenstrahldrucker-Schrittmotoren weg und bereit stärkere zu kaufen, aber der von Pollin für 30 Euro (dazu die Steuerung für 13 Euro/Stück) sollten doch auch ausreichen, oder?
    Dann kommen noch die Spindeln, Sensoren, Kameras, Nozzlen, usw.
    Die hohe Umdrehung der teuren Motoren ist laut dem Schrittmotoren-Beitrag auch nicht sonderlich effizient, wegen der Induktion.

    Ich arbeite zwar seit über 10 Jahren als Einsteller für SMD-Linien, aber der Arbeitsbereich dieser Maschinen ist da nicht sonderlich empfehlenswert für unser Projekt. Professionelle Maschinen arbeiten vollautomatisch. Unser Bestücker soll zwar auch vollautomatisch laufen, aber das ist ja nur für "einzelne" LPs. Wir brauchen also kein Transportband, keinen Traywechsler, keine Feeder, Tischklemmung, usw.
    Es gibt auch Semi-Automatische Bestückautomaten, aber damit kenne ich mich nicht aus (ich kenne nur Siemens und Panasonic Bestückautomaten, welche für die Serienproduktion gedacht sind).
    Der Arbeitsbereich ist aber recht einfach zu definieren.
    Die Nozzle muss jede Position der LP erreichen können, sowie alle Abholpositionen erreiche können. Dazu muss man noch ein paar Millimeter Sicherheitsabstand rechnen (für die Endschalter, usw.)
    Es gibt verschiedene Möglichkeiten:
    -Man könnte die Bauteile "in der Maschine" platzieren. Das spart Platz und verringert die Verfahrwege (also gut für die Geschwindigkeit). Das hat aber auch einen Nachteil. Man kann die Bauteile immer nur dann ersetzen wenn die Maschine steht.
    -Man kann die Bauteile "neben" der Maschine platzieren. Das erfordert jedoch längere Spindeln, usw. Diese Methode würde es ermöglichen dass man die Bauteile wechseln kann während die Maschine läuft. Um das zu realisieren (also den Bauteilwechsel während der Bestückung) muss man entweder seine Finger riskieren ...oder man macht folgendes:
    Wenn die Bauteile z.B. rings herum liegen (4 Bereiche), dann könnte man es so programmieren, dass ein Bereich automatisch gesperrt wird sobald da etwas leer ist. Der Bestücker könnte dann alle Bauteile auslassen, die in diesem Bereich sind. Nun könnte man die Bauteile in diesem Bereich auffüllen während die Maschine mit den anderen Bereichen weiter arbeitet. Sobald dieser Bereich wieder fertig ist quittiert man dieses und die ausgelassenen Bauteile werden nachbestückt.
    Das wäre mein Favorit, denn vor allem Trays nehmen recht viel Platz in Anspruch und durch die 4 Bereiche würde man natürlich mehr Bauteile unterbringen als wenn die Bauteile "in der Maschine" liegen.
    Es gäbe dann noch die Möglichkeit dass die Maschine verschiedene "Platten" herein zieht und diese selber wechseln kann (quasi ein Traywechsler, den man auch für Gurtstreifen nutzen könnte), aber das wäre recht aufwändig und teuer.

    Ich habe gerade mal auf "Erweitert" geklickt, aber bei mir hat er nichts durcheinander gehauen (habe mich natürlich vorher per Copy&Paste abgesichert)
    Geändert von Holle (18.03.2012 um 22:09 Uhr) Grund: 8) zu 8 ) geändert, wegen den Smileys

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.05.2007
    Beiträge
    170
    Habe die Definition mal um die Passermarken erweitert.


    Das mit der Gewindeidee leuchtet ein, kompensieren muss man das ja garnicht, wenn man die Federung 3-4mm groß macht. Ich habe gleich wieder von Monstern gelesen, als ich deine Idee durchdenken wollte. Verzeih es mir, ich bin Perfektionist
    Stellt sich die Frage, wie man die Nozzle dann unter der Gewindestange befestigt und wie man dan das Vakuum dort hin bringt. Da bräuchte man einen Gewebeverstärkten Schlauch, der sich um die 360° problemlos mitdrehen lässt.


    Die Riemenidee kam mir zwischendurch wieder. DIe ist natürlich nur für die Theta Achse geeignet, da eine Untersetzung die anderen Achsen nur noch langsamer machen würde: http://www.youtube.com/watch?v=Deq2ZG6usIs
    So in etwa habe ich mir das gedacht. Nein, genau so habe ich mir das gedacht


    Der Vorteil des ganzen ist, das wir wieder eine Art Hohlwelle haben, nur diesmal nicht im Motor und eine ganze Stange Geld weniger ausgeben müssen. Mit der Hohlwelle hätten wir den Vorteil, das Vakuum nicht mit einem Schlauch unterhalb der Kamera und unterhalb des Kopfes mitführen zu müssen. Schläuche werden spröde. Dummerweise weiß ich nicht, wie schnell sowas geschieht. Kann also auch sein, dass mein Einwand total unberechtigt ist.


    Mit dem Zustandsdiagramm meine ich das hier: http://www.imn.htwk-leipzig.de/~weic...KI-history.jpg
    Nur eben mit den verschiedenen Zuständen (OPERATE, FEHLER, weitere!?) und was man tun muss, um vom einen in den anderen Zustand zu gelangen zeigen dann die Pfeile.


    Deine Idee mit den zwei Motoren ist soweit gar nicht schlecht. Die Sache hat nur zwei Haken: Einerseits brauchen wir eine zusätzliche Achse, um den zusätzlichen Motor zu steuern, was bedeutet, dass uns so langsam die Achsen ausgehen. NC Steuerungen sind nämlich meist auf 4 Achsen ausgelegt, die wir bereits mit X,Y Z und Theta ausgenutzt haben. Andererseits muss der Motor, der nicht an der Achse sitzt, dem Drehmoment widerstehen können, wenn der Highspeed Motor loslegt. Damit bräuchtest du aber nicht nur einen stärkeren Motor, du bräuchtest auch noch eine Spielfreie Kraftübertragung, was nicht ganz trivial ist, wenn du das selbst konstruieren willst. Ich würde eher sagen, dass wir es bei direkt getriebenen Spindeln belassen und später dann, wenn die Maschine läuft und Geld da ist, auf kleine Servomotoren umrüsten. Das gibt einen mörderischen Geschwindigkeitsboost. Schritt für Schritt für Schritt. Gute Projekte müssen erst reifen, bevor sie schnell werden


    Hohe Umdrehungszahlen sind niemals effektiv bei Motoren. Alle funktionieren mehr oder weniger nach dem selben Prinzip: Induktion. Und Induktion erzeugt bekanntlich Gegeninduktion.


    500 Euro habe ich auch nicht so mal schnell. Das muss ich mir als Student auch zusammensparen. Hält mich persönlich nicht davon ab, etwas nicht zu tun. Ich habe die Schnauze voll von "kannst du nicht tun" und fahre gut mit


    Die ganze Maschine für maximal 500Euro? Ist ein ehrgeziges Ziel, aber das werden wir schon irgendwie hinbiegen.


    Wie groß soll dann der Bestückbereich werden? Ich finde die Idee mit den Bauteilen um die Bestückungsfläche herum nicht schlecht. Allerdings würde ich nur drei Seiten dazu benutzen: Immer über Bauteile greifen zu müssen, wenn man was am Kopf ändert, eine Platine einlegt, oä, behagt mir nicht. Die Hälfte des Platzes für Trays nutzen finde ich akzeptabel.


    Wie wollen wir die Gurte denn vorschieben? Ich dachte an diese Lösung: http://www.youtube.com/watch?v=h5y0tebV86E


    So langsam geht's ans eingemachte!
    Geändert von einballimwas (19.03.2012 um 09:58 Uhr)

Berechtigungen

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

LiFePO4 Speicher Test