INHOUDSOPGAWE:

Scissor Drive Servo Hat: 4 stappe (met foto's)
Scissor Drive Servo Hat: 4 stappe (met foto's)

Video: Scissor Drive Servo Hat: 4 stappe (met foto's)

Video: Scissor Drive Servo Hat: 4 stappe (met foto's)
Video: The Dark Side of Conscious Ai | Daniel Schmachtenberger 2024, November
Anonim
Image
Image

Hierdie eenvoudige 3D-druk- en servomotorprojek is 'n goeie gevoel vir Simone Giertz, 'n wonderlike vervaardiger wat pas 'n operasie vir die verwydering van 'n breingewas ondergaan het. Die skaartoestel word aangedryf deur 'n mikro -servomotor en 'n Trinket -mikrokontroleerder met 'n bietjie Arduino -kode, en word aangedryf deur 'n 3xAAA -battery. Hierdie projek is 'n samewerking met Leslie Birch!

Monteer 3D- en servomeganisme
Monteer 3D- en servomeganisme

Ek het die basisplaat en motorhouer gemodelleer met behulp van Tinkercad, 'n gratis en maklike 3D-modelhulpmiddel, met 'n paneel algemene elektroniese komponente ingebou. Ek kon 'n mikro -servo uittrek en dan die basis modelleer om daar rondom te pas, en kyk waar dit in lyn sou kom met die skêrmeganisme.

Die skêrslang is ontwerp deur ricswika op Thingiverse, en dit was maklik om dit in Tinkercad in te bring en die handvatsel en grypeinde aan te pas sodat dit by ons basisstuk pas.

Vir hierdie projek benodig u:

  • Mikro servomotor
  • Simpel hoed
  • Gholfbal van plastiek
  • Staaldraad met gepaste snyers
  • Naald en draad
  • Skêr
  • Trinket 5V mikroliter
  • 3xAAA batteryhouer
  • Krimpbuis
  • Soldeerbout en soldeer
  • Helpende hulpmiddel van die derde hand
  • Draadstroppers
  • Spoel diagonale snyers
  • Vroulike aansluitingsdrade of 'n paar kopspelde (om aan te sluit op 'n standaard servokoppelstuk)
  • Warm gom

Volg my op YouTube, Instagram, Twitter, Pinterest en teken in op my nuusbrief om tred te hou met waaraan ek werk. As Amazon -medewerker verdien ek uit kwalifiserende aankope wat u doen met my aangeslote skakels.

Vind hierdie kring op Tinkercad

Die diagram en simulasie toon die Trinket se Attiny85 mikrokontroller, battery en servo. Klik op Start Simulasie om die kode uit te voer en die servo te sien draai.

Tinkercad Circuits is 'n gratis blaaier-gebaseerde program waarmee u stroombane kan bou en simuleer. Dit is ideaal vir leer, onderrig en prototipering.

Stap 1: Tinkercad -model

Ek laai die basiese skêrslangmodel in Tinkercad op, verander dit dan deur 'n gatvorm uit die sypaneel te sleep en vorm dit om elke handvatsel en die grypers aan die einde te bedek, en groepeer dan die gate met die oorspronklike vorm. Daarna het ek nuwe oortjies op die basispunte en gate gemaak om die plastiekgolfbal sowel as aan die basis/servo vas te maak.

Die basisstuk is van nuuts af gemodelleer met behulp van die ingeboude stroombaankomponente van Tinkercad. Ek het 'n mikroservomotor uit die paneel van die elektroniese komponente gesleep en daar rondom gemodelleer, wat 'n koppelvlak skep om die motor vas te maak en die skêrslang vas te maak. Ek het ook 'n paar gate in die basis gesit om dit op die hoed vas te maak.

U kan hierdie Tinkercad -ontwerp kopieer en elke stuk self uitvoer om dit te druk. Die vertikale skêrslang is bedoel vir demonstrasie- moenie probeer om hierdie duplikaatdeel te druk nie. = D

Openbaarmaking: ten tyde van hierdie skrywe is ek 'n werknemer van Autodesk, wat Tinkercad vervaardig.

Stap 2: Monteer 3D- en servomeganisme

Monteer 3D- en servomeganisme
Monteer 3D- en servomeganisme

Ons het 'n stywe staaldraad gebruik om die vaste kant van die skêrslang aan die basis en die bewegende deel aan die servo te koppel. Nadat ons 'n hoek in 'n klein stukkie draad gebuig het, het ons juweliersware krale en 'n bietjie warm gom gebruik om die ander ente van ons "asse" vas te maak. Die servomotor self word vasgehou met meer van dieselfde draad en 'n bietjie warm gom. Ons moes 'n bietjie eksperimenteer met die posisionering van die servohoring sodat sy bewegingsreeks met die van die skêrslang kan oorvleuel.

Stap 3: Kringloop en Arduino -kode

Kringloop en Arduino -kode
Kringloop en Arduino -kode
Kringloop en Arduino -kode
Kringloop en Arduino -kode

Die kringverbindings is soos volg:

  • Trinket BAT+ na servomotorkrag
  • Sink GND na servomotor grond
  • Knippen #0 na servomotorsignaal
  • 3xAAA battery pack power (rooi draad) na Trinket BAT+ (aan die onderkant van die bord)
  • 3xAAA battery pack ground (black wire) to Trinket GND (on underside of board)

Die Arduino -kode vir hierdie projek is gebaseer op die SoftServo -voorbeeld in die Trinket Servo -tutoriaal. U moet die SoftServo -biblioteek installeer om dit te kan gebruik, wat u kan doen deur in die biblioteekbestuurder te soek (Skets -> Sluit biblioteke in -> Bestuur biblioteke …). Vir meer inligting oor die installering en gebruik van kodebiblioteke in Arduino, kyk na my gratis Instructables Arduino -klas, les 4.

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

SoftServo -skets vir Adafruit Trinket. (0 = nul grade, vol = 180 grade) Vereiste biblioteek is die Adafruit_SoftServo -biblioteek beskikbaar op https://github.com/adafruit/Adafruit_SoftServo Die standaard Arduino IDE servobiblioteek werk nie met 8 -bit AVR -mikrobeheerders soos Trinket en Gemma nie a.g.v. verskille in beskikbare timerhardeware en programmering. Ons verfris eenvoudig deur op die timer0 millis () toonbank te steun. Vereiste hardeware bevat 'n Adafruit Trinket-mikrobeheerder en servomotor Soos dit geskryf is, is dit spesifiek vir die Trinket, hoewel dit Gemma of ander borde (Arduino Uno, ens.) pen toewysings Snuistery: BAT+ Gnd Pin #0 verbinding: Servo+ - Servo1 ************************************ ******************************/ #include // SoftwareServo (werk op nie -PWM -penne) // Ons demonstreer twee servo's ! #define SERVO1PIN 0 // Servo -bedieningslyn (oranje) op snuifpen #0 int pos = 40; // veranderlike om die servoposisie op te slaan Adafruit_SoftServo myServo1; // skep leegstelling van servo -voorwerp () {// Stel die onderbreking op wat die servo outomaties vir ons sal verfris OCR0A = 0xAF; // enige getal is OK TIMSK | = _BV (OCIE0A); // Skakel die vergelykingsonderbreking (hieronder!) MyServo1.attach (SERVO1PIN) aan; // Heg die servo aan pin 0 op Trinket myServo1.write (pos); // Sê vir die servo om per posvertraging (15) na die posisie te gaan; // Wag 15 ms totdat die servo die posisie bereik} leemte lus () {vir (pos = 40; pos = 40; pos- = 3) // gaan van 180 grade tot 0 grade {myServo1.write (pos); // sê vir servo om in posisie te gaan met veranderlike 'pos' -vertraging (15); // wag 15 ms totdat die servo die posisie bereik}} // Ons sal gebruik maak van die ingeboude millis () timer wat afgaan // om tyd by te hou en die servo elke 20 millisekondes te verfris, vlugtige uint8_t counter = 0; SIGNAAL (TIMER0_COMPA_vect) {// dit word elke 2 millisekondeteller += 2 genoem; // verfris die servo's elke 20 millisekondes! as (teller> = 20) {teller = 0; myServo1.refresh (); }}

Aanbeveel: