Xbee, trottinette et Pure Data
contrôle de moteurs sans fil avec pure data
Contributeur·ice·s
Statut du projet
experimental
Statut de la publication
License
GPL
Inspiration
Fichiers source
Machines
Matériaux
Lien
pour le moment c'est pas très clair, juste des prises de notes
le projet
déplacer des décors pour une vidéo ethno-fictionnesque et géometrique...
le contexte
résidence R & D au PAD à angers avec marie Lancelin et 8,7
la première étape
déplacer un cube en bois ou n'importe quoi de façon linéaire (avant - arrière), sur une distance précise à une vitesse précise, dans un espace donné... pour se faire mapper de la vidéo,le tout sans fil...
matériel
- 2 xbee serie 1 avec antennes (portée entre 30 et 100m)
- un arduino nano
- un support xbee en USB
- une trottinette électrique d'occaz
- driver LLMD182000T
budget
_xbee x2 : 44
_ardui-nano : 22
_support xbee truc :
_driver moteur :
_trotinette : 59
_driver moteur :
- pourquoi ce matériel????
-xbee pour commander plusieurs modules à partir d'un seul point
-trottinette : moyen abordable d'avoir moteur CC, roue, transmission par courroie le tout sur batterie 24V, pour environ 60 dollars européens d'occaz et qui fonctionne basiquement.
Configuration xbee
Communication point à point
- Pour le moment n'ayant que deux xbee, la configuration est assez simple
La communication via port série doit être configurée avec des paramètres compatible entre arduino, pure data et xbee,
-même baud rate
Config des xbee mobiles
ATRE, IDAAAA, MY1, DL0, D02, D12, D22, IR50, IT1, BD7, WR\r
explications
- ATRE : AT permet de modifier n'importe quel paramètres, expl ATMY 1\r change l'adresse à 1
ici RE est pour faire un reset des paramètres de bases
- IDAAAA : identité du réseau AAAA
- MY1 : adresse de la radio à 1
- DL0 : adresse de la destination (station de base)
- D02 à D22 : activation des pin d'entrée
- IR50 : taux de raffraichissement 80ms (50 en hex)
- IT1 : nb de sample par pacquet soit ici 1
- BD7 : baud rate de 115200 (le 7 quoi...) entre 0 et 7 (standard baud rates par défaut 3)
0 = 1200 bps; 1 = 2400; 2 = 4800; 3 = 9600; 4 = 19200; 5 = 38400; 6 = 57600; 7 = 115200
- WR : sauvegarde le tout
faire de même avec les autres en changeant MY2, MY3, etc...
- pour confirmer que les paramètres on bien été pris en comptes :
ATID, MY, DL, D0; D1, D2, IR, IT, BD\r
config du xbee base
X-CTU
selon http://wire.less.dk/?p=162
- Pour le moment la configuration a été faites via X-CTU [1] sur windoz, puis sous linux avec wine
Pour linux, il faut seulement créer un lien symbolique entre le port reconnu avec linux : ici le ttyUSB0, et celui utilisé dans wine : com10 ou un autre (wine doit être installer et configurer préalablement):
cd /home/username/.wine/dosdevices
puis
ln -s /dev/ttyUSB0 com10
minicom, terminal port série
- mais je test aussi "minicom" sous linux
tout d'abord installer minicom (il se trouve dans les paquets...)
apt-get minicom
puis configurer la communication série avec xbee (le -s pour acceder aux settings, le -c pour avoir un peu de couleur)
minicom -s -c on
pour le moment je n'arrive pas à communiquer avec le xbee mais il est bien reconnu par minicom, normalement il faut activer echo on pour voir ce que l'on tape
+++
active la communication pour 10s
ATRE, IDAAAA, MY0, BD 7, WR\r
penser à changer le baud rate de terminal serie
pour toutes les commandes cf p.24 du manuel
Config via pd
cf patch ATBD6 => 57600 bps that's it !!!
- cablage,connexions
Arduino / Xbee TX / Din RX / Dout
Driver Moteurs
- grillage d'un L298 trop de charge...
- test du driver moteur LLMD182000T
pont en H et tout ce qui faut d'intégrer pour faire tourner un moteur jusqu'à 3A et 6A en pointe
pas de soucis particuliers à constater, câblage simple et efficace
- à tester : retour de température, ou de courant en cas de surchauffe
control moteur via xbee et pd
voici patch qui réagis au cliqueti, au traque pade et à la space barre...
pas super pratique mais ça marche au doigt et à l'oeil...
Retro-Future
problèmes a résoudre
- moteur à du mal a partir sauf a fond sinon pas assez de couple
- marche mieux dans un sens que dans l'autre
>>réductionner le moteur
a voir/tester
- intégrer une roue codeuse ou autre truc dans le genre pour gérer la distance parcourue, pas besoin d'une précision au milimètre
- tester xbee sans arduino car des sortie pwm sont dispo sur xbee pour driver les moteurs
- comment communiquer avec plusieurs xbee via pd?????