Outils pour utilisateurs

Outils du site


machine_a_peindre

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
machine_a_peindre [2019/04/11 18:14]
Mushussu
machine_a_peindre [2020/02/02 22:10] (Version actuelle)
Mushussu [Liens]
Ligne 1: Ligne 1:
-===== Machine à peindre ===== +====== Machine à peindre ​====== 
-==== Inspirations ====+===== Inspirations ​=====
 "Non, la peinture n’est pas faite pour décorer les appartements. C’est un instrument de guerre offensive et défensive contre l’ennemi."​ "Non, la peinture n’est pas faite pour décorer les appartements. C’est un instrument de guerre offensive et défensive contre l’ennemi."​
  
-Picasso+Pablo Picasso
  
-==== Réalisation ==== +[[https://​www.youtube.com/​watch?​v=s5MUxuY4Hbw|Niki de Saint-Phalle]] 
-=== JOUR 1 ===+===== Réalisation ​===== 
 +==== JOUR 1 ====
 09/11/2108 09/11/2108
  
Ligne 24: Ligne 25:
 Commutateur optique manquant : Code commande RS 708-5538 Référence fabricant TCST1103 Fabricant Vishay Commutateur optique manquant : Code commande RS 708-5538 Référence fabricant TCST1103 Fabricant Vishay
  
-=== JOUR 2 ===+==== JOUR 2 ====
 22/11/2108 22/11/2108
 Objectif : Réalisation du capteur optique manquant sur la roue codeuse du pan : Objectif : Réalisation du capteur optique manquant sur la roue codeuse du pan :
Ligne 31: Ligne 32:
  
 J'ai pris modèle sur le capteur du tilt. La surprise a été de constater que deux encodeurs optique étaient positionnés côte à côte. J'ai pris modèle sur le capteur du tilt. La surprise a été de constater que deux encodeurs optique étaient positionnés côte à côte.
-=== JOUR 3 ===+==== JOUR 3 ====
 13/12/2108 13/12/2108
  
Ligne 94: Ligne 95:
 } }
 </​code>​ </​code>​
-=== JOUR 4 ===+==== JOUR 4 ====
 14/12/2108 14/12/2108
  
Ligne 137: Ligne 138:
 Driver des moteurs pas à pas : NJM2670D2 fabricant JRC Driver des moteurs pas à pas : NJM2670D2 fabricant JRC
  
-==== Liens ====+==== Jours ... ==== 
 +^Qtt^Nom ​               ^Valeur ​    ​^Référence Fabricant ​        ​^Fabricant ​             ^Réf. Fournisseur^Fournisseur^ 
 +|2  |Driver moteur ​     |4A         ​|L298N ​                      ​|STMicroelectronics ​    ​|636-384 ​             |RS         | 
 +|2  |Dissipateur ​       |8.5°C/​W ​   |ML33                        |AAVID THERMALLOY ​      ​|712-4263 ​            ​|RS ​        | 
 +|1  |Embase IDC         |40 contacts|AWHW 40G-0202-T ​            ​|ASSMANN WSW            |674-1252 ​            ​|RS ​        | 
 +|2  |Connecteur IDC F   |40 contacts|09185406813 ​                ​|Harting ​               |409-8720 ​            ​|RS. ​       | 
 +|2  |Connecteur XHP     |11 contacts|XHP-11 ​                     |JST                    |820-1523 ​            ​|RS ​        | 
 +|8  |Cosse à sertir ​    ​|JST ​       |BXH-001T-P0.6 ​              ​|JST ​                   |820-1529 ​            ​|RS ​        | 
 +|6  |Embase KK          |4 Contacts |22-27-2041 ​                 |Molex ​                 |483-8483 ​            ​|RS ​        | 
 +|2  |Embase KK          |2 Contacts |22-27-2021 ​                 |Molex ​                 |483-8461 ​            ​|RS ​        | 
 +|17 |Diode ​             |2A 100V    |HER202G R0                  |Taiwan Semiconductor ​  ​|688-1940 ​            ​|RS ​        | 
 +|2  |Résistance ​        |22 ohm.    |MRS25000C2209FCT00 ​         |Vishay ​                ​|683-3336 ​            ​|RS ​        | 
 +|1  |Résistance ​        |10k ohm    |                            |                       ​| ​                    ​| ​          | 
 +|8  |Résistance ​        |1 ohm      |CFR25J1R0 ​                  |TE Connectivity ​       |135-550 ​             |RS         | 
 +|1  |Condensateur ​      ​|470uF ​     |711-1129 ​                   |RS Pro                 ​|711-1129 ​            ​|RS ​        | 
 +|1  |Condensateur ​      ​|100nF ​     |USR1H0R1MDD ​                ​|Nichicon ​              ​|475-8961 ​            ​|RS ​        | 
 +|1  |MOSFET canal N     |30A 60VA   ​|STP36NF06L ​                 | STMicroelectronics ​   |486-5671 ​            ​|RS ​        | 
 +==== JOUR 5 ==== 
 +21/​10/​2019 
 + 
 +Finition du PCB avec génération des fichiers Gerber. 
 +J'ai commandé le PCB chez [[https://​www.seeedstudio.com/​fusion_pcb.html|Seed Studio]] : 
 +==== JOUR 6 ==== 
 +29/​10/​2019 
 + 
 +Réalisation du gabarit pour fixer le support du "​pinceau"​ sur le plaque emboutie soutenant le projecteur. 
 +Voici le fichier le code OpenSCAD : 
 +<code java> 
 +$fn=40; 
 + 
 +Plaque(); 
 + 
 +module Plaque() { 
 +    difference() { 
 +        translate([-122,​ 0]) square([244,​ 100]); 
 +        translate([-110,​ 10]) circle(d = 4); 
 +        translate([110,​ 10]) circle(d = 4); 
 +        translate([-110,​ 89]) circle(d = 4); 
 +        translate([110,​ 89]) circle(d = 4); 
 +    } 
 +
 +</​code>​ 
 +==== JOUR 7 ==== 
 +31/​10/​2019 
 + 
 +Fraisage du plateau avec le code ci-dessous : 
 + 
 +{{:​plateau.png?​400|Plateau}} 
 + 
 +<code java> 
 +module Plateau() { 
 +    difference() { 
 +        hull() { // Forme 
 +            translate([-10,​ 132]) circle(r=30);​ 
 +            translate([10,​ 132]) circle(r=30);​ 
 +            translate([91,​ 55]) circle(r=30);​ 
 +            translate([91,​ -42]) circle(r=30);​ 
 +            translate([10,​ -126]) circle(r=30);​ 
 +            translate([-10,​ -126]) circle(r=30);​ 
 +            translate([-91,​ 55]) circle(r=30);​ 
 +            translate([-91,​ -42]) circle(r=30);​ 
 +        } 
 +        translate([0,​ -7.2]) { // Décalage pour que l'axe X soit l'axe dde rotation 
 +                translate([-110,​ -39.5]) circle(d = 4.1); // Bas Gauche 
 +                translate([110,​ -39.5]) circle(d = 4.1); // Bas Droite 
 +                translate([-110,​ 39.5]) circle(d = 4.1); // Haut Gauche 
 +                translate([110,​ 39.5]) circle(d = 4.1); // Haut Droite 
 +         
 +                translate([-110,​ -39.5]) translate([65,​ 6])  circle(d = 4.1); // Bas Centre Gauche 
 +                translate([-110,​ 39.5]) ​ translate([65,​ 1])  circle(d = 4.1); // Haut Centre Gauche 
 +                translate([110,​ -39.5]) ​ translate([-65,​ 6]) circle(d = 4.1); // Bas Centre Droite 
 +                translate([110,​ 39.5]) ​  ​translate([-65,​ 1]) circle(d = 4.1); // Haut Centre Droite 
 +           
 +        } 
 +        translate([-10,​ -116]) square([20, 238]); // Emplacement marqueur 
 +        translate([38,​ 48.3]) square([64, 4]); // Rainure renfort 
 +        translate([-102,​ 48.3]) square([64, 4]); // // Rainure renfort 
 +        translate([0,​ -4]) circle(d=26);​ // Sécurité 
 +        // -103.3 Vis arrière 
 +        // 90.7 Vis avant 
 +        // 194 Distance entre deux vis 
 +         
 +        // Support marqueur arrière 
 +        translate([-20,​ -83.3]) circle(d = 4.1); 
 +        translate([-20,​ -123.3]) circle(d = 4.1); 
 +        translate([20,​ -83.3]) circle(d = 4.1); 
 +        translate([20,​ -123.3]) circle(d = 4.1); 
 +         
 +        // Support marqueur avant 
 +        translate([-20,​ 110.7]) circle(d = 4.1); 
 +        translate([-20,​ 70.7]) circle(d = 4.1); 
 +        translate([20,​ 110.7]) circle(d = 4.1); 
 +        translate([20,​ 70.7]) circle(d = 4.1); 
 +         
 +        // Fixation Solénoïde 
 +        translate([15,​ 25]) circle(d=3);​ 
 +        translate([35,​ 25]) circle(d=3);​ 
 +        translate([15,​ 55]) circle(d=3);​ 
 +        translate([35,​ 55]) circle(d=3); ​        
 +    } 
 +
 +</​code>​ 
 +==== JOUR 8 ==== 
 +01/​11/​2019 
 + 
 +Conception du support de l'​embout du marqueur : 
 + 
 +{{:​supportembout.png?​400 |}} 
 +<code java> 
 +module SupportEmbout() { 
 +    difference() { 
 +        union() { 
 +            resize([43.3012702,​ 0, 0]) cylinder(d = 25, h = 55); // Cylindre principal 
 +            hull() { // Platine de fixation 
 +                translate([-30,​ 0, 0]) cylinder(d = 25, h = 6); 
 +                translate([30,​ 0, 0]) cylinder(d = 25, h = 6); 
 +            } 
 +        } 
 +        translate([-3,​ 0, 31.6492]) rotate([0, 30, 0])  
 +        union() { 
 +            translate([0,​ 0, 22]) cube([60, 30, 30], center = true); // Cube pour le biseau 
 +            resize([44.8,​ 0, 0]) cylinder(d = 18, h = 7); // Ellipse intérieure 
 +            translate([0,​ 0, -32]) cylinder(d = 6, h = 100); // Axe de la vis de 40 
 +            translate([0,​ 0, -25]) { // Trou ecrou 
 +                cylinder(d = 12, h = 5.5, $fn = 6); 
 +                translate([-40,​ -5.2, 0]) cube([40, 10.4, 5.5]); 
 +            } 
 +        } 
 +        // Trous de fixation 
 +        translate([-30,​ 0, 0]) cylinder(d = 4.2, h = 6); 
 +        translate([30,​ 0, 0]) cylinder(d = 4.2, h = 6); 
 +    } 
 +             
 +
 +</​code>​ 
 + 
 +==== JOUR 9 ==== 
 +02/​11/​2019 
 + 
 +Conception des supports de l'​applicateur : 
 + 
 +La distance entre le dessus du plateau en bois et l'axe de rotation est de 35,7mm. 
 + 
 +{{:​supportmarqueur.png?​400 |Support Marqueur}} 
 +<code java> 
 +module SupportMarqueur() { 
 +    taille = 20; 
 +    hauteur = 14.25; 
 +    difference() { 
 +        hull() { 
 +            translate([0,​ 0, hauteur]) rotate([90, 0, 0]) cylinder(d = 20, h = taille); 
 +            hull() { 
 +                translate([20,​ -taille / 2, 0]) cylinder(d = taille, h = 0.1); 
 +                translate([-20,​ -taille / 2, 0]) cylinder(d = taille, h = 0.1); 
 +            } 
 +        } 
 +        translate([0,​ 0, hauteur]) rotate([90, 0, 0]) cylinder(d = 4, h = taille); // Trou de l'​axe 
 +        // Trous de vis 
 +        translate([20,​ -taille / 2, 0]) cylinder(d = 4.2, h = 20); 
 +        translate([-20,​ -taille / 2, 0]) cylinder(d = 4.2, h = 20); 
 +        // Trous tête de vis 
 +        translate([20,​ -taille / 2, 4]) cylinder(d = 8, h = 20); 
 +        translate([-20,​ -taille / 2, 4]) cylinder(d = 8, h = 20); 
 +        // Forme du cylindre 
 +        translate([0,​ 10, hauteur]) rotate([0, 90, 0]) cylinder(d = 25.5, h = 200, center = true); 
 +        translate([0,​ 10, 0]) cube([200, 20, 60], center = true); 
 +    } 
 +
 +</​code>​ 
 + 
 +==== JOUR 10 ==== 
 +08/​12/​2019 
 + 
 +Impression du support du S. 
 +Echec cuisant, j'ai retournée la pièce pour l'​impression et oublié de mettre l'​encoche de l'​autre côté. 
 + 
 +==== JOUR 11 ==== 
 +09/​12/​2019 
 + 
 +J'ai rectifié l'​erreur d'hier et j'en ai profité pour peaufiner le tout : 
 +<code java> 
 +module SupportSolenoide() { 
 +    difference() { 
 +        union() { 
 +            hull() { 
 +                translate([80,​ 47, 0]) cylinder(d = 14, h = 5); 
 +                translate([80,​ 7, 0]) cylinder(d = 14, h = 5); 
 +                translate([7,​ 47, 0]) cylinder(d = 14, h = 5); 
 +                translate([7,​ 7, 0]) cylinder(d = 14, h = 5); 
 +            } 
 +            //Patte 
 +            hull() { 
 +                translate([77,​ -4, 0]) cylinder(d = 20, h = 5); 
 +                translate([77,​ 58, 0]) cylinder(d = 20, h = 5); 
 +            } 
 +            // Extension solénoïde 
 +            hull() { 
 +                translate([91,​ 42, 0]) cylinder(d = 10, h = 7.5); 
 +                translate([91,​ 12, 0]) cylinder(d = 10, h = 7.5); 
 +                translate([49,​ 42, 0]) cylinder(d = 10, h = 7.5); 
 +                translate([49,​ 12, 0]) cylinder(d = 10, h = 7.5); 
 +            } 
 +        } 
 + 
 +        // Trous solénoïde 
 +        translate([88,​ 38, 0]) cylinder(d = 3.2, h = 7.5); 
 +        translate([88,​ 16, 0]) cylinder(d = 3.2, h = 7.5); 
 +        translate([58,​ 38, 0]) cylinder(d = 3.2, h = 7.5); 
 +        translate([58,​ 16, 0]) cylinder(d = 3.2, h = 7.5); 
 +        // Tête de vis 
 +        translate([88,​ 38, 0]) cylinder(d1 = 6.3, d2 = 3.2, h = 1.7); 
 +        translate([88,​ 16, 0]) cylinder(d1 = 6.3, d2 = 3.2, h = 1.7); 
 +        translate([58,​ 38, 0]) cylinder(d1 = 6.3, d2 = 3.2, h = 1.7); 
 +        translate([58,​ 16, 0]) cylinder(d1 = 6.3, d2 = 3.2, h = 1.7); 
 +        // Fixation 
 +        translate([7,​ 7, 0]) cylinder(d = diamtreFixation,​ h = 6); 
 +        translate([7,​ 47, 0]) cylinder(d = diamtreFixation,​ h = 6); 
 +        // Passage écrou 
 +        translate([41.5,​ 47, 0]) cube([11, 7, 7.5]); 
 +        translate([47,​ 47, 0]) cylinder(d = 11, h = 7.5);  
 +        //pattes 
 +        translate([77,​ 58, 0]) cylinder(d = diamtreFixation,​ h = 6); 
 +        translate([77,​ -4, 0]) cylinder(d = diamtreFixation,​ h = 6); 
 +        // Passage marqueur 
 +        translate([0,​ 17, 0]) cube([16, 20, 7]); 
 +        translate([0,​ 17, 0]) cube([40, 20, 3]); 
 +    } 
 +
 +</​code>​ 
 + 
 +==== JOUR 12 ==== 
 +10/​12/​2019 
 + 
 +L'​embout précédent s'est cassé au serrage de la courroie. J'ai modifié la position pour l'​impression. De ce fait la fibre de PLA est perpendiculaire à l'​effort. J'ai aussi augmenté l'​épaisseur des pattes de serrage. L'​ensemble des éléments du plateau sont imprimés. Il reste à équilibrer le plateau afin de diminuer les efforts sur le moteur de tilt. 
 + 
 +<code java> 
 +module EmboutSolenoide() { 
 +    largeurCourroie = 6; 
 +    largeurEmbout = 50; 
 +    profondeur = 18; 
 +    longueurVis = 17; 
 +    largeurCote = 10; 
 +    difference() { 
 +        union() { 
 +            // Base 
 +            hull() { 
 +                translate([4,​ 0, 4]) rotate([-90,​ 0, 0]) cylinder(d = 8, h = profondeur);​ 
 +                translate([largeurEmbout - 4, 0, 4]) rotate([-90,​ 0, 0]) cylinder(d = 8, h = profondeur);​ 
 +            } 
 +            // Côté gauche 
 +            translate([0,​ 0, 4]) cube([largeurCote,​ profondeur, ​ 13 + largeurCourroie / 2]); 
 +            translate([0,​ profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d = profondeur, h = largeurCote);​ 
 +            translate([-4,​ 0, 14 - largeurCourroie / 2]) cube([4, profondeur, largeurCourroie + 2]); // Passage courroie 
 +            translate([-4,​ 0, 11]) rotate([0, 180, -90]) prisme(profondeur,​ 4, 4); 
 +            // Côté droit 
 +            translate([largeurEmbout - largeurCote,​ 0, 4]) cube([largeurCote,​ profondeur, ​ 13 + largeurCourroie / 2]); 
 +            translate([largeurEmbout - largeurCote,​ profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d = profondeur, h = largeurCote);​ 
 +            translate([largeurEmbout,​ 0, 14 - largeurCourroie / 2]) cube([4, profondeur, largeurCourroie + 2]); // Passage courroie 
 +            translate([largeurEmbout + 4, profondeur, 11]) rotate([0, 180, 90]) prisme(profondeur,​ 4, 4); 
 +            // Partie centrale 
 +            hull() { 
 +                translate([largeurEmbout / 2, 0, 15]) rotate([-90,​ 0, 0]) cylinder(d = 22, h = profondeur);​ 
 +                translate([largeurCote,​ 0, 8]) cube([largeurEmbout - 2 * largeurCote,​ profondeur, 0.1]); 
 +            } 
 +        } 
 +        // Axe solénoïde 
 +        translate([largeurEmbout / 2, 0, 15]) rotate([-90,​ 0, 0]) cylinder(d = 12.1, h = 13); 
 +        // Encoches 
 +        translate([largeurCote / 2, 0, 5]) Trapeze(0.5,​ 1.5, profondeur, 30); 
 +        translate([largeurEmbout - largeurCote / 2, 0, 5]) Trapeze(0.5,​ 1.5, profondeur, 30); 
 +        // Vis 
 +        translate([0,​ profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d = 4, h = longueurVis);​ 
 +        translate([largeurEmbout - longueurVis,​ profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d = 4, h = longueurVis);​ 
 +        // Tête de vis 
 +        translate([-4,​ profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d = 7, h = 4); 
 +        translate([largeurEmbout,​ profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d = 7, h = 4); 
 +        // Ecrou 
 +        translate([largeurCote,​ profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d = 8, h = 5.6); 
 +        translate([largeurEmbout - largeurCote -5.6, profondeur / 2, 17 + largeurCourroie / 2]) rotate([0, 90, 0]) cylinder(d =  
 +        8, h = 5.6); 
 +         
 +        // Fixation sur solenoide 
 +        translate([largeurEmbout / 2, 7, 10]) cylinder(d = 3.3, h = 20);  
 +        translate([largeurEmbout / 2, 7, 1]) cylinder(d = 3.1, h = 15); 
 +         
 +        // Arrondisseur 
 +        translate([0,​ 4, 0]) rotate([0, 0, 180]) arrondisseurAngle(4,​ 30); 
 +        translate([largeurEmbout,​ 4, 0]) rotate([0, 0, -90]) arrondisseurAngle(4,​ 30); 
 +    } 
 +
 + 
 +module arrondisseurAngle(rayon,​ hauteur) ​ { 
 +    difference() { 
 +        cube([rayon,​ rayon, hauteur]);​ 
 +        cylinder(r = rayon, h = hauteur); 
 +    } 
 +
 + 
 +module Trapeze(b1, b2, p, h) { 
 +    CubePoints = [ 
 +  [ -b1 / 2,  0,  0 ],  //0 
 +  [ b1 / 2,  0,  0 ],  //1 
 +  [ b1 / 2,  p,  0 ],  //2 
 +  [ -b1 / 2,  p,  0 ],  //3 
 +  [ -b2 / 2,  0,  h ],  //4 
 +  [ b2 / 2,  0,  h ],  //5 
 +  [ b2 / 2,  p,  h ],  //6 
 +  [ -b2 / 2,  p,  h ]]; //7 
 +   
 +    CubeFaces = [ 
 +  [0,​1,​2,​3], ​ // Base 
 +  [4,​5,​1,​0], ​ // Face 
 +  [7,​6,​5,​4], ​ // Haut 
 +  [5,​6,​2,​1], ​ // Droite 
 +  [6,​7,​3,​2], ​ // Arrière 
 +  [7,4,0,3]]; // Gauche 
 +   
 +    polyhedron( CubePoints, CubeFaces );  
 +
 +</​code>​ 
 + 
 +==== JOUR 13 ==== 
 +24/​12/​2019 
 + 
 +Echec lamentable d'​impression des outils pour centrer le dispositif de peinture. 
 + 
 +==== JOUR 14 ==== 
 +25/​12/​2019 
 + 
 +Passage par la fraiseuse numérique avec l'​utilisation d'un conte-plaqué de 5mm afin d'​obtenir ceci qui va me permettre de trouver le point d'​équilibre précis du plateau avec tout les accessoires : 
 + 
 +{{:​centrage.png?​direct&​400|Centre}} 
 + 
 +<code java> 
 +$fn = 50; 
 + 
 +Decalage();​ 
 + 
 +module Decalage() { 
 +    difference() { 
 +        // Base 
 +        hull() { 
 +            circle(d ​ = 60); 
 +            translate([25,​ 0, 0]) circle(d ​ = 60); 
 +        } 
 +        for (i = [-26: 5 : 50]) { 
 +            translate([i,​ 0]) circle(d = 3); // Trou de l'​axe 
 +        } 
 +        translate([-50,​ 22.63]) square([100,​ 100]); 
 +        for (i = [0 : 3]) {   
 +            for (j = [0 : 6: 24]) { 
 +            translate([j,​ 0]) rotate(90 * i) translate([18,​ 18]) circle(d = 4.2); // Trous de fixations 1 
 +            } 
 +        } 
 +    } 
 +
 +</​code>​ 
 + 
 +==== JOUR 15 ==== 
 +26/​12/​2019 
 + 
 +La fraiseuse numérique à encore travailler. Aujourd'​hui réalisation du plateau avec les corrections faites au fil du temps : 
 +<code java> 
 +module Plateau() { 
 +    difference() { 
 +        hull() { // Forme 
 +            translate([-20,​ 132]) circle(r=30);​ 
 +            translate([111,​ 152]) circle(r=10);​ 
 +            translate([111,​ -162]) circle(r=10);​ 
 +            translate([-20,​ -142]) circle(r=30);​ 
 +            translate([-91,​ 45]) circle(r=30);​ 
 +            translate([-91,​ -52]) circle(r=30);​ 
 +        } 
 +        // Vis support lyre 
 +        translate([-110,​ -42]) circle(d = 4); // Bas Gauche 
 +        translate([110,​ -42]) circle(d = 4); // Bas Droite 
 +        translate([-110,​ 22]) circle(d = 4); // Haut Gauche 
 +        translate([110,​ 22]) circle(d = 4); // Haut Droite 
 +            
 +        translate([-45,​ -36])  circle(d = 4); // Bas Centre Gauche 
 +        translate([-45,​ 23])  circle(d = 4); // Haut Centre Gauche 
 +        translate([45,​ -36]) circle(d = 4); // Bas Centre Droite 
 +        translate([45,​ 23]) circle(d = 4); // Haut Centre Droite 
 + 
 +        translate([-10,​ -116]) square([20, 155]); // Emplacement marqueur 
 +        // Passage embout 
 +        translate([0,​ 109]) circle(d = 26); 
 +        translate([-10,​ 77]) square([20, 32]); 
 +         
 +        translate([-10,​ 39.1]) square([20, 37.8]); // Poche de 1mm de profondeur 
 +         
 +        translate([38,​ 37]) square([64, 5]); // Rainure renfort droite 
 +        translate([-102,​ 37]) square([64, 5]); // // Rainure renfort gauche 
 +         
 +        translate([0,​ -4]) circle(d=26);​ // Sécurité 
 +        // -103.3 Vis arrière 
 +        // 90.7 Vis avant 
 +        // 194 Distance entre deux vis 
 +         
 +        // Support marqueur arrière 
 +        translate([-20,​ -83]) circle(d = 4.1); 
 +        translate([-20,​ -123]) circle(d = 4.1); 
 +        translate([20,​ -83]) circle(d = 4.1); 
 +        //​translate([20,​ -123]) circle(d = 4.1); 
 +         
 +        // Support marqueur avant 
 +        translate([-20,​ 111]) circle(d = 4.1); 
 +        translate([-20,​ 71]) circle(d = 4.1); 
 +        translate([20,​ 111]) circle(d = 4.1); 
 +        translate([20,​ 71]) circle(d = 4.1); 
 +     
 +        // Support Bouteille 
 +        translate([31,​ -153]) circle(d = 4.1); 
 +        translate([111,​ -153]) circle(d = 4.1); 
 +        translate([111,​ -103]) circle(d = 4.1); 
 +         
 +        // Support Solénoïde 
 +        translate([-31,​ -153]) circle(d = 4.1); 
 +         
 +        // Support Embout Bouteille 
 +        translate([41,​ 154]) circle(d = 4.1); 
 +        translate([101,​ 154]) circle(d = 4.1); 
 +        translate([41,​ 126]) circle(d = 4.1); 
 +        translate([101,​ 126]) circle(d = 4.1); 
 +    } 
 +
 +</​code>​ 
 +Une erreur existe encore, mais je la corrigerais peut-être plus tard. Il reste encore à vérifier que le plateau soit bien équilibré par rapport à 'axe de rotation. 
 + 
 +==== JOUR 16 ==== 
 +27/​12/​2019 
 + 
 +Mise au point du test logiciel pour la rotation des différents axes. Réussite absolue comme cette vidéo en témoigne : 
 + 
 +{{test_rotation.mp4|Rotation}} 
 + 
 +==== JOUR 17 ==== 
 +29/​12/​2019 
 + 
 +Test de l'​équilibre du plateau avec les accessoires. Il est bien équilibré et le moteur entraine convenablement l'​ensemble. 
 + 
 +Avec l'​inertie de l'​ensemble,​ des pas "​sautent",​ donc il est nécessaire d'​utiliser la roue dentée et les fourches optique afin de pouvoir établir une position précise. 
 + 
 +Une modification du plateau est nécessaire pour que le coin inférieur droit puis passer dans la fourche de la lyre. 
 +  
 +==== JOUR 17 ==== 
 +25/​01/​2020 
 + 
 +Finalisation de la pseudo-résidence au 108 pour voir la machine montée et la faire fonctionner. 
 +Voici le résultat : 
 +{{ :​map_coeur.mp4 |}} 
 + 
 +Un autre angle permettant de voir la machine en fonctionnement : 
 + 
 +{{ :​map_coeur2.mp4 |}} 
 +===== Matériel ===== 
 +==== Visserie ==== 
 +^Qtt ^Nom                                      ^Diamètre ​         ^Taille ​  ​^Référence ​              ​^Remarques ​   ^ 
 +|20  |Vis TCHC acier 8.8 noir EF DIN 912       ​|4 ​                ​|20 ​      ​|TCHC04/​020A8NOEF ​       |FIXNVIS ​     | 
 +|20  |Vis TCHC acier 8.8 noir EF DIN 912       ​|4 ​                ​|30 ​      ​|TCHC04/​030A8NOEF ​       |FIXNVIS ​     | 
 +|1   ​|Ecrou carré ​ DIN 557                     ​|5 ​                ​|8x8x4 ​   |ECRCAR05/​08/​08/​4ZN ​     |FIXNVIS ​     | 
 +|1   ​|Ecrou nylstop acier zingué blanc DIN 985 |4                 ​| ​        ​|ECRNYL04ZN ​             |FIXNVIS ​     | 
 +|1   ​|Rondelle acier zingué blanc NFE 25513    |4                 ​|M ​       |RONM04ZN ​               |FIXNVIS ​     | 
 + 
 +^Qtt ^Nom                                      ^Diamètre ​         ^Taille ​  ​^Référence ​              ​^Remarques ​   ^ 
 +|4   |Vis tête cylindrique hexagonale creuse ​  |UNF 10-32         ​|1'' ​     |                        |eBay         | 
 +|1   |Vis TCHC acier 8.8 noir EF DIN 912       ​|3 ​                ​|20 ​      ​|TCHC03/​020A8NOEF ​       |FIXNVIS ​     | 
 +|2   |Vis TCHC acier 8.8 noir EF DIN 912       ​|4 ​                ​|16 ​      ​|TCHC04/​016A8NOEF ​       |FIXNVIS ​     | 
 +|1   |Vis TCHC acier 8.8 noir EF DIN 912       ​|5 ​                ​|40 ​      ​|TCHC05/​040A8NOEF ​       |FIXNVIS ​     | 
 +|4   |Vis TFHC acier 10.9 noir EF DIN 7991     ​|3 ​                ​|12 ​      ​|TFHC03/​012A10NOEF ​      ​|FIXNVIS ​     | 
 + 
 +==== Alimentation ==== 
 +Boîtier  
 +[[https://​www.ldlc.com/​informatique/​pieces-informatique/​alimentation-pc/​c4289/​+fv1911-10773.html|SFX]] ou 
 +[[https://​www.ldlc.com/​informatique/​pieces-informatique/​alimentation-pc/​c4289/​+fv1911-10775.html|TFX]] 
 + 
 + 
 +Contrôleur de moteur pas à pas: 
 + 
 +A3982 
 + 
 +==== Consommables ==== 
 + 
 +[[https://​www.geant-beaux-arts.fr/​papier-recycle-110g-m-1-x-50m-gris-clair-rouleau.html|Papier gris 1 x 50]] 
 +===== Liens =====
 Pour les PCB : Pour les PCB :
 +
  
 Tutoriel : http://​riton-duino.blogspot.com/​2018/​11/​concevoir-un-pcb.html Tutoriel : http://​riton-duino.blogspot.com/​2018/​11/​concevoir-un-pcb.html
- 
-https://​www.seeedstudio.com/​fusion_pcb.html 
  
 https://​www.pcbway.com https://​www.pcbway.com
Ligne 150: Ligne 634:
 https://​forum.hardware.fr/​hfr/​electroniquedomotiquediy/​conception_depannage_mods/​concevoir-fabriquer-presque-sujet_645_6.htm https://​forum.hardware.fr/​hfr/​electroniquedomotiquediy/​conception_depannage_mods/​concevoir-fabriquer-presque-sujet_645_6.htm
  
 +A tester pour un clavier :
 +
 +https://​gitlab.freedesktop.org/​libevdev/​libevdev/​blob/​master/​tools/​libevdev-events.c
 +
 +Joystick : 
 +
 +https://​gist.github.com/​jasonwhite/​c5b2048c15993d285130
 +
 +https://​gist.github.com/​meghprkh/​9cdce0cd4e0f41ce93413b250a207a55
 +
 +Circuit :
 +
 +https://​reprap.org/​wiki/​Stepper_Motor_Driver_2.3
 +
 +http://​www.cuteminds.com/​en/​elettronicagen/​elettronica/​36-controller-bipolare-con-a3982-allegro
 +
 +https://​buildbrighton.com/​simple-bipolar-stepper-motor-drivers/​
 +
 +Logiciel :
 +
 +PWM : https://​librpip.frasersdev.net/​peripheral-config/​pwm0and1/​
 +
 +PWM : https://​github.com/​raspberrypi/​firmware/​issues/​1178
 +
 +ISR : https://​gist.github.com/​ast/​a19813fce9d34c7240091db11b8190dd
 +
 +Câble :
 +
 +https://​yadom.fr/​plateformes-de-developpement/​raspberry-pi/​alimentations/​cable-usb-c-coude-alimentation-raspberry-pi-4.html
 +
 +https://​www.amazon.fr/​gp/​product/​B07V6PVPKB
 +
 +http://​www.phartech.it
 +
 +[[http://​paintballfactory.pl/​fr/​page-daccueil/​|Autre piste]]
 {{tag>​sylvain}} {{tag>​sylvain}}
machine_a_peindre.1554999291.txt.gz · Dernière modification: 2019/04/11 18:14 par Mushussu