Outils pour utilisateurs

Outils du site


tirer-lacher_dmx

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tirer-lacher_dmx [2019/08/01 07:43]
Mushussu créée
tirer-lacher_dmx [2020/04/07 16:29] (Version actuelle)
Mushussu
Ligne 1: Ligne 1:
-https://​www.alarm-discount.com/​verrouillage-centralise/​72-moteurs-de-centralisation-5-fils.html+====== Tirer - Lacher en DMX ====== 
 +C'est une pièce d'​étude pour un tirer-lâcher contrôler par DMX. Il pourra être utilisable horizontalement et verticalement. 
 +===== Matériel ===== 
 +  * 1 Moteur Fermeture Centralisée 
 +  * 3 Vis CHC ISO 4762 M3X45 classe 8.8 brut 
 +  * 3 Ecrous ISO 4032 M3 classe 8 brut 
 + 
 +===== Pièce 3D ===== 
 +Le support : 
 + 
 +{{::​support_tirer-lacher.png?​300|}} 
 + 
 +Pour réaliser l'​extrusion suivant un chemin, j'ai utilisé la bibliothèque [[https://​github.com/​JustinSDK/​dotSCAD|dotSCAD]]. 
 + 
 +==== Code Support ==== 
 +<code c> 
 +include <​Gachette.scad>;​ 
 + 
 +$fn = 100; 
 + 
 +// Socle 
 +difference() { 
 +    translate([0,​ 0, -8]) cube([200, 48, 8]); 
 +    // Trou moteur 
 +    translate([26,​ 24, -8]) union() { 
 +        hull() { 
 +            translate([18,​ 0, 0]) cylinder(d = 30, h = 8); 
 +            translate([20,​ 0, 0]) cylinder(d = 30, h = 8); 
 +        } 
 +        translate([0,​ -8, 0]) cube([18, 16, 8]); 
 +    } 
 +    // Trous de fixation 
 +    translate([15,​ 24, -8]) cylinder(d = 4, h=8); 
 +    translate([100,​ 24, -8]) cylinder(d = 4, h=8); 
 +    translate([160,​ 24, -8]) cylinder(d = 4, h=8); 
 +
 + 
 +// Accroches de l'​actionneur 
 +translate([14,​ 0, 0]) { 
 +    difference() { 
 +        union() { 
 +            cube([74, 9, 24]); 
 +            translate([8,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 16, h = 9); 
 +            translate([66,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 16, h = 9); 
 +        } 
 +        translate([8,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 3.2, h = 9); 
 +        translate([8,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 6, h = 3); // Tête de vis 
 +        translate([66,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 3.2, h = 9); 
 +        translate([66,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 6, h = 3); // Tête de vis 
 +    } 
 +     
 +    translate([0,​ 39, 0]) difference() { 
 +        union() { 
 +            cube([74, 9, 24]); 
 +            translate([8,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 16, h = 9); 
 +            translate([66,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 16, h = 9); 
 +        } 
 +        translate([8,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 3.2, h = 9); 
 +        translate([8,​ 6, 24]) rotate([0, 90, 90]) scale([1.05,​ 1.05, 1]) resize([0,​0,​3],​ auto=[false,​false,​true]) EmpreinteEcrou(3) ; 
 + 
 +        translate([66,​ 0, 24]) rotate([-90,​ 0, 0]) cylinder(d = 3.2, h = 9); 
 +        translate([66,​ 6, 24]) rotate([0, 90, 90]) scale([1.05,​ 1.05, 1]) resize([0,​0,​3],​ auto=[false,​false,​true]) EmpreinteEcrou(3) ; 
 +    } 
 +
 + 
 +// Butee 
 +translate([136,​ 12, 0]) difference() { 
 +    union() { 
 +        cube([6, 24, 36]); 
 +        translate([0,​ 12, 36]) rotate([0, 90, 0]) cylinder(d = 24, h = 6);  
 +        translate([-12,​ 24, 0]) rotate([0, 0, -90]) Prisme(24, 12, 29); // Renfort 
 +    } 
 +    translate([0,​ 12, 36]) rotate([0, 90, 0]) cylinder(d = 13, h = 6); 
 +
 + 
 +// Supports gachette 
 +translate([186,​ 0, 0]) difference() { 
 +    union() { 
 +        cube([14, 18.5, 28]); 
 +        translate([7,​ 0, 28]) rotate([-90,​ 0, 0])cylinder(d= 14, h=18.5); 
 +        translate([-20,​ 18.5, 0]) rotate([0, 0, -90]) Prisme(18.5,​ 20, 28); // Renfort 
 +    } 
 +    translate([7,​ 0, 28]) rotate([-90,​ 0, 0]) cylinder(d= 3.2, h=18.5); 
 +    translate([7,​ 0, 28]) rotate([-90,​ 0, 0]) cylinder(d= 6, h=3); // Tête de vis 
 +
 + 
 +translate([186,​ 29.5, 0]) difference() { 
 +    union() { 
 +        cube([14, 18.5, 28]); 
 +        translate([7,​ 0, 28]) rotate([-90,​ 0, 0])cylinder(d= 14, h=18.5); 
 +        translate([-20,​ 18.5, 0]) rotate([0, 0, -90]) Prisme(18.5,​ 20, 28); // Renfort 
 +    } 
 +    translate([7,​ 0, 28]) rotate([-90,​ 0, 0]) cylinder(d= 3.2, h=18.5); 
 +    translate([7,​ 15.5, 28]) rotate([0, 90, 90]) scale([1.05,​ 1.05, 1]) resize([0,​0,​3],​ auto=[false,​false,​true]) EmpreinteEcrou(3) ; 
 +
 + 
 +//​translate([193,​ 23, 28]) rotate([-90,​ 0, 180]) gachette();​ 
 + 
 +module EmpreinteEcrou(d) { 
 +    valeurs = [[[2.34, 5.5], 3]]; 
 +    for (i = [0:​len(valeurs) - 1]) { 
 +        if (valeurs[i][1] == d) { 
 +            h = valeurs[i][0][0];​ 
 +            e = valeurs[i][0][1] * 2 / sqrt(3); 
 +            rotate_extrude(convexity = 10, $fn = 6) square([e/​2,​ h]); 
 +        } 
 +    } 
 +
 + 
 +module Prisme(p, l, h){ 
 +    polyhedron( 
 +        points=[[0,​0,​0],​ [p,0,0], [p,l,0], [0,l,0], [0,l,h], [p,l,h]], 
 +        faces=[[0,​1,​2,​3],​[5,​4,​3,​2],​[0,​4,​5,​1],​[0,​3,​4],​[5,​2,​1]] 
 +    ); 
 +
 +</​code>​ 
 + 
 +==== Code gachette ==== 
 +<code c> 
 +include <​rotate_p.scad>;​ 
 +include <​polysections.scad>;​ 
 +include <​path_extrude.scad>;​ 
 + 
 +$fn = 100; 
 +gachette();​ 
 + 
 +module gachette() { 
 +    myPoints = [ [0, -5], [5, -5], [5, 5], [0, 5] , for(t = [90: 2: 270]) [5 * cos(t), 5 * sin(t)] ]; 
 +    myPath = [ for(t = [120:​1:​360]) [exp(0.57 * t * PI / 180) * cos(t), exp(0.57 * t * PI / 180) * sin(t)] ];     
 +    translate([0,​ -3, 0]) difference() { 
 +        union() { 
 +            path_extrude(myPoints,​ myPath); 
 +            // Queue 
 +            translate([40.279,​ -2.5, 0]) rotate([0, 0, 0]) rotate_extrude(angle=160,​ convexity=10) translate([5,​ 0, 0]) union() { 
 +                circle(d=10);​ 
 +                translate([-5,​ -5, 0]) square(size=[5,​ 10]); 
 +            } 
 +            // Tête 
 +            translate([0,​ 3, -5]) cylinder(d = 14, h = 10); 
 +            translate([0,​ 3, -5]) rotate([0, 0, 40.56]) translate([-4.5,​ 0, 0]) cube([4.67, 6.998, 10]); 
 +            translate([-10,​ -4, -5]) cube([10, 4, 10]); 
 +        } 
 +        translate([0,​ 3, -5]) cylinder(d = 3.2, h = 10); 
 +    } 
 +
 +</​code>​ 
 +===== Électronique ===== 
 +La commande de l'​actionneur s'​effectue en appliquant du 12v aux bornes de celui-ci. 
 +Un pont en H est utilisé (L293D). 
 +===== Liens ===== 
 +[[https://​www.alarm-discount.com/​verrouillage-centralise/​72-moteurs-de-centralisation-5-fils.html|Moteurs de centralisation 5 fils]] 
 + 
 +[[https://​www.locoduino.org/​spip.php?​id_article=213&​page=imprime|Commande de moteur à courant continu]] 
 + 
 +AEC-Q100 Motor Driver, Pont en H SOIC 16. 15A 41 V, VNH 
 +Code commande RS 164-7017 Référence fabricant VNH7070ASTR Marque STMicroelectronics 
 + 
 +[[https://​openclassrooms.com/​fr/​courses/​2778161-programmez-vos-premiers-montages-avec-arduino/​3285355-le-moteur-a-courant-continu-partie-2-le-pont-en-h-et-les-circuits-integres|Le moteur à courant continu (partie 2) : le pont en H et les circuits intégrés]] 
 + 
 +[[https://​wiki.mchobby.be/​index.php?​title=Pont-H_L293D|Pont-H L293D]] 
 + 
 +{{tag> openscad sylvain }}
tirer-lacher_dmx.1564638192.txt.gz · Dernière modification: 2019/08/01 07:43 par Mushussu