Lou cigalou, un robot magnétique
un robot à adhérence magnétique
Le projet vise à concevoir un robot utilitaire capable d'adhérer à toute "surface ferromagnétique verticale", comprendre pilier, pylone, tuyau, plinthe, poutre métallique... Cet outil pourra servir à placer en hauteur, sans prise de risque de chute par un intervenant humain, de petits objets. Ce projet est à ma connaissance une innovation.
Un liste non exhaustive par catégorie d'usages envisageables:
Usages technologiques:
- Emetteur wifi ou radio
- caméra (sic) ou appareil photo
- éclairage sur batterie
Usages artistiques:
- mini vidéo projecteur diffusant sur le sol un message
- Pour placer toute oeuvre d'art à la vue de tous en milieu urbain
Etapes
Une validation par étapes est nécessaire pour ce projet:
- Faisabilité physique d'une roue magnétique
- Développement hardware de la structure du bot
- Partie électronique/logiciel
- Mise au point d'un "grip" magnétique réversible, pour fixer solidement le bot ou les objets en position stationnaire tout en étant récupérable ultérieurement, j'ai ma petite théorie sur ca ;)
- Fun!
1- La roue magnétique
La roue est sans dout la plus vieille invention au monde. L'idée de faire une roue qui adhére à une paroi métallique m'est venu en observant un aimant rouler le long d'un casier. L'aimant dans sa chute ne s'est pas écarté de la paroi, à l'inverse je me suis dis qu'en placant un moteur sur ce meme aimant on pourrait le faire remonter cette même paroi. C'est vraiment tout bête, mais l'art résidera dans la conception de ce projet.
J'ai commencé à valider le concept de roue adhérant au fer par un petit montage très simple.
Entre eux j'ai glissé un aimant toroïdal.
Une ferrite au Nord, l'autre au sud. En entrant au contact d'un matériau ferromagnétique les lignes de champs s'y concentrent, et l'adhérence s'effectue.
C'est le principe de l'aimant roulant, amélioré par une surface de contact plus grandes grace à l'emploi des ferrites. L'ajout d'une fine couche de caoutchouc offre une meilleure adhérence.
L'adhérence est très forte, il ne reste plus qu'a motoriser cette petite roue et on aura notre véhicule! C'était l'étape décisive qui validait ou invalidait le projet, le reste n'est "que" bricolage. Nous pouvons procéder à l'étape 2.
Hardware
Openscad
//roue 1 difference(){ union (){ color ("gray") cylinder(h=5,r=10,center=true); color ("gray") translate([0,0,8]) cylinder(h=5,r=10,center=true); color ("white") translate([0,0,4]) cylinder(h=3,r=8.5,center=true);} translate([0,0,4]) cylinder(h=15,r=6,center=true); } //moyeu 1 difference (){ union (){ translate([0,0,4]) cylinder(h=20,r=6,center=true); translate([0,0,11]) cylinder(h=1,r=7,center=true); translate([0,0,14]) cylinder(h=1,r=7,center=true); translate([0,0,-3]) cylinder(h=1,r=7,center=true);} translate([0,0,4]) cylinder(h=30,r=1.5,center=true);} //arbre 1 color("white") translate([0,0,4]) cylinder(h=36,r=1.5,center=true); //ecrous 1 color ("silver") difference(){ translate([0,0,-7]) cylinder(h=2,r=3,center=true); translate([0,0,-7]) cylinder(h=2.1,r=1.5,center=true);} color ("silver") difference(){ translate([0,0,15]) cylinder(h=2,r=3,center=true); translate([0,0,15]) cylinder(h=2.1,r=1.5,center=true);} //roulements 1 d3 D8 E3 color ("silver") difference(){ translate([0,0,-9]) cylinder(h=3,r=4,center=true); translate([0,0,-9]) cylinder(h=3.1,r=1.5,center=true);} color ("silver") difference(){ translate([0,0,17]) cylinder(h=3,r=4,center=true); translate([0,0,17]) cylinder(h=3.1,r=1.5,center=true);} //chassis //baguettes difference(){ union(){ color ("cyan") hull(){ translate([0,0,19.5]) cylinder(h=2,r=8,center=true); translate([-50,0,19.5]) cylinder(h=2,r=8,center=true);} color ("cyan") hull(){ translate([0,0,-11]) cylinder(h=2,r=8,center=true); translate([-50,0,-11]) cylinder(h=2,r=8,center=true);}} translate([0,0,0]) cylinder(h=40,r=1.5,center=true);} //trou de l'arbre //logement roulement color ("cyan") difference () { translate([0,0,-9]) cylinder(h=3,r=5,center=true); translate([0,0,-9]) cylinder(h=3.1,r=4,center=true);} color ("cyan") difference () { translate([0,0,17]) cylinder(h=3,r=5,center=true); translate([0,0,17]) cylinder(h=3.1,r=4,center=true);} //fond union (){ color ("cyan") difference(){ translate([-55,-8,-10]) cube([60,2,29]); union(){ translate([-73,-9,4.5]) rotate([0,45,0]) cube(30); translate([-20,-9,4.5]) rotate([0,45,0]) cube(30);}} color ("cyan") translate([-38,-8,-10]) cube([26,2,29]);} ///////// Roue 2 ///////// translate ([-50,0,0]) difference(){ union (){ color ("gray") cylinder(h=5,r=10,center=true); color ("gray") translate([0,0,8]) cylinder(h=5,r=10,center=true); color ("white") translate([0,0,4]) cylinder(h=3,r=8.5,center=true);} translate([0,0,4]) cylinder(h=15,r=6,center=true); } //moyeu 2 translate ([-50,0,0])difference (){ union (){ translate([0,0,4]) cylinder(h=20,r=6,center=true); translate([0,0,11]) cylinder(h=1,r=7,center=true); translate([0,0,14]) cylinder(h=1,r=7,center=true); translate([0,0,-3]) cylinder(h=1,r=7,center=true);} translate([0,0,4]) cylinder(h=30,r=1.5,center=true);} //arbre 2 translate ([-50,0,0])color("white") translate([0,0,4]) cylinder(h=36,r=1.5,center=true); //ecrous 2 translate ([-50,0,0])color ("silver") difference(){ translate([0,0,-7]) cylinder(h=2,r=3,center=true); translate([0,0,-7]) cylinder(h=2.1,r=1.5,center=true);} translate ([-50,0,0])color ("silver") difference(){ translate([0,0,15]) cylinder(h=2,r=3,center=true); translate([0,0,15]) cylinder(h=2.1,r=1.5,center=true);} //roulements 2 d3 D8 E3 translate ([-50,0,0])color ("silver") difference(){ translate([0,0,-9]) cylinder(h=3,r=4,center=true); translate([0,0,-9]) cylinder(h=3.1,r=1.5,center=true);} translate ([-50,0,0])color ("silver") difference(){ translate([0,0,17]) cylinder(h=3,r=4,center=true); translate([0,0,17]) cylinder(h=3.1,r=1.5,center=true);} //Nema 17 color("black") translate ([-30,-6,-6]) cube ([12,12,10]); color("silver") translate ([-30,-6,-10]) cube ([12,12,4]); color("silver") translate ([-30,-6,4]) cube ([12,12,4]); //poulie translate ([-24,0,12.5]) cylinder (h=5,r=4,center=true); translate ([-24,0,15.5]) cylinder (h=1,r=5,center=true); translate ([-24,0,12.5]) cylinder (h=1,r=5,center=true); translate ([-24,0,9.5]) cylinder (h=1,r=5,center=true); color("silver") translate ([-24,0,12.5]) cylinder (h=10,r=1.5,center=true); //arbre poulie //courroies color("brown") difference(){ hull(){ translate ([-24,0,14]) cylinder (h=2,r=5,center=true); translate([0,0,12.5]) cylinder(h=2,r=7,center=true);} hull(){ translate ([-24,0,13]) cylinder (h=2.1,r=4,center=true); translate([0,0,12.5]) cylinder(h=10,r=6,center=true);}} color("brown") difference(){ hull(){ translate ([-24,0,11]) cylinder (h=2,r=5,center=true); translate([-50,0,12.5]) cylinder(h=2,r=7,center=true);} hull(){ translate ([-24,0,11]) cylinder (h=2.1,r=4,center=true); translate([-50,0,12.5]) cylinder(h=10,r=6,center=true);}}