Innehållsförteckning:

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

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

Video: Scissor Drive Servo Hat: 4 Steg (med bilder)
Video: The Ten Commandments | Dwight L Moody | Free Christian Audiobook 2024, November
Anonim
Image
Image

Det här enkla 3D-utskrifts- och servomotorprojektet är ett välbefinnande för Simone Giertz, en fantastisk tillverkare som just hade opererat bort hjärntumör. Saxenheten drivs av en mikroservomotor och Trinket -mikrokontroller som kör lite Arduino -kod och drivs av ett 3xAAA -batteri. Detta projekt är ett samarbete med Leslie Birch!

Montera 3D- och servomekanism
Montera 3D- och servomekanism

Jag modellerade bottenplattan och motorfästet med Tinkercad, ett gratis och enkelt 3D-modelleringsverktyg, som har en panel med vanliga elektronikkomponenter inbyggda. Jag kunde dra ut en mikroservo och sedan modellera basen så att den passade runt den och se var den skulle ligga i linje med saxmekanismen.

Saxormen designades av ricswika på Thingiverse, och det var lätt att föra in den i Tinkercad och ändra handtaget och griparändarna för att passa ihop med vårt basstycke.

För detta projekt behöver du:

  • Mikro servomotor
  • Dum hatt
  • Golfboll i plast
  • Ståltråd med lämpliga skär
  • Sy nål och tråd
  • Sax
  • Trinket 5V mikrokontroller
  • 3xAAA batterihållare
  • Krympslang
  • Lödkolv och löd
  • Hjälp till tredjehandsverktyg
  • Wire strippers
  • Spola diagonala skär
  • Kvinnliga anslutningskablar eller några huvudstiften (för anslutning till standard servokontakt)
  • Varmt lim

För att hänga med i det jag jobbar med, följ mig på YouTube, Instagram, Twitter, Pinterest och prenumerera på mitt nyhetsbrev. Som Amazon Associate tjänar jag på kvalificerade köp som du gör med mina länkar.

Hitta den här kretsen på Tinkercad

Diagrammet och simuleringen visar Trinkets Attiny85 mikrokontroller, batteri och servo. Klicka på Start Simulation för att köra koden och se servospinnet.

Tinkercad Circuits är ett gratis webbläsarbaserat program som låter dig bygga och simulera kretsar. Det är perfekt för lärande, undervisning och prototyper.

Steg 1: Tinkercad -modell

Jag laddade upp den grundläggande saxormodellen till Tinkercad, sedan ändrade jag den genom att dra ut en hålform från sidopanelen och forma dem så att de täcker varje handtag och griparna i slutet och sedan gruppera hålen med den ursprungliga formen. Jag fortsatte sedan med att skapa nya flikar på basändarna och hål för att fästa såväl plastboll som till bas/servo.

Basstycket modellerades från grunden med hjälp av Tinkercads inbyggda kretskomponenter. Jag drog ut en mikroservomotor från elektronikkomponentpanelen och modellerade runt den, skapade ett gränssnitt för att säkra motorn och fästa saxormen. Jag satte också några hål i basen för att sy den på hatten.

Du kan kopiera denna Tinkercad -design och exportera varje del för utskrift själv. Den vertikala saxormen är för demonstrationsändamål- försök inte skriva ut den här dubblettdelen. = D

Avslöjande: när jag skriver detta är jag anställd hos Autodesk, som gör Tinkercad.

Steg 2: Montera 3D- och servomekanism

Montera 3D- och servomekanism
Montera 3D- och servomekanism

Vi använde stel ståltråd för att länka upp den fasta sidan av saxormen till basen och den rörliga delen till servon. Efter att ha böjt en vinkel i en liten bit av tråden använde vi smyckespärlor och en klick varmt lim för att säkra de andra ändarna på våra "axlar". Själva servomotorn hålls på plats med mer av samma tråd och lite hett lim. Vi var tvungna att experimentera med placeringen av servohornet för att låta dess rörelseomfång överlappa med saxormens.

Steg 3: Krets och Arduino -kod

Krets och Arduino -kod
Krets och Arduino -kod
Krets och Arduino -kod
Krets och Arduino -kod

Kretsanslutningarna är följande:

  • Trinket BAT+ till servomotoreffekt
  • Trinket GND till servomotorjord
  • Pyntstift 0 för servomotorsignal
  • 3xAAA batteripaket (röd ledning) till Trinket BAT+ (på undersidan av kortet)
  • 3xAAA batteripaket jordat (svart ledning) till Trinket GND (på undersidan av kortet)

Arduino -koden för detta projekt är baserad på SoftServo -exemplet i Trinket Servo -handledningen. Du måste installera SoftServo -biblioteket för att kunna använda det, vilket du kan göra genom att söka i Library Manager (Skiss -> Inkludera bibliotek -> Hantera bibliotek …). För mer information om installation och användning av kodbibliotek i Arduino, kolla in min gratis Instructables Arduino -klass, lektion 4.

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

SoftServo -skiss för Adafruit Trinket. (0 = noll grader, fullt = 180 grader) Obligatoriskt bibliotek är Adafruit_SoftServo -biblioteket tillgängligt på https://github.com/adafruit/Adafruit_SoftServo Arduino IDE -standardbiblioteket fungerar inte med 8 -bitars AVR -mikrokontroller som Trinket och Gemma pga. skillnader i tillgänglig timerhårdvara och programmering. Vi uppdaterar helt enkelt genom att backa på timer0 millis () -räknaren Obligatorisk hårdvara innehåller en Adafruit Trinket-mikrokontroller en servomotor Som skrivet är detta speciellt för Trinket även om det borde vara Gemma eller andra brädor (Arduino Uno, etc.) med rätt pin mappings Trinket: BAT+ Gnd Pin #0 Anslutning: Servo+ - Servo1 ************************************ ***** ***** ! #define SERVO1PIN 0 // Servokontroll linje (orange) på prydnadsstift #0 int pos = 40; // variabel för att lagra servopositionen Adafruit_SoftServo myServo1; // skapa servoobjekt void setup () {// Konfigurera avbrottet som uppdaterar servon för oss automatiskt OCR0A = 0xAF; // vilket nummer som helst är OK TIMSK | = _BV (OCIE0A); // Slå på jämförningsavbrottet (nedan!) MyServo1.attach (SERVO1PIN); // Fäst servon på pin 0 på Trinket myServo1.write (pos); // Berätta för servon att gå till positionen per quirk -fördröjning (15); // Vänta 15 ms tills servon når positionen} void loop () {for (pos = 40; pos = 40; pos- = 3) // går från 180 grader till 0 grader {myServo1.write (pos); // berätta för servon att gå till position i variabeln 'pos' fördröjning (15); // väntar 15 ms på att servon når positionen}} // Vi kommer att dra nytta av den inbyggda millis () -timern som går av // för att hålla reda på tiden och uppdatera servon var 20: e millisekund flyktiga uint8_t -räknare = 0; SIGNAL (TIMER0_COMPA_vect) {// detta kallas varannan millisekundräknare += 2; // var 20: e millisekund, uppdatera servon! om (räknare> = 20) {räknare = 0; myServo1.refresh (); }}

Rekommenderad: