Mündəricat:

Qayçı Sürücü Servo Şapka: 4 Addım (Şəkillərlə birlikdə)
Qayçı Sürücü Servo Şapka: 4 Addım (Şəkillərlə birlikdə)

Video: Qayçı Sürücü Servo Şapka: 4 Addım (Şəkillərlə birlikdə)

Video: Qayçı Sürücü Servo Şapka: 4 Addım (Şəkillərlə birlikdə)
Video: Праздник. Кинотеатральная версия 2024, Noyabr
Anonim
Image
Image

Bu sadə 3D çap və servo motor layihəsi, beyin şişi çıxarma əməliyyatı keçirmiş zəhmli bir istehsalçı Simone Giertz üçün yaxşı bir hissdir. Qayçı cihazı bir az Arduino kodu ilə işləyən bir mikro servo motor və Trinket mikrokontrolörü ilə idarə olunur və 3xAAA batareya dəsti ilə təchiz edilmişdir. Bu layihə Leslie Birch ilə əməkdaşlıqdır!

3D və Servo Mexanizmi yığın
3D və Servo Mexanizmi yığın

Daxili ümumi elektronika komponentlərindən ibarət bir panelə sahib olan pulsuz və asan bir 3D modelləşdirmə vasitəsi olan Tinkercad-dan istifadə edərək əsas lövhəni və motor montajını modelləşdirdim. Mikro servo çıxarıb sonra bazanı ətrafına uyğunlaşdıra bildim və qayçı mexanizmi ilə harada yerləşəcəyini görə bildim.

Qayçı ilanı Thingiverse -də ricswika tərəfindən hazırlanmışdır və onu Tinkercad -a gətirmək və tutacaq və tutacaq uclarını əsas hissəmizlə uyğunlaşdırmaq üçün dəyişdirmək asan idi.

Bu layihə üçün sizə lazım olacaq:

  • Mikro servo motor
  • Aptal şapka
  • Plastik qolf topu
  • Müvafiq kəsiciləri olan polad tel
  • Dikiş iynəsi və ip
  • Qayçı
  • Biblo 5V mikro nəzarətçi
  • 3xAAA batareya tutacağı
  • İstilik büzücü borular
  • Lehimləmə dəmir və lehim
  • Üçüncü əl alətinə kömək
  • Tel çıxarıcılar
  • Çapraz kəsiciləri yuyun
  • Dişi bağlama telləri və ya bəzi başlıq pinləri (standart servo bağlayıcıya qoşulmaq üçün)
  • İsti yapışqan

İşlədiklərimdən xəbərdar olmaq üçün məni YouTube, Instagram, Twitter, Pinterest -də izləyin və bülletenimə abunə olun. Amazon Associate olaraq, ortaqlıq bağlantılarımdan istifadə edərək etdiyiniz satınalmalardan qazanıram.

Bu dövrəni Tinkercad -da tapın

Diaqram və simulyasiya Trinket -in Attiny85 mikro nəzarətçisini, batareyasını və servosunu göstərir. Kodu işə salmaq və servo fırlanmasını görmək üçün Simulyasiyanı Başla düyməsini basın.

Tinkercad Circuits, sxemləri qurmağa və simulyasiya etməyə imkan verən pulsuz bir brauzer əsaslı bir proqramdır. Öyrənmək, öyrətmək və prototip hazırlamaq üçün idealdır.

Addım 1: Tinkercad Modeli

Əsas qayçı ilan modelini Tinkercad -a yüklədim, sonra yan paneldən bir çuxur şəklini çıxarıb hər bir sapı və ucundakı tutacaqları örtəcək şəkildə düzəldərək modifikasiya etdim, sonra delikləri orijinal formada qruplaşdırdım. Daha sonra baza uclarında yeni qollar və plastik qolf topunu bazaya/servoya bağlamaq üçün deliklər yaratmağa davam etdim.

Əsas parça, Tinkercad-ın quraşdırılmış dövrə komponentlərindən istifadə edərək sıfırdan modelləşdirilmişdir. Elektron komponentlər panelindən bir mikro servo mühərriki çıxarıb mühərriki bağlamaq və qayçı ilanı bağlamaq üçün bir interfeys yaratdım. Şapka üzərində tikmək üçün bazaya bir neçə deşik də qoydum.

Bu Tinkercad dizaynını kopyalaya və hər bir parçanı özünüz çap etmək üçün ixrac edə bilərsiniz. Şaquli qayçı ilan nümayiş məqsədlidir- bu dublikat hissəni çap etməyə çalışmayın. = D

Açıqlama: bu yazı yazılarkən Tinkercad istehsal edən Autodesk işçisiyəm.

Addım 2: 3D və Servo Mexanizmi yığın

3D və Servo Mexanizmi yığın
3D və Servo Mexanizmi yığın

Qayçı ilanın sabit tərəfini bazaya, hərəkətli hissəni servoya bağlamaq üçün sərt polad teldən istifadə etdik. Kiçik bir tel parçasında bir açı bükdükdən sonra, "oxlarımızın" digər uclarını bərkitmək üçün zərgərlik muncuqlarından və bir az isti yapışqan istifadə etdik. Servo motorun özü daha çox eyni tel və bir az isti yapışqan ilə yerində tutulur. Hərəkət aralığının qayçı ilan ilə üst -üstə düşməsini təmin etmək üçün servo buynuzunun mövqeyi ilə bir az təcrübə aparmalı olduq.

Addım 3: Dövrə və Arduino Kodu

Dövrə və Arduino kodu
Dövrə və Arduino kodu
Dövrə və Arduino kodu
Dövrə və Arduino kodu

Dövrə əlaqələri aşağıdakı kimidir:

  • Trinket BAT+ servo motor gücünə malikdir
  • Trinket GND servo motor torpağına
  • Bijon pin #0 servo motor siqnalına
  • 3xAAA batareya paketi gücü (qırmızı tel) Trinket BAT+ (lövhənin alt tərəfində)
  • 3xAAA batareya paketi (qara tel) Trinket GND (lövhənin alt tərəfində)

Bu layihə üçün Arduino kodu, Trinket Servo dərsliyindəki SoftServo nümunəsinə əsaslanır. Kitabxana Menecerində axtarış edərək edə biləcəyiniz SoftServo kitabxanasını qurmalısınız (Sketch -> Kitabxanaları Daxil Et -> Kitabxanaları İdarə Edin …). Arduino'da kod kitabxanalarının quraşdırılması və istifadəsi haqqında daha çox məlumat üçün, pulsuz Instructables Arduino sinifimə baxın, dərs 4.

/*******************************************************************

Adafruit Biblo üçün SoftServo eskizi. (0 = sıfır dərəcə, tam = 180 dərəcə) Lazım olan kitabxana, https://github.com/adafruit/Adafruit_SoftServo ünvanında olan Adafruit_SoftServo kitabxanasıdır Standart Arduino IDE servo kitabxanası Trinket və Gemma kimi 8 bit AVR mikro nəzarətçiləri ilə işləməyəcək. mövcud taymer aparatı və proqramlaşdırma fərqləri. Timer0 millis () sayğacında donuz dəstəyi ilə təzələyirik. Lazımi avadanlıq Adafruit Trinket mikrokontrolörünün bir servo motorunu ehtiva edir. Yazıldığı kimi, bu Gemma və ya digər lövhələr (Arduino Uno və s.) pin eşlemeleri Trinket: BAT+ Gnd Pin #0 Bağlantı: Servo+ - Servo1 ******************************** *******************************/ #include // SoftwareServo (PWM olmayan pinlərdə işləyir) // İki servo nümayiş etdiririk ! #define SERVO1PIN 0 // Trinket Pin #0 -da servo idarəetmə xətti (narıncı) int pos = 40; // servo mövqeyini saxlamaq üçün dəyişən Adafruit_SoftServo myServo1; // servo obyekti qurmaq void setup () {// Servanı bizim üçün avtomatik olaraq yeniləyəcək fasiləni qurun OCR0A = 0xAF; // hər hansı bir nömrə OK TIMSK | = _BV (OCIE0A); // Müqayisə kəsilməsini yandırın (aşağıda!) MyServo1.attach (SERVO1PIN); // Trinket myServo1.write (pos) üzərindəki 0 pininə servo əlavə edin; // Servoya hər bir gecikmə gecəsinə görə mövqeyə getməsini söylə (15); // Servonun mövqeyə çatması üçün 15 ms gözləyin} void loop () {for (pos = 40; pos = 40; pos- = 3) // 180 dərəcədən 0 dərəcəyə doğru gedir {myServo1.write (pos); // servoya dəyişən 'pos' gecikməsindəki mövqeyə getməsini söyləyin (15); // servonun mövqeyə çatmasını 15ms gözləyir}} // Zamanı izləmək üçün milisi () sönən // sayğacından istifadə edəcəyik və servo hər 20 milisaniyədə uçucu uint8_t sayğacını yeniləyirik = 0; SIGNAL (TIMER0_COMPA_vect) {// buna hər 2 milisaniyə sayğacı += 2 deyilir; // hər 20 milisaniyədə servoları yeniləyin! if (counter> = 20) {counter = 0; myServo1.refresh (); }}

Tövsiyə: