Dec 06, 2018 Xabar QOLDIRISH

Robotni boshqarish uchun vosita boshqaruv tizimini loyihalash

2 ta tizim dasturiy ta'minoti

2.1kC / OS-II arxitekturasi

mC / OS-II portativ, joylashtiriladigan ROM, realizatsiyalashtirilgan, operatsion tizimning yuqori samaradorligi, kichik o'lchamli izlari, yaxshi real vaqtda ishlashi va o'lchovliligi bilan ishlaydigan operatsion tizimning yadrosi. Xususiyatlari, eng kichik yadro 2KB uchun tuzilishi mumkin. mC / OS-II C va montaj tilida yozilgan. Kodning aksariyat qismi C kodi bilan yozilgan. Protsessor bilan chambarchas bog'liq bo'lgan bir nechta kod montaj tilida yozilgan. mC / OS-II faqat vazifa rejalashtirish, topshiriqni boshqarish, vaqtni boshqarish, xotira boshqaruvi, vazifalararo muloqot va sinxronlashtirish kabi asosiy vazifalarni o'z ichiga oladi.

2.2kC / OS-II tizimi bo'yicha vazifalarni topshirish

MC / OS-II tizimini muvaffaqiyatli tarzda STM32F107ga o'tkazishdan so'ng, mC / OS-II-ga asoslangan dasturiylash katta dasturni nisbatan mustaqil vazifalarga bo'lish orqali amalga oshiriladi. Har bir topshiriqning ustuvorligi aniqlanadi va mC / OS-II yadrosi ushbu vazifalarni boshqaradi va boshqaradi.

Dasturiy ta'minotni ishlab chiqish g'oyasi robotning haqiqiy ishlashiga qarab, vosita tezligini va Rulda mexanizmini ketma-ket port orqali boshqarishdir. Dvigatelning tezligi incremental enkoderning o'rnatilgan qiymati bilan taqqoslanadi va yopiq pastadir boshqaruvi tezlik PID algoritmi bilan amalga oshiriladi. Rulda tirgovichlarining joylashuvi asosan mutlaq qiymatni kodlovchi oqim holatini qaytarib beradi va Rulda tirajining tezligi ish vaqti talabiga muvofiq o'rnatiladi. Ushbu robotning vosita boshqaruv tizimi tomonidan amalga oshiriladigan funktsiyalar quyidagicha:

◆ Yuqori mashina vosita tezlikni, rouming burchagi va harakat vaqtini beradi;

◆ vosita tezligi va yaxshi statik va dinamik ishlashning uzluksiz sozlanishini talab qiladi. Tezlik PI algoritmida hisoblanmaydi.

◆ Rulda mexanizmini belgilangan burchakka tezda etkazib berishni talab qiladi va manzilni qayta ishlatish Rulda tirgovichining berilgan tezligini sozlash sifatida ishlatiladi;

◆ Muayyan xatolarga qarshi himoya funktsiyasi mavjud. Dvigatel bloklanganida, oqim juda katta va rotor tsilindrni chegara tugmachasiga tegadi, drayv modulini to'xtatish kerak.

Yuqoridagi funktsiyalarni bajarish uchun dasturni ishlab chiqish quyidagi vazifalarga bo'linishi mumkin:

1 Vazifani boshlang. Tizimni ishga tushiring, dastlabki vosita holatini yarating, keyin uni o'chiring va vazifani uxlashni boshlang.

2 dvigatel va rotorli vites himoyasi vazifalari. Haddan tashqari oqim yoki chegara kaliti faollashtirilganida tashqi uzilishga javob berish uchun ishlatiladi. Chiqish holati kiritilganda, vazifa semafori yuboriladi. Vazifa dasturi semaforning haqiqiyligini aniqlaydi va vazifaga javob beradi va chiqishni to'xtatadi. Vazifaning ustuvorligi 0 darajasiga o'rnatiladi.

3 ta asosiy kompyuter vazifalari. Yuqori mashina vosita va Rulda mexanizmini boshqarish uchun ishlatiladi va vazifa ustuvorligi 1-darajaga o'rnatiladi. Asosiy kompyuter ma'lumotlarini kiritish registri yaratilganda, chiqib ketish hosil bo'ladi, bu qabul qilingan baytni bufer kompyuterda berilgan topshiriqning semaforini chiqarish va chiqarish; semafor aniqlanganda, vazifa ishga tushiriladi va mos keladigan bayt bajariladi. Ma'lumot tegishli o'zgaruvchan qiymatlarni belgilash uchun mos keladigan vosita tezligi va Rulda redüktör holati ma'lumotlariga ajraladi.

4 dvigatel tezlikni nazorat qilish vazifasi. Dvigatelning yopiq-pastadir tezligini tartibga solish uchun vazifa ustuvorligi 2 darajaga o'rnatiladi.

5 Rulda boshqaruvi vazifalari. Rulda tishli qutini belgilangan vaqt ichida belgilangan manzilga yetkazish uchun ishlatiladi va vazifa ustuvorligi 3 darajaga o'rnatiladi.

2.3 vazifani boshlang

Asosiy dasturda, mC / OS-II ning boshqa vazifalarini chaqirishdan oldin, avval mc / OS-II ning barcha o'zgaruvchilar va ma'lumotlar tuzilmalarini ishga tushirish uchun sistemani ishga tushirish funksiyasini OSInit () deb chaqiring; Shu bilan birga, OS_TaskIdle () funktsiyasini o'rnatish, bu vazifa har doim tayyor holatda; boshlash vazifasini o'rnatish uchun OSTaskCreate () funktsiyasini chaqiring; OSStart () ni chaqirish, mC / OS-II yadrosiga klubi boshqaruvini boshqarish, ko'p vazifani ishga tushirishni boshlash.

Boshlash vazifasi asosiy dasturda uch funktsiyaga ega:

1 tizimni ishga tushirish uchun (PWM chiqish moduli, ketma-ket port, ADC moduli, kirish darajasining kesilishi funktsiyasi, taymer).

2 Tizim tomonidan ishlatiladigan signal miqdorini belgilang.

3 tizimning boshqa vazifalarini belgilaydi.

Nihoyat, OSTaskDel (OS_PRIO_SELF) ni chaqirib, uni o'chirib, vazifani uxlashni boshlang. Asosiy dastur vazifa oqimi shakl 4da ko'rsatilgan.

2.4 Motor tezligini boshqarish vazifasi

Har bir qo'shimcha kodlovchi tashqi chiqib ketish hosil bo'lganda, vazifa semafori chiqib ketish holatida beriladi. Vazifalar dasturi semafor haqiqiyligini aniqlaydi va vazifaga javob beradi. Vazifa joriy tezlik tezligini va berilgan tezlikni taqqoslashni o'lchash yo'li bilan yopiq-davriy boshqaruvni amalga oshiradi. Dvigatel tezlikni nazorat qilish vazifa oqimi shakl 5da ko'rsatilgan.

2.5 dvigatelni boshqarish vazifasi

Servo nazorati taymer tomonidan mos yozuvlar vaqtini ishlab chiqaradi, semaforni har doim belgilangan vaqtga yuboradi va vazifa bir marta bajariladi. Servo nazorati vazifasi mutloq enkoder tomonidan belgilangan manzil bilan o'lchanadigan o'rnini taqqoslaydi va qolgan vaqtga qarab servo tezligini sozlaydi. Servo nazorati vazifa oqimi shakl 6da ko'rsatilgan.

3 ta tizim elektromexanik interfeysi

Robotning g'ildiraklari DC motoriga ulangan 30: 1 redüktörden iborat. Mutlaq pozitsiya kodlagichi Rulda mexanizmiga ulanadi va Rulda mexanizmining burchak signalini haydovchi boshqaruv paneliga yuboradi. Robotning oldingi g'ildiragining ikkita shaftasi transmisyon paneli orqali ulanadi. Millerdan biri shamol tejamkorligi bilan uzatuvchi kamarga ulanadi, shunda g'ildirak tirgovichi qaytib kelganida, oldingi g'ildiraklarning bir-biriga mos kelishiga ishonch hosil qilish uchun uzatish kamarini uzatish chizig'ini harakatga keltiradi. Orqa g'ildirak motori to'g'ridan-to'g'ri incremental enkoderga ulangan bir shahar mexanizmi. Redüktör darajasi 25: 1 redüktör tomonidan kamaytirildikten so'ng, orqa g'ildirak mexanik diferansiyel tomonidan boshqariladi. Qo'shimcha elementlardan kelgan signallar haydovchi boshqaruv kengashiga yuboriladi. Elektromexanik tizimning strukturasi 7-rasmda keltirilgan.

Xulosa

Ushbu maqolada, ishlov berish robotunun vosita va servo qo'mondon apparati dizayni amalga oshirildi. MC / OS-II real-time operatsion tizimi STM32F107da muvaffaqiyatli joylashtirilgan va mexanik va Rulda uzatish tezligi yopiq-pastadir tajribasi yakunlandi. Cortex-M3 yadro tekshirgichi va mC / OS-II tizimining ko'p vazifali real vaqt rejimida ishlash xususiyatlaridan foydalangan holda, keyinchalik robotning tasvirni ta'qib qilish va navigatsiyani kuzatish uchun dasturiy va apparatiy asos yaratadi. Mavjud PI algoritmi takomillashtirilsa va vosita tezligi va hozirgi ikki tomonlama yopiq döngülü boshqaruvi amalga oshirilsa, robot mexanizmi xususiyatlari yaxshi bo'ladi va ishlov berish robotining foydalanish istiqbollari keng bo'ladi.



So'rov yuborish

whatsapp

teams

Elektron pochta

So'rov