Cuprins:
- Provizii
- Pasul 1: Modul de rezolvare
- Pasul 2: Configurare
- Pasul 3: Încărcați codul
- Pasul 4: Pasul 3: Distrează-te
Video: Modulul Arduino Resolver: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:43
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
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
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
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
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:
Cum să faci un player MP3 cu LCD folosind modulul Arduino și DFPlayer Mini MP3 Player: 6 pași
Cum să faci un player MP3 cu LCD folosind modulul Arduino și DFPlayer Mini MP3 Player: Astăzi vom face un player MP3 cu LCD folosind modulul Arduino și DFPlayer mini MP3 Player. Proiectul poate citi fișierele MP3 de pe cardul SD și poate întrerupe și joacă la fel ca dispozitivul acum 10 ani. Și, de asemenea, are o melodie anterioară și următoarea distracție
Cum să controlați becul folosind modulul Arduino UNO și modulul de releu de stat solid cu un singur canal 5V: 3 pași
Cum să controlați becul utilizând modulul de releu de stare solidă Arduino UNO și un canal 5V: Descriere: Comparativ cu releul mecanic tradițional, releul de stare solidă (SSR) are multe avantaje: are o durată de viață mai lungă, cu o pornire mult mai mare / viteza de oprire și fără zgomot. În plus, are și o rezistență mai bună la vibrații și mecanică
Telecomandă fără fir utilizând modulul NRF24L01 de 2,4 Ghz cu Arduino - Nrf24l01 Receptor transmițător cu 4 canale / 6 canale pentru Quadcopter - Rc Helicopter - Avion Rc folosind Arduino: 5 pași (cu imagini)
Telecomandă fără fir utilizând modulul NRF24L01 de 2,4 Ghz cu Arduino | Nrf24l01 Receptor transmițător cu 4 canale / 6 canale pentru Quadcopter | Rc Helicopter | Avion Rc folosind Arduino: Pentru a opera o mașină Rc | Quadcopter | Drona | Avion RC | Barcă RC, avem întotdeauna nevoie de un receptor și un transmițător, să presupunem că pentru RC QUADCOPTER avem nevoie de un transmițător și un receptor cu 6 canale, iar acel tip de TX și RX este prea costisitor, așa că vom face unul pe
Portul USB NODEMcu nu funcționează? Încărcați codul folosind USB pe modulul TTL (FTDI) în doar 2 pași: 3 pași
Portul USB NODEMcu nu funcționează? Încărcați codul folosind modulul USB la TTL (FTDI) în doar 2 pași: obosit să vă conectați la mai multe fire de la USB la modulul TTL la NODEMcu, urmați acest instructable, pentru a încărca codul în doar 2 pași. NODEMcu nu funcționează, atunci nu intrați în panică. Este doar cipul driverului USB sau conectorul USB
LED intermitent utilizând modulul ESP32 NodeMCU WiFi și modulul Bluetooth Tutorial: 5 pași
LED intermitent utilizând modulul ESP32 NodeMCU WiFi și modulul Bluetooth Tutorial: Descriere NodeMCU este o platformă IoT open source. Este programat utilizând limbajul de scriptare Lua. Platforma se bazează pe proiecte open source eLua. Platforma utilizează o mulțime de proiecte open source, cum ar fi lua-cjson, spiffs. Acest ESP32 NodeMc