Table des matières:

Encodeur rotatif avec carte Nucleo STM32 : 12 étapes
Encodeur rotatif avec carte Nucleo STM32 : 12 étapes

Vidéo: Encodeur rotatif avec carte Nucleo STM32 : 12 étapes

Vidéo: Encodeur rotatif avec carte Nucleo STM32 : 12 étapes
Vidéo: Учебное пособие по сенсорному TFT ЖК-экрану Arduino | 3,5-дюймовый TFT ЖК-дисплей с разрешением 480x320, SD-карта и сенсорный экран 2024, Novembre
Anonim
Encodeur rotatif avec carte Nucleo STM32
Encodeur rotatif avec carte Nucleo STM32

Ceci est un didacticiel pour obtenir la position de l'encodeur rotatif, qui est un type d'encodeur incrémentiel. Les encodeurs sont généralement de deux types: - l'un est incrémental, l'autre est absolu. Ce code peut être utilisé pour les microcontrôleurs STM32L476 et STM32L0. Mais si vous avez votre propre Bibliothèque LCD ou code pour LCD, cela fonctionnera pour n'importe quel microcontrôleur STM32.

J'utilise la carte nucléo STM32L476 pour ce tutoriel.

Vous pouvez contrôler des moteurs tels que le moteur STEPPER ou le servomoteur en écrivant un code en fonction du mouvement de l'encodeur. J'ai déjà écrit un tel code. Veuillez continuer à regarder mes tutoriels pour plus d'informations.

Étape 1: Installez STM32CUBEMX et Keil avec des packages pour STM32L476

Étape 2: Créez une interface électronique pour votre projet

Les composants électroniques nécessaires pour ce projet sont:-

1) 16x2 alphanumérique LCD 2) carte nucléo STM32L476. 3) Planche à pain 4) Fils de cavalier. 5) Un ordinateur portable avec Windows installé (6) Encodeur rotatif. La connexion de l'écran LCD et de la carte STM32L476 est mentionnée ci-dessous:-

STM32L476 - ACL

MASSE - PIN1

5V - PIN2

NA - Résistance 2.2K connectée à GND

PB10 - RS

PB11 - RW

PB2 - FR

PB12 - D4

PB13 - D5

PB14 - D6

PB15 - D7

5V - PIN15

MASSE - PIN16

La connexion de l'encodeur rotatif et du STM32 est ci-dessous

Carte encodeur rotatif-STM

Broche d'alimentation-3,3 V

GND-GND

CLK-PC1

DT-PC0

Étape 3: Sélection du microcontrôleur dans STM32CUBEMX

Ouvrez cubemx et sélectionnez la carte nucleo64 avec microcontrôleur en tant que STM32L476

Étape 4: Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées dans ce didacticiel

Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées dans ce didacticiel
Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées dans ce didacticiel
Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées dans ce didacticiel
Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées dans ce didacticiel
Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées dans ce didacticiel
Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées dans ce didacticiel

Utilisez les étapes ci-dessus pour effectuer les sélections nécessaires dans STM32Cubemx et sélectionnez l'horloge maximale pour le microcontrôleur que vous utilisez (STM32L476 que j'utilise dans ce didacticiel)

Étape 5: Générer le code pour UVision Keil

Étape 6: écrivez le code pour l'écran LCD dans le fichier Main.c. Utilisez cette étape uniquement pour les microcontrôleurs STM32L4 et STM32L0. Pour les autres microcontrôleurs, utilisez votre propre code

Écrivez le code pour l'écran LCD dans le fichier Main.c. Utilisez cette étape uniquement pour les microcontrôleurs STM32L4 et STM32L0. Pour les autres microcontrôleurs, utilisez votre propre code
Écrivez le code pour l'écran LCD dans le fichier Main.c. Utilisez cette étape uniquement pour les microcontrôleurs STM32L4 et STM32L0. Pour les autres microcontrôleurs, utilisez votre propre code

Ouvrez le fichier main.c depuis les projets, le menu de Keil et écrivez le code pour l'initialisation de l'écran LCD avant la boucle while de main. Reportez-vous à la figure ci-jointe.

Étape 7: écrivez le code dans la boucle While dans le fichier Main.c. Référez-vous au fichier joint

Écrivez le code dans la boucle While dans le fichier Main.c. Référez-vous au fichier joint
Écrivez le code dans la boucle While dans le fichier Main.c. Référez-vous au fichier joint

Étape 8: écrivez le code dans le fichier STM32L4xx_it.c dans Keil

Écrire le code dans le fichier STM32L4xx_it.c dans Keil
Écrire le code dans le fichier STM32L4xx_it.c dans Keil

Écrivez le code dans le fichier STM32L4xx_it.c dans Keil.voir le code dans le fichier joint.

Étape 9: ajoutez des variables dans les deux fichiers

Ajoutez des variables dans les deux fichiers
Ajoutez des variables dans les deux fichiers
Ajoutez des variables dans les deux fichiers
Ajoutez des variables dans les deux fichiers

Ajoutez des variables dans les deux fichiers. Voir le fichier joint.

Étape 10: À partir du menu du projet dans Uvision Keil, accédez au sous-menu Application/Utilisateurs

Dans le menu Projet de uvision Keil, accédez au sous-menu Application/Utilisateurs. Attachez le fichier lcd_hd44780_stml4xx.c (Cliquez avec le bouton droit sur le sous-menu et accédez à l'option Parcourir et joignez le fichier après avoir copié trois fichiers lcd dans le dossier source de keil.)

Étape 11: Compilez votre code

Compilez le code et déboguez si des erreurs surviennent.

Étape 12: programmez la carte avec le microcontrôleur

Programmez la carte avec un microcontrôleur. Vous obtiendrez une sortie comme dans cette vidéo.

Conseillé: