Servo motor boshqaruvchisi nima?
Servo motor boshqaruvchisi haqida ta'rif
Servo motor boshqaruvchisi (yoki servo motor haydovchisi) servo motorning pozitsiyasini boshqarish uchun ishlatiladigan shema hisoblanadi.
Servo motor haydovchisi shemasining tuzilishi
Servo motor haydovchisi shemasiga mikrokontroller, elektr ta'minot, potentsiometr va ulashlar kiradi, bu to'g'ri motor boshqaruvini ta'minlaydi.
Mikrokontrollerning roli
Mikrokontroller aniq davrlarda PWM signal yaratadi, shunda servo motorning pozitsiyasi to'g'ri boshqariladi.
Elektr ta'minoti
Servo motor boshqaruvchisi uchun elektr ta'minot tizimi ulangan motorning soniga qarab belgilanadi. Servo motorlar tipik ravishda 4.8V dan 6V gacha bo'lgan ta'minotdan foydalansa, 5V standart hisoblanadi. Ta'minot voltajini oshirish motorni buzishi mumkin. Oqim sarflanishi torqqa bog'liq bo'lib, odatda xolatda kam, ish rejimida ko'proq. Maksimal oqim sarflanishi, ya'ni to'xtatish oqimi, ba'zi motorlarda 1A gacha yetishi mumkin.
Bitta motor uchun LM317 kabi oqim regulyatoridan foydalaning, unga issiq olish radioraqtorgich qo'shilishi kerak. Bir nechta motorlar uchun yuqori oqim reytinqi bo'lgan sifatli elektr ta'minot talab etiladi. SMPS (Switched Mode Power Supply) juda yaxshi tanlovdir.
Quyidagi blok-diagramma servo motor haydovchisidagi bog'liqlarni ko'rsatadi

Servo motorni boshqarish
Servo motor uchta terminalga ega.
Pozitsiya signali (PWM signal)
Vcc (elektr ta'minotidan)
Zemlya

Servo motorning burchakli pozitsiyasi aniq enlikdagi PWM signal orqali boshqariladi. Signal muddati 0 daraja aylanish uchun 0.5ms dan 180 daraja aylanish uchun 2.2ms gacha bo'lgan oraliqdagi qiymatlarni oladi. Signallar 50Hz dan 60Hz gacha bo'lgan chastotalarda berilishi kerak.
Quyidagi diagrammadagidek PWM (Pulse Width Modulation) formasini yaratish uchun mikrokontrollerning ichki PWM modulidan foydalanish yoki timerlardan foydalanish mumkin. PWM blokni ishlatish ko'proq moslashuvchan, chunki eng ko'plab mikrokontroller ailelari uchun bu blok servo motor kabi tashkil etilgan. Farkli enlikdagi PWM signal uchun miqdorini moslangan holda ichki registrlarni dasturlash kerak.
Endi biz mikrokontrollerga qancha aylanishi kerakligini aytishimiz kerak. Bu maqsadga oddiy potentsiometrdan foydalanib ADC orqali aylanish burchakini olish yoki murakkabroq ilovalar uchun giroskopdan foydalanish mumkin.

Dastur algoritmi
Bir dona servo motor boshqarish uchun dasturni tuzamiz va pozitsiya kiritish uchun kontroller piniga ulangan potentsiometr orqali amalga oshiramiz.
Kirish/chiqish uchun port pinlarini sozlash.
ADC orqali istalgan servo pozitsiyasini o'qish.
Istalgan qiymat uchun PWM registrlarini dasturlash.
Siz PWM modulini yoqganimizda tanlangan PWM kanal pinining logika 1 (yuqori) holatga o'tishi kerak, va talab etilgan enlikka erishganda yana logika 0 (past) holatga o'tishi kerak. Shunday qilib, PWM ni yoqganingizdan keyin 19 ms gacha bo'lgan muddatga timerni ishga tushiring va timer to'ldirilguncha kutib turing2-qadamga o'ting
Mikrokontroller turiga qarab foydalanish mumkin bo'lgan bir qator PWM rejimlari mavjud. Servo motor boshqarish uchun kodda ba'zi optimallashtirishlar amalga oshirilishi kerak.
Agar bir nechta servoni ishlatmoqchi bo'lsangiz, shuncha PWM kanallari kerak bo'ladi. Har bir servoga PWM signal ketma-ket berilishi mumkin. Ammo har bir servoda pulssarning takrorlanish tezligi saqlanishi kerak. Aks holda, servolar sinxronlashtirilmay qoladi.