Sisällysluettelo:

Scissor Drive Servo Hat: 4 vaihetta (kuvilla)
Scissor Drive Servo Hat: 4 vaihetta (kuvilla)

Video: Scissor Drive Servo Hat: 4 vaihetta (kuvilla)

Video: Scissor Drive Servo Hat: 4 vaihetta (kuvilla)
Video: CS50 2013 - Week 8, continued 2024, Marraskuu
Anonim
Image
Image

Tämä yksinkertainen 3D-tulostus- ja servomoottoriprojekti on hyvä olo Simone Giertzille, mahtavalle valmistajalle, jolla oli juuri aivokasvaimen poistoleikkaus. Leikkauslaitetta käyttävät mikropalvelut ja Trinket -mikrokontrolleri, jossa on pieni Arduino -koodi, ja se saa virtansa 3xAAA -akusta. Tämä projekti on yhteistyössä Leslie Birchin kanssa!

Kokoa 3D- ja servomekanismi
Kokoa 3D- ja servomekanismi

Mallisin pohjalevyn ja moottorikiinnityksen käyttämällä Tinkercadia, ilmaista ja helppoa 3D-mallinnustyökalua, jossa on sisäänrakennettu paneeli tavallisia elektroniikkakomponentteja. Pystyin vetämään ulos mikropalvelun ja mallintamaan sitten alustan sen ympärille sopivaksi ja katsomaan, missä se olisi linjassa saksimekanismin kanssa.

Leikkokäärmeen on suunnitellut ricswika Thingiversessä, ja se oli helppo tuoda Tinkercadiin ja muokata kahvaa ja tartuntapäitä sopimaan yhteen peruskappaleemme kanssa.

Tätä projektia varten tarvitset:

  • Mikroservomoottori
  • Tyhmä hattu
  • Muovinen golfpallo
  • Teräslanka sopivilla leikkureilla
  • Ompeluneula ja lanka
  • Sakset
  • Trinket 5V mikro -ohjain
  • 3xAAA paristopidike
  • Lämpökutistuva letku
  • Juotin ja juote
  • Auttava kolmannen käden työkalu
  • Langanpoistimet
  • Huuhtele lävistäjäleikkurit
  • Naarasliitännät
  • Kuuma liima

Jos haluat pysyä ajan tasalla siitä, mitä työskentelen, seuraa minua YouTubessa, Instagramissa, Twitterissä, Pinterestissä ja tilaa uutiskirjeeni. Amazon -yhteistyökumppanina ansaitsen hyväksytyistä ostoista, joita teet kumppanilinkkien avulla.

Löydä tämä piiri Tinkercadista

Kaavio ja simulaatio esittävät Trinketin Attiny85 -mikrokontrollerin, akun ja servon. Napsauta Käynnistä simulaatio suorittaaksesi koodin ja nähdäksesi servon pyörimisen.

Tinkercad Circuits on ilmainen selainpohjainen ohjelma, jonka avulla voit rakentaa ja simuloida piirejä. Se on täydellinen oppimiseen, opettamiseen ja prototyyppien luomiseen.

Vaihe 1: Tinkercad -malli

Latasin peruskäärmekäärmeen mallin Tinkercadiin ja muokkasin sitä vetämällä reiän muodon sivupaneelista ja muotoilemalla ne peittämään jokaisen kahvan ja tarttujat lopussa ja ryhmittelemään reiät alkuperäiseen muotoon. Sitten jatkoin luomalla uusia kielekkeitä pohjapäihin ja reikiä muovisen golfpallon kiinnittämiseksi sekä pohjaan/servoon.

Pohjakappale mallinnettiin alusta alkaen Tinkercadin sisäänrakennettujen piirikomponenttien avulla. Vedin mikroservomoottorin ulos elektroniikkakomponenttien paneelista ja mallinnin sen ympärille luoden käyttöliittymän moottorin kiinnittämiseksi ja saksikäärmeen kiinnittämiseksi. Laitoin pohjaan myös reikiä ompelua varten hattuun.

Voit kopioida tämän Tinkercad -mallin ja viedä jokainen pala tulostettavaksi itse. Pystysaksinen käärme on esittelyä varten- älä yritä tulostaa tätä kaksoiskappaletta. = D

Paljastaminen: tämän kirjoituksen aikaan olen Tinkercadia valmistavan Autodeskin työntekijä.

Vaihe 2: Kokoa 3D- ja servomekanismi

Kokoa 3D- ja servomekanismi
Kokoa 3D- ja servomekanismi

Käytimme jäykkää teräslankaa yhdistääksemme saksikäärmeen kiinteän puolen pohjaan ja liikkuvan osan servoon. Taivutettuaan kulman pienessä lankakappaleessa käytimme koruhelmiä ja kuumaa liimaa, jotta varmistimme "akseliemme" muut päät. Itse servomoottori pidetään paikallaan enemmän samaa lankaa ja hieman kuumaa liimaa. Meidän oli tehtävä kokeiluja servosarven sijoittelun kanssa, jotta sen liikealue voi olla päällekkäin saksikäärmeen kanssa.

Vaihe 3: Piiri- ja Arduino -koodi

Piiri- ja Arduino -koodi
Piiri- ja Arduino -koodi
Piiri- ja Arduino -koodi
Piiri- ja Arduino -koodi

Piiriliitännät ovat seuraavat:

  • Trinket BAT+ servomoottorin teholle
  • Trinket GND servomoottorin maahan
  • Herkutappi #0 servomoottorin signaaliin
  • 3xAAA -akku (punainen johto) - Trinket BAT+ (levyn alapuolella)
  • 3xAAA -akku maadoitettu (musta johto) Trinket GND: hen (levyn alapuolella)

Tämän projektin Arduino -koodi perustuu Trinket Servo -opetusohjelman SoftServo -esimerkkiin. Sinun on asennettava SoftServo -kirjasto, jotta voit käyttää sitä, minkä voit tehdä etsimällä kirjastonhallinnasta (Sketch -> Include Libraries -> Manage Libraries…). Lisätietoja koodikirjastojen asentamisesta ja käyttämisestä Arduinossa saat ilmaisesta Instructables Arduino -luokastani, oppitunti 4.

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

SoftServo -luonnos Adafruit Trinketille. (0 = nolla astetta, täysi = 180 astetta) Vaadittu kirjasto on Adafruit_SoftServo -kirjasto, joka on saatavana osoitteessa https://github.com/adafruit/Adafruit_SoftServo Arduino IDE -servokirjasto ei toimi 8 -bittisten AVR -mikro -ohjaimien, kuten Trinketin ja Gemman, kanssa eroja käytettävissä olevassa ajastinlaitteistossa ja ohjelmoinnissa. Päivitämme yksinkertaisesti säästöpumpulla ajastimella 0 millis () laskurilla Vaadittu laitteisto sisältää Adafruit Trinket -mikro-ohjaimen ja servomoottorin Kuten kirjoitettu, tämä on erityisesti Trinketille, vaikka sen pitäisi olla Gemma tai muut levyt (Arduino Uno jne.) nastakartat Trinket: BAT+ Gnd Pin #0 Yhteys: Servo+ - Servo1 *********************************** ********************************/ #include // SoftwareServo (toimii muilla kuin PWM -nastoilla) // Esittelemme kaksi servoa ! #define SERVO1PIN 0 // Servo -ohjauslinja (oranssi) Trinket -nastassa #0 int pos = 40; // muuttuja servoaseman tallentamiseen Adafruit_SoftServo myServo1; // create servo object void setup () {// Määritä keskeytys, joka päivittää servon meille automaattisesti OCR0A = 0xAF; // mikä tahansa numero on OK TIMSK | = _BV (OCIE0A); // Kytke vertailun keskeytys päälle (alla!) MyServo1.attach (SERVO1PIN); // Kiinnitä servo nastaan 0 Trinket myServo1.write (pos); // Käske servoa siirtymään asentoon hälytysviiveen mukaan (15); // Odota 15 ms, kunnes servo saavuttaa asennon} void loop () {for (pos = 40; pos = 40; pos- = 3) // siirtyy 180 asteesta 0 asteeseen {myServo1.write (pos); // käske servoa siirtymään asentoon muuttujan "pos" viiveessä (15); // odottaa 15 ms, kunnes servo saavuttaa asennon}}} // Hyödynnämme sisäänrakennettua millis () -ajastinta, joka sammuu // ajan seurantaan ja päivitämme servon 20 millisekunnin välein haihtuva uint8_t counter = 0; SIGNAL (TIMER0_COMPA_vect) {// tätä kutsutaan 2 millisekunnin välein += 2; // päivitä servot 20 millisekunnin välein! jos (laskuri> = 20) {laskuri = 0; myServo1.refresh (); }}

Suositeltava: