Sadržaj:

Servo šešir sa škarama: 4 koraka (sa slikama)
Servo šešir sa škarama: 4 koraka (sa slikama)

Video: Servo šešir sa škarama: 4 koraka (sa slikama)

Video: Servo šešir sa škarama: 4 koraka (sa slikama)
Video: Аудиокнига «Просто истории» Редьярда Киплинга 2024, Novembar
Anonim
Image
Image

Ovaj jednostavan 3D ispis i projekt servo motora dobro je raspoloženje za Simone Giertz, sjajnu tvornicu koja je upravo imala operaciju uklanjanja tumora na mozgu. Škare se pokreću mikro servo motorom i Trinket mikrokontrolerom koji radi sa malim Arduino kodom, a napaja se baterijom 3xAAA. Ovaj projekt je suradnja s Leslie Birch!

Sastavite 3D i servo mehanizam
Sastavite 3D i servo mehanizam

Modelirao sam osnovnu ploču i nosač motora pomoću Tinkercada, besplatnog i lakog alata za 3D modeliranje, koji ima ploču uobičajenih elektroničkih komponenti. Uspio sam izvući mikro servo, a zatim modelirati bazu tako da stane oko njega i vidjeti gdje će se poravnati s mehanizmom škara.

Zmiju škare dizajnirao je ricswika na Thingiverse -u, pa ju je bilo lako unijeti u Tinkercad i izmijeniti ručku i krajeve hvataljke tako da pristaju uz naš osnovni dio.

Za ovaj projekat trebat će vam:

  • Mikro servo motor
  • Glupi šešir
  • Plastična lopta za golf
  • Čelična žica sa odgovarajućim rezačima
  • Šivaća igla i konac
  • Makaze
  • Trinket 5V mikrokontroler
  • 3xAAA držač baterije
  • Termoskupljajuće cijevi
  • Lemilica i lemljenje
  • Pomoćni alat iz treće ruke
  • Strojevi za skidanje žice
  • Ukošeni dijagonalni rezači
  • Žene za spajanje žica ili neke zaglavlje (za spajanje na standardni servo konektor)
  • Vruće ljepilo

Da biste bili u toku sa onim na čemu radim, pratite me na YouTube -u, Instagramu, Twitteru, Pinterestu i pretplatite se na moj bilten. Kao Amazon saradnik zarađujem od kvalifikovanih kupovina koje obavite pomoću mojih partnerskih veza.

Pronađite ovo kolo na Tinkercadu

Dijagram i simulacija prikazuju Trinket -ov mikrokontroler Attiny85, bateriju i servo. Pritisnite Pokreni simulaciju da biste pokrenuli kôd i vidjeli kako se servo okreće.

Tinkercad Circuits je besplatni program zasnovan na pretraživaču koji vam omogućuje izgradnju i simulaciju krugova. Savršen je za učenje, podučavanje i izradu prototipova.

Korak 1: Tinkercad model

Učitao sam osnovni model zmija škara u Tinkercad, a zatim ga izmijenio povlačenjem oblika rupe sa bočne ploče i oblikovanjem tako da pokrije svaku ručku i hvataljke na kraju, a zatim grupiranje rupa s izvornim oblikom. Zatim sam nastavio stvarati nove jezičke na krajevima baze i rupe za pričvršćivanje plastične loptice za golf, kao i na podnožje/servo.

Osnovni komad je modeliran od nule koristeći Tinkercad-ove komponente ugrađenog kola. Izvukao sam mikro servo motor s ploče s elektroničkim komponentama i modelirao ga, stvarajući sučelje za osiguranje motora i pričvršćivanje zmije škara. Takođe sam stavio neke rupe u podnožje za ušivanje na šešir.

Ovaj Tinkercad dizajn možete kopirati i svaki komad izvesti za štampanje. Zmija s okomitim škarama služi za demonstraciju- ne pokušavajte ispisati ovaj dupli dio. = D

Otkriće: u vrijeme pisanja ovog članka zaposlen sam u Autodesku, koji čini Tinkercad.

Korak 2: Sastavite 3D i servo mehanizam

Sastavite 3D i servo mehanizam
Sastavite 3D i servo mehanizam

Koristili smo čvrstu čeličnu žicu za povezivanje fiksne strane škare zmije sa podnožjem, a pokretni dio sa servo pogonom. Nakon savijanja kuta u malom komadu žice, upotrijebili smo perlice za nakit i mrvicu vrućeg ljepila kako bismo učvrstili druge krajeve naših "osovina". Sam servo motor se drži na mjestu s više iste žice i malo vrućeg ljepila. Morali smo malo eksperimentirati s pozicioniranjem servo trube kako bismo omogućili da se njen raspon kretnji preklapa s onom zmije škare.

Korak 3: Krug i Arduino kôd

Sklop i Arduino kod
Sklop i Arduino kod
Sklop i Arduino kod
Sklop i Arduino kod

Spojevi kruga su sljedeći:

  • Trinket BAT+ za snagu servo motora
  • Trinket GND na masu servo motora
  • Trinket pin #0 na signal servo motora
  • Napajanje 3xAAA baterije (crvena žica) prema Trinket BAT+ (na donjoj strani ploče)
  • 3xAAA baterija uzemljena (crna žica) na Trinket GND (na donjoj strani ploče)

Arduino kôd za ovaj projekt zasnovan je na primjeru SoftServo u vodiču Trinket Servo. Morat ćete instalirati SoftServo biblioteku da biste je mogli koristiti, što možete učiniti pretraživanjem u Upravitelju knjižnica (Sketch -> Include Libraries -> Manage Libraries …). Za više informacija o instaliranju i korištenju biblioteka koda u Arduinu pogledajte moju besplatnu klasu Arduino Instructables, lekcija 4.

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

SoftServo skica za Adafruit Trinket. (0 = nula stupnjeva, puni = 180 stupnjeva) Potrebna biblioteka je biblioteka Adafruit_SoftServo dostupna na https://github.com/adafruit/Adafruit_SoftServo Standardna Arduino IDE servo biblioteka neće raditi s 8 -bitnim AVR mikrokontrolerima poput Trinketa i Gemme zbog razlike u dostupnom hardveru tajmera i programiranju. Jednostavno osvježavamo uz podršku na brojaču timer0 millis (). Potreban hardver uključuje mikrokontroler Adafruit Trinket i servo motor Kao što je napisano, ovo je posebno za Trinket, iako bi to trebalo biti Gemma ili druge ploče (Arduino Uno, itd.) Sa odgovarajućim pin preslikavanja Trinket: BAT+ Gnd Pin #0 Veza: Servo+ - Servo1 ********************************** *******************************/ #include // SoftwareServo (radi na PWM pinovima) // Pokazujemo dva serva ! #define SERVO1PIN 0 // Servo upravljačka linija (narančasta) na Trinket Pin #0 int pos = 40; // varijabla za spremanje servo položaja Adafruit_SoftServo myServo1; // kreiramo servo objekt void setup () {// Postavljamo prekid koji će nam automatski osvježiti servo OCR0A = 0xAF; // bilo koji broj je u redu TIMSK | = _BV (OCIE0A); // Uključite prekid za usporedbu (ispod!) MyServo1.attach (SERVO1PIN); // Priključite servo na pin 0 na Trinket myServo1.write (poz); // Recite servo da pređe na poziciju po kašnjenju quirka (15); // Sačekajte 15 ms da servo dođe do pozicije} void loop () {for (pos = 40; pos = 40; pos- = 3) // ide od 180 stepeni do 0 stepeni {myServo1.write (poz); // kaže servo da ide na poziciju u varijabli 'poz' delay (15); // čeka 15 ms da servo dođe do pozicije}} // Iskoristit ćemo ugrađeni timer millis () koji se isključuje // za praćenje vremena i osvježavati servo svakih 20 milisekundi volatile uint8_t counter = 0; SIGNAL (TIMER0_COMPA_vect) {// poziva se svaka 2 milisekunde brojač += 2; // svakih 20 milisekundi, osvježite servosisteme! if (brojač> = 20) {brojač = 0; myServo1.refresh (); }}

Preporučuje se: