Lou cigalou, a magnetic bot

De Nicelab
Révision de 22 novembre 2013 à 14:53 par Miniwark (discussion | contributions) (+ catégorie)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher


A magnetic bot

This projet aims to build an useful bot able to sticks and climbs magnetic surfaces. Pillars, pylons, iron pipes, baseboards, metallic beams, sheet steel wall's... This tool can take on board at eight, without risking human life, small equipments. This project is to my knowledge an innovation.

A list by possible uses is:

Technologic uses:

  • Wifi or radio emitter
  • CCTV or cam
  • Lighting

Artistic uses:

  • mini video projector streaming on floor
  • for putting for the sight of all, by elevation, a work of art

Steps

Multi steps validations are necessary:

  1. Physical validation of a magnetic wheel
  2. hardware dev of the structure
  3. Electronic and software part
  4. Creation of a recoverable magnetic grip, for strengthened fixes. By using an on/off magnet system. I've an interesting theory about that ;)
  5. Fun!

1- magnetic wheel

The wheel is no doubt the oldest man's invention. The idea to make a iron's sticky wheel came to me by observing a rolling magnet along a iron locker. The magnet falled along the wall of the locker without deviating from it. By the way, I thought by motorizing it it will be able to climb this same wall. Very simple idea yes; but all the art will reside in the dev of this project.

I started to validated the concept of the metal sticking wheel by a very simple assembly.

I took off two ferrite cores from an old speaker
Haut parleur
Les 2 ferrites et l'aimant toroidal à droite

Between them I put a toroid neodym magnet.
Photo-0131-150x150.jpg
One core is North, the other one the South. By touching a ferromagnetic surface the magnetic lines are deviated, and concentrate, adhesion is effective.

It's the same principle as the rolling magnet, improved by a bigger contact's surface by the use of the ferrites. The add of a small rubber's coat improved the adherence.
Vue de profil

Adhérence very strong, adding a motor to this wheel will lead to the bot! The success of the making validate the whole concept, we can proceed to step 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);}}