Cuprins:

Modulul Arduino Resolver: 4 pași
Modulul Arduino Resolver: 4 pași

Video: Modulul Arduino Resolver: 4 pași

Video: Modulul Arduino Resolver: 4 pași
Video: How to use 4 channel Relay to control AC load with Arduino code 2024, Noiembrie
Anonim
Modulul de rezolvare Arduino
Modulul de rezolvare Arduino

Tinee9 a revenit cu un nou modul. Acest modul se numește modul Resolver.

În lumea controlului motorului există diferite tipuri sau metode de detectare a poziției. Aceste metode includ senzori de hală, senzori XY, resolver, RVDT, LVDT, directori de teren, potențiometru etc. În funcție de modul în care sunt configurați fiecare dintre acești senzori, puteți chiar să vă determinați poziția absolută, chiar dacă trebuie să salvați ultima poziție în memorie..

Modulul pe care îl folosesc poate fi folosit pentru a demodula un RVDT, LVDT și Resolver, dar în scopul de astăzi va fi demodularea unui resolver.

Înțelegere tehnică: nivel expert

Tutorial Plug and Play: nivel intermediar

Provizii

1: Arduino Nano

2: Modul de rezolvare

3: Pâine

Baterie 4: 9,0 volți sau NScope

5: Rezolvator

6: 10x Pâine Jumper Wires

Pasul 1: Modul de rezolvare

Modul de rezolvare
Modul de rezolvare

Există câteva lucruri pe care le puteți face cu un rezolvator, puteți demodula un motor pentru comutarea motorului, puteți obține poziția absolută dacă nu treceți de punctul nul și puteți recupera viteza de la un motor.

Unde le-am văzut folosite cel mai mult este în aplicațiile aerospațiale ale eleronului, cârmei, aripilor de rachetă sau controlului camerei.

Acestea tind să fie puțin mai scumpe decât un senzor de oală sau de hol, dar vă oferă o rezoluție incredibilă.

Pasul 2: Configurare

Înființat
Înființat
Înființat
Înființat
Înființat
Înființat
Înființat
Înființat

1: Mai întâi va trebui să plasați arduino nano pe o placă de pâine

2: Trebuie să conectați pinul de 5V de pe Arduino la pinul + 3V3 și pinul de 5V de pe modulul de rezoluție (modulul poate avea o sursă de 3,3V, oferind în același timp o excitație de 5V pe resolver)

3: Conectați RTN pe Arduino la RTN pe modulul de rezolvare

4: Conectați D9 de pe Arduino la PWM de pe modulul de rezoluție

5: Conectați A0 de pe Arduino la MCU_COS + de pe modulul de rezoluție

6: Conectați A1 de pe Arduino la MCU_SIN + de pe modulul de rezoluție

7: Conectați firul Resolver EX + la EX + de pe modulul Resolver

8: Conectați firul Resolver EX la EX- pe modulul Resolver

9: Conectați firul Resolver COS + la COS + de pe modulul Resolver

10: Conectați cele 2 fire RCOM de rezoluție la RCOM de pe modulul de rezoluție

11: Conectați firul Resolver SIN + la SIN + de pe modulul Resolver

12: Conectați bateria de 9V la RTN (-) și VIN (+)

13: Sau conectați Nscope + 5V la 5V Pin pe Arduino și RTN pe Nscope la RTN pe Arduino

14: Conectați Scope la USB pe computer

15: Conectați Arduino la USB pe computer

Pasul 3: Încărcați codul

Încărcați codul
Încărcați codul
Încărcați codul
Încărcați codul

Copiați Lipiți codul Arduino de mai jos în schița dvs. în ID-ul Arduino

Ceea ce va face acest cod va merge la modulul PWM Resolver. Acest modul va excita rezolverul și va produce o undă pătrată pe bobinele secundare ale rezolverului. Semnalele care ies din Sin + și Cos + sunt apoi alimentate către un OPAMP care va centra Valul și va reduce ieșirea astfel încât să treacă între 0-5 Volți.

Păcatul + și Cos + sunt așa cum înseamnă. Păcatul este de 90 de grade defazat cu unda Cos.

Deoarece acestea sunt defazate la 90 de grade, trebuie să folosim funcția Atan2 (Cos, Sin) pentru a obține coordonata corectă a poziției resolverului.

Apoi, Arduino va scuipa, după ce a obținut 4 eșantioane, o valoare cuprinsă între -3,14 și 3,14, care reprezintă -180 de grade și, respectiv, +180 de grade. Acesta este motivul pentru care, dacă doriți să utilizați rezolvatorul pentru poziția absolută, trebuie să utilizați numai între -180 și 180 cu rotirea excesivă sau altfel vă veți răsturna și veți crede că vă întoarceți la începutul sau la sfârșitul cursei actuatorului. Aceasta ar fi o problemă dacă ați decide să utilizați un resolver pentru axa x sau y a unei imprimante 3D și să vă răsturnați, făcând ca imprimanta 3D să se încurce.

Aș fi putut face codul un pic mai bine cu întreruperi pentru a avea PWMing mai continuu, dar acest lucru va fi suficient pentru această aplicație.int A = A0;

int B = A1; int pwm = 9; int c1 = 0; int c2 = 0; int c3 = 0; int c4 = 0; int c5 = 0; int c6 = 0; int s1 = 0; int s2 = 0; int s3 = 0; int s4 = 0; int s5 = 0; int s6 = 0; ieșire float = 0,00; int sin1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; void setup () {// puneți codul de configurare aici, pentru a rula o dată: pinMode (pwm, OUTPUT); Serial.begin (115200); }

bucla nulă () {

if (get_position = 5) {cos1 = (c1 + c2) - (c3 + c4); sin1 = (s1 + s2) - (s3 + s4); ieșire = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Poziție:"); Serial.println (ieșire); get_position = 1; }

// puneți codul principal aici, pentru a rula în mod repetat:

}

Pasul 4: Pasul 3: Distrează-te

Pasul 3: Distrează-te
Pasul 3: Distrează-te
Pasul 3: Distrează-te
Pasul 3: Distrează-te

Bucurați-vă de rotirea resolverului și de învățarea modului de funcționare a resolverului și a aplicațiilor pe care le-ați putea folosi cu acest modul de rezolvare.

Recomandat: