Mundarija:

Arduino Resolver moduli: 4 qadam
Arduino Resolver moduli: 4 qadam

Video: Arduino Resolver moduli: 4 qadam

Video: Arduino Resolver moduli: 4 qadam
Video: Управление DC DC преобразователями с помощью микроконтроллера 2024, Iyul
Anonim
Arduino hal qilish moduli
Arduino hal qilish moduli

Tinee9 yangi modul bilan qaytdi. Bu modul Resolver moduli deb ataladi.

Dvigatelni boshqarish dunyosida pozitsiyani aniqlashning har xil turlari yoki usullari mavjud. Bu usulga datchiklar, XY sensorlar, rezolyutor, RVDT, LVDT, dala direktorlari, potansiyometr va boshqalar kiradi. Bu sensorlar qanday o'rnatilganiga qarab, siz hatto oxirgi pozitsiyani xotirada saqlashga to'g'ri kelmasdan turib, o'zingizning mutlaq pozitsiyangizni aniqlashingiz mumkin..

Men foydalanadigan modul RVDT, LVDT va Rezolverni demodulyatsiya qilish uchun ishlatilishi mumkin, lekin bugungi maqsadda rezolverni demodulyatsiyasi bo'ladi.

Texnik tushuncha: mutaxassislar darajasi

O'rnatish va ishga tushirish: O'rta darajali

Ta'minotlar

1: Arduino Nano

2: hal qilish moduli

3: Non paneli

4: 9,0 voltli batareya yoki NScope

5: hal qiluvchi

6: 10x non paneli Jumper Wires

1 -qadam: Resolver moduli

Resolver moduli
Resolver moduli

Dvigatelni almashtirish uchun motorni demodulyatsiya qilish mumkin bo'lgan rezolyutor yordamida siz bir nechta narsalarni qilishingiz mumkin, agar siz nol nuqtadan o'tib ketmasangiz, siz mutlaq pozitsiyani olishingiz mumkin va siz motordan tezlikni olishingiz mumkin.

Men ularni eng ko'p ishlatilgan joylarni aerokosmik dasturlarda, rulda, raketa qanotlarida yoki kamera boshqaruvida ishlatganman.

Ular qozon yoki zal sensoridan biroz qimmatroq, lekin ular sizga ajoyib piksellar sonini beradi.

2 -qadam: sozlash

Sozlash
Sozlash
Sozlash
Sozlash
Sozlash
Sozlash
Sozlash
Sozlash

1: Avval siz arduino nanosini non taxtasiga joylashtirishingiz kerak bo'ladi

2: Arduino -dagi 5V -pinni +3V3 -pinli va Resolver modulidagi 5V -pinli ulashingiz kerak (modulda 5V -ni qo'zg'altirganda 3.3V bo'lishi mumkin).

3: Arduino -dagi RTN -ni Resolver modulidagi RTN -ga ulang

4: Arduino -dagi D9 -ni Resolver modulidagi PWM -ga ulang

5: Arduino -dagi A0 ni Resolver modulidagi MCU_COS+ ga ulang

6: Arduino -dagi A1 -ni Resolver modulidagi MCU_SIN+ ga ulang

7: Resolver EX+ simini Resolver modulidagi EX+ ga ulang

8: Resolver EX simini Resolver modulidagi EX-ga ulang

9: Resolver COS+ simini Resolver modulidagi COS+ ga ulang

10: 2 ta Resolver RCOM simini Resolver modulidagi RCOMga ulang

11: Resolver SIN+ simini Resolver modulidagi SIN+ ga ulang

12: 9V batareyani RTN (-) va VIN (+) ga ulang.

13: Yoki Arduino -da Nscope +5V -dan 5V -ga, Nscope -da RTN -ni Arduino -dagi RTN -ga ulang.

14: Kompyuterni USB -ga ulang

15: Arduino -ni kompyuterga ulang

3 -qadam: Kodni yuklang

Kodni yuklang
Kodni yuklang
Kodni yuklang
Kodni yuklang

Arduino kodini nusxasini Arduino IDE -dagi eskizga joylashtiring

Ushbu kod nima qilmoqchi bo'lsa, PWM Resolver Module -ga o'tadi. Bu modul rezolyutorni hayajonlantiradi va rezolyutorning ikkilamchi bobinlarida to'lqin hosil qiladi. Sin+ va Cos+ dan chiqadigan signallar OPAMPga yuboriladi, u to'lqinni markazlashtiradi va chiqishni 0-5 voltgacha kamaytiradi.

Sin+ va Cos+ ular aytganidek. Gunoh Cos to'lqini bilan 90 daraja fazadan tashqarida.

Ular 90 daraja fazadan tashqarida bo'lgani uchun biz aniqlovchi pozitsiyasining to'g'ri koordinatasini olish uchun Atan2 (Cos, Sin) funktsiyasidan foydalanishimiz kerak.

Keyin Arduino 4 ta namuna olgandan keyin tupuradi, bu qiymat -3.14 va 3.14 oralig'ida mos ravishda -180 daraja va +180 darajani tashkil qiladi. Shuning uchun, agar siz rezolyutsiyani mutlaq pozitsiya uchun ishlatmoqchi bo'lsangiz, aylantirishsiz faqat 180 dan 180 gacha ishlatishingiz kerak, aks holda siz ag'darilib, aktuator zarbasining boshida yoki oxirida turibsiz deb o'ylaysiz. Agar siz 3D -printerning x yoki y o'qi uchun hal qiluvchidan foydalanishga qaror qilsangiz va 3D -printerni chalkashtirib yuborsangiz, bu muammo bo'ladi.

Men uzluksiz PWMingga ega bo'lish uchun uzilishlar bilan kodni biroz yaxshilagan bo'lardim, lekin bu dastur uchun etarli bo'ladi.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 chiqishi = 0,00; int sin1 = 0; int cos1 = 0; int position_state = 1; int get_position = 0; void setup () {// bir marta ishga tushirish uchun sozlash kodini bu erga qo'ying: pinMode (pwm, OUTPUT); Serial.begin (115200); }

void loop () {

agar (get_position = 5) {cos1 = (c1+c2)-(c3+c4); sin1 = (s1+s2)-(s3+s4); chiqish = atan2 (cos1, sin1); c1 = 0; c2 = 0; c3 = 0; c4 = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; Serial.print ("Lavozim:"); Serial.println (chiqish); get_position = 1; }

// qayta ishga tushirish uchun asosiy kodingizni bu erga qo'ying:

}

4 -qadam: 3 -qadam: Xursand bo'ling

3 -qadam: Xursand bo'ling
3 -qadam: Xursand bo'ling
3 -qadam: Xursand bo'ling
3 -qadam: Xursand bo'ling

Rezolyutorni aylantirishdan va rezolyutor qanday ishlashini va bu ilovadan qaysi ilovalarni ishlatishingiz mumkinligini bilib oling.

Tavsiya: