Kazalo:

Servo klobuk s škarjastim pogonom: 4 koraki (s slikami)
Servo klobuk s škarjastim pogonom: 4 koraki (s slikami)

Video: Servo klobuk s škarjastim pogonom: 4 koraki (s slikami)

Video: Servo klobuk s škarjastim pogonom: 4 koraki (s slikami)
Video: Part 6 - The Jungle Audiobook by Upton Sinclair (Chs 23-25) 2024, November
Anonim
Image
Image

Ta preprost projekt 3D tiskanja in servo motorja je dobro počutje za Simone Giertz, izjemno ustvarjalko, ki je pravkar imela operacijo odstranjevanja možganskega tumorja. Škarjasto napravo poganja mikro servo motor in mikrokrmilnik Trinket z malo Arduino kode, napaja pa jo baterija 3xAAA. Ta projekt je sodelovanje z Leslie Birch!

Sestavite mehanizem 3D in servo
Sestavite mehanizem 3D in servo

Osnovno ploščo in nosilec motorja sem modeliral z brezplačnim in enostavnim orodjem za 3D modeliranje Tinkercad, ki ima vgrajeno ploščo skupnih elektronskih komponent. Lahko sem izvlekel mikro servo in nato modeliral osnovo, da se je prilegala okoli nje, in videl, kje se bo poravnal s škarjastim mehanizmom.

Škarjasto kačo je oblikoval ricswika na Thingiverse in jo je bilo enostavno vnesti v Tinkercad ter prilagoditi ročaje in konce prijemala tako, da se prilegajo našemu osnovnemu kosu.

Za ta projekt boste potrebovali:

  • Mikro servo motor
  • Neumni klobuk
  • Plastična žoga za golf
  • Jeklena žica z ustreznimi rezalniki
  • Šivalna igla in nit
  • Škarje
  • Trinket 5V mikrokrmilnik
  • Nosilec baterije 3xAAA
  • Termoskrčljive cevi
  • Spajkalnik in spajkanje
  • Pomagajte orodju iz tretje roke
  • Odstranjevalci žice
  • Poravnajte diagonalne rezalnike
  • Ženske priključne žice ali nekateri zatiči za glavo (za priključitev na standardni servo konektor)
  • Vroče lepilo

Če želite spremljati, na čem delam, me spremljajte na YouTubu, Instagramu, Twitterju, Pinterestu in se naročite na moje novice. Kot sodelavec Amazon zaslužim s kvalificiranimi nakupi, ki jih opravite z mojimi partnerskimi povezavami.

Poiščite to vezje na Tinkercadu

Diagram in simulacija prikazuje mikrokrmilnik Trinket Attiny85, baterijo in servo. Kliknite Začni simulacijo, da zaženete kodo in si ogledate vrtenje servo.

Tinkercad Circuits je brezplačen brskalniški program, ki omogoča gradnjo in simulacijo vezij. Idealen je za učenje, poučevanje in izdelavo prototipov.

1. korak: Model Tinkercad

Osnovni model škarjaste kače sem naložil v Tinkercad, nato pa ga spremenil tako, da sem s stranske plošče povlekel obliko luknje in jo oblikoval tako, da je na koncu pokrit vsak ročaj in prijemala, nato pa luknje združil v prvotno obliko. Nato sem ustvaril nove jezičke na koncih podstavka in luknje za pritrditev plastične žoge za golf, pa tudi na podlago/servo.

Osnovni del je bil modeliran iz nič z uporabo vgrajenih komponent Tinkercada. Iz plošče elektronskih komponent sem izvlekel mikro servo motor in ga modeliral, ustvaril vmesnik za zavarovanje motorja in pritrditev škarje. V podstavek sem vstavil tudi nekaj lukenj za prišitje na klobuk.

To obliko Tinkercada lahko kopirate in vsak kos izvozite za tiskanje sami. Navpična škarjasta kača je namenjena predstavitvi- ne poskušajte natisniti tega podvojenega dela. = D

Razkritje: v času tega pisanja sem zaposlen pri Autodesku, ki izdeluje Tinkercad.

Korak: Sestavite mehanizem 3D in servo

Sestavite mehanizem 3D in servo
Sestavite mehanizem 3D in servo

Uporabili smo trdo jekleno žico, da fiksno stran škarje povežemo z dnom, gibljivi del pa s servo. Po upogibanju kota v majhnem kosu žice smo z nakitnimi kroglicami in vročim lepilom pritrdili druge konce naših "osi". Sam servo motor je pritrjen na mestu z več iste žice in malo vročega lepila. Morali smo nekaj eksperimentirati s pozicioniranjem servo roga, da bi se njegov obseg gibanja prekrival s škarjasto kačo.

3. korak: Koda vezja in Arduino

Koda vezja in Arduino
Koda vezja in Arduino
Koda vezja in Arduino
Koda vezja in Arduino

Priključki vezja so naslednji:

  • Trinket BAT+ za moč servo motorja
  • Trinket GND na ozemljitev servo motorja
  • Zatič št. 0 za signal servo motorja
  • Napajanje baterije 3xAAA (rdeča žica) do Trinket BAT+ (na spodnji strani plošče)
  • 3xAAA ozemljitev akumulatorja (črna žica) na Trinket GND (na spodnji strani plošče)

Koda Arduino za ta projekt temelji na primeru SoftServo v vadnici Trinket Servo. Če ga želite uporabljati, boste morali namestiti knjižnico SoftServo, kar lahko storite tako, da poiščete v Upravitelju knjižnic (Sketch -> Include Libraries -> Manage Libraries …). Za več informacij o nameščanju in uporabi knjižnic kod v Arduinu si oglejte moj brezplačni razred Arduino Instructables, lekcija 4.

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

Skica SoftServo za Adafruit Trinket. (0 = nič stopinj, polno = 180 stopinj) Zahtevana knjižnica je knjižnica Adafruit_SoftServo, ki je na voljo na https://github.com/adafruit/Adafruit_SoftServo Standardna servo knjižnica Arduino IDE ne bo delovala z 8 -bitnimi mikrokrmilniki AVR, kot sta Trinket in Gemma razlike v razpoložljivi strojni opremi časovnika in programiranju. Preprosto osvežimo s prašičjo podporo na števcu timer0 millis (). Potrebna strojna oprema vključuje mikrokrmilnik Adafruit Trinket in servo motor Kot je zapisano, je to posebej za Trinket, čeprav bi moralo biti Gemma ali druge plošče (Arduino Uno itd.) Z ustreznimi pin preslikave Trinket: BAT+ Gnd Pin #0 Povezava: Servo+ - Servo1 ********************************** *******************************/ #include // SoftwareServo (deluje na zatičih, ki niso PWM) // Prikazujemo dva servomotorja ! #define SERVO1PIN 0 // Servo krmilna linija (oranžna) na Trinket Pin #0 int pos = 40; // spremenljivka za shranjevanje položaja servo Adafruit_SoftServo myServo1; // ustvarimo void setup void setup () {// Nastavimo prekinitev, ki nam bo samodejno osvežila servo OCR0A = 0xAF; // poljubno število je v redu TIMSK | = _BV (OCIE0A); // Vklopite prekinitev za primerjavo (spodaj!) MyServo1.attach (SERVO1PIN); // Priključite servo na pin 0 na Trinket myServo1.write (poz); // Povejte servo, naj se premakne v položaj za vsako zamudo pri dotiku (15); // Počakajte 15 ms, da servo doseže položaj} void loop () {for (pos = 40; pos = 40; pos- = 3) // gre od 180 stopinj do 0 stopinj {myServo1.write (poz); // povem servo, naj gre v položaj s spremenljivo zakasnitvijo 'pos' (15); // čaka 15 ms, da servo doseže položaj}} // Izkoristili bomo vgrajen merilnik časa millis (), ki se izklopi // za spremljanje časa in osvežili servo vsakih 20 milisekund nestanoviten uint8_t števec = 0; SIGNAL (TIMER0_COMPA_vect) {// to se kliče vsake 2 milisekundne števec += 2; // vsakih 20 milisekund osvežite servomotorje! if (števec> = 20) {števec = 0; myServo1.refresh (); }}

Priporočena: