Arduino layihələriEmbeded sistemlərKoteqoriyasız

PID Top Balanslaşdırma Sistemi

Bu sistem bir topu lövhə üzərində balansda saxlayır. Bir vebkamera sistemi çəkir və bir payton proqramı topun yerini tapmaq üçün şəkilləri analiz edir. Python proqramı, topun düşməməsi üçün qabın əyilməsini hesablayır.

Topun hərəkətlərini kompensasiya etmək üçün nisbi-inteqral-törəmə ( proportional-integral-derivative – PID) tənzimləyicidən istifadə olunur. Topun mövqeyi və sürəti kamera tərəfindən ölçülür və bu ölçülər payton proqramında PID tənzimləyicisi tərəfindən istifadə olunur.

Tərcümə səhvləri üçün üzr istəyirəm, kiçik qrammatik səhvlər ola bilər.

Addım 1: PCB

Təsvir:

PCB istehsalı

PCB-ni eagle-da çəkdim, sonra PCBWay.com onu istehsal etdi.

2 qat PCB 33 x 48.3 mm FR-4, 1.6 mm, 1, HASL lead

https://www.pcbway.com/project/shareproject/Ball_Balancing_PID_System.html

PCB montajı:

Bütün smd komponentlərini pasta fluxu olmadan lehimlədim. Məni kimi lehimləməyi məsləhət görmürəm. Bunun əvəzinə smd komponentlərini lehimləmək üçün bu təlimatı izləyin: https://www.instructables.com/id/SMD-Hand-Soldering/

PCB 5-6v 2A enerji təchizatı ilə qidalanır.
PCB komponentləri:

PCB-nin rolu

PCB kompüterlə davamlı əlaqə qurur. Bu PCB yalnız servo mühərrikləri idarə etməyə xidmət edir.

Əlavələr

https://github.com/ElectronXLab/Ball-Balancing-PID-System/blob/main/EagleFiles.zip

Addım 2: 3D Print

Təsvir:

Ball Balancing PID System | Trybotics

Xəbərdarlıq: inferieur.stl, superieur.stl və plateau.stl faylları 3D yazdırıla bilməz. inferieur.stl və superieur.stl akrildən hazırlanır. Bu hissələri hazırlamaq üçün bir CNC istifadə edə bilərsiniz, həm də özünüz akril təbəqədə kəsdirə bilərsiniz, çünki bu hissələrin çox mürəkkəb bir dizaynı yoxdur. plateau.stl kartonda kəsilə bilər.

https://github.com/ElectronXLab/Ball-Balancing-PID-System/blob/main/Ball%2BBalancing%2BPID%2BSystem.zip

https://www.thingiverse.com/thing:3310602

Addım 3: Hissələr Yığılması

Təsvir:

3D Printed Ball Balancing PID System by JOHLINK | Pinshape
Ball Balancing PID System | Trybotics

Mexaniki hissələr:

Əlavələr: 3D şəklində baxın

base v314.step və ya aşağıdakı keçiddən istifadə edərək yükləyə blərsiniz
https://github.com/ElectronXLab/Ball-Balancing-PID-System/blob/main/Ball%2BBalancing%2BPID%2BSystem%20(elaveler).zip

Addım 4: PCB Proqramlaşdırma

Təsvir:

Ball Balancing PID System | Trybotics

PCB, arduino leonardo ilə eyni mikro kontrolleri ehtiva edir. Bu səbəbdən Arduino proqramı ilə proqramlaşdırıla bilər. Kodu buradan yükləyə bilərsiniz.

PCB-ni proqramlaşdırmadan əvvəl önyükləyicini(bootloader) yazmalısınız: Arduino ISP və Arduino Bootloader olaraq.

Bootloader-i yazmaq

1.Arduinoya ehtiyacınız var.
2.ArduinoISP eskizini (arduino software / Examples / ArduinoISP) Arduino lövhənizə yükləyin.
3.Bağlantıları şəkildə olduğu kimi edin.
4.Tools> Board menyusundan “Arduino Leonardo” seçin.
5.Tools> Programmer-dən “ISP olaraq Arduino” seçin.
6.Tools> Burn Bootloader-ı işə salın.
7.Proses bir neçə saniyə/dəqiqə çəkə bilər.
8.Bütün kabelləri ayırın.

Bu addımdan sonra pcb-ni USB kabeli ilə kompüterə bağlamalı və bu kodu yükləməlisiniz.

Adım 5: Payton Proqramı

Təsvir:

Ən vacib kod sistemi idarə edən kompüterdədir. Kodu burada tapa bilərsiniz.

Bu necə işləyir. İlk addım topun yerini tapmaqdır. Kamera kompüterə canlı video göndərir. Python proqramı videonu alır və onu emal etməlidir. Təsvir emalı üçün OpenCV kitabxanasından istifadə edirəm. Proqram topu rəngi sayəsində algılar. Burada top narıncı rəngdədir, daha sonra proqram topun yerini tapmaq üçün görüntünün bütün narıncı piksellərinin orta mövqeyini hesablayacaq. OpenCV ilə bütün bunlar olduqca sadədir. OpenCV ilə rəng tanınması üçün bu təlimatı tövsiyə edirəm: https://www.pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/

Artıq top mövqeyinə sahib olduğumuzdan, lövhənin PID (proportional, integral, and derivative) nəzarət ilə meylini hesablaya bilərik. Tənzimləmə üç mərhələdə həyata keçirilir. İlk addım ən sadədir. Topu lövhənin mərkəzində sabitləşdirmək istədiyimizi düşünün. Top mərkəzdən nə qədər uzaqlaşsa, lövhəni o qədər əymək lazım olacaq. Sonra topun sürətini ölçməlisiniz: top mərkəzdən nə qədər sürətlə uzaqlaşsa, lövhəni o qədər əyməli olursunuz.

Addım 6: Nəticə

Oxuduğunuz üçün təşəkkür edirik! Hər hansı bir sualınız varsa, şərh yazmaqdan çəkinməyin.

Müəllif : Johan Link

Əlaqəli Məqalələr

0 0 səslər
Article Rating
Abunə ol
Xəbər ver
guest

0 Comments
Ən köhnə
Ən yeni Ən çox səs alanlar
Sətir içi geri bildirimlər
Bütün şərhlərə baxın
Back to top button
0
Fikirlərinizi bilmək istərdik,lütfən şərh yazın.x