Sisukord:

Arduino resolveri moodul: 4 sammu
Arduino resolveri moodul: 4 sammu

Video: Arduino resolveri moodul: 4 sammu

Video: Arduino resolveri moodul: 4 sammu
Video: Самые простые часы на Arduino Nano 2024, Juuli
Anonim
Arduino resolveri moodul
Arduino resolveri moodul

Tinee9 on tagasi uue mooduliga. Seda moodulit nimetatakse Resolver mooduliks.

Mootori juhtimise maailmas on positsiooni tuvastamiseks erinevaid tüüpe või meetodeid. Nende meetodite hulka kuuluvad halliandurid, XY -andurid, resolver, RVDT, LVDT, väljadirektorid, potentsiomeeter jne. Sõltuvalt sellest, kuidas kõik need andurid on seadistatud, saate isegi oma absoluutse asukoha määrata, isegi kui viimast positsiooni mällu salvestada.

Minu kasutatavat moodulit saab kasutada RVDT, LVDT ja Resolveri demoduleerimiseks, kuid tänapäeval on see resolveri demoduleerimine.

Tehniline arusaam: ekspertide tase

Plug and Play õpetus: kesktase

Tarvikud

1: Arduino Nano

2: Lahendusmoodul

3: leivalaud

4: 9,0 -voldine aku või NScope

5: Lahendaja

6: 10x leivalaua hüppajad

Samm: lahendaja moodul

Lahendaja moodul
Lahendaja moodul

Lahendajaga saate teha paar asja, mille abil saate mootorit kommuteerimiseks demoduleerida, absoluutse positsiooni saate, kui te ei lähe nullpunktist mööda, ja saate mootorilt kiiruse hankida.

Seal, kus ma olen neid kõige enam kasutanud, on lennuki-, tüüri-, raketiuime- või kaamerajuhtimise lennundusrakendustes.

Need kipuvad olema pisut kallimad kui pott või saali andur, kuid annavad teile uskumatu eraldusvõime.

2. samm: seadistamine

Seadistamine
Seadistamine
Seadistamine
Seadistamine
Seadistamine
Seadistamine
Seadistamine
Seadistamine

1: Kõigepealt peate oma arduino nano leivalauale asetama

2: Peate ühendama Arduino 5V kontakti +3V3 tihvtiga ja 5V kontakti resolveri moodulil (moodulil võib olla 3,3 V toide, andes samal ajal resolverile 5 V erutuse)

3: ühendage Arduino RTN resolveri mooduli RTN -iga

4: Ühendage Arduino D9 resolveri mooduli PWM -iga

5: ühendage Arduino A0 resolveri mooduli MCU_COS+ -ga

6: ühendage Arduino A1 lahendusmooduli MCU_SIN+ -ga

7: Ühendage Resolver EX+ juhe resolutsioonimooduli EX+ -ga

8: Ühendage Resolver EX-juhe Resolveri mooduli EX-juhega

9: Ühendage Resolver COS+ juhe resolvermooduli COS+ -ga

10: Ühendage 2 resolveri RCOM -juhet resolver -mooduli RCOM -iga

11: Ühendage Resolver SIN+ juhe resolveri mooduli SIN+ -ga

12: ühendage 9 V aku RTN (-) ja VIN (+) külge

13: Või ühendage Arduino Nscope +5V kuni 5V pin ja Nscope RTN Arduino RTN -i

14: ühendage Scope USB -ga arvutis

15: ühendage Arduino arvutis USB -ga

Samm: laadige kood sisse

Laadige kood sisse
Laadige kood sisse
Laadige kood sisse
Laadige kood sisse

Kopeerige ja kleepige allolev Arduino kood oma eskiisi Arduino IDE -sse

See kood hakkab tegema lahendaja mooduli PWM -i. See moodul erutab lahendajat ja tekitab lahkuja sekundaarmähistel ruudulise laine. Sin+ ja Cos+ signaalid suunatakse seejärel OPAMP-i, mis tsentreerib laine ja vähendab väljundit nii, et see oleks vahemikus 0–5 volti.

Patt+ ja Cos+ on sellised, nagu nad tähendavad. Patu on Cos -lainega 90 kraadi faasist väljas.

Kuna need on faasist 90 kraadi väljas, peame lahendaja asendi õige koordinaadi saamiseks kasutama funktsiooni Atan2 (Cos, Sin).

Seejärel sülitab Arduino pärast nelja proovi võtmist välja väärtuse vahemikus -3,14 kuni 3,14, mis tähistab vastavalt -180 kraadi ja +180 kraadi. Sellepärast, kui soovite kasutada resolverit absoluutses asendis, peate kasutama ainult vahemikku -180 kuni 180 ilma pöörlemiseta, vastasel juhul pöörate ümber ja arvate, et olete täiturmehhanismi alguses või lõpus tagasi. See oleks probleem, kui otsustaksite kasutada 3D -printeri x- või y -telje lahendajat ja pööraksite selle ümber, põhjustades 3D -printeri segadust.

Ma oleksin võinud koodi katkestustega veidi paremaks muuta, et oleks pidev PWMing, kuid sellest rakendusest piisab. 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; ujuki väljund = 0,00; int sin1 = 0; int cos1 = 0; int positsiooni_riik = 1; int get_position = 0; void setup () {// pange oma seadistuskood siia, et seda korra käivitada: pinMode (pwm, OUTPUT); Seriaalne algus (115200); }

void loop () {

kui (get_position = 5) {cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); väljund = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Positsioon:"); Serial.println (väljund); get_position = 1; }

// pange oma põhikood siia korduvaks käitamiseks:

}

4. samm: 3. samm: nautige

3. samm: nautige
3. samm: nautige
3. samm: nautige
3. samm: nautige

Nautige resolveri pööramist ja õppige, kuidas resolver töötab ja milliseid rakendusi saate seda resolutsioonimoodulit kasutada.

Soovitan: