Bohrautomat: Unterschied zwischen den Versionen

Aus Open Source Ecology - Germany
Zur Navigation springen Zur Suche springen
 
(14 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Bohrautomat]]
+
{{Projektdaten
 +
|Projektname=Bohrautomat
 +
|Kurzbeschreibung=Ein auf den Teilen des UniProKit Basis-Set gründendes Gerähme mit zusätzlicher Bewegungssteuerung zum automatischen Bohren, auf einer möglichen Länge von max. einem Meter soll entwickelt werden.
 +
|Stichwörter=Bohrautomat; Steuerung; UniProKit;
 +
|Sortierbegriffe=mechanische Bauteile; Bohrautomat;
 +
|Entwicklungsstufen=Prototyp entwickelt; Dokumentation veröffentlicht;
 +
|Gesamtstatus=aktiv
 +
|Kontakt=* [[Oliver Schlüter]] [mailto:os@ose-germany.de <os@ose-germany.de>]
 +
|Diskussion=* [https://forum.opensourceecology.de/t/bohrautomat-bautagebuch-was-lineartrieb-x-achse/535 Forum (Bohrautomat Bautagebuch (was: Lineartrieb, X-Achse))]
 +
* [https://forum.opensourceecology.de/t/steuerelektronik-fuer-bohrautomat/382 Forum (Steuerelektronik für Bohrautomat)]
 +
* [https://t.me/OSEGWelcome OSEG Willkommens Gruppe] auf Telegram
 +
|Repositorien=
 +
<!-- Kommentar: Projekt-Vorschaubild -->
 +
|Vorschauklasse=prototyping
 +
|Vorschaubild=Datei:MF14 stand BA closeup.jpg
 +
|Vorschaukurztext=Bohrautomat
 +
}}
  
 
Dieser Bohrautomat soll hauptsächlich dazu dienen, die Teile des UniProKit Basis-Set Strukturelemente automatisch bohren zu können, auf eine Länge von 1m.
 
Dieser Bohrautomat soll hauptsächlich dazu dienen, die Teile des UniProKit Basis-Set Strukturelemente automatisch bohren zu können, auf eine Länge von 1m.
Zeile 8: Zeile 24:
 
=== Konstruktion ===
 
=== Konstruktion ===
 
----
 
----
 
 
 
 
 
 
 
 
 
  
 
<gallery widths="490" heights="384" perrow="2" caption="Bohrautomat - X-Achse 3D-Darstellung">
 
<gallery widths="490" heights="384" perrow="2" caption="Bohrautomat - X-Achse 3D-Darstellung">
Zeile 56: Zeile 63:
 
</gallery>
 
</gallery>
  
 +
=== Montage der Z-Seitenplatten ===
 +
<gallery widths="490" heights="384" perrow="2" caption="Bohrautomat - Z-Achse Montage">
 +
Ba_ymount.jpg| An die Seitenplatten werden zunächst die Halterungen geschraubt, ...
 +
Ba_zrail.jpg| ... dann werden die Seitenplatten mittels T-Slot-Profilen verbunden
 +
Ba_zrail2.jpg| und die aufrechten T-Slotprofile montiert, die als Linearführung für die Slider dienen
 +
</gallery>
  
 
== Y-Achse ==
 
== Y-Achse ==
Zeile 65: Zeile 78:
 
</gallery>
 
</gallery>
  
 +
=== Montage der Y-Achse ===
 +
<gallery widths="490" heights="384" perrow="2" caption="Bohrautomat - Y-Achse 3D-Darstellung">
 +
BA_Imgp1380.jpg| Die Befestigungsplatten für das Portal ...
 +
BA_Imgp1381.jpg| werden auf die Schlitten montiert.
 +
BA_Imgp1383.jpg| Je Befestigungsplatte wird auch noch eine Trapezgewinde-Mutter angebracht.
 +
BA_Imgp1385.jpg| Nun wird das ganze Portal so montiert, dass die Schlitten auf der Y-Achse gut und frei laufen können.
 +
BA_Imgp1384.jpg| Detailansicht
 +
MF14_stand_BA_closeup.jpg| und nochmal von der anderen Seite
 +
BA_Imgp1386.jpg| Halter für die Y-Stepper
 +
BA_Imgp1387.jpg| und für die Loslager-Kugellager
 +
MF14_stand_BA_vonhinten.jpg | Loslager werden am Ende montiert
 +
MF14_stand_BA_vonvorn.jpg| und Motoren am anderen Ende. Nahebei sieht man übrigens die Powerlolus und am Portal wurde die RAMPS-Steuerung mit Kabelbinder befestigt
 +
</gallery>
 +
 +
== Elektronik ==
 +
 +
Die Steuerung basiert auf einer RAMPS1.4/ArduinoMega-Elektronik wie sie in den meisten 3D-Druckern zum Einsatz kommt und ist somit für sehr wenig Geld (im Vergleich mit anderen CNC-Steuerungen) erhältlich.  Dies wurde erreicht, indem für jede Motorachse zwei Motoren zum Einsatz kommen, d.h., die benötigte Kraft pro Achse wird verteilt und die benötigten Motoren können somit kleiner ausgelegt wird - passend zu den Pololu-Treibern auf dem RAMPS-Board - die können nämlich nur Motorströme bis etwa 2A regeln.
 +
 +
Für die schweren 3A/3Nm-Stepper [https://www.cncprofi.eu/product_info.php?info=p49_schrittmotor---3-nm-3-a---welle-fi-8-0-mm---flansch-57-mm.html] der Y-Achse reicht dies jedoch nicht, weswegen hier zwei Powerlolu-Treiber zum Einsatz kommen. Diese können einerseits Ströme bis zu 10A regeln, sind aber andererseits zum RAMPS-Board kompatibel.
 +
 +
Die Motoren werden wie folgt an die RAMPS-Ports angeschlossen:
 +
 +
Z-Achse: Beide Motoren gehen an den Z-Port, denn das RAMPS-Board ist ohnehin so ausgelegt, das bei der Z-Achse zwei Motoren an einen Pololu angeschlossen werden. Somit sind diesbezüglich auch keinerlei Änderungen in der Firmware vonnöten.
 +
 +
Y-Achse:  Die Powerlolus werden mittels eines kleinen Adapters (hier: aus Lochraster und selbstgelötet)  an den Y-Port und an den Extruder1-Port angeschlossen, wobei der am Extruderport befindliche Motor hier nur an die Stromversorgung angeschlossen ist (5V für das Powerlolu-Board).  Die Datenleitungen DIR, STEP und ENABLE werden vom Y-Port her durchgeschleift, damit beide Powerlolous synchron das gleiche Steuersignal bekommen.  Somit sind auch hierfür keine Änderungen in der Firmware vonnöten.
 +
 +
X-Achse:  Ein Motor hängt regulär am X-Port, der andere am Extruder0-Port.  Hier musste die Firmware dahingehend angepasst werden, dass alle Signale für den X-Port auch an den Extruder0-Port gehen.  Dabei ist es sinnvoll, das so zu machen, dass die ganze Extruderlogik softwaremäßig völlig ausgeklammert bzw. überbrückt wird. Ansonsten sind noch in den Configurations-Defaultwerten ein paar kleinere Änderungen vonnöten die den Antrieb mittels Gewindestange im Gegensatz zum Zahnriemen beim Drucker betreffen, d.h. der Step-per-Unit- bzw. Step_pro_mm-Wert muss angepasst werden  sowie die Feed-Geschwindigkeiten.
 +
 +
Als Firmware-Grundlage wurde eine ältere und abgespeckte Version von "Sprinter" verwendet, einer früher recht wei verbreiteten 3DPrinter-Firmware, die aber inzwischen oft durch "Marlin", einem auf Sprinter basierenden Nachfolger, abgelöst wurde.  Für diesen Zweck hier ist die ältere Sprinter-Version aber günstiger, da sie kleiner, überschaubarer und ursprünglicher ist und weniger 3D-Printer-spezifische Features enthält.
 +
 +
Da alle Hardwarespezifischen Besonderheiten innerhalb der Firmware abgehandelt werden, ist diese nun nach aussen hin transparent, soll heissen, als Host-Software kann ein normaler 3D-Printer-Host wie pronterface/printrun verwendet werden, um G-Code-Befehle an die RAMPS/Arduino-Steuerung zu senden.
  
 +
Still ToDo:  Insbesondere in der Anwendung als Bohrautomat kann die Maschine nun schon benutzt werden, für komplexere Fräs-Anwendungen wäre allerdings noch eine Firmware-Anpassung in Form einer Backlash-Kompensation vonnöten.  Beim 3DPrinter stellt sich die Problematik insofern nicht, als das X- und Y ohnehin per Zahnriemen angetrieben werden und der Backlash in der Z-Achse ignoriert werden kann, weil hier beim 3D-drucken (der Druckkopf geht Schicht um Schicht höher) ja keine Richtungsänderung erfolgt.
 +
 +
Insofern kann man bereits jetzt schon bohren (indem man die Bohrpositionen so legt, das sie ausschliesslich "aufsetigend" aufeinanderfolgen und zumindest einfache Bahnen fräsen, wenn man vor Richtungswechseln ein Homing durchführt.  Aber optimal ist das noch nicht, denn man möchte vielleicht auch mal einen Kreis fräsen und ohne etwaige Zwischendruch-Homings wird der Vorgang natürlich auch schneller.
  
== Elektronik ==
 
  
=== Konstruktion ===
+
=== Stepper-Motoren und Treiber ===
 
<gallery widths="490" heights="384" perrow="2" caption="Bohrautomat - Steuerung und Schrittmotor-Treiber">
 
<gallery widths="490" heights="384" perrow="2" caption="Bohrautomat - Steuerung und Schrittmotor-Treiber">
 
Ba_ra_pol_pow.jpg| Als Steuerung dient ein RAMPS1.4 mit 4 Pololu-Steppertreibern und zwei Powerlolu-treibern für die Y-Achse, auf welcher das schwere Portal bewegt wird.
 
Ba_ra_pol_pow.jpg| Als Steuerung dient ein RAMPS1.4 mit 4 Pololu-Steppertreibern und zwei Powerlolu-treibern für die Y-Achse, auf welcher das schwere Portal bewegt wird.
Zeile 76: Zeile 122:
  
  
...tbc.
+
=== OptoEndStop ===
 +
 
 +
Die OptoEndstops basieren auf der Gabellichtschranke TCST1103. Ich habe meistens alle Bauteile dafür vorrätig und kann mir bei Bedarf schnell die benötigten EndStops zusammenlöten.
 +
 
 +
Eine gute Anleitung dafür findet man [http://reprap.org/wiki/Gen7_Endstop_1.3.1 im RepRap-Wiki]
 +
 
 +
<gallery widths="490" heights="384" perrow="2" caption="Herstellung der EndStopper aus Lochrasterplatine">
 +
BA_endstop_lochrasterplatine.jpg| Zunächst ein paar Stücke Lochrasterplatine aussägen und die Kanten etwas abschleifen.
 +
BA_endstop_lochraster2.jpg| Zuerst ein paar Drähte auflöten ...
 +
BA endstop bauteile.jpg| ... und dann noch ein paar kleinere Bauteile: 3 Widerstände, eine LED und eine Gabellichtschranke vom Typ TCST1103
 +
BA endstop.jpg| Fertig. Hier die Vorder- und Rückansicht der Endstopper.
 +
</gallery>
 +
 
 +
[[Kategorie:Bohren]]
 +
[[Kategorie:Automation]]
 +
[[Kategorie:Gerätetechnik]]

Aktuelle Version vom 29. August 2022, 20:13 Uhr

Beschreibung, Lizenz, Entwicklungsstand
Projekt: Bohrautomat. Beschreibung: Ein auf den Teilen des UniProKit Basis-Set gründendes Gerähme mit zusätzlicher Bewegungssteuerung zum automatischen Bohren, auf einer möglichen Länge von max. einem Meter soll entwickelt werden.
StichwörterBohrautomat; Steuerung; UniProKit
LizenzNamensnennung – Weitergabe unter gleichen Bedingungen 4.0 International (CC BY-SA 4.0)
Statusaktiv
Erreichte StufenPrototyp entwickelt; Dokumentation veröffentlicht
Austausch
Kontakt
Urheber, VerfasserBitte Urheber oder Verfasser nachtragen
Diskussion
Ent­wickler­samm­lun­gen (engl. Repositories)n.a.

Dieser Bohrautomat soll hauptsächlich dazu dienen, die Teile des UniProKit Basis-Set Strukturelemente automatisch bohren zu können, auf eine Länge von 1m.

X-Achse

Konstruktion


Herstellung der Spezialteile aus Multiplex-Platte

Zusammenbau der X-Gantry

Z-Achse

Konstruktion

Montage der Z-Seitenplatten

Y-Achse

Konstruktion

Montage der Y-Achse

Elektronik

Die Steuerung basiert auf einer RAMPS1.4/ArduinoMega-Elektronik wie sie in den meisten 3D-Druckern zum Einsatz kommt und ist somit für sehr wenig Geld (im Vergleich mit anderen CNC-Steuerungen) erhältlich. Dies wurde erreicht, indem für jede Motorachse zwei Motoren zum Einsatz kommen, d.h., die benötigte Kraft pro Achse wird verteilt und die benötigten Motoren können somit kleiner ausgelegt wird - passend zu den Pololu-Treibern auf dem RAMPS-Board - die können nämlich nur Motorströme bis etwa 2A regeln.

Für die schweren 3A/3Nm-Stepper [1] der Y-Achse reicht dies jedoch nicht, weswegen hier zwei Powerlolu-Treiber zum Einsatz kommen. Diese können einerseits Ströme bis zu 10A regeln, sind aber andererseits zum RAMPS-Board kompatibel.

Die Motoren werden wie folgt an die RAMPS-Ports angeschlossen:

Z-Achse: Beide Motoren gehen an den Z-Port, denn das RAMPS-Board ist ohnehin so ausgelegt, das bei der Z-Achse zwei Motoren an einen Pololu angeschlossen werden. Somit sind diesbezüglich auch keinerlei Änderungen in der Firmware vonnöten.

Y-Achse: Die Powerlolus werden mittels eines kleinen Adapters (hier: aus Lochraster und selbstgelötet) an den Y-Port und an den Extruder1-Port angeschlossen, wobei der am Extruderport befindliche Motor hier nur an die Stromversorgung angeschlossen ist (5V für das Powerlolu-Board). Die Datenleitungen DIR, STEP und ENABLE werden vom Y-Port her durchgeschleift, damit beide Powerlolous synchron das gleiche Steuersignal bekommen. Somit sind auch hierfür keine Änderungen in der Firmware vonnöten.

X-Achse: Ein Motor hängt regulär am X-Port, der andere am Extruder0-Port. Hier musste die Firmware dahingehend angepasst werden, dass alle Signale für den X-Port auch an den Extruder0-Port gehen. Dabei ist es sinnvoll, das so zu machen, dass die ganze Extruderlogik softwaremäßig völlig ausgeklammert bzw. überbrückt wird. Ansonsten sind noch in den Configurations-Defaultwerten ein paar kleinere Änderungen vonnöten die den Antrieb mittels Gewindestange im Gegensatz zum Zahnriemen beim Drucker betreffen, d.h. der Step-per-Unit- bzw. Step_pro_mm-Wert muss angepasst werden sowie die Feed-Geschwindigkeiten.

Als Firmware-Grundlage wurde eine ältere und abgespeckte Version von "Sprinter" verwendet, einer früher recht wei verbreiteten 3DPrinter-Firmware, die aber inzwischen oft durch "Marlin", einem auf Sprinter basierenden Nachfolger, abgelöst wurde. Für diesen Zweck hier ist die ältere Sprinter-Version aber günstiger, da sie kleiner, überschaubarer und ursprünglicher ist und weniger 3D-Printer-spezifische Features enthält.

Da alle Hardwarespezifischen Besonderheiten innerhalb der Firmware abgehandelt werden, ist diese nun nach aussen hin transparent, soll heissen, als Host-Software kann ein normaler 3D-Printer-Host wie pronterface/printrun verwendet werden, um G-Code-Befehle an die RAMPS/Arduino-Steuerung zu senden.

Still ToDo: Insbesondere in der Anwendung als Bohrautomat kann die Maschine nun schon benutzt werden, für komplexere Fräs-Anwendungen wäre allerdings noch eine Firmware-Anpassung in Form einer Backlash-Kompensation vonnöten. Beim 3DPrinter stellt sich die Problematik insofern nicht, als das X- und Y ohnehin per Zahnriemen angetrieben werden und der Backlash in der Z-Achse ignoriert werden kann, weil hier beim 3D-drucken (der Druckkopf geht Schicht um Schicht höher) ja keine Richtungsänderung erfolgt.

Insofern kann man bereits jetzt schon bohren (indem man die Bohrpositionen so legt, das sie ausschliesslich "aufsetigend" aufeinanderfolgen und zumindest einfache Bahnen fräsen, wenn man vor Richtungswechseln ein Homing durchführt. Aber optimal ist das noch nicht, denn man möchte vielleicht auch mal einen Kreis fräsen und ohne etwaige Zwischendruch-Homings wird der Vorgang natürlich auch schneller.


Stepper-Motoren und Treiber


OptoEndStop

Die OptoEndstops basieren auf der Gabellichtschranke TCST1103. Ich habe meistens alle Bauteile dafür vorrätig und kann mir bei Bedarf schnell die benötigten EndStops zusammenlöten.

Eine gute Anleitung dafür findet man im RepRap-Wiki