Table des matières:
- Étape 1: plongée profonde dans la fiche technique et le code source - Vitesse d'horloge
- Étape 2: configuration des registres UART
- Étape 3: Paramètres PWM
- Étape 4: Résultat
Vidéo: Entraînement moteur proportionnel Atmega128A - ATMEL ICE AVR Timer UART PWM Control: 4 Steps
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:06
Dans ce instructable, je vais vous expliquer comment
- contrôler un moteur à courant continu avec PWM
- communiquer via UART
- gérer les interruptions de la minuterie
Tout d'abord, nous utiliserons une carte de développement du système AVR Core que vous pouvez trouver sur Aliexpress autour de 4 USD. Le lien de la carte de développement est ici. Nous utiliserons également Atmel ICE Debugger et Atmel Studio pour programmer et déboguer notre logiciel.
Étape 1: plongée profonde dans la fiche technique et le code source - Vitesse d'horloge
Dans 1. la balle, nous définissons notre fréquence de cristal où nous pouvons voir sur la carte de développement
Étape 2: configuration des registres UART
Afin de communiquer avec UART, vous devez définir les registres de débit en bauds USART - UBRnL et UBRRnH correctement, vous pouvez le calculer vous-même ou vous pouvez utiliser une calculatrice en ligne pour obtenir facilement les valeurs correctes.
Calculatrice en ligne
ruemohr.org/~ircjunk/avr/baudcalc/avrbaudca…
La valeur MYUBBR est donc calculée. Dans le registre UCSR0B, nous activons RXEN0 (recv enable) TXEN0 (transmit enable) et RXCIE0 (RX pour interruption). Dans le registre UCSR0C, nous sélectionnons une taille de caractère de 8 bits.
Après avoir défini le bit d'interruption RX, nous devons ajouter la fonction ISR pour USART0_RX_vect
ISR(USART0_RX_vect){ char rcvChar = UDR0; if(rcvChar != '\n') { buffer[bufferIndex] = rcvChar; bufferIndex++; } }
Vous ne devez pas appliquer de logique métier dans votre routine de service d'interruption. Vous devez faire revenir la fonction dès que possible.
Étape 3: Paramètres PWM
Dans la fonction initPWM, nous définissons notre horloge CPU, le mode Timer/Counter comme Fast PWM et définissons son comportement avec les bits COM
Nous devons également connecter le moteur à courant continu à la broche OC2 qui est spécifiée dans le tableau 66. Comparez le mode de sortie, le mode PWM rapide dans notre fiche technique, vous verrez également que la broche OC2 est (OC2/OC1C) PB7
Étape 4: Résultat
Lorsque vous téléchargez le code source dans la pièce jointe.
Vous pouvez entrer une nouvelle valeur PWM (0-255) à partir de l'UART (vous pouvez utiliser le terminal du port série arduino) pour définir la vitesse du moteur à courant continu.
Conseillé:
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : 6 étapes
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur ! : Dans ce rapide Instructable, nous allons faire un simple contrôleur de moteur pas à pas à l'aide d'un moteur pas à pas. Ce projet ne nécessite aucun circuit complexe ni microcontrôleur. Alors sans plus tarder, commençons
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : 9 étapes (avec photos)
Moteur pas à pas contrôlé par moteur pas à pas sans microcontrôleur (V2) : Dans l'un de mes précédents Instructables, je vous ai montré comment contrôler un moteur pas à pas à l'aide d'un moteur pas à pas sans microcontrôleur. C'était un projet rapide et amusant, mais il est venu avec deux problèmes qui seront résolus dans ce Instructable. Alors, esprit
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
Utilisez un moteur d'entraînement à courant continu pour tapis de course et un contrôleur de vitesse PWM pour alimenter les outils : 13 étapes (avec photos)
Utilisez un moteur d'entraînement à courant continu pour tapis roulant et un contrôleur de vitesse PWM pour alimenter les outils : des outils électriques tels que des fraises et des tours à métaux, des perceuses à colonne, des scies à ruban, des ponceuses et plus encore peuvent nécessiter des moteurs de 5 HP à 2 HP avec la possibilité d'ajuster la vitesse tout en maintenant le couple .Par coïncidence, la plupart des tapis roulants utilisent un moteur 80-260 VDC avec