Du bist nicht mit dem Internet verbunden.
Inspiration

DIY Adapter für HTC Vive Base Station

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.

In diesem Tutorial zeige ich dir, wie du schnell und einfach ein Objekt mit OpenSCAD programmierst. OpenSCAD ist ein Programm, mit welchem du 3D-Modelle kreieren kannst. Die Software ist gratis und funktioniert auf Linux, Windows und Mac. Anstelle von gewohnten CAD-Programmen zeichnest du hier aber nicht ein Objekt, sondern tippst es mit deiner Tastatur in Form von Codes ein. Aber keine Sorge, es ist nicht wahnsinnig kompliziert und du brauchst auch nicht mehr Mathematikkenntnisse als bei anderen Zeichnungsprogrammen. Als Gedächtnisstütze findest du hier ein CheatSheet.

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.

Ausgehend vom Nullpunkt in der Mitte (center) gehe ich für einen Zylinder die Hälfte der Länge und die Hälfte der Breite nach Aussen weg vom Nullpunkt («translate» bestimmt die neue Position) und ziehe den Radius ab. Das muss ich auch nur einmal aufschreiben und kann es dann für die anderen Zylinder wiederverwenden – mal Plus vom Nullpunkt und mal Minus vom Nullpunkt. (Ach, wenn uns damals in der Schule Mathematik doch nur so anschaulich und leicht verständlich erklärt worden wäre. Man muss es nur anwenden, um es zu verstehen.)

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.

Der 3D-Drucker, beziehungsweise manche Slicer, welche die Objekte für den 3D-Drucker berechnen, haben die störende Eigenheit, die Löcher kleiner zu drucken als angegeben. Somit muss das Loch um diesen Fehlbetrag grösser geplant werden. Ich habe das «Slicer inneres Loch Fehler» genannt und addiere diese Variable «SILF» dem Loch hinzu. Man kann die Variable frei benennen, sollte aber den Korrekturbetrag nicht fix einprogrammieren. Jeder Drucker ist anders und Programme ändern sich. Bei Veränderungen muss man nur die Variable am Anfang ändern und nicht gleich alle Löcher.

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:

Welt-Druck21.jpeg
Wissen
Marc Schaffer
Marc Schaffer
Marc Schaffer
  • 7Artikel geschrieben
  • 0Fragen gestellt
  • 0Fragen beantwortet
  • 0Bewertungen geschrieben
  • 0Bewertungen kommentiert
  • 0Diskussionen gestartet
  • 0Beiträge geschrieben
Mehr Infos...
  • 18 6

3D-Druck - vier hilfreiche Antworten für Beginner

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:

2+
Sale
CHF 2399.–
Ultimaker 2+
Zufriedenstellende Ausdrucke, unabhängig von der Komplexität. Inkl. Olsson Block
6

Verfügbarkeit

Postversand

  • 5 Stück
    in unserem Lager

PickMup

Abholen

  • Basel: Morgen um 13:10
  • Bern: Morgen um 12:45
  • Dietikon: Morgen um 14:30
  • Kriens: Morgen um 11:20
  • Lausanne: Morgen um 15:40
  • St. Gallen: Morgen um 15:30
  • Winterthur: Morgen um 13:30
  • Wohlen: 5 Stück
  • Zürich: heute um 17:30

Bei sofortiger Bestellung.
Alle Angaben ohne Gewähr.

Details anzeigen

Vive
CHF 899.–UVP 1189.–1
HTC Vive
Wenn Du Dir das Vive-Headset aufsetzt, bist Du sofort von einer Welt voller Überraschungen umgeben.
16

Verfügbarkeit

Postversand

  • mehr als 10 Stück
    in unserem Lager

PickMup

Abholen

  • Basel: Morgen um 13:10
  • Bern: Morgen um 12:45
  • Dietikon: Morgen um 14:30
  • Kriens: Morgen um 11:20
  • Lausanne: Morgen um 15:40
  • St. Gallen: Morgen um 15:30
  • Winterthur: Morgen um 13:30
  • Wohlen: mehr als 10 Stück
  • Zürich: 5 Stück

Bei sofortiger Bestellung.
Alle Angaben ohne Gewähr.

Details anzeigen

Vive Base Station
CHF 179.–
HTC Vive Base Station

Verfügbarkeit

Postversand

  • mehr als 10 Stück
    in unserem Lager

PickMup

Abholen

  • Basel: Morgen um 13:10
  • Bern: Morgen um 12:45
  • Dietikon: Morgen um 14:30
  • Kriens: Morgen um 11:20
  • Lausanne: Morgen um 15:40
  • St. Gallen: Morgen um 15:30
  • Winterthur: Morgen um 13:30
  • Wohlen: mehr als 10 Stück
  • Zürich: heute um 17:30

Bei sofortiger Bestellung.
Alle Angaben ohne Gewähr.

Details anzeigen

Was dich auch noch interessieren könnte:

AdobeStock_6885209421.jpeg
Produktwissen
Marc Schaffer
Marc Schaffer
Marc Schaffer
  • 7Artikel geschrieben
  • 0Fragen gestellt
  • 0Fragen beantwortet
  • 0Bewertungen geschrieben
  • 0Bewertungen kommentiert
  • 0Diskussionen gestartet
  • 0Beiträge geschrieben
Mehr Infos...
  • 10 10

Eintauchen in den Cyberspace, doch mit welcher VR-Brille?

raspberrypiboard21.jpeg
Wissen
Marc Schaffer
Marc Schaffer
Marc Schaffer
  • 7Artikel geschrieben
  • 0Fragen gestellt
  • 0Fragen beantwortet
  • 0Bewertungen geschrieben
  • 0Bewertungen kommentiert
  • 0Diskussionen gestartet
  • 0Beiträge geschrieben
Mehr Infos...
  • 10 11

Raspberry Pi oder Arduino, welcher für welchen Zweck?

maus_rep21.jpeg
Wissen
Marc Schaffer
Marc Schaffer
Marc Schaffer
  • 7Artikel geschrieben
  • 0Fragen gestellt
  • 0Fragen beantwortet
  • 0Bewertungen geschrieben
  • 0Bewertungen kommentiert
  • 0Diskussionen gestartet
  • 0Beiträge geschrieben
Mehr Infos...
  • 11 4

Hol dir die Lizenz zum Löten!

User

Marc Schaffer

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.

1 Kommentar

User Ataman1000

Oder man nimmt einfach 2 günstige Kameraobjektive für je 50.-- da das Basestation Gewinde nach DIN4503 genormt ist.

27.01.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

User Ataman1000

Stative* Nicht Objektive >.<

01.02.2017
Missbrauch melden

Du musst dich anmelden um einen Missbrauch zu melden.

Du musst angemeldet sein, um auf einen Kommentar zu antworten.


Bitte melde dich an.

Du musst angemeldet sein, um einen neuen Kommentar zu erfassen.

Corporate logo