İçindekiler:

Makaslı Servo Şapka: 4 Adım (Resimli)
Makaslı Servo Şapka: 4 Adım (Resimli)

Video: Makaslı Servo Şapka: 4 Adım (Resimli)

Video: Makaslı Servo Şapka: 4 Adım (Resimli)
Video: Cinsel İlişki Sırasında 4 Önemli Tavsiye 2024, Kasım
Anonim
Image
Image

Bu basit 3D baskı ve servo motor projesi, beyin tümörü çıkarma ameliyatı geçirmiş harika bir yapımcı olan Simone Giertz için bir geçmiş olsun duygusudur. Makas cihazı, bir mikro servo motor ve küçük bir Arduino kodu çalıştıran Trinket mikro denetleyici tarafından çalıştırılır ve 3xAAA pil paketi ile çalışır. Bu proje Leslie Birch ile bir işbirliğidir!

3D ve Servo Mekanizmasını Birleştirin
3D ve Servo Mekanizmasını Birleştirin

Taban plakasını ve motor montajını, yerleşik bir ortak elektronik bileşenler paneli bulunan ücretsiz ve kolay bir 3D modelleme aracı olan Tinkercad kullanarak modelledim. Bir mikro servoyu dışarı çekebildim ve ardından tabanı etrafına sığacak şekilde modelleyebildim ve makas mekanizmasıyla nerede hizalanacağını görebildim.

Makas yılanı ricswika tarafından Thingiverse'de tasarlandı ve onu Tinkercad'e getirmek ve sap ve tutucu uçlarını taban parçamıza uyacak şekilde değiştirmek kolaydı.

Bu proje için ihtiyacınız olacak:

  • Mikro servo motor
  • aptal şapka
  • Plastik golf topu
  • Uygun kesiciler ile çelik tel
  • Dikiş iğnesi ve ipliği
  • Makas
  • Biblo 5V mikrodenetleyici
  • 3xAAA pil tutucu
  • Isıyla daralan makaron
  • Havya ve lehim
  • Üçüncü el aletine yardım etmek
  • Tel striptizci
  • Düz çapraz kesiciler
  • Dişi bağlantı kabloları veya bazı başlık pimleri (standart servo konektöre bağlamak için)
  • Sıcak tutkal

Ne üzerinde çalıştığımı takip etmek için beni YouTube, Instagram, Twitter, Pinterest'te takip edin ve bültenime abone olun. Bir Amazon İş Ortağı olarak, bağlı kuruluş bağlantılarımı kullanarak yaptığınız nitelikli satın alımlardan kazanıyorum.

Bu devreyi Tinkercad'de bulun

Bu diyagram ve simülasyon, Trinket'in Attiny85 mikro denetleyicisini, pilini ve servosunu gösterir. Kodu çalıştırmak ve servo dönüşünü görmek için Simülasyonu Başlat'a tıklayın.

Tinkercad Circuits, devreler oluşturmanıza ve simüle etmenize izin veren tarayıcı tabanlı ücretsiz bir programdır. Öğrenme, öğretme ve prototip oluşturma için mükemmeldir.

Adım 1: Tinkercad Modeli

Temel makaslı yılan modelini Tinkercad'e yükledim, ardından yan panelden bir delik şekli sürükleyerek ve onları her bir tutamacı ve uçtaki tutucuları kaplayacak şekilde şekillendirerek değiştirdim, ardından delikleri orijinal şekliyle gruplandırdım. Daha sonra, plastik golf topunun yanı sıra tabana/servoya takmak için taban uçlarında ve deliklerde yeni çıkıntılar oluşturmaya devam ettim.

Taban parçası, Tinkercad'in yerleşik devre bileşenleri kullanılarak sıfırdan modellenmiştir. Elektronik bileşenler panelinden bir mikro servo motor çıkardım ve onun etrafında modelledim, motoru sabitlemek ve makas yılanını takmak için bir arayüz oluşturdum. Ayrıca şapkaya dikmek için tabana delikler açtım.

Bu Tinkercad tasarımını kopyalayabilir ve her bir parçayı kendiniz yazdırmak için dışa aktarabilirsiniz. Dikey makas yılanı tanıtım amaçlıdır-- bu kopya parçayı yazdırmaya çalışmayın. =D

Açıklama: Bu yazı yazılırken, Tinkercad'i yapan Autodesk'in bir çalışanıyım.

Adım 2: 3D ve Servo Mekanizmasını Birleştirin

3D ve Servo Mekanizmasını Birleştirin
3D ve Servo Mekanizmasını Birleştirin

Makas yılanının sabit tarafını tabana ve hareketli parçayı servoya bağlamak için sert çelik tel kullandık. Telin küçük bir parçasında bir açıyı bükdükten sonra, "akslarımızın" diğer uçlarını sabitlemek için mücevher boncukları ve bir tutam sıcak tutkal kullandık. Servo motorun kendisi, aynı telden daha fazlası ve biraz sıcak tutkalla yerinde tutulur. Hareket aralığının makas yılanınınkiyle örtüşmesine izin vermek için servo kornanın konumuyla ilgili bazı deneyler yapmak zorunda kaldık.

Adım 3: Devre ve Arduino Kodu

Devre ve Arduino Kodu
Devre ve Arduino Kodu
Devre ve Arduino Kodu
Devre ve Arduino Kodu

Devre bağlantıları aşağıdaki gibidir:

  • Biblo BAT+'dan servo motor gücüne
  • Servo motor toprağına biblo GND
  • Servo motor sinyaline biblo pimi #0
  • Trinket BAT+'a 3xAAA pil paketi gücü (kırmızı kablo) (kartın altında)
  • 3xAAA pil takımı topraklaması (siyah kablo) ile Trinket GND'ye (kartın alt tarafında)

Bu proje için Arduino kodu, Trinket Servo eğitimindeki SoftServo örneğine dayanmaktadır. Kullanmak için SoftServo kütüphanesini kurmanız gerekecek, bunu Kütüphane Yöneticisi'nde (Çizim -> Kütüphaneleri Dahil Et -> Kütüphaneleri Yönet…) arayarak yapabilirsiniz. Arduino'da kod kitaplıkları kurma ve kullanma hakkında daha fazla bilgi için ücretsiz Instructables Arduino sınıfım 4. derse bakın.

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

Adafruit Biblo için SoftServo çizimi. (0 = sıfır derece, tam = 180 derece) Gerekli kitaplık https://github.com/adafruit/Adafruit_SoftServo adresinde bulunan Adafruit_SoftServo kitaplığıdır. mevcut zamanlayıcı donanımı ve programlamasındaki farklılıklar. Basitçe timer0 millis() sayacına bindirerek yenileriz Gerekli donanım bir Adafruit Biblo mikro denetleyicisi bir servo motor içerir Yazıldığı gibi, bu özellikle Biblo için, ancak Gemma veya diğer panolar (Arduino Uno, vb.) pin eşleştirmeleri Biblo: BAT+ Gnd Pin #0 Bağlantı: Servo+ - Servo1 ***************************************** *******************************/ #include // SoftwareServo (PWM olmayan pinlerde çalışır) // İki servo gösteriyoruz ! #define SERVO1PIN 0 // Biblo Pin üzerinde Servo kontrol hattı (turuncu) #0 int konum = 40; // servo konumunu saklayacak değişken Adafruit_SoftServo myServo1; //revoobject void setup() { // servoyu bizim için otomatik olarak yenileyecek kesmeyi ayarla OCR0A = 0xAF; // herhangi bir sayı tamamdır TIMSK |= _BV(OCIE0A); // Karşılaştırma kesmesini açın (aşağıda!) myServo1.attach(SERVO1PIN); // Servoyu Trinket myServo1.write(pos); // Servoya quirk gecikme başına pozisyona gitmesini söyle(15); // Servonun pozisyona ulaşması için 15ms bekleyin } void loop() { for(konum = 40; konum =40; konum-=3) // 180 dereceden 0 dereceye gider { myServo1.write(poz); // servoya 'pos' gecikmesi(15) değişkeninde pozisyona gitmesini söyle; // servonun pozisyona ulaşması için 15ms bekler } } // Zamanı takip etmek ve servoyu her 20 milisaniyede bir yenilemek için kapanan yerleşik millis() zamanlayıcıdan yararlanacağız volatile uint8_t counter = 0; SIGNAL(TIMER0_COMPA_vect) { // bu her 2 milisaniyede bir çağrılır sayaç += 2; // her 20 milisaniyede bir, servoları yenileyin! if (sayaç >= 20) { sayıcı = 0; myServo1.refresh(); } }

Önerilen: