Salut !
Pour faire suite à « VESC & Bluetooth - Un Wattmeter à 3€, ça vous dit ? », voici un tutoriel pour installer et configurer le module bluetooth sur un VESC v4.
Note: les photos sont celles d’un VESC 4.12 qvec un connecteur PWR_COMM à 7 pins.
Des versions précédentes ont un connecteur PWR_COMM 6 pin.
Il suffit de faire abstraction du dernier pin du connecteur sur l’illustration ci-dessous (repéré en orange).
Présentation :
Le VESC dispose d’un port de communication série UART sur le connecteur PWR_COMM.
En y connectant une petite carte électronique qui relaye les données du port série à travers une connexion bluetooth, vous permettez à n’importe quel appareil bluetooth de dialoguer avec le VESC, sans fil.
Ici, on utilisera un smartphone avec une application créée pour ça.
Matériel requis :
Uniquement si personnalisation du Bluetooth:
ETAPE 1 : LA CONNEXION ELECTRIQUE
Où se trouve le connecteur PWR_COMM sur le VESC ?
Le petit plus : faire une marque sur son connecteur pour ne pas se tromper de sens pour le branchement du module bluetooth
Note : ici on peut apercevoir des résistances sous gaine thermo. Elles ne sont pas nécessaires, il s’agit d’une erreur de ma part.
ETAPE 2 : LA CONFIGURATION DU MODULE BLUETOOTH (FACULTATIF)
Cette étape est facultative, il est possible d’utiliser les paramètres par défaut pour que cela fonctionne.
Ici, nous allons configurer le module bluetooth à l’aide de commande AT.
Connecter le HM10 sur les pins 10 (Tx HM10) et 11 (Rx HM10), 5V et GND de l’Arduino.
Ouvrir l’IDE Arduino.
Installer la librairie « SoftwareSerial » et téléverser (uploader) le sketch suivant (Arduino Uno et Nano. Marche aussi avec Mega, mais le plus simple est d’utiliser alors directement un autres port série disponible plutôt que de créer un port série Software).
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600); //moniteur série sur PC
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// set the data rate for the SoftwareSerial port
mySerial.begin(38400); //baudrate du HM10
}
void loop() { // run over and over
if (mySerial.available()) {
Serial.write(mySerial.read());
}
if (Serial.available()) {
mySerial.write(Serial.read());
}
}
Tout en maintenant enfoncé le petit bouton sur le module bluetooth, brancher le câble USB de l’Arduino.
NE PAS RELACHER LE BOUTON PENDANT TOUTE L’OPERATION !
Note : s’il n’y a pas de bouton sur le module, il est possible de faire sans. Malheureusement, toutes les fonctions ne seront pas disponibles (comme le changement du pin code).
Dans ce cas, il faut changer la vitesse de communication en passant de 38400 à 9600 (vitesse par défaut des modules)
Ouvrir le moniteur série de l’IDE Arduino, configurer en 38400 bauds (ou 9600, en accord avec le sketch) et « Les deux NL et CR ».
Puis entrer les commandes suivantes :
AT //Demande si le module est bien en mode de confguration. Doit renvoyer OK.
AT+NAME? // Demande le nom du module. Doit renvoyer HC-05 si par défaut.
AT+NAME=nomdumodule //Donne un nouveau nom au module. Doit renvoyer OK.
AT+NAME? //Redemande le nom au module. Doit renvoyer le nom renseigné à la commande précédente.
AT+PSWD? //Demande le code jumelage. Doit renvoyer 1234 si par défaut.
AT+PSWD=xxxx //Donne un nouveau code de jumelage au module. Doit renvoyer OK.
AT+PSWD? //Redemande le code jumelage. Doit renvoyer le code renseigné à la commande précédente.
AT+UART? //Demande la config. de comm. série. Doit renvoyer 9600,0,0 si par défaut
AT+UART=115200,0,0 //Donne la nouvelle config de comm. série. Doit renvoyer OK.
AT+UART? //Redemande la config. de comm. série. Doit renvoyer 115200,0,0.
Si tout s’est bien déroulé, relâcher le bouton et débrancher le câble USB.
Le module est configuré.
ETAPE 3 : LA CONFIGURATION DU VESC
Dnas l’onglet App - General, activer « PPM and UART »
(ajouter screenshot)
Dans l’onglet UART, entrer :
- Baudrate = 115200 si configuration lors de l’étape 2
- Baudrate = 9600 si pas de configuration (par défaut)
Ecrire les paramètres et rebooter le VESC
(ajouter screenshot)
Note : il est arrivé que le VESC ne prenait pas la vitesse écrite.
Dans ce cas, repasser à 9600, écrire les paramètres et repasser à 115200. Rebooter.
ETAPE 4 : L’UTILISATION
Note : le module bluetooth 2.0 n’est pas compatible avec les iPhone puisqu’Apple a décidé de se faire son propre protocole dans son coin. :evil:
Il est possible de remplacer le HC-05 par un HM-10 dont le buetooth (BLE 4.0) sera compatible.
La connexion électrique est similaire.
Par contre, côté app, c’est galère car il vous faudra compiler et installer tout seul l’appli (https://github.com/gpxlBen/VESC_Logger)
Installer l’application « Vedder ESC Monitor » sur votre smartphone : https://play.google.com/store/apps/deta … er_monitor
Note : Si vous utilisez Android 6 (Marshmallow) il faut aller dans Settings → Apps → VESC Monitor → Permissions et activer le curseur en face de Storage sur ON (sera implémenté automatiquement plus tard).
Une fois sur l’app, cliquer sur (logo BT), sélectionner le nom du périphérique que vous avez configuré (ou HC-05 par défaut) et de retour sur l’écran principal (avec les valeurs listées), appuyer sur le bouton « Play ».
Les valeurs s’affichent et se mettent à jour.
ETAPE 5 : EXPLOITER LES DONNEES ENREGISTREES
Installer ES File Explorer.
Dossier VESC_Monitor → dossier avec comme nom la date du jour d’enregistrement.
Sélectionner le fichier du ride concerné (l’heure du ride et le build figure dans le nom de fichier) et le transférer sur ordinateur (par mail par exemple).
Utiliser VDLA pour exploiter simplement les données :
http://www.gct-hp.de/VDLA/
Pour Android 8 et + il faut flasher, voici un tuto :
http://www.hangar42.nl/ccloader