Dec 06, 2018 Tinggalkan pesanan

Reka bentuk sistem kawalan motor untuk mengendalikan robot

2 reka bentuk perisian sistem

Seni bina 2.1μC / OS-II

μC / OS-II adalah ROM mudah alih, implantable, croppable, preemptive kernel sistem operasi multitasking masa nyata dengan kecekapan pelaksanaan yang tinggi, jejak kecil, prestasi masa nyata yang baik dan skalabiliti. Ciri-ciri, kernel terkecil boleh dikumpulkan kepada 2KB. μC / OS-II ditulis dalam bahasa C dan assembly. Kebanyakan kod itu ditulis dalam C. Hanya beberapa kod yang berkait rapat dengan pemproses yang ditulis dalam bahasa perhimpunan. μC / OS-II hanya merangkumi fungsi asas seperti penjadualan tugas, pengurusan tugas, pengurusan masa, pengurusan memori, komunikasi antara tugas, dan penyegerakan.

Penyerahan tugas di bawah sistem 2.2μC / OS-II

Selepas berjaya memindahkan sistem μC / OS-II ke STM32F107, pengaturcaraan berasaskan μC / OS-II dilakukan dengan membahagikan aplikasi yang besar ke tugas yang agak bebas. Keutamaan setiap tugas ditakrifkan dan jadual kernel μC / OS-II dan menguruskan tugas-tugas ini.

Idea reka bentuk perisian adalah untuk memberikan kelajuan motor dan posisi stereng gear stereng melalui port bersiri mengikut operasi sebenar robot. Kelajuan motor dibandingkan dengan nilai set pengekod tambahan dan kawalan gelung tertutup dilaksanakan oleh algoritma PID laju. Kedudukan gear stereng adalah terutamanya bahawa pengekod nilai mutlak memberi makan kedudukan semasa, dan kelajuan gear stereng disesuaikan mengikut keperluan waktu tindakan. Fungsi-fungsi yang akan direalisasikan oleh perisian kawalan motor pengendalian robot ini adalah seperti berikut:

◆ Mesin atas memberikan kelajuan motor, sudut stereng dan masa tindakan;

◆ Memerlukan pelarasan berterusan kelajuan motor dan prestasi statik dan dinamik yang baik. Kelajuan tidak dikira dengan algoritma PI.

◆ Memerlukan gear stereng untuk mencapai sudut yang ditetapkan dengan cepat, dan maklum balas kedudukan digunakan sebagai pelarasan kelajuan yang diberikan gear stereng;

◆ Mempunyai fungsi perlindungan kesalahan tertentu. Apabila motor disekat, arusnya terlalu besar, dan gear stereng menyentuh suis had, ia dikehendaki untuk menghentikan modul pemacu.

Untuk fungsi di atas yang akan dilaksanakan, reka bentuk aplikasi boleh dibahagikan kepada tugas-tugas berikut:

1 Mula tugas. Mulakan sistem, buat keadaan motor permulaan, kemudian padamkan sendiri dan mulakan tugas untuk tidur.

2 tugas perlindungan gear motor dan stereng. Ia digunakan untuk bertindak balas terhadap gangguan luaran apabila suis overcurrent atau limit diaktifkan. Apabila status interrupt dimasukkan, tugas semaphore dihantar. Program tugas mengesan bahawa semaphore adalah sah dan bertindak balas kepada tugas dan menghentikan pengeluaran. Keutamaan tugas ditetapkan ke tahap 0.

3 hos komputer yang diberikan tugas. Ia digunakan untuk mesin atas untuk mengawal motor dan gear stereng, dan keutamaan tugas ditetapkan ke tahap 1. Apabila daftar input data komputer tuan rumah dihasilkan, interupsi akan dijana, yang akan menghantar bait yang diterima ke dalam penampan dan melepaskan semaphore tugas yang diberikan komputer hos; apabila semaphore dikesan, tugas akan mula dilaksanakan dan bait sepadan akan dilaksanakan. Maklumat ini dihubungkaitkan dengan kelajuan motor yang sepadan dan maklumat kedudukan roda stereng untuk menetapkan nilai kepada pembolehubah yang sepadan.

4 tugas kawalan kelajuan motor. Untuk peraturan kelajuan gelung tertutup motor, keutamaan tugas ditetapkan pada tahap 2.

5 kawalan kawalan gear stereng. Ia digunakan untuk mengawal gear stereng untuk mencapai kedudukan yang ditentukan dalam masa yang ditetapkan, dan keutamaan tugas ditetapkan ke tahap 3.

2.3 Mulakan tugas

Dalam program utama, sebelum memanggil tugas lain dari μC / OS-II, panggil fungsi inisialisasi sistem OSInit () untuk memulakan semua pembolehubah dan struktur data μC / OS-II; pada masa yang sama, menubuhkan tugas idam OS_TaskIdle (), tugas ini sentiasa berada dalam keadaan siap; panggil fungsi OSTaskCreate () untuk menubuhkan tugas permulaan; panggil OSStart (), alihkan kawalan ke kernel μC / OS-II, mula menjalankan multitasking.

Tugas permulaan diwujudkan dalam program utama, yang mempunyai tiga fungsi utama:

1 untuk inisialisasi sistem (modul output PWM, port siri, modul ADC, fungsi interupsi tahap input, pemasa).

2 Menetapkan jumlah isyarat yang digunakan oleh sistem.

3 menubuhkan tugas lain sistem.

Akhirnya, hubungi OSTaskDel (OS_PRIO_SELF) untuk memadam sendiri dan mulakan tugas untuk tidur. Aliran tugas program utama ditunjukkan dalam Rajah 4.

2.4 tugas kawalan kelajuan motor

Setiap kali encoder tambahan menghasilkan gangguan luaran, tugas semaphore dikeluarkan dalam keadaan gangguan. Program tugas mengesan bahawa semaphore adalah sah dan bertindak balas terhadap tugas tersebut. Tugas itu menyedari kawalan gelung tertutup dengan mengukur kelajuan motor semasa dan perbandingan kelajuan yang diberikan. Aliran tugas kawalan kelajuan motor ditunjukkan dalam Rajah 5.

2.5 kawalan kawalan gear pemandu

Kawalan servo menjana masa rujukan oleh pemasa, menghantar semaphore setiap masa tetap, dan tugas akan dilaksanakan sekali. Tugas kawalan servo membandingkan posisi yang diukur oleh pengekod mutlak dengan kedudukan yang diberikan dan menyesuaikan kelajuan servo mengikut masa yang tinggal. Aliran tugas kawalan servo ditunjukkan dalam Rajah 6.

3 sistem antara muka elektromekanik

Alat stereng robot terdiri daripada pengurang 30: 1 yang disambungkan ke motor DC. Pengekod kedudukan mutlak disambungkan ke gear stereng dan menghantar isyarat sudut gear stereng ke papan kawalan pemacu. Dua batang roda depan robot disambungkan dengan rod penghantaran. Salah satu tiang dihubungkan dengan gear stereng oleh tali pinggang penghantaran, supaya apabila gear stereng berputar, tali pinggang penghantaran memacu rod penghantaran untuk memastikan bahawa kedua-dua roda hadapan boleh berputar serentak. Motor pemacu roda belakang adalah motor DC, yang bersambung terus kepada pengekod tambahan. Selepas nisbah pengurangan dikurangkan dengan pengurang 25: 1, roda belakang didorong oleh perbezaan mekanikal. Isyarat dari encoder incremental juga dihantar ke papan kawalan pemacu. Struktur sistem elektromekanik ditunjukkan dalam Rajah 7.

Kesimpulannya

Dalam makalah ini, reka bentuk perkakasan pengendali motor dan servo pengendalian robot direalisasikan. Sistem operasi masa nyata μC / OS-II berjaya disematkan pada STM32F107, dan eksperimen gelung tertutup laju motor dan gear stereng selesai. Menggunakan ciri-ciri prestasi masa nyata multi-tugas pengawal teras Cortex-M3 dan sistem μC / OS-II, ia menyediakan asas perisian dan perkakasan untuk menangkap imej imej robot seterusnya dan pengesanan navigasi. Sekiranya algoritma PI sedia ada diperbaiki dan kelajuan motor dan kawalan gelung tertutup berganda semasa dapat direalisasikan, ciri-ciri motor robot akan menjadi lebih baik, dan prospek aplikasi pengendalian robot akan lebih luas.



Hantar pertanyaan

whatsapp

teams

E-mel

Siasatan