Comment pouvons-nous aider ?
Lire et récupérer les données d’un capteur de distance TF-Luna LiDAR via le port RS232/485 de l’ACE
Nous allons voir ici comment extraire des données d’une trame HEXA. Un exemple avec un capteur LiDAR
Ce radar possède une sortie série TTL. Un convertisseur TTL vers RS232 devra être ajouté pour le connecter à un ACE RS232.
Les données et leur analyse
Ce LiDAR envoie par défaut toutes les 10 ms une trame de données :
- Dist : Distance en cm
- Amp : Indicateur de puissance du signal
- Temp : Température Celsius = Temp / 8 – 256℃
Dans cet exemple, nous allons voir comment extraire les données Dist Amp Temp position 2 à 7 dans le cadre de données.
Exemple pour Dist :

| Les données sont composées de 2 octets, position 2 et 3.
Pour une distance de 157 cm, nous recevons ces données : 59599D003C07780913. Nous voulons extraire la valeur en gras : 9D 00
Si on applique le poids au MSB : [ 157 ] [0 * 256 ] = 157, le nombre que nous voulons comme résultat ! Si la distance était de 587, le résultat serait : [ 75 ] [2 * 256 ] = 587 Le premier code de départ de la base de données est 59 en HEXA = 89 en DECIMAL |
Analyse des données sur PC avec le logiciel realterm
|
vBuilder : Ecouter le port série de l’ACE
- écoute le port série en attendant de recevoir le « Start Character » 89 (59 en HEXA)
- compte le nombre d’octets reçus
- stocke la trame de données dans le tableau de réception RX[ ], d’une longueur déterminée par le nombre d’octets reçus Octets reçus
- Minimum Break détermine le temps de silence minimum à prendre en compte pour considérer que la trame entière a été reçue (Temps entre 2 trames)

Vérifier la trame de données
Après avoir reçu la trame de données, nous pouvons vérifier si les 1er et 2e caractères sont des 89
Si c’est le cas, nous pouvons passer à l’étape 2.

Calculer chaque valeur, Dist, Amp et Temp
Temp : Température Celsius = Temp / 8 – 256℃

Essayez le sous-programme
Vous pouvez télécharger le programme ici
