Table des matières:

Module de résolution Arduino : 4 étapes
Module de résolution Arduino : 4 étapes

Vidéo: Module de résolution Arduino : 4 étapes

Vidéo: Module de résolution Arduino : 4 étapes
Vidéo: Les bases de l'Arduino ! 2024, Juillet
Anonim
Module de résolution Arduino
Module de résolution Arduino

Tinee9 est de retour avec un nouveau module. Ce module est appelé module Résolveur.

Dans le monde du contrôle moteur, il existe différents types ou méthodes de détection de position. Ces méthodes incluent des capteurs à effet Hall, des capteurs XY, un résolveur, un RVDT, un LVDT, des directeurs de champ, un potentiomètre, etc. Selon la configuration de chacun de ces capteurs, vous pouvez même déterminer votre position absolue sans même avoir à enregistrer la dernière position en mémoire..

Le module que j'utilise peut être utilisé pour démoduler un RVDT, un LVDT et un résolveur, mais pour le but d'aujourd'hui, il s'agira de démoduler un résolveur.

Compréhension technique: niveau expert

Tutoriel Plug and Play: niveau intermédiaire

Fournitures

1: Arduino Nano

2: module de résolution

3: Planche à pain

4: Batterie de 9,0 volts ou NScope

5: Résolveur

6: 10x fils de cavalier de planche à pain

Étape 1: module de résolution

Module de résolution
Module de résolution

Il y a plusieurs choses que vous pouvez faire avec un résolveur, vous pouvez démoduler un moteur pour la commutation du moteur, vous pouvez obtenir une position absolue si vous ne dépassez pas le point zéro et vous pouvez récupérer la vitesse d'un moteur.

Là où je les ai vus le plus utilisés, c'est dans les applications aérospatiales d'aileron, de gouvernail, d'aileron de missile ou de contrôle de caméra.

Ils ont tendance à être un peu plus chers qu'un pot ou un capteur à effet Hall, mais ils vous offrent une résolution incroyable.

Étape 2: configuration

Installer
Installer
Installer
Installer
Installer
Installer
Installer
Installer

1: Vous devrez d'abord placer votre arduino nano sur une planche à pain

2: Vous devez brancher la broche 5V sur l'Arduino à la broche +3V3 et à la broche 5V sur le module de résolution (le module peut avoir une alimentation de 3,3V tout en donnant une excitation de 5V sur le résolveur)

3: Connectez RTN sur l'Arduino au RTN sur le module de résolution

4: Connectez le D9 sur l'Arduino au PWM sur le module de résolution

5: connectez A0 sur l'Arduino à MCU_COS + sur le module de résolution

6: connectez A1 sur l'Arduino à MCU_SIN + sur le module de résolution

7: Connectez le fil Resolver EX+ à EX+ sur le module Resolver

8: Connectez le câble EX- du résolveur à l'EX- sur le module résolveur

9: Connectez le fil COS+ du résolveur à COS+ sur le module résolveur

10: Connectez les 2 fils RCOM du résolveur à RCOM sur le module de résolveur

11: connectez le fil SIN+ du résolveur à SIN+ sur le module résolveur

12: Branchez la batterie 9V sur RTN (-) et VIN (+)

13: Ou branchez Nscope + 5V à 5V Pin sur Arduino et RTN sur Nscope à RTN sur Arduino

14: Branchez Scope à USB sur PC

15: Branchez Arduino à USB sur PC

Étape 3: Chargez le code

Charger le code
Charger le code
Charger le code
Charger le code

Copiez Collez le code Arduino ci-dessous dans votre croquis dans l'IDE Arduino

Ce que ce code va faire va PWM le module de résolution. Ce module excitera le résolveur et produira une onde carrée sur les bobines secondaires du résolveur. Les signaux qui sortent du Sin+ et du Cos+ sont ensuite transmis à un OPAMP qui centrera l'onde et réduira la sortie pour qu'elle se situe entre 0 et 5 volts.

Sin+ et Cos+ sont ce qu'ils signifient. Le Sin est déphasé de 90 degrés avec l'onde Cos.

Comme ils sont déphasés de 90 degrés, nous devons utiliser la fonction Atan2 (Cos, Sin) pour obtenir les coordonnées correctes de la position du résolveur.

Ensuite, l'Arduino crachera, après avoir obtenu 4 échantillons, une valeur comprise entre -3,14 et 3,14 qui représentent respectivement -180 degrés et +180 degrés. C'est pourquoi si vous souhaitez utiliser le résolveur pour la position absolue, vous ne devez utiliser qu'entre -180 et 180 sans rotation excessive, sinon vous vous retournerez et penserez que vous êtes de retour au début ou à la fin de la course de votre actionneur. Ce serait un problème si vous décidiez d'utiliser un résolveur pour l'axe x ou y d'une imprimante 3D et que vous vous retourniez, provoquant le dysfonctionnement de l'imprimante 3D.

J'aurais pu améliorer un peu le code avec des interruptions pour avoir un PWMing plus continu mais cela sera suffisant pour cette application.int A = A0;

entier B = A1; entier pwm = 9; entier c1 = 0; entier c2 = 0; entier c3 = 0; entier c4 = 0; entier c5 = 0; entier c6 = 0; entier s1 = 0; entier s2 = 0; entier s3 = 0; entier s4 = 0; entier s5 = 0; entier s6 = 0; sortie flottante = 0,00; entier sin1 = 0; entier cos1 = 0; int état_position = 1; int get_position = 0; void setup() { // mettez votre code de configuration ici, à exécuter une fois: pinMode(pwm, OUTPUT); Serial.begin(115200); }

boucle vide() {

if(get_position=5){ cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); sortie = atan2(cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print("Position: "); Serial.println(sortie); obtenir_position = 1; }

// mettez votre code principal ici, à exécuter à plusieurs reprises:

}

Étape 4: Étape 3: Amusez-vous

Étape 3: Amusez-vous
Étape 3: Amusez-vous
Étape 3: Amusez-vous
Étape 3: Amusez-vous

Profitez de la rotation du résolveur et apprenez comment fonctionne le résolveur et quelles applications vous pouvez utiliser ce module de résolveur.

Conseillé: