Micro Eolienne
De Centre de Ressources Numériques - Labomedia
Micro Eolienne |
---|
Pour modifier la page utiliser l'onglet Modifier avec formulaire.
Résumé | Micro éolienne
allumage d'une LED ou plus si affinités |
---|---|
Auteur(s) | gaziel |
Licence | CC-BY-SA 3 |
Date de création | 03 avril 2015 |
Sommaire
Intentions / Contexte
faire un truc. valider ma modélisation OpenSCAD
Principe de fonctionnement
éolienne + moteur CC en générateur + électroniques + batterie = courant CC
Besoins / Compétences
Compétences:
- Modélisation 3D sur http://wiki.labomedia.org/index.php/OpenSCAD
- Impression 3D
Matériels :
- Pièces imprimées
- Une génératrice de courant (ici : moteur CC)
- Un roulement a bille (ici roulement de roller D4thlon abec3- Merci Antoine)
- Visseries diverses et axe éolienne
- Courroie (ici élastique)
Documentation
Éolienne de type Savonius
Modélisation paramétrique :
- Modification de http://www.thingiverse.com/thing:366102, avec l'ajout d'une base avec une gorge pour la courroie:
- Création d'un support d’éolienne + moteur, avec contraintes de réglage pour la courroie:
- Assemblage final :
- Code, un peu merdique :
Savonius_Diametre_Base=100;
Thinkness=4;
Roller_Diametre_Externe=22;
Roller_Diametre_Interne=8;
Roller_Hauteur=7;
Motor_Diametre_Central=13;
Motor_Diametre_Holder=3;
Motor_Espacement_Holder=25;
footer_height=50;
//Arm1();
//Arm2();
//savonius();
//poulie();
//footer();
full_animated();
module full_animated(){
Arm1();
color("red")translate([Savonius_Diametre_Base/2,0,Thinkness])rotate([0,0,90])Arm2();
translate([0,0,Thinkness+Roller_Hauteur-1])rotate([0,0,$t*360])savonius();
translate([Savonius_Diametre_Base/2,0,Thinkness])rotate([0,0,90])translate([Savonius_Diametre_Base/2,0,-10*epaisseur])dumymotor();
translate([Savonius_Diametre_Base/2,0,Thinkness])rotate([180,0,90])translate([Savonius_Diametre_Base/2,0,-5*epaisseur])poulie();
color("green")translate([Savonius_Diametre_Base/4,0,-2*Thinkness])footer();
}
module Arm1(){
difference(){
union(){
hull(){
cylinder(r=(Roller_Diametre_Externe/2)+Thinkness*2, h=Thinkness);
translate([Savonius_Diametre_Base/2,0,0])cylinder(r=Roller_Diametre_Externe/2, h=Thinkness);
}
translate([0,0,Thinkness])cylinder(r=(Roller_Diametre_Externe/2)+Thinkness, h=Roller_Hauteur-1);
}
cylinder(r=Roller_Diametre_Interne/2+1, h=Thinkness+Roller_Hauteur);
translate([0,0,Thinkness])cylinder(r=Roller_Diametre_Externe/2, h=Roller_Hauteur);
translate([Savonius_Diametre_Base/2,0,0])cylinder(r=Thinkness/2, h=Thinkness+1);
//4 holes for a base
translate([(Savonius_Diametre_Base/4)-Thinkness,Thinkness,0])cylinder(r=Thinkness/4, h=Thinkness+1);
translate([(Savonius_Diametre_Base/4)-Thinkness,-Thinkness,0])cylinder(r=Thinkness/4, h=Thinkness+1);
translate([(Savonius_Diametre_Base/4)+Thinkness,Thinkness,0])cylinder(r=Thinkness/4, h=Thinkness+1);
translate([(Savonius_Diametre_Base/4)+Thinkness,-Thinkness,0])cylinder(r=Thinkness/4, h=Thinkness+1);
}
}
module Arm2(){
difference(){
hull(){
cylinder(r=Roller_Diametre_Externe/2, h=Thinkness);
translate([Savonius_Diametre_Base/2,0,0])cylinder(r=(Motor_Espacement_Holder/2 +Motor_Diametre_Holder+Thinkness/2), h=Thinkness);
}
cylinder(r=Thinkness/2, h=Thinkness*3);
translate([Savonius_Diametre_Base/2,0,0])cylinder(r=Motor_Diametre_Central/2, h=Thinkness+1);
translate([Savonius_Diametre_Base/2,Motor_Espacement_Holder/2,0])cylinder(r=Motor_Diametre_Holder/2, h=Thinkness+1);
translate([Savonius_Diametre_Base/2,-Motor_Espacement_Holder/2,0])cylinder(r=Motor_Diametre_Holder/2, h=Thinkness+1);
}
}
//+----------------------------------------------------------+
//| OPENSCAD SAVONIUS ROTOR |
//| 2014 gaziel@gmail.com |
//|see http://fr.wikipedia.org/wiki/Rotor_de_Savonius |
//|or http://en.wikipedia.org/wiki/Savonius_wind_turbine |
//+----------------------------------------------------------+
Diametre_base=100; //base diameter (D)
ecart=16; //central Gap - ecart (e)
epaisseur=3; //thinkness ( base and max'wing)
gorge=3;
hauteur=100; //height
diametre_pale=(Diametre_base/2)+(ecart/2); //wing diameter
//try to get 0.166666666666666
echo("best : 0.15 < ", ecart/Diametre_base ,"< 0.17");
Twist=0; //Wings of Fury
n_pale=2; //number of wings -
$fa=1;
$fs=1;
module savonius(){
base();
rotor2();
}
module rotor2(){
for (i=[1:n_pale]){
color([0.5+sin(10*i)/2,0,1/i]){
rotate([0,0,i*(360/n_pale)]){
translate([-diametre_pale/2+ecart/2,0,epaisseur+gorge]){
linear_extrude(height=hauteur+epaisseur,convexity=100,twist=Twist){
difference(){
circle(r=diametre_pale/2);
circle(r=(diametre_pale/2)-epaisseur/2);
translate([-Diametre_base,0,0])square(Diametre_base*2);
}
}
}
}
}
}
}
module base(){
difference(){
color("CadetBlue"){
union(){
cylinder(r=Diametre_base/2, h=epaisseur);
translate([0,0,epaisseur])cylinder(r=(Diametre_base-epaisseur)/2, h=gorge);
translate([0,0,epaisseur+gorge])cylinder(r=Diametre_base/2, h=epaisseur);
}
}
translate([0,0,-epaisseur]) cylinder(r=1, h=3*10); //change r as your preference
}
}
module dumymotor(){
color("grey")cylinder(r=Motor_Espacement_Holder/2+epaisseur,h=10*epaisseur);
color("black")cylinder(r=Motor_Diametre_Holder/2,h=13*epaisseur);
}
module poulie(){
difference(){
color("Blue"){
union(){
cylinder(r=Motor_Diametre_Central/2, h=epaisseur);
translate([0,0,epaisseur])cylinder(r=(Motor_Diametre_Central-epaisseur)/2, h=gorge);
translate([0,0,epaisseur+gorge])cylinder(r=Motor_Diametre_Central/2, h=epaisseur);
cylinder(r=(Motor_Diametre_Central-epaisseur)/2, h=(gorge+epaisseur*2)*2);
}
}
translate([0,0,-epaisseur]) cylinder(r=0.5, h=100); //change r=3 as your preference
}
}
module footer(){
difference(){
hull(){
cube(4*Thinkness,center=true);
translate([-0,0,-(2*Thinkness+footer_height)])cylinder(r=Savonius_Diametre_Base/6,h=Thinkness);
}
translate([-Thinkness,Thinkness,Thinkness])cylinder(r=Thinkness/4, h=Thinkness+1);
translate([-Thinkness,-Thinkness,Thinkness])cylinder(r=Thinkness/4, h=Thinkness+1);
translate([+Thinkness,Thinkness,Thinkness])cylinder(r=Thinkness/4, h=Thinkness+1);
translate([+Thinkness,-Thinkness,Thinkness])cylinder(r=Thinkness/4, h=Thinkness+1);
}
translate([-0,0,-(2*Thinkness+footer_height)])cylinder(r=Savonius_Diametre_Base/4,h=Thinkness);
}