Obsah:
Video: Servo klobúk nožnicového pohonu: 4 kroky (s obrázkami)
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-13 06:58
Tento jednoduchý projekt 3D tlače a servomotora je dobrým pocitom pre Simone Giertzovú, úžasného výrobcu, ktorý práve absolvoval operáciu na odstránenie mozgového nádoru. Nožnicové zariadenie je poháňané mikro servomotorom a mikrokontrolérom Trinket s malým kódom Arduino a je napájané batériou 3xAAA. Tento projekt je spoluprácou s Leslie Birch!
Základnú dosku a držiak motora som modeloval pomocou bezplatného a jednoduchého 3D modelovacieho nástroja Tinkercad, ktorý má vstavaný panel bežných elektronických komponentov. Podarilo sa mi vytiahnuť mikro servo a potom modelovať základňu, aby sa zmestila okolo nej, a zistiť, kde bude v súlade s nožnicovým mechanizmom.
Nožnicový had navrhol ricswika na Thingiverse a bolo ľahké ho vložiť do Tinkercad a upraviť konce držadla a chápadla tak, aby zodpovedali nášmu základnému kusu.
Na tento projekt budete potrebovať:
- Mikromotor
- Hlúpy klobúk
- Plastová golfová loptička
- Oceľový drôt s príslušnými rezačkami
- Šijacia ihla a niť
- Nožnice
- Trinket 5V mikroradič
- Držiak batérie 3xAAA
- Teplom zmrštiteľné hadičky
- Spájkovačka a spájkovačka
- Pomocný nástroj z tretej ruky
- Odizolovače drôtov
- Splachovacie diagonálne frézy
- Samičie prepojovacie vodiče alebo niektoré kolíkové kolíky (na pripojenie k štandardnému servo konektoru)
- Horúce lepidlo
Aby ste držali krok s tým, na čom pracujem, sledujte ma na stránkach YouTube, Instagram, Twitter, Pinterest a prihláste sa na odber môjho spravodajcu. Ako spolupracovník Amazonu zarábam na kvalifikovaných nákupoch, ktoré robíte pomocou mojich pridružených odkazov.
Nájdite tento okruh na Tinkercad
Diagram a simulácia zobrazuje mikrokontrolér Trinket Attiny85, batériu a servo. Kliknutím na Spustiť simuláciu spustíte kód a uvidíte otáčanie serva.
Tinkercad Circuits je bezplatný program založený na prehliadači, ktorý vám umožňuje vytvárať a simulovať obvody. Je ideálny na učenie, učenie a prototypovanie.
Krok 1: Model Tinkercad
Základný model nožnicového hada som nahral do Tinkercadu, potom som ho upravil tak, že z bočného panelu vytiahnem tvar otvoru a vytvarujem ich tak, aby zakryl každú rúčku a chápadlá na konci, a potom otvory zoskupím podľa pôvodného tvaru. Potom som pokračoval v vytváraní nových úchytiek na koncoch základne a otvorov na pripevnenie plastovej golfovej loptičky, ako aj k základni/servu.
Základný kus bol od začiatku modelovaný pomocou vstavaných obvodových komponentov Tinkercad. Vytiahol som mikro servomotor z panelu elektronických súčiastok a modeloval som okolo neho, pričom som vytvoril rozhranie na zaistenie motora a pripevnenie nožnicového hada. Do základne som tiež vložil niekoľko otvorov na prišitie na klobúk.
Tento návrh Tinkercad môžete skopírovať a každý kus exportovať na tlač sami. Zvislý nožnicový had slúži na demonštračné účely- nepokúšajte sa vytlačiť túto duplicitnú časť. = D
Zverejnenie: v čase písania tohto článku som zamestnancom spoločnosti Autodesk, ktorá vyrába Tinkercad.
Krok 2: Zostavte 3D a servo mechanizmus
Na pripojenie pevnej strany nožnicového hada k základni a pohyblivej časti k servu sme použili tvrdý oceľový drôt. Po ohnutí uhla v malom kúsku drôtu sme pomocou šperkových korálikov a kvapky horúceho lepidla zaistili ostatné konce našich „náprav“. Samotný servomotor je držaný na mieste viacerými rovnakými drôtmi a trochou horúceho lepidla. Museli sme urobiť určité experimenty s umiestnením servo rohu, aby sa jeho rozsah pohybu prekrýval s nožnicovým hadom.
Krok 3: Obvodový a Arduino kód
Pripojenia obvodov sú nasledujúce:
- Trinket BAT+ na výkon servomotora
- Trinket GND na uzemnenie servomotora
- Trinket pin #0 na signál servomotora
- Napájanie z batérie 3xAAA (červený vodič) do Trinket BAT+ (na spodnej strane dosky)
- Uzemnenie batérie 3xAAA (čierny vodič) na Trinket GND (na spodnej strane dosky)
Kód Arduino pre tento projekt je založený na príklade SoftServo v tutoriále Trinket Servo. Aby ste ju mohli používať, musíte si nainštalovať knižnicu SoftServo, čo môžete urobiť vyhľadaním v Správcovi knižníc (Skica -> Zahrnúť knižnice -> Spravovať knižnice …). Viac informácií o inštalácii a používaní knižníc kódov v Arduine nájdete v mojej bezplatnej triede Arduino Instructables, lekcia 4.
/*******************************************************************
Skica SoftServo pre cetku Adafruit. (0 = nula stupňov, plný = 180 stupňov) Požadovaná knižnica je knižnica Adafruit_SoftServo dostupná na https://github.com/adafruit/Adafruit_SoftServo Štandardná servo knižnica Arduino IDE nebude fungovať s 8 -bitovými mikrokontrolérmi AVR, ako sú Trinket a Gemma, z dôvodu rozdiely v dostupnom hardvéri časovača a programovaní. Jednoducho obnovujeme zálohovanie na počítadle časovača 0 milis () Požadovaný hardvér obsahuje mikrokontrolér Adinkruit Trinket a servomotor Ako bolo napísané, toto je konkrétne pre Trinket, aj keď by to mala byť Gemma alebo iné dosky (Arduino Uno, atď.) So správnym mapovanie pinov Trinket: BAT+ Gnd Pin #0 Pripojenie: Servo+ - Servo1 *************************** ******************************************** #include // SoftwareServo (funguje na pinoch bez PWM) // Predvádzame dve servá ! #define SERVO1PIN 0 // Riadiaca linka servo (oranžová) na trinketovom kolíku #0 int pos = 40; // premenná na uloženie polohy serva Adafruit_SoftServo myServo1; // create servo object void setup () {// Nastavte prerušenie, ktoré nám automaticky servo obnoví OCR0A = 0xAF; // akékoľvek číslo je v poriadku TIMSK | = _BV (OCIE0A); // Zapnite porovnávacie prerušenie (nižšie!) MyServo1.attach (SERVO1PIN); // Pripojte servo k pinu 0 na Trinket myServo1.write (pos); // Povedzte servu, aby sa dostalo do polohy podľa oneskorenia vtipu (15); // Počkajte 15 ms, kým servo dosiahne polohu} prázdna slučka () {for (pos = 40; pos = 40; poz- = 3) // prejde zo 180 stupňov na 0 stupňov {myServo1.write (pos); // povedz servu, aby sa dostalo do polohy v oneskorení 'pos' (15); // čaká 15 ms, kým servo dosiahne pozíciu}} // Využijeme výhody vstavaného časovača milis (), ktorý sa vypne // na sledovanie času a servo aktualizujeme každých 20 milisekúnd prchavé uint8_t počítadlo = 0; SIGNAL (TIMER0_COMPA_vect) {// toto sa volá každé 2 milisekundy počítadlo += 2; // každých 20 milisekúnd obnovte serva! if (počítadlo> = 20) {počítadlo = 0; myServo1.refresh (); }}