Démonstrateur du bus CAN : Différence entre versions

De Wiki L.A.B
Aller à : navigation, rechercher
Ligne 5 : Ligne 5 :
 
[[Fichier:Logo-fablab.png|vignette|droite]]
 
[[Fichier:Logo-fablab.png|vignette|droite]]
 
'''IMPORTANT''' : Ce tutoriel soit être effectué après celui-ci : [[Mise en place d'un bus CAN]].
 
'''IMPORTANT''' : Ce tutoriel soit être effectué après celui-ci : [[Mise en place d'un bus CAN]].
 +
Cet exemple est testé sur des cartes NUCLEO-L432KC
  
 
== Présentation et objectifs ==
 
== Présentation et objectifs ==
  
Ce tutoriel explique pas à pas la mise en œuvre d'un démonstrateur CAN simple à utiliser.
+
Ce tutoriel explique pas à pas la mise en œuvre d'un démonstrateur CAN simple à utiliser. Le démonstrateur a pour but de communiquer avec d'autres démonstrateurs identiques via une liaison CAN.
 +
 
 +
L'utilisateur va pouvoir, pour chaque démonstrateur déterminer à l'aide du commutateur :
 +
* L'ID du démonstrateur
 +
* L'ID du démonstrateur destinataire
 +
* La donnée à envoyer
 +
 
 +
Il faut appuyer sur le bouton de validation à chaque étape d'insertion des informations. Pendant cette période, le démonstrateur ne lit pas les informations sur le bus CAN et ne reçois donc pas les données qu'une autre pourrais lui envoyer à ce moment là.
 +
 
 +
Une fois les information entrées, il se met en mode écoute et affiche les éventuelles données qu'il reçois. Pour sortir de ce mode et renvoyer une donnée, il suffit de ré-appuyer sur le bouton de validation.
  
 
[[Fichier:Logo-fablab.png|vignette|Une jolie description d'un croquis exprimant mieux l'intention qu'une longue longue phrase]]
 
[[Fichier:Logo-fablab.png|vignette|Une jolie description d'un croquis exprimant mieux l'intention qu'une longue longue phrase]]
Ligne 34 : Ligne 44 :
  
 
== Démonstrateur CAN ==
 
== Démonstrateur CAN ==
Le démonstrateur a pour but de communiquer avec d'autres démonstrateurs identiques via une liaison CAN.
+
Pour mettre en place ce démonstrateur, nous allons reprendre le projet STM32CubeMX du [[Mise en place d'un bus CAN|tutoriel précédent]] et ajouter les nouvelles liaisons nécessaires à l'ajout des composants du démonstrateur. Il faudra ensuite effectuer le branchement pour finir sur le code.
  
L'utilisateur va pouvoir, pour chaque démonstrateur déterminer à l'aide du commutateur :
+
=== Configurer l'environnement de travail : ===
* L'ID du démonstrateur
+
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
* L'ID du démonstrateur destinataire
+
* La donnée à envoyer
+
  
Il faut appuyer sur le bouton de validation à chaque étape d'insertion des informations. Pendant cette période, le démonstrateur ne lit pas les informations sur le bus CAN et ne reçois donc pas les données qu'une autre pourrais lui envoyer à ce moment là.
+
Cette étape sera rapide : il suffit d'ajouter 4 entrées pour le commutateur, 1 entrée pour le bouton poussoir, et 3 sorties pour la LED RGB.
  
Une fois les information entrées, il se met en mode écoute.
+
Pour ceci, cliquez directement sur des broches libres ( grises ) autour de la puce au centre de l'écran. Définissez en 5 en tant que GPIO_Input (entrée) et 3 en tant que GPIO_Output (sortie).
  
=== Première Version :  ===
+
Ensuite, allez dans l'onglet Configuration, puis au milieu de l'écran dans la partie System, cliquez sur GPIO. Dans cette fenêtre vous pouvez voir toutes les broches que vous venez d'activer. Cliquez sur chacune des broche en "Input mode", et passez les en "Pull-down".
==== Etape 1 :  ====
+
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
+
==== Etape 2 :  ====
+
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
+
==== Etape 3 :  ====
+
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
+
  
=== Deuxième Version : ===
+
Pour chacune des entrées ou sorties, je vous conseille fortement de les renommez dans la partie "User Label" avec un nom qui est significatif de sa fonction. De cette manière, le schéma dans l'onglet Pinout deviendra plus parlant, mais cela aura surtout un impact sur la lisibilité du code, où ces noms pourront être utilisés.
==== Etape 1 ====
+
 
 +
Attention toutefois, certaines broches sont reliées à d'autres fonctions sur la carte, ce qui peux fausser les données reçues. Vérifiez que les broches que vous choisissez n'aient pas de pont vers d'autres broches de la carte. Par exemple, la PA5 et PA6 sur la L432KC sont reliées aux broches PB6 et PB7 qui gèrent l'I2C, les informations reçues sur les broches PA5 et PA6 ne sont donc pas fiables.
 +
 
 +
=== Effectuer le branchement :  ===
 
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
 
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
==== Etape 2 ====
+
=== Écrire le programme :  ===
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
+
==== Etape 3 :  ====
+
 
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
 
[[Fichier:Logo-fablab.png|vignette|Une jolie description]]
 +
  
 
=== Conseils ===
 
=== Conseils ===

Version du 26 octobre 2018 à 15:27

IMPORTANT : Ce tutoriel soit être effectué après celui-ci : Mise en place d'un bus CAN. Cet exemple est testé sur des cartes NUCLEO-L432KC

Présentation et objectifs

Ce tutoriel explique pas à pas la mise en œuvre d'un démonstrateur CAN simple à utiliser. Le démonstrateur a pour but de communiquer avec d'autres démonstrateurs identiques via une liaison CAN.

L'utilisateur va pouvoir, pour chaque démonstrateur déterminer à l'aide du commutateur :

  • L'ID du démonstrateur
  • L'ID du démonstrateur destinataire
  • La donnée à envoyer

Il faut appuyer sur le bouton de validation à chaque étape d'insertion des informations. Pendant cette période, le démonstrateur ne lit pas les informations sur le bus CAN et ne reçois donc pas les données qu'une autre pourrais lui envoyer à ce moment là.

Une fois les information entrées, il se met en mode écoute et affiche les éventuelles données qu'il reçois. Pour sortir de ce mode et renvoyer une donnée, il suffit de ré-appuyer sur le bouton de validation.

Fichier:Logo-fablab.png
Une jolie description d'un croquis exprimant mieux l'intention qu'une longue longue phrase

Vous pouvez rajouter dans ce paragraphe des photos des croquis papier que vous avez fait pour mieux visualiser ce qu'il y avait à faire.


Pré-requis

Voter environnement de travail doit être configuré comme dans le tutoriel précédent.

Matériel

En plus du matériel déjà présent, il faut :

  • un bouton poussoir
  • un commutateur
  • une LED RGB
  • 3 résistances d'environ 100 Ohms

Logiciels

Toujours les mêmes logiciels, c'est à dire :

  • STM32CubeMX
  • AtollicTRUESTUDIO

Démonstrateur CAN

Pour mettre en place ce démonstrateur, nous allons reprendre le projet STM32CubeMX du tutoriel précédent et ajouter les nouvelles liaisons nécessaires à l'ajout des composants du démonstrateur. Il faudra ensuite effectuer le branchement pour finir sur le code.

Configurer l'environnement de travail :

Fichier:Logo-fablab.png
Une jolie description

Cette étape sera rapide : il suffit d'ajouter 4 entrées pour le commutateur, 1 entrée pour le bouton poussoir, et 3 sorties pour la LED RGB.

Pour ceci, cliquez directement sur des broches libres ( grises ) autour de la puce au centre de l'écran. Définissez en 5 en tant que GPIO_Input (entrée) et 3 en tant que GPIO_Output (sortie).

Ensuite, allez dans l'onglet Configuration, puis au milieu de l'écran dans la partie System, cliquez sur GPIO. Dans cette fenêtre vous pouvez voir toutes les broches que vous venez d'activer. Cliquez sur chacune des broche en "Input mode", et passez les en "Pull-down".

Pour chacune des entrées ou sorties, je vous conseille fortement de les renommez dans la partie "User Label" avec un nom qui est significatif de sa fonction. De cette manière, le schéma dans l'onglet Pinout deviendra plus parlant, mais cela aura surtout un impact sur la lisibilité du code, où ces noms pourront être utilisés.

Attention toutefois, certaines broches sont reliées à d'autres fonctions sur la carte, ce qui peux fausser les données reçues. Vérifiez que les broches que vous choisissez n'aient pas de pont vers d'autres broches de la carte. Par exemple, la PA5 et PA6 sur la L432KC sont reliées aux broches PB6 et PB7 qui gèrent l'I2C, les informations reçues sur les broches PA5 et PA6 ne sont donc pas fiables.

Effectuer le branchement :

Fichier:Logo-fablab.png
Une jolie description

Écrire le programme :

Fichier:Logo-fablab.png
Une jolie description


Conseils

Donnez une liste de conseils correspondant aux difficultés que vous avez rencontré pendant la réalisation du tutoriel.

Pour aller plus loin

Que peut-on faire de plus une fois le tutoriel réalisé ?

Bibliographie

  • pourquoi pas
  • une liste
  • de liens