Turinys:

„Arduino Resolver“modulis: 4 žingsniai
„Arduino Resolver“modulis: 4 žingsniai

Video: „Arduino Resolver“modulis: 4 žingsniai

Video: „Arduino Resolver“modulis: 4 žingsniai
Video: Move Mirror with Magnets and Coils - Magnetic Actuator For Laser Machine 2024, Lapkritis
Anonim
„Arduino Resolver“modulis
„Arduino Resolver“modulis

„Tinee9“grįžo su nauju moduliu. Šis modulis vadinamas „Resolver“moduliu.

Variklio valdymo pasaulyje yra įvairių tipų ar metodų, kaip aptikti padėtį. Šie metodai apima salės jutiklius, XY jutiklius, rezoliuciją, RVDT, LVDT, lauko režisierius, potenciometrą ir tt Priklausomai nuo to, kaip kiekvienas iš šių jutiklių yra sumontuotas, jūs netgi galite nustatyti savo absoliučią padėtį net neišsaugodami paskutinės pozicijos atmintyje.

Mano naudojamas modulis gali būti naudojamas RVDT, LVDT ir „Resolver“demoduliavimui, tačiau šiandienos tikslu bus naudojamas demoduliavimas.

Techninis supratimas: ekspertų lygis

Mokomoji programa „Plug and Play“: vidutinis lygis

Prekės

1: „Arduino Nano“

2: Sprendimo modulis

3: Duonos lenta

4: 9.0 voltų baterija arba NScope

5: Sprendėjas

6: 10x duonos lentos trumpikliai

1 žingsnis: Sprendimo modulis

Sprendimo modulis
Sprendimo modulis

Yra keletas dalykų, kuriuos galite padaryti naudodamiesi rezoliuciniu varikliu, kad galėtumėte demoduliuoti variklį, kad pakeistumėte variklį, ir jūs galite gauti absoliučią padėtį, jei neperžengsite nulinio taško ribų, ir galite nustatyti greitį iš variklio.

Daugiausia mačiau, kaip jie naudojami, yra erdvėlaivių, vairalazdžių, raketų peleko ar fotoaparato valdymo srityse.

Jie paprastai yra šiek tiek brangesni nei puodo ar salės jutiklis, tačiau jie suteikia neįtikėtiną skiriamąją gebą.

2 veiksmas: sąranka

Sąranka
Sąranka
Sąranka
Sąranka
Sąranka
Sąranka
Sąranka
Sąranka

1: Pirmiausia turėsite pastatyti savo arduino nano ant duonos lentos

2: Turite prijungti 5 V kaištį „Arduino“prie +3 V3 kaiščio ir 5 V kaištį „Resolver“modulyje (modulis gali turėti 3,3 V maitinimo šaltinį, tuo pačiu suteikiant 5 V sužadinimą rezoliucijoje)

3: prijunkite „Arduino“RTN prie „Resolver Module“RTN

4: prijunkite „Arduino“D9 prie „Resolver“modulio PWM

5: Prijunkite A0 „Arduino“prie „MCU_COS+“„Resolver“modulyje

6: Prijunkite A1 „Arduino“prie „MCU_SIN+“„Resolver“modulyje

7: Prijunkite „Resolver EX+“laidą prie „Resolver“modulio EX+

8: Prijunkite „Resolver EX“laidą prie „Resolver“modulio EX-

9: Prijunkite „Resolver COS+“laidą prie „Resolver“modulio COS+

10: Prijunkite 2 „Resolver RCOM“laidus prie „Resolver“modulio RCOM

11: Prijunkite „Resolver SIN+“laidą prie „Resolver“modulio SIN+

12: Prijunkite 9 V bateriją prie RTN (-) ir VIN (+)

13: Arba prijunkite „Nscope“+5V – 5V kaištį „Arduino“ir RTN „Nscope“prie RTN „Arduino“

14: Prijunkite apimtį prie USB kompiuterio

15: Prijunkite „Arduino“prie USB prie kompiuterio

3 žingsnis: įkelkite kodą

Įkelkite kodą
Įkelkite kodą
Įkelkite kodą
Įkelkite kodą

Nukopijuokite žemiau esantį „Arduino“kodą į savo eskizą „Arduino IDE“

Šis kodas padarys PWM „Resolver Module“. Šis modulis sužadins rezoliuciją ir sukels kvadratinę bangą ant antrinių rezoliucijos ritinių. Tada signalai, sklindantys iš „Sin+“ir „Cos+“, patenka į OPAMP, kuris sutelks bangą ir sumažins išėjimą, kad ji būtų tarp 0–5 voltų.

Sin+ ir Cos+ yra taip, kaip jie reiškia. Su „Cos“banga „Sin“yra 90 laipsnių nuo fazės.

Kadangi jie yra 90 laipsnių nuo fazės, turime naudoti Atan2 (Cos, Sin) funkciją, kad gautume teisingą sprendėjo padėties koordinatę.

Tada, gavęs 4 mėginius, „Arduino“išspjauna vertę nuo –3,14 iki 3,14, atitinkamai –180 laipsnių ir +180 laipsnių. Štai kodėl, jei norite naudoti rezoliuciją absoliučiai padėčiai, turite naudoti tik nuo -180 iki 180, nesukdami perviršio, kitaip apsiversite ir manysite, kad grįžtate į pavaros pradžią. Tai būtų problema, jei nuspręstumėte naudoti 3D spausdintuvo x arba y ašies sprendimo priemonę ir apsivertę sukeltumėte 3D spausdintuvo sutrikimą.

Aš galėjau padaryti kodą šiek tiek geresnį su pertraukomis, kad būtų daugiau nuolatinio PWMing, bet tai bus pakankamai šiai programai. 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; plūdės išėjimas = 0,00; int sin1 = 0; int cos1 = 0; int pozicijos_stata = 1; int get_position = 0; void setup () {// įdėkite čia savo sąrankos kodą, kad paleistumėte vieną kartą: pinMode (pwm, OUTPUT); Serial.begin (115200); }

void loop () {

jei (gauti_pozicija = 5) {cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); išvestis = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Pozicija:"); Serial.println (išvestis); get_position = 1; }

// Įdėkite savo pagrindinį kodą čia, kad paleistumėte pakartotinai:

}

4 žingsnis: 3 žingsnis: linksminkitės

3 žingsnis: linksminkitės
3 žingsnis: linksminkitės
3 žingsnis: linksminkitės
3 žingsnis: linksminkitės

Mėgaukitės sukdami sprendiklį ir sužinokite, kaip jis veikia ir kokias programas galėtumėte naudoti šiuo sprendimo moduliu.

Rekomenduojamas: