Table des matières:
- Étape 1: Installez STM32CUBEMX et Keil avec des packages pour STM32L476
- Étape 2: Créez une interface électronique pour votre projet
- Étape 3: Sélection du microcontrôleur dans STM32CUBEMX
- Étape 4: Effectuez les sélections nécessaires dans STM32cubemx en fonction des images présentées 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
- Étape 7: é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
- Étape 9: ajoutez des variables dans les deux fichiers
- Étape 10: À partir du menu du projet dans Uvision Keil, accédez au sous-menu Application/Utilisateurs
- Étape 11: Compilez votre code
- Étape 12: programmez la carte avec le microcontrôleur
Vidéo: Encodeur rotatif avec carte Nucleo STM32 : 12 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:08
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
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
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
Étape 8: écrivez 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. 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é:
Minuterie avec Arduino et encodeur rotatif : 5 étapes
Minuterie avec Arduino et encodeur rotatif : La minuterie est un outil souvent utilisé aussi bien dans les activités industrielles que domestiques. Cet ensemble est bon marché et facile à réaliser. Il est également très polyvalent, pouvant charger un programme choisi en fonction des besoins. Il y a plusieurs programmes écrits par moi, pour Ardui
Minuterie d'alimentation avec Arduino et encodeur rotatif : 7 étapes (avec images)
Minuterie d'alimentation avec Arduino et encodeur rotatif : cette minuterie d'alimentation est basée sur la minuterie présentée sur : https://www.instructables.com/id/Timer-With-Arduin… Un module d'alimentation et un SSR (relais à semi-conducteurs ) y étaient attachés.Des charges de puissance jusqu'à 1KW peuvent être exploitées et avec des changements minimes le l
Utiliser un moteur pas à pas comme encodeur rotatif : 9 étapes (avec photos)
Utilisez un moteur pas à pas comme encodeur rotatif : Les encodeurs rotatifs sont parfaits pour une utilisation dans des projets de microcontrôleur en tant que périphérique d'entrée, mais leurs performances ne sont pas très fluides et satisfaisantes. De plus, ayant beaucoup de moteurs pas à pas de rechange, j'ai décidé de leur donner un objectif. Donc si vous avez un stepper
Locomotive modèle commandée par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Locomotive modèle commandée par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Dans l'un des précédents Instructables, nous avons appris à utiliser un moteur pas à pas comme encodeur rotatif. Dans ce projet, nous allons maintenant utiliser cet encodeur rotatif à moteur pas à pas pour contrôler un modèle de locomotive à l'aide d'un microcontrôleur Arduino. Alors, sans fu
Moteur pas à pas contrôlé par moteur pas à pas - Moteur pas à pas en tant qu'encodeur rotatif : 11 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas | Moteur pas à pas en tant qu'encodeur rotatif : Vous avez quelques moteurs pas à pas qui traînent et vous voulez faire quelque chose ? Dans ce Instructable, utilisons un moteur pas à pas comme encodeur rotatif pour contrôler la position d'un autre moteur pas à pas à l'aide d'un microcontrôleur Arduino. Alors sans plus tarder, allons-y