Sisällysluettelo:

Arduino Resolver -moduuli: 4 vaihetta
Arduino Resolver -moduuli: 4 vaihetta

Video: Arduino Resolver -moduuli: 4 vaihetta

Video: Arduino Resolver -moduuli: 4 vaihetta
Video: How to solve Most Common Arduino Issues in 5 Minutes? 2024, Marraskuu
Anonim
Arduino Resolver -moduuli
Arduino Resolver -moduuli

Tinee9 on palannut uuden moduulin kanssa. Tätä moduulia kutsutaan Resolver -moduuliksi.

Moottorinohjauksen maailmassa on erilaisia tyyppejä tai menetelmiä paikan havaitsemiseksi. Näitä menetelmiä ovat hall -anturit, XY -anturit, resolveri, RVDT, LVDT, kenttäohjaimet, potentiometri jne. Riippuen siitä, miten kukin näistä antureista on asetettu, voit jopa määrittää absoluuttisen sijaintisi ilman, että joudut viimeisen sijainnin tallentamaan muistiin.

Käyttämääni moduulia voidaan käyttää RVDT: n, LVDT: n ja Resolverin demodulointiin, mutta tämän päivän tarkoitukseen demoduloidaan resolveri.

Tekninen ymmärrys: Asiantuntijataso

Plug and Play -opetusohjelma: keskitaso

Tarvikkeet

1: Arduino Nano

2: Ratkaisumoduuli

3: Leipälauta

4: 9,0 voltin akku tai NScope

5: Ratkaisu

6: 10x leipälevyn hyppyjohdot

Vaihe 1: Ratkaisumoduuli

Ratkaisumoduuli
Ratkaisumoduuli

On olemassa muutamia asioita, joita voit tehdä resolverilla, jonka avulla voit demoduloida moottorin moottorin kommutointia varten, voit saada absoluuttisen aseman, jos et mene nollapisteen ohi, ja voit hakea nopeuden moottorista.

Eniten olen nähnyt niitä käytettävän ilmailualan, peräsimen, ohjuslevyn tai kameran ohjauksen ilmailu- ja avaruussovelluksissa.

Ne ovat yleensä hieman kalliimpia kuin kattila- tai hallianturi, mutta ne antavat sinulle uskomattoman tarkkuuden.

Vaihe 2: Asennus

Perustaa
Perustaa
Perustaa
Perustaa
Perustaa
Perustaa
Perustaa
Perustaa

1: Ensin sinun on asetettava arduino nano leipätaululle

2: Sinun on kytkettävä Arduinon 5 V -nasta +3 V3 -nastaan ja 5 V -nastainen Resolver -moduuliin (moduulissa voi olla 3,3 V: n jännite ja samalla 5 V: n herätys resolverissa)

3: Liitä RTN Arduinossa RTN on Resolver Module -laitteeseen

4: Liitä Arduinon D9 Resolver -moduulin PWM -laitteeseen

5: Liitä A0 Arduinossa MCU_COS+ -laitteeseen Resolver -moduulissa

6: Yhdistä A1 Arduinossa MCU_SIN+ -laitteeseen Resolver -moduulissa

7: Liitä Resolver EX+ -johto Resolver -moduulin EX+ -liitäntään

8: Liitä Resolver EX -johto Resolver-moduulin EX- liittimeen

9: Liitä Resolver COS+ -johto Resolver -moduulin COS+ -liitäntään

10: Liitä 2 Resolver RCOM -johtoa Resolver -moduulin RCOM -laitteeseen

11: Liitä Resolver SIN+ -johto Resolver -moduulin SIN+ -liitäntään

12: Yhdistä 9 V: n akku RTN (-) ja VIN (+)

13: Tai Liitä Nscope +5V - 5V Pin Arduinoon ja RTN Nscopeen RTN: ään Arduinoon

14: Kytke laajuus tietokoneen USB -porttiin

15: Kytke Arduino tietokoneen USB -porttiin

Vaihe 3: Lataa koodi

Lataa koodi
Lataa koodi
Lataa koodi
Lataa koodi

Kopioi Liitä alla oleva Arduino -koodi Sketchisi Arduino IDE: ssä

Tämä koodi aikoo tehdä PWM -ratkaisumoduulin. Tämä moduuli innostaa resolveria ja tuottaa neliömäisen aallon resolverin toisiokäämille. Sin+: sta ja Cos+: sta tulevat signaalit syötetään sitten OPAMP: ään, joka keskittää aallon ja vähentää lähtöä niin, että se menee 0-5 voltin välillä.

Sin+ ja Cos+ ovat sellaisia kuin ne tarkoittavat. Sini on 90 astetta epäkunnossa Cos -aallon kanssa.

Koska ne ovat 90 astetta vaiheen ulkopuolella, meidän on käytettävä Atan2 (Cos, Sin) -toimintoa saadaksemme ratkaisijan sijainnin oikean koordinaatin.

Sitten Arduino sylkee ulos, kun se on saanut 4 näytettä, arvo välillä -3,14 ja 3,14, jotka edustavat -180 astetta ja +180 astetta. Tästä syystä, jos haluat käyttää resoluutiota absoluuttiseen asentoon, sinun on käytettävä vain -180 ja 180 välillä ilman yli -pyörimistä, tai muuten kaadut ja luulet olevasi takaisin toimilaitteen iskun alussa tai lopussa. Tämä olisi ongelma, jos päätät käyttää ratkaisua 3D -tulostimen x- tai y -akselille ja kaatua, jolloin 3D -tulostin sotkeutuu.

Olisin voinut parantaa koodia hieman keskeytyksillä saadakseni jatkuvan PWMingin, mutta tämä riittää tähän sovellukseen. 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; float -lähtö = 0,00; int sin1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; void setup () {// laita asennuskoodi tähän, jotta se suoritetaan kerran: pinMode (pwm, OUTPUT); Sarja.alku (115200); }

void loop () {

jos (get_position = 5) {cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); lähtö = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Position:"); Sarja.println (lähtö); get_position = 1; }

// laita pääkoodisi tänne toistettavaksi:

}

Vaihe 4: Vaihe 3: Pidä hauskaa

Vaihe 3: Pidä hauskaa
Vaihe 3: Pidä hauskaa
Vaihe 3: Pidä hauskaa
Vaihe 3: Pidä hauskaa

Nauti resolverin pyörittämisestä ja siitä, miten resolveri toimii ja mitä sovelluksia voit käyttää tätä ratkaisumoduulia.

Suositeltava: