News & Trends

DIY Adapter für HTC Vive Base Station

Marc Schaffer
27.1.2017

Man kann Adapter kaufen, falls es sie gibt. Oder man entwirft und 3D-druckt sich selber einen. In diesem Fall möchte ich eine HTC Vive Base Station auf ein Mikrofonstativ montieren. Leider haben beide unterschiedlich grosse Gewinde (englische/imperiale), also muss ein Adapter her.

Arbeitsoberfläche von OpenSCAD. Bild: OpenSCAD

Der Arbeitsprozess ist in vier Schritte gegliedert:

  1. Ausmessen
  2. Zeichnen
  3. Drucken
  4. Zusammenbauen

1. Ausmessen

Bevor du mit dem Zeichnen, oder in diesem Fall programmieren beginnen kannst, musst du dir die vorhandenen Materialien zusammensuchen. Mit verschiedenen Hilfsmittel wie Lineal, Geodreieck oder Schieblehre misst du dann alles genau aus. Je genauer du in diesem Schritt arbeitest, desto weniger Probleme hast du am Schluss beim Zusammenbauen der Objekte.

Auslage meiner verwendeten Objekte.

2. Zeichnen

Der Halter, welcher ich im vorhergehenden Schritt ausgemessen habe, besitzt folgende Masse: Länge = 84,2 mm; Breite = 44 mm. Die Schraube hat einen Durchmesser von 3 mm und eine Länge von 18 mm. Um den Grundquader zu erhalten, tippen wir Folgendes in das Textfeld ein: cube([84.2,44,18],center=true);

Danach drücken wir nur noch «F5» und der Quader ist als 3D-Modell ersichtlich.

Grundquader als Ausgangslage.

Mit der Anweisung «center=true» wurde das Objekt eingemittet. Der Nullpunkt ist also genau in der Mitte. Dies ist in unserem Fall sehr praktisch, da das Objekt symmetrisch ist, also beide Seiten gleich gross. Dadurch sind die Löcher fürs Gewinde und die Schraube in der Mitte und wir müssen für die folgenden M5-Löcher weniger rechnen.

Wir könnten nun noch die Löcher hinzufügen, aber so eckig passt es nicht so schön zum Lighthouse.

Da nur die Aussenkanten abgerundet sind, nutzen wir die Funktion «hull», welche eine Hülle um die Objekte zieht. Nun wird es etwas mathematisch: Die Abrundung hat einen Radius von 10 mm, also platzieren wir 4 Zylinder an den Ecken und spannen die Hülle darum:

hull(){

translate([(84.2/2)-10,(44/2)-10,0]) cylinder(r=10, h=18,center=true);

translate([(-84.2/2)+10,(44/2)-10,0]) cylinder(r=10, h=18,center=true);

translate([(84.2/2)-10,(-44/2)+10,0]) cylinder(r=10, h=18,center=true);

translate([(-84.2/2)+10,(-44/2)+10,0]) cylinder(r=10, h=18,center=true);

};

Zylinder, welche die Ecken abrunden.

Man kann Objekte transparent machen, indem man ein «%» davor schreibt, ohne sollte nun ein volles Objekt sichtbar sein.

Quader mit abgerundeten Ecken.

Fügen wir nun die Löcher hinzu, indem wir verschiedene Zylinder hinzufügen. Diese werden dann vom grossen Objekt weggerechnet («gebohrt»):

SILF=0.6;

translate([0,0,0]) cylinder(r=5+SILF, h=50,center=true);

Mit Zylinder für die Bohrung.

Dabei ist wichtig, dass die abzurechnenden (Minus) Objekte grösser sind und überstehen, sonst werden die Kanten nicht schön und der 3D-Drucker versucht das Loch mit einer dünnen Schicht zu verschliessen.

Eine Schablone ist hilfreich, auch um Muttern einzupassen.

Das benötigt nur 1 Zeile für die Objekte:

for (i = [0:.5:7]) { translate([(ii2)+i*2,0,0]) cylinder(r=i, h=5+i,center=true); }

«for»-Schleifen sind ein praktisches Hilfsmittel beim Programmieren, aber zurück zum Adapter. «Bohren» wir nun das Loch, indem wir die Differenz von A minus B bilden. Grosses hull Objekt minus Schrauben-Zylinder mit der Funktion «difference»:

difference(){

hull(){

translate([(84.2/2)-10,(44/2)-10,0]) cylinder(r=10, h=18,center=true);

translate([(-84.2/2)+10,(44/2)-10,0]) cylinder(r=10, h=18,center=true);

translate([(84.2/2)-10,(-44/2)+10,0]) cylinder(r=10, h=18,center=true);

translate([(-84.2/2)+10,(-44/2)+10,0]) cylinder(r=10, h=18,center=true);

};

translate([0,0,0]) cylinder(r=5+SILF, h=50,center=true);

}

Quader mit Bohrung.

Fügen wir nun die beiden Löcher für die M5-Schrauben hinzu. Dazu erweitern wir den «B» Teil, der nur aus dem Zylinder für das Gewinde besteht, zu einer Gruppe:

group(){

translate([0,0,0]) cylinder(r=5+SILF, h=50,center=true); //Gewinde vom Stativ

translate([32,0,0]) cylinder(r=2.5+SILF, h=50,center=true); //M5 Schraube

translate([-32,0,0]) cylinder(r=2.5+SILF, h=50,center=true); //M5 Schraube

}//group

Ein wichtiger Tipp: Der Text nach den «//» sind Kommentare und werden vom Programm ignoriert. Wenn man zwei Monate später etwas anpassen will, spart es sehr viel Zeit, da in den Kommentaren zu lesen ist, was und warum z. B. dort 1 mm mehr sein musste!

Mit den zusätzlichen zwei kleinen Bohrungen.

Nun fehlt nur noch das Loch für die grosse Schraube. Dazu fügen wir die beiden Zylinder (für die Schraube und einen für den Rand) hinzu. Diese sollen aber nicht durchgehend sein, sondern auf 3 mm Material aufliegen. Somit muss die Z-Achse angepasst werden:

translate([0,0,-(18/2)+3]) cylinder(r=(15.5/2)+SILF, h=25,center=false); //Adapter

translate([0,0,-(18/2)+3+10]) cylinder(r=(18/2)+SILF, h=10,center=false); //Adapter Rand

Einbuchtung für die Schraube.Zur Verdeutlichung nochmals transparent.

Damit wären wir fast fertig. Das Objekt könnte so gedruckt werden, die Schraube müsste aber mühsam angezogen werden und zum Abschrauben müsste alles zerlegt werden, da die Schraube keinen Anschlag hat und lose drehen würde. Also fügen wir einen Anschlagspunkt hinzu und sägen einen Teil vom Schraubenrand ab, um einen «D-Cut» zu erhalten.

Es hat sich bewährt, die Schraube von unten her abzusägen.Abgesägte Schraube

Fügen wir nun zum Schluss den Anschlagspunkt auf dem Objekt hinzu – ein Einzeiler am Ende:

translate([(15.5/2)+0.3,-10,(18/2)-5]) cube([4,20,5],center=false); //D-Cut Auflage

Das rote Teil wurde hinzugefügt.So sieht das finale 3D-Modell aus.

Um die Kanten noch glatter zu machen, erhöhen wir noch die Anzahl der Kanten pro Kreis: $fn=150;

Die Ecken sind merklich glatter.

Dies sollte aber erst am Schluss gemacht werden, da es die Rechenzeit erhöht. Das kann man übrigens auch verwenden, um z. B. 6-Ecke zu generieren: cylinder(d=20,h=10,$fn=6);

3. Drucken

Nun muss das Programm das 3D-Modell nur noch hochaufgelöst berechnen. Dies nennt sich rendern und kann mit «F6» und als STL exportiert werden. Die STL-Datei kann dann der Slicer für den 3D-Drucker umrechnen und der Druck kann beginnen! Wie das genau funktioniert, kannst du hier nachlesen:

So sieht es ausgedruckt aus. Hat knapp zwei Stunden gedauert.Die Schraube passt wie angegossen.

4. Zusammenbauen

Wenn man modular gearbeitet hat, kann man die Datei weiterverwenden und für andere Anwendungen anpassen. Wie zum Beispiel als Halterung für eine Baulampe.

Vorsicht: PLA beginnt ab 60°C langsam weich zu werden.

Ganzer Quellcode

Falls du diesen Adapter selber gerne nachbauen möchtest, kannst du den gesamten Quellcode kopieren und bei deinem OpenSCAD einfügen.

$fn=150; // Anzahl Kanten eines Kreises

SILF=0.6; // Slicer Inneres Loch Fehler, falls der Slicer die inneren Löcher zu klein druckt

//%cube([84.2,44,18],center=true);

//#cube([68.4-5,44,18],center=true); //Abstandsstest

difference(){

hull(){

translate([(84.2/2)-10,(44/2)-10,0]) cylinder(r=10, h=18,center=true);

translate([(-84.2/2)+10,(44/2)-10,0]) cylinder(r=10, h=18,center=true);

translate([(84.2/2)-10,(-44/2)+10,0]) cylinder(r=10, h=18,center=true);

translate([(-84.2/2)+10,(-44/2)+10,0]) cylinder(r=10, h=18,center=true);

};

group(){

translate([0,0,0]) cylinder(r=5+SILF, h=50,center=true); //Gewinde vom Stativ

translate([0,0,-(18/2)+3]) cylinder(r=(15.5/2)+SILF, h=25,center=false); //Adapter

translate([0,0,-(18/2)+3+10]) cylinder(r=(18/2)+SILF, h=10,center=false); //Adapter Rand

translate([32,0,0]) cylinder(r=2.5+SILF, h=50,center=true); //M5 Schraube

translate([-32,0,0]) cylinder(r=2.5+SILF, h=50,center=true); //M5 Schraube

}//group

}//diff

translate([(15.5/2)+0.3,-10,(18/2)-5]) cube([4,20,5],center=false); //D-Cut Auflage

Viel Erfolg!

Welche Produkte du dazu benötigst:

Was dich auch noch interessieren könnte:

7 Personen gefällt dieser Artikel


User Avatar
User Avatar

Ich bin ein digitaler Ureinwohner der Generation Commodore 64, online seit Wählscheibe und Akustikkoppler. Neben Videospielen hole ich gerne mit dem 3D-Drucker Dinge aus dem Cyberspace in den Makerspace. Technologie ist einfach faszinierend.


News & Trends

Vom neuen iPhone bis zur Auferstehung der Mode aus den 80er-Jahren. Die Redaktion ordnet ein.

Alle anzeigen