Kazalo:

Arduino Resolver Module: 4 koraki
Arduino Resolver Module: 4 koraki

Video: Arduino Resolver Module: 4 koraki

Video: Arduino Resolver Module: 4 koraki
Video: How to repair Relay module | Arduino | ESP32 | Raspberry pi 4 | Relay module repair 2024, Julij
Anonim
Arduino razreševalni modul
Arduino razreševalni modul

Tinee9 se vrača z novim modulom. Ta modul se imenuje modul za reševanje.

V svetu krmiljenja motorja obstajajo različne vrste ali metode zaznavanja položaja. Te metode vključujejo hodniške senzorje, XY senzorje, razreševalnik, RVDT, LVDT, usmerjevalnike polj, potenciometer itd. Odvisno od tega, kako je vsak od teh senzorjev nastavljen, lahko celo določite svoj absolutni položaj, ne da bi morali zadnji položaj shraniti v pomnilnik.

Modul, ki ga uporabljam, se lahko uporablja za demodulacijo RVDT, LVDT in Resolver, vendar bo za današnji namen demodulacija razreševalca.

Tehnično razumevanje: Strokovna raven

Vadnica Plug and Play: vmesna raven

Zaloge

1: Arduino Nano

2: Razreševalni modul

3: Krušna deska

4: 9,0 -voltna baterija ali NScope

5: Reševalec

6: 10x Žice za skakanje iz plošč za kruh

1. korak: Modul za reševanje

Razreševalni modul
Razreševalni modul

Z ločevalnikom lahko naredite nekaj stvari, ki jih lahko demodulirate za motorno komutacijo, lahko dobite absolutni položaj, če ne greste mimo ničelne točke, in lahko iz motorja pridobite hitrost.

Največkrat sem jih videl v vesoljskih aplikacijah krilca, krmila, raketnih plavuti ali kamere.

Navadno so nekoliko dražji od senzorja za lonec ali dvorano, vendar vam dajejo neverjetno ločljivost.

2. korak: Nastavitev

Nastaviti
Nastaviti
Nastaviti
Nastaviti
Nastaviti
Nastaviti
Nastaviti
Nastaviti

1: Najprej morate svoj arduino nano postaviti na ploščo za kruh

2: Morate priključiti 5V pin na Arduinu na +3V3 Pin in 5V pin na modulu Resolver (Modul ima lahko napajanje 3.3V, medtem ko daje 5V vzbujanje na ločevalniku)

3: Povežite RTN na Arduinu z modulom RTN on Resolver

4: Priključite D9 na Arduinu na PWM na modulu razreševalca

5: Povežite A0 na Arduinu z MCU_COS+ na modulu razreševalca

6: Povežite A1 na Arduinu z MCU_SIN+ na modulu razreševalca

7: Priključite žico Resolver EX+ na EX+ na modulu reševalca

8: Priključite EX-žico Resolver EX na EX-na modulu reševalca

9: Priključite žico Resolver COS+ na COS+ na modulu razreševalnika

10: Priključite 2 žici RCOM Resolver na RCOM na modulu razreševalnika

11: Priključite žico Resolver SIN+ na SIN+ na modulu razreševalca

12: Priključite 9V baterijo na RTN (-) in VIN (+)

13: Ali priključite Nscope +5V na 5V Pin na Arduinu in RTN na Nscope na RTN na Arduinu

14: Priključite področje uporabe na USB v računalniku

15: Priključite Arduino na USB v računalniku

3. korak: Naložite kodo

Naložite kodo
Naložite kodo
Naložite kodo
Naložite kodo

Kopirajte Prilepite kodo Arduino spodaj na svojo skico v Arduino IDE

Ta koda bo naredila PWM modul za reševanje. Ta modul bo vznemiril ločilnik in ustvaril kvadratni val na sekundarnih tuljavah ločevalnika. Signali, ki prihajajo iz Sin+ in Cos+, se nato napajajo v OPAMP, ki bo centriral val in zmanjšal izhod, tako da bo šel med 0-5 voltov.

Sin+ in Cos+ sta tako, kot pomenita. Sin je 90 stopinj zunaj faze z Cos valom.

Ker so za 90 stopinj izven faze, moramo uporabiti pravilno funkcijo Atan2 (Cos, Sin), da dobimo pravilno koordinato položaja resolutorja.

Potem bo Arduino izpljunil, potem ko je prejel 4 vzorce, vrednost med -3,14 in 3,14, kar predstavlja -180 stopinj oziroma +180 stopinj. Zato, če želite ločevalnik uporabiti za absolutni položaj, morate uporabiti le med -180 in 180, pri čemer se vrtljaji ne vrtijo, sicer se boste prevrnili in mislili, da ste se vrnili na začetek ali konec giba aktuatorja. To bi bil problem, če bi se odločili uporabiti ločilnik za os x ali y 3D tiskalnika in se prevrnili, zaradi česar je 3D tiskalnik pokvarjen.

Lahko bi naredil kodo nekoliko boljšo s prekinitvami, da bi imela bolj neprekinjeno PWMing, vendar bo to zadostovalo za to aplikacijo.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; plavajoča moč = 0,00; int sin1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; void setup () {// vnesite nastavitveno kodo sem, da se enkrat zažene: pinMode (pwm, OUTPUT); Serial.begin (115200); }

void loop () {

če (get_position = 5) {cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); izhod = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Položaj:"); Serial.println (izhod); get_position = 1; }

// vnesite svojo glavno kodo sem, da se zažene večkrat:

}

4. korak: 3. korak: zabavajte se

3. korak: Zabavajte se
3. korak: Zabavajte se
3. korak: Zabavajte se
3. korak: Zabavajte se

Uživajte v vrtenju razreševalnika in se naučite, kako deluje razreševalec in katere aplikacije bi lahko uporabili ta modul razreševalca.

Priporočena: