Taula de continguts:
- Pas 1: Instal·leu STM32CUBEMX i Keil amb paquets per a STM32L476
- Pas 2: Feu una interfície electrònica per al vostre projecte
- Pas 3: Selecció del microcontrolador a STM32CUBEMX
- Pas 4: feu les seleccions necessàries a STM32cubemx segons les imatges mostrades en aquest tutorial
- Pas 5: generar codi per a la tecla UVision
- Pas 6: escriviu codi per a LCD al fitxer Main.c. Utilitzeu aquest pas només per als microcontroladors STM32L4 i STM32L0. Per a altres microcontroladors, utilitzeu el vostre propi codi
- Pas 7: escriviu el codi a While Loop Inside Main.c File. Consulteu el fitxer adjunt
- Pas 8: escriviu codi al fitxer STM32L4xx_it.c a Keil
- Pas 9: afegiu variables als dos fitxers
- Pas 10: Des del menú Projecte a Uvision Keil, aneu al submenú Aplicació / Usuaris
- Pas 11: Compileu el vostre codi
- Pas 12: Programa la placa amb microcontrolador
Vídeo: Codificador rotatiu amb placa Nucleo STM32: 12 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Aquest és un tutorial per obtenir la posició del codificador rotatiu, que és un tipus de codificador incremental. Els codificadors són generalment de dos tipus: - un és incremental, l’altre és absolut. Aquest codi es pot utilitzar per als microcontroladors STM32L476 i STM32L0. Però si en teniu biblioteca LCD o codi per a LCD, això funcionarà per a qualsevol microcontrolador STM32.
Estic fent servir la placa base STM32L476 per a aquest tutorial.
Podeu controlar motors com el motor STEPPER o el servo motor escrivint un codi segons el moviment del codificador. Ja he escrit aquest codi. Seguiu veient els meus tutorials per obtenir més informació.
Pas 1: Instal·leu STM32CUBEMX i Keil amb paquets per a STM32L476
Pas 2: Feu una interfície electrònica per al vostre projecte
Els components electrònics necessaris per a aquest projecte són: -
1) LCD alfanumèric de 16x2 2) placa nucleo STM32L476. 3) Tauler de pa 4) Filferros de pont. 5) Un portàtil amb Windows instal·lat (6) Codificador rotatiu. A continuació s’esmenten les connexions de la placa LCD i STM32L476: -
STM32L476 - LCD
GND - PIN1
5V - PIN2
Resistència NA - 2.2K connectada a GND
PB10 - RS
PB11 - RW
PB2 - EN
PB12 - D4
PB13 - D5
PB14 - D6
PB15 - D7
5V - PIN15
GND - PIN16
A continuació es mostra la connexió del codificador rotatiu i STM32
Codificador rotatiu-TAULA STM
Pin d'alimentació-3,3 V
GND-GND
CLK-PC1
DT-PC0
Pas 3: Selecció del microcontrolador a STM32CUBEMX
Obriu cubemx i seleccioneu la placa nucleo64 amb microcontrolador com a STM32L476
Pas 4: feu les seleccions necessàries a STM32cubemx segons les imatges mostrades en aquest tutorial
Seguiu els passos anteriors per fer les seleccions necessàries a STM32Cubemx i seleccioneu el rellotge màxim per al microcontrolador que utilitzeu (STM32L476 que estic fent servir en aquest tutorial)
Pas 5: generar codi per a la tecla UVision
Pas 6: escriviu codi per a LCD al fitxer Main.c. Utilitzeu aquest pas només per als microcontroladors STM32L4 i STM32L0. Per a altres microcontroladors, utilitzeu el vostre propi codi
Obriu el fitxer main.c des dels projectes, el menú de Keil i escriviu codi per a la inicialització del LCD abans del bucle while de main. Consulteu la figura adjunta.
Pas 7: escriviu el codi a While Loop Inside Main.c File. Consulteu el fitxer adjunt
Pas 8: escriviu codi al fitxer STM32L4xx_it.c a Keil
Escriviu codi al fitxer STM32L4xx_it.c a Keil.vegeu el codi al fitxer adjunt.
Pas 9: afegiu variables als dos fitxers
Afegiu variables als dos fitxers. Vegeu el fitxer adjunt.
Pas 10: Des del menú Projecte a Uvision Keil, aneu al submenú Aplicació / Usuaris
Des del menú Projecte a uvision Keil, aneu al submenú Aplicació / Usuaris. Adjunteu el fitxer lcd_hd44780_stml4xx.c (Feu clic amb el botó dret al submenú i aneu a l'opció de navegació i adjunteu el fitxer després de copiar tres fitxers lcd a la carpeta font de keil.)
Pas 11: Compileu el vostre codi
Compileu el codi i depureu si apareixen errors.
Pas 12: Programa la placa amb microcontrolador
Programa la placa amb microcontrolador. Obtindrà la sortida com en aquest vídeo.
Recomanat:
Temporitzador amb Arduino i codificador rotatiu: 5 passos
Temporitzador amb codificador rotatiu i Arduino: el temporitzador és una eina que s’utilitza sovint tant en activitats industrials com domèstiques. Aquest muntatge és barat i fàcil de fer. També és molt versàtil, ja que pot carregar un programa triat segons les necessitats. Hi ha diversos programes escrits per mi, per a Ardui
Temporitzador d’alimentació amb Arduino i codificador rotatiu: 7 passos (amb imatges)
Temporitzador d’alimentació amb codificador rotatiu i Arduino: aquest temporitzador d’alimentació es basa en el temporitzador presentat a: https: //www.instructables.com/id/Timer-With-Arduin … Un mòdul de font d’alimentació i un SSR (relé d’estat sòlid) ) s’hi van connectar. Es poden accionar càrregues de potència de fins a 1 KW i, amb canvis mínims, es pot
Utilitzeu un motor pas a pas com a codificador rotatiu: 9 passos (amb imatges)
Utilitzeu un motor pas a pas com a codificador rotatiu: els codificadors rotatius són ideals per a ús en projectes de microcontroladors com a dispositiu d’entrada, però el seu rendiment no és molt suau i satisfactori. A més, tenint molts motors pas a pas de recanvi, vaig decidir donar-los un propòsit. Així que si teniu algun pas a pas
Locomotora model controlada per motor pas a pas - Motor pas a pas com a codificador rotatiu: 11 passos (amb imatges)
Locomotora controlada per motor pas a pas | Motor pas a pas com a codificador rotatiu: en una de les instruccions anteriors, vam aprendre a utilitzar un motor pas a pas com a codificador rotatiu. En aquest projecte, ara utilitzarem aquest motor pas a pas encodador giratori per controlar una locomotora model mitjançant un microcontrolador Arduino. Així, sense fu
Motor pas a pas controlat Motor pas a pas com a codificador rotatiu: 11 passos (amb imatges)
Motor pas a pas controlat Motor pas a pas com a codificador rotatiu: teniu un parell de motors pas a pas al voltant i voleu fer alguna cosa? En aquesta instrucció, fem servir un motor pas a pas com a codificador rotatiu per controlar la posició d’un altre motor pas a pas mitjançant un microcontrolador Arduino. Així doncs, sense més preàmbuls, anem a