facebook.png

Réaliser un rail pour timelapse 360° avec un Raspberry pour 45€


Au programme de ce tutoriel vous trouverez 4 parties :

A) Le matériel nécessaire

B) La configuration du raspberry

1) Le programme python

2) Le hardware

A) Le matériel nécessaire :

-Un Raspberry Pi (35 €)                       
raspberry.jpg

-2 Driver motor board (environ 10€ les 2)

Il y a 2 moteurs livrés avec mais nous en utiliserons qu'un.

Vous en trouverez facilement sur ebay :

http://www.ebay.fr/itm/Arduino-compatible-5V-4-phase-DC-Gear-Stepper-Step-Motor-Driver-

Board-/130860581877?pt=UK_Computing_Other_Computing_Networking&hash=item1e77e603f5

stepper-motor.jpg

-Un vieux scanner dont le moteur fonctionne encore !

Normalement il y un moteur pas à pas, pensez à vérifier quand même je ne

sais pas si c'est le cas sur tous les modèles .
 

-Des câbles de récupération d'une vielle tour d'ordinateur.

Et pour finir un petit peu de patience !

 

B) La configuration du raspberry
 

Concernant la configuration du Raspberry j'utilise une Raspbian Wheezy.

J'ai installé les packages RPI GPIO disponible ici :

https://pypi.python.org/pypi/RPi.GPIO ou :


 

sudo apt-get update

sudo wget http://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.4.1a.tar.gz

sudo tar zxf RPi.GPIO-0.4.1a.tar.gz

et la librairie python :

sudo cd /home/pi/MesScripts/

sudo apt-get install python-dev

sudo python setup.py install

la procédure d'installation complète : http://blog.universdomotique.com/2013/08/raspberry-pi-utilisation-des-entrees-sorties/

1) Le programme python :

Pour ce programme en python, je me suis basé sur le code de Stephen C Phillips : http://blog.scphillips.com/2012/12/a-python-class-to-move-the-stepper-motor/
 

Mais celui-ci ne gère qu'un moteur, je l'ai donc adapté à nos besoins .
 

Vous trouverez différentes versions du code selon l'utilisation que vous voulez en faire sur notre site http://raspberry-pi-labo.com/ rubrique téléchargement.
 

Le programme que j'ai modifié est adapté au moteur du scanner et à la longueur du rail qui fait 36cm .
 

Vous devrez donc l'adapter à vôtre configuration, et pour cela vous n'avez pas le choix il va falloir tester !
 

Je vous préviens c'est un peu fastidieux car n'ayant pas de grandes connaissances en python je n'ai pas pu le contracter. (à se sujet, si quelqu'un est motivé pour essayer de contracter le code voir même de créer une interface graphique pour pouvoir modifier les valeurs sans mettre le nez dans le code, je suis preneur!)
 

Je vous ai fait un petit listing des principales choses à savoir.

Voyons comment celui-ci est constitué :
 

Pour commencer si vous choisissez des ports Gpio différents de ceux cités plus bas dans la partie hardware, occupez vous de modifier les lignes 187 et 188 qui correspondent aux ports Gpio qui serons utilisés pour la gestion des moteurs.
 

-De la ligne 12 à 96 se trouve toutes les caractéristiques du moteur du rail.
 

-De la ligne 97 à 181 se trouve toutes les caractéristiques du moteur du 360°.
 

-De la ligne 185 à la fin se trouve le cycle que les 2 moteurs doivent effectuer.
 

-Les lignes 19 et 104 vous pouvez modifier les degrés qu’effectue le moteur par étapes.
 

-Ligne 31 et 116 vous pouvez modifier la vitesse de rotation des moteurs
 

-Vous pouvez modifier le temps de pause entre chaque déplacement du rail

en changeant la valeur des lignes sleep(10) .
 

Je fais cette opération avec « rechercher et remplacer » dans Notepad ++ par exemple.
 

Enfin il vous suffit de supprimer le « - » situé sur les lignes md.move_to(-5) et m.move_to(-5) ect... En utilisant le même méthode que citée ci-dessus


2)Le hardware :

Pour réaliser ce projet nous allons utiliser 8 ports GPIO du Raspberry, 4 par moteur.

Et pour l'alimentation le port 2 et le port 6.

Pour le moteur du rail nous utiliserons les ports 18, 22, 24 et 26 et pour le moteur qui effectuera le 360° nous utiliserons les ports 11, 12, 13 et 15 .

Après libre à vous d'utiliser ceux que vous voulez .

Pour éclaircir la chose, voici un tableau de correspondance du créateur de

WiringPi :


wiring-pi.jpg
 

Nous allons donc les relier comme suis :

Moteur rail :
 

1N1 : GPIO 18

1N2 : GPIO 22

1N3 : GPIO 24

1N4 : GPIO 26
 

Moteur 360 :
 

1N1 : GPIO 12

1N2 : GPIO 11

1N3 : GPIO 13

1N4 :GPIO 15


raspberry-stepper-motor.jpg


tuto-rail-raspberry.jpg  tuto-rail-raspberry2.jpg

tuto-rail-raspberry3.jpg  tuto-rail-raspberry4.jpg

Et le résultat en vidéo :