Introduction: Bluetooth RC Car

About: Interest in PUNK/HARDCORE/METAL/HIGHLAND BAGPIPES

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. D'autre part, il se trouve que j'ai fait l'acquisition il y a quelques années d'un ancien boitier de télécommande Playstation complet.

Ce projet m'a donc permis d'assembler tout cela et de réaliser ainsi un prototype de télécommande Bluetooth 2.4GHz pour de véhicule.

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 ancienne télécommande Playstation avec boutons poussoirs divers et 2 potentiomètres:

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)

-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)

-alimentation par une pile de 9V ou 6 piles HR6-AA de 1.5V ou accumulateur NiMH de 1.25V

-un bouton reset microcontrôleur

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.free2move.se.

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: "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

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.

Le circuit de puissance:

J'utilise un condensateur C1 de 470uF en filtrage. Il se peut que cette capacité ne soit pas assez grande si vos accumulateurs sont un peu faibles. N'hésitez pas à l'augmenter à 6600 uF par exemple pour être sûr du bon fonctionnement car chute de tension au démarrage de la voiture->arrêt micro contrôleur->reset->dysfonctionnement.

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

Step 2: L'émetteur: Télécommande Playst... Hackée

La télécommande sera composée de 2 potentiomètres pour piloter le moteur de direction et le moteur de propulsion. Pour la vitesse plus le potentiomètre est poussé vers le haut plus le véhicule va vite dans un sens, plus il est poussé vers le bas plus il va vite dans l'autre sens. En position centrale, le véhicule est à l'arrêt.

L'alimentation se fera par une pile de 9V ou 6 piles HR6-AA: il faut une tension supérieure à 6V en entrée du régulateur pour obtenir du 5V afin d'avoir une tension de référence correcte pour les CAN du CB220.

Le microcontrôleur de type CB220 reçoit les tensions des potentiomètres pour les convertir en valeur numérique et les transmettre via sa sortie RS232 (P10 et P11) et l'interface d'adaptation au module bluetooth. Liaison en 19200 bauds, 8N1.

La trame envoyée se présente par exemple sous la forme: "1018,0528". Elle est ensuite traitée par le récepteur.

Le module bluetooth est ici monté sur une plaque de ma fabrication: il nécessite un circuit spécial de Reset, une alimentation 3.3V, un circuit d'adaptation RS232. Pour paramétrer le F2M03GLA, la procédure est la même que précédemment. Celui-ci devra être déclaré en maître (cf documents joints) et il faudra indiquer l'adresse MAC de l'esclave (module embarqué dans la voiture) dans la rubrique remote bluetooth unit. Liaison en 19200 bauds, 8N1.

Step 3: Conclusion Et Remerciement

Tout est parfaitement fonctionnel à part un problème au niveau du potentiomètre 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: 2xCB220 à 35 euros pièce+2xF2M03GLA à 20 euros pièces=110 euros

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 par tablette android, pilotage d'un bateau+blutooth ou zigbit+android+arduino

Remerciements:

www.electroniquepratique.com

www.lextronic.fr

www.free2move.se