Innholdsfortegnelse:

Scissor Drive Servo Hat: 4 trinn (med bilder)
Scissor Drive Servo Hat: 4 trinn (med bilder)

Video: Scissor Drive Servo Hat: 4 trinn (med bilder)

Video: Scissor Drive Servo Hat: 4 trinn (med bilder)
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, November
Anonim
Image
Image

Dette enkle 3D-utskrifts- og servomotorprosjektet er et godt inntrykk for Simone Giertz, en fantastisk produsent som nettopp hadde operert med fjerning av hjernesvulster. Saksenheten drives av en mikro servomotor og Trinket mikrokontroller som kjører en liten Arduino -kode, og drives av en 3xAAA batteripakke. Dette prosjektet er et samarbeid med Leslie Birch!

Monter 3D og servomekanisme
Monter 3D og servomekanisme

Jeg modellerte bunnplaten og motorfeste ved hjelp av Tinkercad, et gratis og enkelt 3D-modelleringsverktøy, som har et panel med vanlige elektronikkomponenter innebygd. Jeg klarte å dra ut en mikroservo og deretter modellere basen slik at den passet rundt den, og se hvor den ville stemme opp med saksmekanismen.

Saksslangen ble designet av ricswika på Thingiverse, og det var enkelt å ta den med inn i Tinkercad og endre håndtaket og griperendene for å passe sammen med bunnstykket vårt.

For dette prosjektet trenger du:

  • Mikro servomotor
  • Dum hatt
  • Golfball i plast
  • Ståltråd med passende kuttere
  • Synål og tråd
  • Saks
  • Trinket 5V mikrokontroller
  • 3xAAA batteriholder
  • Krympeslange
  • Loddejern og loddetinn
  • Hjelper tredjepartsverktøy
  • Wire strippere
  • Skyll diagonale kuttere
  • Kvinnelige tilkoblingskabler eller noen toppnål (for tilkobling til standard servokontakt)
  • Varmt lim

For å holde tritt med det jeg jobber med, følg meg på YouTube, Instagram, Twitter, Pinterest og abonner på nyhetsbrevet mitt. Som Amazon Associate tjener jeg på kvalifiserte kjøp du gjør ved hjelp av tilknyttede lenker.

Finn denne kretsen på Tinkercad

Diagrammet og simuleringen viser Trinkets Attiny85 mikrokontroller, batteri og servo. Klikk på Start simulering for å kjøre koden og se servospinn.

Tinkercad Circuits er et gratis nettleserbasert program som lar deg bygge og simulere kretser. Den er perfekt for læring, undervisning og prototyper.

Trinn 1: Tinkercad -modell

Jeg lastet opp den grunnleggende saks -slangemodellen til Tinkercad, og endret den ved å dra ut en hullform fra sidepanelet og forme dem til å dekke hvert håndtak og gripene på slutten, og deretter gruppere hullene med den opprinnelige formen. Deretter fortsatte jeg med å lage nye faner på bunnendene og hullene for å feste plastballballen så vel som til basen/servoen.

Grunnstykket ble modellert fra bunnen av ved hjelp av Tinkercads innebygde kretskomponenter. Jeg dro ut en mikroservomotor fra elektronikkomponentpanelet og modellerte rundt den, og skapte et grensesnitt for å sikre motoren og feste saksslangen. Jeg satte også noen hull i basen for å sy den på hatten.

Du kan kopiere dette Tinkercad -designet og eksportere hvert stykke for utskrift selv. Den vertikale saksslangen er for demonstrasjonsformål- ikke prøv å skrive ut denne dupliserte delen. = D

Avsløring: I skrivende stund er jeg ansatt i Autodesk, som lager Tinkercad.

Trinn 2: Monter 3D- og servomekanisme

Monter 3D og servomekanisme
Monter 3D og servomekanisme

Vi brukte stiv ståltråd for å koble den faste siden av saksslangen til basen og den bevegelige delen til servoen. Etter å ha bøyd en vinkel i et lite stykke av ledningen, brukte vi smykkekuler og en klatt varmt lim for å feste de andre endene av "akslene" våre. Selve servomotoren holdes på plass med mer av samme ledning og litt varmt lim. Vi måtte eksperimentere litt med posisjoneringen av servohornet for å la bevegelsesområdet overlappe med saksen.

Trinn 3: Krets og Arduino -kode

Krets og Arduino -kode
Krets og Arduino -kode
Krets og Arduino -kode
Krets og Arduino -kode

Kretsforbindelsene er som følger:

  • Trinket BAT+ til servomotorkraft
  • Trinket GND til servomotorjord
  • Pyntepinne #0 til servomotorsignal
  • 3xAAA batteripakke (rød ledning) til Trinket BAT+ (på undersiden av brettet)
  • 3xAAA batteripakke jordet (svart ledning) til Trinket GND (på undersiden av brettet)

Arduino -koden for dette prosjektet er basert på SoftServo -eksemplet i Trinket Servo -opplæringen. Du må installere SoftServo -biblioteket for å bruke det, noe du kan gjøre ved å søke i Library Manager (Sketch -> Include Libraries -> Manage Libraries …). For mer informasjon om installering og bruk av kodebiblioteker i Arduino, sjekk ut min gratis Instructables Arduino -klasse, leksjon 4.

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

SoftServo -skisse for Adafruit Trinket. (0 = null grader, full = 180 grader) Nødvendig bibliotek er Adafruit_SoftServo biblioteket tilgjengelig på https://github.com/adafruit/Adafruit_SoftServo Standard Arduino IDE servobibliotek fungerer ikke med 8 -biters AVR -mikrokontrollere som Trinket og Gemma pga. forskjeller i tilgjengelig timer maskinvare og programmering. Vi oppdaterer ganske enkelt ved hjelp av piggy-backing på timeren 0 millis () teller Nødvendig maskinvare inkluderer en Adafruit Trinket mikrokontroller en servomotor Som skrevet, er dette spesielt for Trinket selv om det skal være Gemma eller andre tavler (Arduino Uno, etc.) med riktig pin mappings Trinket: BAT+ Gnd Pin #0 Tilkobling: Servo+ - Servo1 ************************************ ******************************/ #include // SoftwareServo (fungerer på ikke PWM -pinner) // Vi demonstrerer to servoer ! #define SERVO1PIN 0 // Servokontrollinje (oransje) på pyntepinne #0 int pos = 40; // variabel for å lagre servoposisjonen Adafruit_SoftServo myServo1; // lage oppsett av servoobjekt () {// Sett opp avbruddet som vil oppdatere servoen for oss automatisk OCR0A = 0xAF; // et hvilket som helst tall er OK TIMSK | = _BV (OCIE0A); // Slå på sammenligningsavbruddet (nedenfor!) MyServo1.attach (SERVO1PIN); // Fest servoen til pin 0 på Trinket myServo1.write (pos); // Fortell servoen om å gå til posisjon per quirk -forsinkelse (15); // Vent 15 ms til servoen når posisjonen} void loop () {for (pos = 40; pos = 40; pos- = 3) // går fra 180 grader til 0 grader {myServo1.write (pos); // be servoen om å gå til posisjon i variabelen 'pos' forsinkelse (15); // venter 15 ms på at servoen når posisjonen}} // Vi vil dra nytte av den innebygde millis () timeren som går av // for å holde oversikt over tiden, og oppdatere servoen hver 20. millisekund flyktige uint8_t teller = 0; SIGNAL (TIMER0_COMPA_vect) {// dette blir kalt hver 2. millisekundteller += 2; // hvert 20. millisekund, oppdater servoene! hvis (teller> = 20) {teller = 0; myServo1.refresh (); }}

Anbefalt: