loading

Mon fils possède depuis pas mal de temps une voiture télécommandée (qui a coûté 10 euros) dont il a cassé la télécommande 27Mhz. . Ce projet permettra de piloter de véhicule grâce à un téléphone fonctionnant sous android 2.2 minimum sur lequel j'ai installé une application android de double joystick .

Les caractéristiques principales de la voiture: - alimentation par 4 piles HR6-AA de 1.5V ou accumulateur NiMH de 1.25V -un moteur à courant continu 6V DC pour la propulsion

-un moteur d'angle à courant continu 6VDC pour la direction

-un microcontrôleur CUBLOC CB220 que j'avais en réserve (20 euros) (cher)

-un module de communication Bluetooth de type F2M03GLA (20 euros) (cher)

-un interrupteur pour couper l'alimentation -un arrêt d'urgence (optionnel) pour couper la propulsion

-un bouton reset microcontrôleur

Les caractéristiques de la télécommande:

-une application android de double joystick fonctionnant en multitouch:

DIRECTION LEFT/ RIGHT (gauche/droite)

SPEED FW/RV (la vitesse variable de la voiture en marche avant vers le haut et en marche arrière vers le bas)

C'est l'évolution du précédent projet "Bluetooth RC car".

Step 1: Le Récepteur Embarqué Sur Le Véhicule

Le module F2M03GLA est très facile à paramétrer et à mettre en oeuvre. Il est fabriqué par Free2move et est distribué par www.lextronic.com entre autres. Il consomme très peu d'énergie et peut porter jusqu'à 50m en terrain découvert. Son profil blutooth est de type SPP et présente une liaison RS232 en 3.3V (attention aux adaptations de tension). Ce module sera paramétré en esclave avec une vitesse de 19200 bauds, 8 bits, pas de bits de parité, 1 bit de stop (8N1). Vous utiliserez pour cela le logiciel Free2move Configuration Software disponible sur le site www.lextronic.com

Pour le paramétrer il faut utiliser l'interface dont je vous fourni le schéma et brancher les bornes: RX, TX, RTS, CTS, 0V, 3.3V seulement (le module doit être débranché du microcontrôleur).

Ce module est déclaré comme esclave par défaut. La télécommande embarquera un module maître.

Le microcontrôleur de type CB220 fournira un signal PWM à une fréquence: f=2304000/128=18kHz ce qui donne un fonctionnement silencieux du moteur. Il recevra les information par les borne P10 et P11 (RX1 et TX1 en TTL) via une interface d'adaptation avec le module bluetooth. De plus le CB220 présente l'avantage de pouvoir être alimenté entre 5 et 12V. Liaison 19200 bauds, 8N1 pour la communication RS232.

La trame reçue et traitée se présente par exemple sous la forme: "0018,0528"

- les 4 premiers caractères ASCII représente la direction (DIRECTION), vers 0 on tourne à gauche vers 1023 on tourne à droite

-les 4 derniers caractères ASCII représente la consigne de vitesse (SPEED), vers 0, manette vers le haut, marche avant pleine vitesse vers 540, manette au repos en position milieu, arrêt vers 1023, manette vers le bas, marche arrière pleine vitesse.

Le moteur de propulsion est piloté par un pont en H à mosfet de type canal N en MLI bipolaire. Il faut utilisé des commandes rapprochées de type IR2302 qui intègre des temps morts pour le pilotage des transistors Haut et Bas d'un bras. Ils ont aussi l'avantage de pouvoir être alimentés en 5-20V (ce qui n'est pas le cas du IR2184: 10-20V) car ici nous sommes limités à 4 piles HR6-AA soit 6 V maxi. Le moteur de direction est piloté par un pont en H à mosfet de type canal N et canal P plus facile à mettre en oeuvre (déconseillé pour la MLI car il chauffe soit disant). La technique de commande en TOR par 2 sortie du CB220 est indiquée sur le schéma. Sans signal de commande il revient en position milieu.

Ci-joint le programme du CB220 en basic/langage évolué en nouvelle version:

Step 2: La Télécommande Android

Pour cela j'ai utilisé un projet déjà existant disponible sur le site suivant:

http://projectproto.blogspot.fr/2012/02/bluetooth-...

Le joystick de gauche pilote la DIRECTION (de gauche à droite), le joystick de droite pilote la vitesse "SPEED" (de haut en bas) et le sens de marche FW/RV:

-vers le haut: marche avant, accélération vers pleine vitesse

-en position centrale: arrêt

-vers le bas: marche arrière, accélération vers la pleine vitesse

Je l'ai modifié grâce aux logiciel Eclipse pour que l'application puisse générer, via le Bluetooth, la trame qui se présente sous la forme: "1018,0528"

- les 4 premiers caractères ASCII représente la direction (DIRECTION), vers 0 on tourne à gauche vers 1023 on tourne à droite

-les 4 derniers caractères ASCII représente la consigne de vitesse (SPEED), vers 0, manette vers le haut, marche avant pleine vitesse vers 540, manette au repos en position milieu, arrêt, vers 1023, manette vers le bas, marche arrière pleine vitesse

Cette trame est ensuite traitée par le récepteur.

Je vous joint le code source de mon application (à modifier par vos soins sous Eclipe) et l'application BTJoystickLUC qui peut s'installer sur n'importe quelle tablette ou téléphone sous android 2.2 minimum:

Step 3: Conclusion Et Remerciements

Tout est parfaitement fonctionnel à part un problème au niveau des josyick android de vitesse: il ne faut pas le manipuler trop rapidement sinon à-coup de vitesse. Ceci est du au fait que 4 piles 1.25V sont insuffisantes pour un fonctionnement correct des drivers IR2302. Il faut donc se rabattre sur 2 solutions: 4X1.5V alcaline ou 6x1.25V NiMH. Avec ces dernières solutions, la voiture est très réactive et répond rapidement aux changements de régime (accélérations, décélérations, arrêts, vitesse variables).

La solution de pilotage proposée est chère: 1xCB220 à 35 euros pièce+1xF2M03GLA à 20 euros pièces=55 euros.

Grâce au pilotage android, on économise un microcontrôleur et une antenne (en remplacement de la télécommande Playstati... hackée).

Une solution avec des Atmega 328P bootloadés Arduino et module HC05: 2x8 euros+2x8euros=32 euros.

Cette dernière solution sera utilisée pour mes prochains projets. Prochain projet: pilotage d'un bateau+bluetooth ou zigbit+android+arduino Remerciements:

www.electroniquepratique.com

www.lextronic.fr

www.electroniquepratique.com

Je tiens aussi à remercier tout particulièrement Yus et son repository pour son énorme travail.

https://yus-repo.googlecode.com/svn/trunk/Android/apps/btjoystic

<p><font><font>Very neat! Nice job, and thanks for sharing!</font></font></p>
<p>Thank you very much. I hope it will run for you. Sorry for the translation, may be next time. Follow my future project in some month: 6 axes robot, led light control and a remote &quot;love boat&quot;. Thanx to all people who made detailed and running tutorial over everything.</p>

About This Instructable

3,274views

15favorites

License:

More by manu4371:Arduino PLC 32 I/O+State Machine+SCADA or HMI Arduino-tomation part 1 Arduino Mega+Ethernet Shield+Lcd Display+AdvancedHMI 
Add instructable to: