Mündəricat:

Saat işi: 7 addım
Saat işi: 7 addım

Video: Saat işi: 7 addım

Video: Saat işi: 7 addım
Video: Adını Feriha Koydum 7. Bölüm 2024, Noyabr
Anonim
Saat işi
Saat işi

Bu təlimat, Cənubi Florida Universitetindəki Makecourse -in layihə tələbinin yerinə yetirilməsi üçün yaradılmışdır (www.makecourse.com).

Addım 1: Konsepsiya

Bu layihə üçün bir fikir üçün beyin fırtınası aparmağa çalışarkən, istifadə edilə bilən və gündəlik həyatım üçün faydalı bir şey hazırlamağa qərar verdim. Bunun kimi bir çox şeyin iki dərəcə sərbəstlik tələbi ola bilməz, buna görə də tələbi yerinə yetirmək üçün sadə bir saat düzəltmək və saatı göstərmək üçün masamda göstərmək qərarına gəldim. Əvvəlcə fikir qol saatı etmək idi, amma 3D çap hissəsi çox kiçik olardı və saatı idarə edən mühərriklər hələ də qol saatı üçün çox böyük olardı.

Bu layihə nəticəsində mənzilimin ətrafında ehtiyat hissələri tapdım və bu işlə məşğul olmaq qərarına gəldim.

Addım 2: hissələri

- 3D çaplı hissələr

- 2 28BYJ-48 5V DC Stepper Motoru

- 2 ULN2003 Step Motor Sürücü Kartı

- Arduino Uno

- HC-05 Bluetooth Modulu

Saat əqrəbləri istisna olmaqla, bütün bu hissələri mən hazırlayıram. Çox yaradıcı deyiləm. Aşağıda onun yaradıcısının bağlantısı verilmişdir.

www.thingiverse.com/thing:1441809

Addım 3: Parçaların montajı

Parçaların yığılması
Parçaların yığılması

(1)- Gear_1 və 2-ni step motorlarına qoymalısınız. Sıx bir şəkildə oturacaqlar, buna görə yerlərində qalmaları üçün bir az güc lazımdır.

(2)- Base_0 montajın altında qalacaq.

(3)- Base_1 SpurGear_1-in üstünə qoyulacaq, bu dəqiqə əlinin əsas komponentidir. Bu iki komponenti bir -birinə yapışdıra bilərsiniz, əsasın dişli çarxın üstündə olduğundan əmin olun.

(4)- Base_2 SpurGears_2-in üstünə qoyulacaq, bu saat əli üçün əsas komponentdir. Eyni addım (3) olaraq bu hissəyə aiddir

(5)- Saatların əli Base_1 və Base_2-nin üstünə yapışqan ola bilər və ya yerində oturması üçün kiçik bir delik aça bilərsiniz.

(6)- Dəqiqə əli dişlisinin düz dişli ilə uyğun olması üçün, bütün mühərriki step motorlarından biri ilə üst-üstə qoymaq üçün 1 sm-lik bir platforma ehtiyacınız var.

Bunun səbəbi, digər pilləli motorun yüksək sürətə çata bilməyəcəyi üçün əsas bazanın yüksək ola bilməməsidir. Hər halda, step motorlardan biri üçün bir platforma lazımdır.

Addım 4: Arduino IDE üçün kitabxana

Bu layihənin kodu tyhenry tərəfindən CheapStepper.h adlı bir kitabxanaya əsaslanır

github.com/tyhenry/CheapStepper

Arduino üçün bu kitabxananı qurmaq üçün. Klon vurun və ya yuxarıdakı linkdən yükləyin və zip faylı olaraq yükləyin.

Arduino IDE -də. Sketch -> Kitabxanaya daxil et -> ZIP Kitabxanası əlavə et

İşləyən bütün kitabxana içərisində bu, ən yaxşı və istifadəsi çox asan olan step motorundan istifadə edirdi.

Addım 5: Breadboard Quraşdırması

Çörək Paneli Quraşdırması
Çörək Paneli Quraşdırması
Çörək Paneli Quraşdırması
Çörək Paneli Quraşdırması

Arduino UNO ilə getmək üçün bir Arduino qalxanı istifadə etdim. Daha təmiz görünür, ancaq kiçik bir çörək taxtası alıb Arduino UNO -nun üstünə qoya bilərsiniz. Şəbəkədəki rəngi izləyin, çünki bəzi tellər üst -üstə düşür. Sancaqlar 4-7 bir addım üçün, 8-11 pinlər isə ikinci pillə üçündür.

Bluetooth modulu Arduino lövhəsinə RX -> TX və TX -> RX ilə bağlanmalıdır.

Mavi tellər Sürücülərdən Arduino UNO -ya olan əlaqələrdir

Yaşıl tellər RX və TX əlaqələridir

Qara tellər torpaqdır.

Qırmızı tellər 5V -dir.

Addım 6: Kod

Aşağıda bu layihənin kodu verilmişdir.

Kodun izahı burada olacaq.

Ucuz Stepper (8, 9, 10, 11); Ucuz Stepper_2 (4, 5, 6, 7);

boolean moveClockwise = doğru;

//37.5 dəqiqə = 4096;

// 1 dəq = 106.7;

// 5 dəq = 533.3;

// 15 dəq = 1603;

// 30 dəq = 3206;

// 60 dəqiqə = 6412;

int full = 4096;

int yarım = tam/2; // 2048

float full_time = 6412; // 1 saat

float half_time = full_time/2; // 30 dəq 3026

float fif_time = half_time/2; // 15 dəq 1603

float one_time = full_time/60; // 1 dəq 106

float five_time = one_time*5; // 5 dəq 534.3

float one_sec = one_time/60; // 1 saniyə 1.78

// motoru 3206 döndərmək və sıfırlamaqla hər birini 30 dəqiqə edə bilərik

Bu layihə üçün əsas hesablama budur. Stepper tam 360 dərəcə dönmək üçün 4096 addım atacaq, ancaq düz dişlilər pilləyə bağlanmış dişlilərdən daha böyük olduğundan tam fırlanma üçün daha çox addımlar atılmalıdır. Düz dişli əlləri fırladan əsas komponentdir. Dəyərlərin doğru olduğundan əmin olmaq üçün müxtəlif testlər etməliyəm.

full_time, əlin tam fırlanması üçün təyin etdiyim dəyişəndir. Bu olduqca ardıcıldır, lakin xüsusi hərəkət əldə etmək üçün addımlar 2 -yə bölündükcə, üzmə dəyəri kiçilir və bu da sürücünün işini çətinləşdirdi.

MoveClockwise = doğru; step motorunu saat yönünde hərəkət etdirməkdir, ancaq dişli dişlini saat əqrəbinin tersi istiqamətində fırladığından, quruluşda boolean yalançı etməliyik. Başlanğıcda da yalan elan edə bilərsiniz, ancaq bunun necə işlədiyini izah etmək üçün.

void setup () {Serial.begin (9600);

Serial.println ("Hərəkətə başlamağa hazırsınız!");

pos = birdəfəlik; del = 900; nisbət = 60;

moveClockwise = yanlış; }

Burada moveClockwise boolean saxta elan etdiyim yerdir. pos addımların sayı, del gecikmə olacaq və nisbət ya dəqiqə/san = 60 və ya saat/dəq = 12 -dir

Əlləri Bluetooth modulu ilə idarə edirik. Birincisi, Android cihazınızdan bir serial Bluetooth terminalına ehtiyacınız var. 0000 və ya 1234 PIN kodu ilə Hc-05-ə qoşulun. Arduino IDE-dən düzgün işlədiyini görmək üçün bəzi nümunə kodlardan istifadə edə bilərsiniz. Qoşulduqda, bağlı olmadıqda sürətlə yox, çox yavaş yanıb sönməlidir.

void loop () {vəziyyət = 0;

əgər (Serial.available ()> 0) {

vəziyyət = Serial.read (); }

üçün (float s = 0; s <(pos); s ++) {

step.step (MoveClockwise); }

üçün (float s = 0; s <(pos/oran); s ++) {

stepper_2.step (MoveClockwise); }

gecikmə (gecikmə);

Serial.available ()> 0 vacibdir, çünki Bluetooth modulunuz necə işləyəcək. Arduino ilə cihazınız arasında ünsiyyət olduqda bu ifadə düzgün olacaq. Vəziyyət dəyişənləri, setup () üstündə elan etdiyim 3 digər dəyişəni təyin edəcək, eyni zamanda kodun hansı əməliyyatı işlədiyini yazacaq. Döngü üçün ikisi, addım motorunun necə hərəkət edəcəyini idarə edən əsas funksiyadır.

əgər (vəziyyət == '1') {

pos = birdəfəlik; del = 0; nisbət = 12;

Serial.println ("Əməliyyat 1: Gecikmə yoxdur"); }

Bu, sistemin işini dəyişdirmək üçün Bluetooth cihazınızın girişini istifadə etməyin bir nümunəsidir. Əlləri idarə etmək istədiyiniz halda bu dəyişənləri düzəldə bilərsiniz.

Addım 7: Demo və Nəticə

Image
Image
Demo və Nəticə
Demo və Nəticə

Bu necə işlədiyini göstərən sistemin bir demosudur. Qapaq üçün içərisindəki bütün komponentlərə uyğun bir şey istifadə edə bilərsiniz. İlk dəfə 3D çap etdiyim üçün bu layihə sadə və əyləncəli idi. Bluetooth modulu anlamaq və istifadə etmək çox əyləncəli idi. Etdiyim bir neçə səhv var ki, dəyişdirmək üçün çox gec idi, amma son məhsul yaxşıdır.

Tövsiyə: