|
|
(392 dazwischenliegende Versionen von 22 Benutzern werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| = Einführung =
| | [[Kategorie:Projekte]] |
| | [[Datei:CNC_Maschine_nach_Neukonstruktion_gerendert.JPG|500px|rechts]] |
|
| |
|
| Ein 3D-Fräsbearbeitungszentrum soll in Gruppenarbeit realisiert werden. Neben der Konstruktion des Bearbeitungszentrum und dessen Montage sollen die drei Achsen mit unterschiedlichen Steuerungen und damit auch mit unterschiedlichen Programmiersprachen realisiert werden. Des Weiteren muss ein zentraler steuerungs-Algorithmus die drei Steuerungen vereinen um Zielvorgaben respektive Koordinaten auf die entsprechenden Achsen zu verteilen.
| |
|
| |
|
| =Fachthemen= | | = Einführung = |
| | | Im [[Praktikum_Produktionstechnik | Praktikum "Produktionstechnik" des 7. Semesters]] im Studiengang Mechatronik (Schwerpunkt "Global Production Systems") wird an einem selbst konzipierten, entwickelten und weiterentwickelten 3D-Bearbeitungszentrum gearbeitet. In Kleingruppen á 2-3 Personen wird die Ansteuerung anhand von unterschiedlicher, in der Industrie und Mikrocontroller-Welt üblichen Automationshardware (Siemens, PHOENIXCONTACT, NationalInstruments, dSPACE, Arduino) selbst erstellt und programmiert. Dies schafft fundierte Kenntnisse über die Funktionsweise einer 3D-Maschine, wie z. B. einer 3-Achs-Fräse oder eines 3D-Druckers. Des Weiteren wurde begonnen, einen zentralen Steuerungs-Algorithmus in Matlab/Simulink zu entwickeln, der die drei Achsen mit ihren unterschiedlichen Treibern mit Zielvorgaben bzw. Koordinaten per [[Broadcast mit RS232]] versorgt. |
| == Komponenten ==
| |
| | |
| === Gecko Drive ===
| |
| | |
| | |
| | |
| === Arduino Mega 2560 ===
| |
| Der Arduino Mega 2560 ist ein Mikrocontroller Board, basierend auf dem ATmega2560 (datasheet). Er verfügt über 54 digitale Input/Output Pins (von denen 14 als PWM Output nutzbar), 16 analoge Inputs, 4 UARTs (Hardware Serial Ports), einen 16 MHz Quarz Oszillator, eine USB Verbindung, eine Strombuchse, einen ICSP Header und einen Reset-Button. Er besitzt alles Notwendige um den Mikrocontroller zu betreiben. Um loszulegen müssen Sie den Arduino Mega 2560 lediglich per USB Kabel mit einem Computer verbinden oder an ein AC-to-DC Netzteil oder eine Batterie anschließen. Der Mega ist mit den meisten für den Arduino Duemilanove und Diecimila entworfenen Shields kompatibel. Der Mega 2560 ist ein Update des Arduino Mega und ersetzt diesen.
| |
| | |
| Der Mega 2560 unterscheidet sich von allen vorherigen Arduino Boards darin, dass er keinen extra FTDI USB-to-Serial Treiber Chip nutzt, sondern einen als USB-To-Serial Converter programmierten ATmega16U2 (in den Versionen bis R2 Atmega8U2).
| |
| | |
| '''Quelle:''' Arduino, http://arduino.cc/de/Main/ArduinoBoardMega2560, Zugriff am 26.11.2013
| |
| | |
| Kennzahlen Arduino Mega 2560
| |
| - Operating Voltage: 5 V
| |
| | |
| - Input Voltage (recommended): 7-12 V
| |
| | |
| - Input Voltage (limits): 6-20 V
| |
| | |
| - Digital I/O Pins: 54 (of which 15 provide PWM output)
| |
| | |
| - Analog Input Pins: 16
| |
| | |
| - DC Current per I/O Pin: 40 mA
| |
| | |
| - DC Current for 3.3V Pin: 50 mA
| |
| | |
| - Flash Memory: 256 KB of which 8 KB used by bootloader
| |
| | |
| - SRAM: 8 KB
| |
| | |
| - EEPROM: 4 KB
| |
| | |
| - Clock Speed: 16 MHz
| |
| | |
| '''Quelle:''' Arduino, http://arduino.cc/de/Main/ArduinoBoardMega2560, Zugriff am 26.11.2013
| |
| | |
| == Achsensteuerung mit SPS ==
| |
| | |
| == Achsensteuerung mit µController ==
| |
| === Aufgabenstellung ===
| |
| Ein 3D-Fräsbearbeitungszentrum soll in Gruppenarbeit realisiert werden. Neben der Konstruktion des Bearbeitungszentrum und dessen Montage werden die drei Achsen mit unterschiedlichen Programmiersprachen und Steuerungen realisiert. Des Weiteren muss ein Algorithmus die drei Steuerungskonzepte vereinen um Zielvorgaben respektive Koordinaten auf die entsprechenden Achsen zu verteilen.
| |
| | |
| Innerhalb dieses HSHL-Wikipedia Eintrags wird die Automatisierung einer Achse mit µC „Arduino Mega“ als Steuerungskonzept vorgestellt.
| |
| | |
| === Regelkreis ===
| |
| Als Regelkreis bezeichnet man ein Wirkungsgefüge, das aus einem Steuerungsprozess mit eingeschalteter Gegenkoppelung besteht.
| |
| | |
| In unserem Fall wird als Sollgröße ein zuvor definierter Weg vorgegeben, der innerhalb des Arduino-Programmes in digitale Signale übersetzt wird. Diese digitalen Signale bzw. Steps nutzt der Schrittmotorcontroller (Geckodrive G201X) um den Schrittmotor der Linearachse anzusteuern. Die rotatorische Bewegung des Antriebes wird mittels Inkrementalgeber erfasst und durch die Programmierung in absolute Distanzen umgerechnet, sodass diese Werte als Rückführgröße übergeben werden können. Die Regeldifferenz errechnet Abweichungen dieser Rückführgröße zum Sollwert, sodass ggf. der Arduino die Maßabweichung ausgleicht. Ziel ist es, dass die Regeldifferenz Null wird. | |
| | |
| === Belegungsplan ===
| |
| Bei der Ansteuerung der Bauteile muss zwischen einem Last- und einem Steuerkreis unterschieden werden. Der Steuerkreis besteht aus einem µc Arduino Mega welcher den Motorcontroller Geckodrive G201X mit den Signalen „step“ für die Schrittanzahl und „direction“ für die Richtungsvorgabe der Bewegung ansteuert.
| |
| Die Spannungsversorgung des Arduino Megas wird über USB bzw. ein Festspannungsnetzteil sichergestellt.
| |
| Der Geckodrive wird durch eine externe Spannungsquelle versorgt. Diese Nennspannung von 24 Volt wird durch den Geckodrive derart geschaltet, sodass der Schrittmotor nach Steuervorgaben betrieben wird.
| |
| Die Bremsvorrichtung des Schrittmotors wird präventiv als Sicherheitseinrichtung bei Spannungsverlust eingesetzt. Deshalb wird diese bei Betrieb der Linieareinheit mit Energie versorgt und damit gelöst bzw. entriegelt.
| |
| | |
| Aus sicherheitstechnischen Gründen müssen beidseitig je ein Endschalter verwendet werden. Die Endschalter registrieren das Erreichen des maximalen Hubweges des Motorschlittens und erzeugen ein Steuersignal welches den Motorschlitten zum Stillstand zwingt und einen definierten Weg in die entgegengesetzte Richtung fahren lässt.
| |
| Der Pulldown-Widerstand wird dazu verwendet um den Eingang bei Nichtbeschaltung auf GND zu „ziehen“ um damit Störsignale zu unterbinden. Zur Sicherheit wird beidseitig je ein weiterer Endschalter benötigt, der am Motorcontroller direkt, durch Verbinden der Anschlusspins 7 und 12, die Spannungsversorgung des Motors zu unterbindet. Hierbei wird allerdings keine Rückmeldung an die Steuerung geliefert, allerdings ist die Stromversorgung sofort unterbrochen, falls die davor installierten Endschlater nicht auslösen.
| |
| | |
| Nachfolgend ist eine mögliche Beschaltung der unterschiedlichen Komponenten detailliert aufgeführt.
| |
| | |
| === Software ===
| |
| ==== Kompatibilitätsermittlung für den Betrieb mit Geckodrive G201 REV-6 ====
| |
| | |
| | |
| ==== Quellcode ====
| |
| Anbei ist der gesamte Quellcode für die Ansteuerung eines Linearmotors mit dem Mikrocontroller Arduino mega abgebildet. Der Quellcode ist mit ausreichenden Kommentaren versehen und wird deshalb nicht näher erläutert.
| |
| | |
| === Arduino Mega 2560 ===
| |
| Der Arduino Mega 2560 ist ein Mikrocontroller Board, basierend auf dem ATmega2560 (datasheet). Er verfügt über 54 digitale Input/Output Pins (von denen 14 als PWM Output nutzbar), 16 analoge Inputs, 4 UARTs (Hardware Serial Ports), einen 16 MHz Quarz Oszillator, eine USB Verbindung, eine Strombuchse, einen ICSP Header und einen Reset-Button. Er besitzt alles Notwendige um den Mikrocontroller zu betreiben. Um loszulegen müssen Sie den Arduino Mega 2560 lediglich per USB Kabel mit einem Computer verbinden oder an ein AC-to-DC Netzteil oder eine Batterie anschließen. Der Mega ist mit den meisten für den Arduino Duemilanove und Diecimila entworfenen Shields kompatibel. Der Mega 2560 ist ein Update des Arduino Mega und ersetzt diesen.
| |
| | |
| Der Mega 2560 unterscheidet sich von allen vorherigen Arduino Boards darin, dass er keinen extra FTDI USB-to-Serial Treiber Chip nutzt, sondern einen als USB-To-Serial Converter programmierten ATmega16U2 (in den Versionen bis R2 Atmega8U2).
| |
| | |
| '''Quelle:''' Arduino, http://arduino.cc/de/Main/ArduinoBoardMega2560, Zugriff am 26.11.2013
| |
| | |
| ==== Kennzahlen Arduino Mega 2560 ====
| |
| - Operating Voltage: 5 V
| |
| | |
| - Input Voltage (recommended): 7-12 V
| |
| | |
| - Input Voltage (limits): 6-20 V
| |
| | |
| - Digital I/O Pins: 54 (of which 15 provide PWM output)
| |
| | |
| - Analog Input Pins: 16
| |
| | |
| - DC Current per I/O Pin: 40 mA
| |
| | |
| - DC Current for 3.3V Pin: 50 mA
| |
| | |
| - Flash Memory: 256 KB of which 8 KB used by bootloader
| |
| | |
| - SRAM: 8 KB
| |
| | |
| - EEPROM: 4 KB
| |
| | |
| - Clock Speed: 16 MHz
| |
| | |
| '''Quelle:''' Arduino, http://arduino.cc/de/Main/ArduinoBoardMega2560, Zugriff am 26.11.2013
| |
| | |
| == Zentraler Steueralgorithmus ==
| |
| | |
| == Konstruktion ==
| |
| === Aufgabe im Fachthema ===
| |
| | |
| Das Fachthema Konstruktion im Rahmen des Praktikums „Produktionstechnik“ umfasst die mechanische Planung und den Aufbau einer CNC-Maschine.
| |
| Es geht hierbei um die Zusammenstellung von Anforderungen bezüglich einer 3-Achs-CNC-Maschine sowie die konstruktive Planung mittels CAD-Modellen und technischen Zeichnungen und die Umsetzung dieser Planung durch die Montage der Maschine.
| |
| | |
| === Erste Überlegungen ===
| |
| Im ersten Schritt wurden Anforderungen an die Maschine, an den Werkzeughalter sowie den Werkstückhalter gesammelt und ein erster Entwurf der Maschine erstellt.
| |
| | |
| ==== Anforderungen ====
| |
| Die gesammelten Anforderungen sind im Folgenden erläutert.
| |
| Um eine präzise Ausführung der Bewegungen zu realisieren, muss der Aufbau sowohl leichtgängig als auch verwindungssteif sein.
| |
| Da die Maschine von mehreren Generationen von Studenten genutzt werden soll, sollte die Bedienung einfach und intuitiv sein.
| |
| Um eine Flexibilität des Gebrauchs zu gewährleisten, sollte die Maschine möglichst leicht im Gewicht sein sowie (ggf. durch teilweise einfache Demontierbarkeit) gut transportierbar.
| |
| Das verwendete Material sollte korrosionsbeständig, preisgünstig sowie mit einfachen Mitteln zu bearbeiten sein. Das Material war zum großen Teil bei Projektaufnahme bereits vorhanden.
| |
| Der Werkzeughalter sollte erweiterbar sein, sodass keine Beschränkung auf zuvor geplante Werkzeuge vorliegt. Der Werkzeughalter sollte entsprechend entweder kompatibel oder leicht zu wechseln sein.
| |
| Durch eine gute Abriebfestigkeit soll eine hohe Genauigkeit sowie eine hohe Haltbarkeit erreicht werden.
| |
| Der Werkstückhalter sollte flexibel sein, sodass Werkstücke unterschiedlicher Form und Größe eingespannt werden können. Außerdem muss er nach Gebrauch leicht zu reinigen und gut transportierbar sein.
| |
| | |
| ==== Erster Entwurf ====
| |
| In einem ersten Entwurf wurden zunächst verschiedene Möglichkeiten aufgezeigt, um eine 3-Achs-CNC-Maschine zu konzipieren.
| |
| Generell gibt es die Möglichkeit, einen Tisch unterhalb eines Portalbalkens zu verfahren. Der Tisch stellt dabei die X-Achse dar. An dem Portalbalken sitzt die zweite Achse, welche im 90Grad-Winkel zur X-Achse verfährt und die Y-Achse darstellt. Auf dieser Y-Achse sitzt wiederum im 90Grad-Winkel die Z-Achse, welche senkrecht zur X-Achse steht.
| |
|
| |
| Alternativ kann man ein in X-Richtung fahrbares Portal erzeugen, welches an einem feststehenden Tisch entlangfährt. Vorteil bei dieser Variante ist der geringere Platzbedarf und damit die bessere Ausnutzung der Linearachsen für die X-Achse. Nachteil ist, dass für eine ausreichende Steifigkeit das Portal stabiler ausgeführt werden muss, als dies bei einem feststehenden Portal nötig wäre.
| |
| Da sämtliche Linearachsen bereits vorhanden waren und möglichst gut ausgenutzt werden sollten, entschied man sich für ein fahrbares Portal, bei welchem dieses an einem rechteckigen Grundrahmen vorbeifährt und damit die X-Achse darstellt.
| |
| | |
| | |
| === Detaillierung ===
| |
| ==== CNC-Maschine ====
| |
| Der beschriebene Aufbau wurde im Weiteren detailliert und ergänzt.
| |
| Der generelle Aufbau der Maschine wurde in einem CAD-Modell erstellt. Mit hochkant angeordneten Aluminiumprofilen mit den Außenabmessungen 160x40mm wurde ein kastenförmiger Grundrahmen zusammengesetzt. Seitlich an den Längsseiten sitzen die Linearantriebe für die x-Achse. Diese sind an beiden Seiten angeordnet, um ein Verkanten des Portalbalkens bei außermittiger Krafteinwirkung zu verhindern. Der Kasten wird durch zwei weitere Aluminiumprofile versteift. Seitlich an den beiden X-Achsen-Linearantrieben werden senkrechte Aluminiumprofile montiert, welche einen waagerechten Portalbalken aufnehmen. Auf diesem ist der Linearantrieb der Y-Achse montiert, welcher wiederum den Linearantrieb der Z-Achse aufnimmt.
| |
| | |
| Als Arbeitsfläche dient eine Holzplatte, die bündig auf dem Tisch angebracht wird.
| |
|
| |
|
| Die Konstruktion wurde um Haltewinkel für Endschalter sowie um eine Halterung für die benötigte E-Kette ergänzt.
| | Leitung: [[Benutzer:Mirekgoebel| Prof. Dr. Mirek Göbel]] |
| Es wurden für jede Achse vier Endschalter-Haltewinkel vorgesehen, wobei jeweils zwei an jedem Ende der Achsen hintereinander angebracht sind. Der jeweilige innere Endschalter wird von der jeweiligen Steuerung ausgelesen und kann beispielsweise als Referenzschalter verwendet werden. Der jeweilige äußere Endschalter dient als Not-Aus und geht direkt auf den Disable Eingang des Gecko-Drive. So wird der Gecko hardware-seitig ausgeschaltet, um einen mechanischen Schaden zu verhindern.
| |
|
| |
|
| ==== Werkzeug- und Werkstückhalter ==== | | = Weitere im Rahmen von Sonderthemen für das Praktikum entstandene Artikel = |
| | *[[Schrittmotor]] |
| | *[[Schrittmotoransteuerung mit Gecko Drive]] |
| | *[[Mikrocontrollerboard Arduino Mega 2560]] |
| | *[[Automatisierungssystem SPS SIMATIC S7-300]] |
| | *[[Automatisierungssystem dSpace DS1104 R&D Controller Board]] |
| | *[[Ansteuerung des Mitsubishi Roboters]] |
| | *[[3D-Druck mit dem German RepRap X400]] |
| | *[[Baukasten Automatisierung]] |
| | *[[Entwicklung und Bau von Roboterzellen für Delta-Roboter]] |
| | *[[2D-Styroporschneidewerkzeug für 3D-CNC-Bearbeitungsmaschine]] |
| | *[[Computer_Aided_Manufacturing_(CAM)#Fr.C3.A4ser_und_ihre_Parameter_zum_Fr.C3.A4sen_von_unterschiedlichen_Materialien]] |
|
| |
|
| Als Werkzeughalter wurden zwei Platten mit unterschiedlich großen Aussparungen zur Aufnahme zwei verschiedener Werkzeuge konstruiert. Die Platten sind mittels zwei Schrauben befestigt und so leicht zu wechseln.
| | =Fachthemen für die Kleingruppen = |
| Als Werkstückhalter bieten sich die Holzplatte und eine ergänzte Nutenplatte. Hier kann das Werkstück auf der Holzplatte festgeschraubt werden beziehungsweise im Profil der Nutenplatte befestigt werden.
| |
|
| |
|
| ==== Platte für Steuerungseinheiten ==== | | ==Ansteuerung:== |
| Da für die Maschine die Steuerungseinheiten mit Treibern, Kühlern und Netzteilen benötigt werden, wurde eine Platte konzipiert, die genügend Platz für alle benötigten Elemente bietet.
| |
| Es handelt sich hierbei um eine 80x50cm große Holzplatte. Um einen optimalen Wärmetransport zu realisieren, wurden die wärmsten Bauteile am oberen Ende der Platte angebracht. Die Geckos wurden mit entsprechendem Kühler über einen Aluminiumwinkel befestigt, darunter die Netzteile und am unteren Ende der Platte die Steuereinheiten und eine Mehrfachsteckdose.
| |
| Eine Darstellung der Platte inklusive aller zu montierenden Elemente ist der Abbildung zu entnehmen
| |
|
| |
|
| === Stückliste & Montageanleitung ===
| | *[[Ansteuerung einer Schrittmotor-Achse mit Siemens SIMATIC S7-300 SPS]] |
| ==== Stückliste ====
| | *[[Ansteuerung einer Schrittmotor-Achse mit PHOENIXCONTACT AXC 1050]] |
| [[Datei :Stueckliste.png|200px|thumb|left|Stückliste]] | | *[[Ansteuerung_einer_Schrittmotor-Achse_mit_dSpace_DS1104 und_Matlab/Simulink]] |
| | *[[Ansteuerung einer Schrittmotor-Achse mit Mikrocontrollern am Beispiel eines Arduino-Mega]] |
| | *[[Ansteuerung einer Schrittmotor-Achse mit NI Labview]] |
| | *[[Zentraler Steuerungsalgorithmus für ein 3-Achs-CNC-Bearbeitungszentrum]] |
| | *[[Zentraler Steuerungsalgorithmus für ein 3-Achs-CNC-Bearbeitungszentrum mit Matlab/GUIDE]] |
| | *[[Computer Aided Manufacturing (CAM)]] |
|
| |
|
| ==== Montageanleitung ==== | | ==Konstruktion:== |
| | *[[Konstruktion eines 3-Achs-CNC-Bearbeitungszentrums]] |
| | *[[Weiterentwicklung eines 3-Achs-CNC-Bearbeitungszentrums mit neuen Spindelantrieben]] |
| | *[[Erweiterung/Fehlerbehebung an dem 3-Achs-CNC-Bearbeitungszentrums und Konstruktion eines Außengehäuses]] |
| | *[[Konstruktion, Fertigung und Inbetriebnahme eines Rundtisches (4.Achse)]] |
| | *[https://www.igus.de/energieketten/wiki/montage/grosse-energieketten igus Energiekette Montageanleitung] |
|
| |
|
| =Linksammlung= | | =Linksammlung= |
| * Fräsmaschine im Eigenbau, sehr schick [http://der-frickler.net/technik/frickelfraese] | | * Fräsmaschine im Eigenbau, sehr schick [http://der-frickler.net/technik/frickelfraese] |
| * ... | | * Eigenbau einer Maschine für weniger als 1000€ [http://www.tron-cnc.de/] |
| | * Tolle Aufstellung G-Codes: |
| | ** https://www.maschinfo.de/CNC-G-Code |
| | ** https://www.machiningdoctor.com/gcodes/ |
| | ** https://www.rapiddirect.com/de/blog/g-and-m-codes/ |
| | * "open-hardware"-Projekt [http://www.shapeoko.com/wiki/index.php/Main_Page] |
| | * Tipps fürs die Holzverarbeitung [https://www.holzwerken.net/tipps-tricks] |