Turinys:

Jasperis „Arduino“šešiakampis: 8 žingsniai (su nuotraukomis)
Jasperis „Arduino“šešiakampis: 8 žingsniai (su nuotraukomis)

Video: Jasperis „Arduino“šešiakampis: 8 žingsniai (su nuotraukomis)

Video: Jasperis „Arduino“šešiakampis: 8 žingsniai (su nuotraukomis)
Video: SKR 1.3 - TMC2130 SPI v3.0 2024, Liepa
Anonim
Jasperis „Arduino“šešioliktainis
Jasperis „Arduino“šešioliktainis
Jasperis „Arduino“šešioliktainis
Jasperis „Arduino“šešioliktainis
Jasperis „Arduino“šešioliktainis
Jasperis „Arduino“šešioliktainis
Jasperis „Arduino“šešioliktainis
Jasperis „Arduino“šešioliktainis

Projekto data: 2018 m. Lapkritis

APŽVALGA (JASPER)

Šešios kojos, trys servo kiekvienai kojai, 18 servo judesių sistema, valdoma „Arduino Mega“. Servos prijungtos per „Arduino Mega“jutiklio skydą V2. Bendravimas su „Hexapod“per „Bluetooth BT12“modulį, kalbantis su specialia „Android“programa. Sistema maitinama 2 x 18650, 3400mAh ir 2 x 2400mA baterijų rinkiniais, kurių kiekviena laikoma Velcro po šešiabriauniu korpusu. Tiek servo, tiek valdymo sistemose yra maitinimo perjungimo jungiklis, taip pat žalia lemputė, įjungimo indikatoriaus lemputė ant šešiakampio galvutės. Komandos kartojamos 16x2 LCD ekrane. Vaizdo įrašas, šviesos žiedas ir ultragarso kliūčių vengimas yra galvoje.

PASTABA: Dėl sveiko proto aš labai rekomenduoju naudoti geros kokybės servo, pradėjau nuo MG995 servo, 20 iš jų, 11 iš kurių sudegė, prarado galimybę centruoti arba tiesiog nustojo veikti.

www.youtube.com/embed/ejzGMVskKec

1 žingsnis: ĮRANGA

ĮRANGA
ĮRANGA
ĮRANGA
ĮRANGA
ĮRANGA
ĮRANGA
ĮRANGA
ĮRANGA

1. 20 x DS3218 servo

2. 1x „Hexapod“pagrindo komplektas

3. 1x „Arduino Mega R3“

4. 1x „Arduino Mega“jutiklio skydas v2

5. 1 x 2 skyrius 18650 baterijos laikiklis

6. 2 x dviejų polių maitinimo jungiklis

7. Žalia lemputė ir 220 khm rezistorius

8. 2 x 6v 2800mAh baterijos su Velcro fiksavimu

9. 2 x 18650 x 3400mAh baterijos

10. 1x HC-SR04 sonaro modulis

11. 1x BT12 Bluetooth modulis

12. 1 x Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT kūrimo plokštė

13. 1 x „Arducam“mini modulio fotoaparato skydas su OV2640 2 megapikselių objektyvu

14. 1 x „Pixie Neon 16“LCD šviesos žiedas

15. 1 x 16x2 eilučių LCD ekranas su prijungtu IIC adapteriu.

16. 1 x 5 V maitinimo kištukas, skirtas „Arduino Mega“

17. 1 x 5v mikro USB kištukas NodeMcu moduliui.

18. 1 x DC į DC Buck keitiklio modulis

19. 1 x 70 mm x 120 mm x 39 mm kvadratinė juoda plastikinė dėžutė (korpusas)

20. 1 x 70 mm x 50 mm x 70 mm juoda plastikinė dėžutė (galvutė)

21. 4 x 40 mm M3 žalvario stovai ir 4 guminės atramos

22. Įvairūs jungiamieji kabeliai nuo vyrų iki vyrų, lydmetalis, m3 varžtai ir varžtai bei karšti klijai

Kojų judesiai pagal specialią logiką. Fotoaparato judėjimas per du nepriklausomus servoservis, kurie atsisako, žemyn, kairėn, dešinėn ir centre. Fotoaparatas valdomas naudojant WIFI ryšį, rodomas „Android“programos „WebView“rodinyje.

2 žingsnis: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Kiekvienas turi ne daugiau kaip 180 laipsnių

bent 0 laipsnių judėjimas.

Kiekviena servo sistema identifikuojama trijų skaičių kombinacija, LegCFT; kur C yra kūnas (COXA), F yra šlaunys (FEMUR), o T yra alkūnė (TIBIA), taigi 410 reiškia ketvirtąją koją ir blauzdikaulio servo, panašiai 411 - ketvirtą koją ir blauzdikaulio servo. Skaičiavimo seka būtų nuo 100 iki 611. Kiekviena servo kojelė turi guminę koją, kad sušvelnintų smūgį ir užtikrintų geresnį sukibimą.

1 koja: 100, 110, 111 Priekyje

2 koja: 200, 210, 211 koja2-koja1

3 koja: 300, 310, 311 koja4-koja3

4 koja: 400, 410, 411 koja6-koja5

5 koja: 500, 510, 511 atgal

6 koja: 600, 610, 611

Numatytoji visų „Coax Servo“padėtis yra 90 laipsnių.

Numatytoji šlaunikaulio servo padėtis yra 90 laipsnių, poilsio padėtis - 45 laipsniai.

Numatytoji „Tibia Servos“padėtis visoms kojoms yra 90 laipsnių, 1, 3 ir 5 kojoms - 175 laipsnių kaip poilsio padėtis, o 2, 4 ir 6 kojoms - 5 laipsniai.

Kaklas 1: 700 Tik 75–105 laipsnių judėjimas aukštyn ir žemyn

Kaklas 2: 800 Tik 45–135 laipsnių kampu judant kairėn ir dešinėn

Servo judėjimas apsiriboja trimis „rašymais“prieš įtraukiant 10 milisekundžių vėlavimą, prieš išleidžiant tolesnes „rašymo“komandas. Tai padeda sumažinti baterijų apkrovą.

3 žingsnis: KOMANDOS

KOMANDOS
KOMANDOS
KOMANDOS
KOMANDOS
KOMANDOS
KOMANDOS

A = Sustabdyti - stovėkite numatytoje padėtyje.

B = pirmyn - eiti pirmyn

C = atvirkščiai - eik atgal

D = dešinė - posūkis į dešinę

E = kairė - posūkis į kairę

F = judėjimas į kairę į šoną - krabas_kairė

G = judėjimas į dešinę į šoną - krabas_dešinys

H = galinis lankstas (1 ir 2 kojos daugiausiai, 3 ir 4 kojos neutralioje padėtyje, 5 ir 6 kojos minimalioje padėtyje)

I = Priekinis lankstymas (1 ir 2 kojos minimalioje padėtyje, 3 ir 4 kojos neutralioje padėtyje, 5 ir 6 kojos maksimalioje padėtyje)

J = kameros įlenkimas - centre (1 kaklas ir 2 kaklas vidurinėje padėtyje, numatytoji padėtis)

K = fotoaparatas kairėje - pan_left (1 kaklas, vidurinė padėtis, 2 kaklo servo minimali padėtis)

L = fotoaparatas dešinėje - pan_right (kaklas 1, vidurinė padėtis, kaklo 2 servo maksimali padėtis)

M = fotoaparatas aukštyn - pan_up (1 kaklo maksimali padėtis, 2 kaklo servo vidurinė padėtis)

N = nuleista kamera - pan_down (1 kaklo minimali padėtis, 2 kaklo servo vidurinė padėtis)

O = ilsintis (šešiakampis) sėdi ant atramų.

P = atsistojimas - šešiakampis stovi į numatytąją padėtį.

Q = Išjungta šviesa

R = žalia šviesa „Pixie Neon“šviesos žiede.

S = raudona lemputė „Pixie Neon“šviesos žiede.

T = Mėlyna šviesa „Pixie Neon“šviesos žiede.

U = balta šviesa „Pixie Neon“šviesos žiede.

V = banguojančios priekinės kojos.

W = garso signalas.

X = braukite galvą iš kairės į dešinę.

Y = „Play Tune“.

4 žingsnis: JUDĖJIMAS

JUDĖJIMAS
JUDĖJIMAS
JUDĖJIMAS
JUDĖJIMAS
JUDĖJIMAS
JUDĖJIMAS

„Coax“servo padėtis yra išilginė kūno ašies atžvilgiu, todėl tiesiai į priekį yra 0 laipsnių, o už nugaros - 180 laipsnių. Tačiau šis „Coax“ir visi kiti servai bus ribojami nuo 45 iki 135 laipsnių.

Kojų judėjimas pirmyn, atgal, kairėn ir dešinėn būtų pradėtas pakeliant koją, naudojant šlaunikaulio ir blauzdikaulio servo, po to - kūno servo judesį ir galiausiai vėl nuleidžiant tą pačią koją, naudojant šlaunikaulio ir blauzdikaulio servus.

Pirmyn ir atgal

Norėdami judėti į priekį arba atgal kojas, dirbkite poromis, 1 ir 2, 3 ir 4, 5 ir 6. Paprastas judesys į priekį susideda iš 1 ir 2 kojų, judančių iš dabartinės padėties į kiek įmanoma į priekį, tada 3 ir 4 kojas, ir galiausiai 5 ir 6 kojos pakartoja tą patį veiksmą. Tada visi šeši „Coax“servo mechanizmai persikelia iš šios išplėstos priekinės padėties atgal į pradinę pradinę padėtį. Šio proceso atvirkštinė dalis naudojama judėti atgal. Vykdydamas judėjimo į priekį procesą, ultragarso įrenginys HC_SR04 patikrins, ar nėra kliūčių, ir jei jis bus rastas, atsitiktinai pasukite „Hexapod“į kairę arba į dešinę.

Kairė ir dešinė

Norėdami judėti kairės ar dešinės kojų poros, dirbkite kartu, bet priešingomis kryptimis. Taigi, pavyzdžiui, pasukti dešinę koją 1 juda iš dabartinės padėties atgal į 135 laipsnių padėtį, o antroji koja juda pirmyn į 45 laipsnių padėtį. Tai kartojama 3 ir 4, 5 ir 6 kojų poroms. Tuo metu „Coax“servos perkelia savo pradinę padėtį atgal į naują padėtį, sukdami kūną į judėjimo kryptį, t. teisingai. Šis procesas tęsiamas tol, kol bus baigtas reikiamas sukimasis į kairę. Šio proceso atvirkštinė dalis naudojama pasukti į kairę, todėl 1 koja juda iš dabartinės padėties į priekį į 45 laipsnių padėtį, o antroji-atgal į 135 laipsnių padėtį.

Atsistokite ir pailsėkite

Abu šie procesai nenaudoja vienos iš kojų „Coax“servo, todėl, norint atsistoti, blauzdikaulio servo visoms kojoms juda iš dabartinės padėties į maksimalų 45 laipsnių kampą, o pailsėti tie patys šlaunikaulio servai juda žemiausiai padėtis, 175 arba 5 laipsniai. Tas pats judesys galioja ir blauzdikaulio servovarikliams, kurie juda maksimaliai 45 laipsnių kampu stovėdami ir mažiausiai, t.y. Poilsis 175 arba 5 laipsniai.

Pasilenkite į priekį ir pasilenkite atgal

Čia ir vėl procesai yra veidrodiniai vienas kito vaizdai. Norėdami pasilenkti į priekį, 1 ir 2 kojos yra žemiausioje padėtyje, o 5 ir 6 kojos yra aukščiausioje padėtyje. Abiem atvejais 4 ir 5 kojos užima neutralią padėtį, atitinkančią 1 ir 2, 5 ir 6 kojų rinkinius. Atsilenkus atgal 1 ir 2 kojos yra aukščiausioje padėtyje, o 5 ir 6 kojos yra žemiausioje padėtyje.

5 žingsnis: GALVOS KAMERA/SONARAS

GALVOS KAMERA/SONAR
GALVOS KAMERA/SONAR
GALVOS KAMERA/SONAR
GALVOS KAMERA/SONAR
GALVOS KAMERA/SONAR
GALVOS KAMERA/SONAR

Galvą sudarys kvadratinė plastikinė dėžutė 38 mm x 38 mm x 38 mm su nuimamu dangteliu. Dėžutė/galva judės ribotai vertikaliai ir horizontaliai. Judėjimas bus pasiektas naudojant du servovariklius, vieną pritvirtintą prie roboto kūno, antrą - prie pirmojo servo korpuso, o ranką - prie galvos. 7.4v, tiekiamas iš dviejų 18650 baterijų, maitins „Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT“kūrimo plokštę „DEVKIT“, pritvirtintą prie „Arducam“mini modulio fotoaparato skydo su OV2640 2 megapikselių objektyvu. Šis išdėstymas leis robotui aptikti kliūtis ir transliuoti tiesioginį vaizdo įrašą per „Wi-Fi“. Sonaras, naudojantį HC-SR04 ir galimą šviesos valdymo informaciją, grįžtų į „Arduino Mega“.

Dėkoju Dmainmunui už jo straipsnį „Arducam Instructables“, kuris labai padėjo man iš pradžių suprasti, kaip „Arducam“būtų galima naudoti vaizdo transliacijai.

Baterija

Buvo nuspręsta naudoti du akumuliatorius, vieną galvos komponentams ir „Arduino Mega“plokštę, o antrąjį paketą - tiekti elektros energiją visiems servo įrenginiams. Pirmąją pakuotę sudarė 2 x 18650 3400mAh baterijos, tiekiančios 7.4v. Antrąjį paketą sudarė 2 x 6 V 2800 mAh talpos akumuliatoriai, prijungti lygiagrečiai, taip gaunant 6,4 V maitinimo šaltinį, bet padidintą 5600 mAh talpą, pritvirtintą prie „Hexapod“apačios, naudojant „Velcro“juosteles.

6 žingsnis: KOJŲ JUDIMAS

KOJŲ JUDĖJIMAS
KOJŲ JUDĖJIMAS
KOJŲ JUDĖJIMAS
KOJŲ JUDĖJIMAS
KOJŲ JUDĖJIMAS
KOJŲ JUDĖJIMAS

Ginklai gali veikti poromis arba pavieniui. Kiekviena ranka susideda iš kūno sąnario, vadinamo „Coax“su 45–135 laipsnių judesiu, šlaunies sąnario, vadinamo šlaunikauliu, su 45–135 laipsnių judesiu, ir galiausiai alkūnės sąnario, vadinamo blauzdikauliu, arba galinio efektoriaus, judant nuo 45 iki 135 laipsnių. Sukurta speciali programinė įranga, skirta kojų judėjimui.

Kojų judesių tipai:

„Coax“atveju 45 laipsnių kampas nukreiptas atgal nuo galvos, 90 laipsnių - neutrali padėtis, o 135 laipsnių - į priekį.

Šlaunikaulio srityje 45 laipsniai yra aukščiausia padėtis nuo žemės, 90 laipsnių - neutrali padėtis, o 135 laipsniai - žemiausia padėtis nuo žemės.

Blauzdikaulio atveju 45 laipsniai yra labiausiai nutolusi nuo kūno, 90 laipsnių - neutrali padėtis, o 135 laipsniai - arčiausiai kūno.

Tarkime, kad visos servos yra neutralios padėties, 90 laipsnių.

Pirmyn: 1 ir 2 kojos, šlaunikaulis pakeltas iki 135 laipsnių, „Coax“juda iki 45 laipsnių, blauzdikaulis juda iki 45 laipsnių labiausiai nutolęs nuo kūno, šlaunikaulis nusileidžia iki 45 laipsnių. Tai kartojama 3 ir 4 kojų poroms bei 5 ir 6 kojų poroms. Visos 6 „Coax“servoservis juda nuo 45 laipsnių atgal iki 90 laipsnių, neutrali padėtis, visos 6 šlaunikaulio servo dalys juda nuo 45 laipsnių iki 90 laipsnių, neutrali padėtis. Galiausiai, visi blauzdikaulio servovarikliai pakyla nuo 45 laipsnių iki 90 laipsnių, neutralios padėties.

Atvirkštinė dalis: pradedant 5 ir 6 kojomis, tada 3 ir 4 kojomis ir galiausiai 1 ir 2 kojomis, priešingu atveju judesiai yra vienodi koaksalui, šlaunikauliui ir blauzdikauliui.

Kairė: 1, 3 ir 5 kojos juda priešinga kryptimi, o 2, 4 ir 6 kojos juda į priekį. Judėjimas pirmyn ir atgal atitinka standartinį judėjimą pirmyn ir atgal. Norėdami užbaigti visus šešis „Coax“servo posūkius, pasukite 45 laipsnius, o tai pasuka kūną.

Dešinė: 2, 4 ir 6 kojos juda priešinga kryptimi, o 1, 3 ir 5 kojos juda į priekį. Judėjimas pirmyn ir atgal atitinka standartinį judėjimą pirmyn ir atgal. Koaksialinis judėjimas yra panašus į aukščiau, bet priešinga kryptimi.

Poilsis: visos „Coax“ir šlaunikaulio servo dalys neutralios padėties, visos blauzdikaulio servo dalys žemiausioje padėtyje 45 laipsnių kampu, efektyviai pritūpusios tiek priekines, tiek vidurines, tiek galines kojas.

Sulenkite galą, stovėkite priekyje: 1 ir 2 kojos aukščiausioje padėtyje, 3 ir 4 kojos neutralioje padėtyje, o 5 ir 6 kojos žemiausioje padėtyje.

Atsistokite gale, sulenkite priekį: 1 ir žemiausios kojos, 3 ir 4 kojos neutralioje padėtyje, o 5 ir 6 kojos aukščiausioje padėtyje.

Krabas į kairę: 1 ir 5 kojos pakelia ir ištiesia į kairę, tuo pačiu metu 2 ir 6 kojos pakyla ir susitraukia po kūnu. Kai visos keturios šios kojos yra ant žemės, visi blauzdikauliai grįžta į neutralią padėtį. Galiausiai 3 ir 4 kojos pakartoja tą patį procesą.

Krabas į dešinę: 2 ir 6 kojos pakelia ir ištiesia į dešinę, tuo pačiu metu 1 ir 5 kojos pakyla ir susitraukia po kūnu. Kai visos keturios šios kojos yra ant žemės, visi blauzdikauliai grįžta į neutralią padėtį. Galiausiai 3 ir 4 kojos pakartoja tą patį procesą.

Kairysis galvos judesys: kaklas 1 servo 45 laipsnių kampu. Abu servai grįžta į 90 neutralią padėtį.

Galvos dešinysis judesys: kaklas 1 servo 135 laipsnių kampu

Galvos judėjimas aukštyn: kaklas 2 servo 45 laipsnių kampu

Galvos judesys žemyn: kaklas 2 servo 135 laipsnių

Keptuvės galvos judesys: kaklas 2 pasislenka nuo 45 iki 135 laipsnių

SERVOS

Po pradinio bandymo MG995 ir MG996 servo dalys buvo pakeistos. Visi 20 servo buvo pakeisti DS32228 20 kg servo, kuris gerokai pagerino centravimą ir padidino apkrovą.

Svarbu kruopščiai išbandyti kiekvieną servo sistemą naudojant tinkamą testavimo programą. Aš pakeičiau paprastą „šlavimo“pavyzdinę programą, kad specialiai išbandyčiau 0, 90 ir 180 pozicijas, ši bandymo rutina buvo vykdoma mažiausiai 5 minutes kiekvienai servo sistemai ir po to kartojama po dienos.

PASTABA: naudojant standartinę „Arduino Uno“plokštę, maitinamą USB kabeliu, gali būti nepakankama įtampa tam tikriems servo įrenginiams paleisti. Radau, kad 4,85 V servo, gautas iš „Uno“, sukėlė nepastovų elgesį su DS3218 servo sistemomis, padidinus šią įtampą iki 5,05 V. Taigi, aš nusprendžiau paleisti servus 6v. Galų gale aš sužinojau, kad reikalinga 6,4 V įtampa, nes 6 V sukėlė nepastovų servo elgesį.

7 žingsnis: KONSTRUKCIJA

STATYBA
STATYBA
STATYBA
STATYBA
STATYBA
STATYBA

KOJOS

Pradėjo nuo „Hexapod“komplekto dalių klojimo. Visiems servo apvaliems ragams reikėjo padidinti matomąją skylę abiejuose šlaunikaulio galuose ir visas bendraašes angas. Kiekvienas servo ragas buvo pritvirtintas prie atitinkamo „Coax“ir šlaunikaulio keturiais varžtais ir penktu varžtu per servo galvutės centrą. Visi servo korpusai pritvirtinti keturiais varžtais ir veržlėmis. „Coax“servo laikiklis kiekvienai iš šešių kojų turėjo guolį, pritvirtintą prie tvirtinimo apačios, naudojant vieną varžtą ir veržlę. Kiekvienas „Coax“servo tvirtinimo elementas buvo pritvirtintas keturiais varžtais ir veržlėmis prie šlaunikaulio servo, kai šis tvirtinimas buvo pasuktas 90 laipsnių kampu. Šlaunikaulio servo galva buvo pritvirtinta prie vieno šlaunikaulio rankos galo, o kitas šlaunikaulio galas pritvirtintas prie blauzdikaulio servo galvos. Šeši blauzdikaulio servo buvo pritvirtinti prie šešių kojų viršaus keturiais varžtais ir veržlėmis. Kiekvienas kojos galo efektorius buvo padengtas minkštu guminiu bateliu, kad būtų užtikrintas papildomas sukibimas. Nustatyta, kad pridedamas servo ragas buvo per didelis, kad būtų galima pritvirtinti prie bendraašio, šlaunikaulio ir blauzdikaulio jungčių, todėl visos centro skylės buvo padidintos iki 9 mm. Dėkoju „Toglefritz“už jo „Capers II“pamokymus dėl „Hexapod“rinkinio konstrukcinių elementų. Tačiau aš nukrypau nuo konstrukcijos vienoje srityje, būtent servo ragų pritvirtinimo prie abiejų šlaunikaulio galų. Aš nusprendžiau padidinti šlaunikaulio centrinę skylę, kad servo rago centras galėtų praeiti pro ją, taip suteikdamas servo ragui papildomos jėgos, nes jis buvo arčiau servo ir šios dvi jungtys patyrė didžiausią sukimo momentą. Kiekvienas servo ragas buvo pritvirtintas prie šlaunikaulio, naudojant du M2.2 savisriegius varžtus, o šių varžtų galai buvo nuimti ir nulenkti. Visi M3 varžtai buvo tvirtai uždaryti.

KŪNAS

Korpusas susideda iš dviejų plokščių, kurių kiekvienoje yra šešios skylės, kiekviena skylė naudojama „Coax“servo ragui pritvirtinti. Dvi 6V 2800mAh baterijos buvo pritvirtintos prie apatinės plokštės pusės naudojant Velcro. Buvo pritvirtinti keturi M3 stovai, einantys už akumuliatoriaus laikiklio apačios, kiekvienas su minkštu guminiu įkrovikliu, nuslystančiu ant dugno, todėl tai yra stabilus pagrindas, ant kurio „Hexapod“gali remtis. Viršutinėje apatinės plokštės dalyje yra „Arduino Mega“ir jutiklio skydas, pritvirtintas naudojant keturis 5 mm stovus. Apatinės plokštės viršuje buvo pritvirtinti 4 x M3 stovai 6 cm aukščio, jie apsupo „Arduino Mega“ir palaikė viršutinę plokštę. Prie viršutinės plokštės buvo pritvirtinta 120 mm x 70 mm x 30 mm dėžutė, kurioje bus pirmasis iš kaklo servo ir LCD ekranas. Antrasis 2 skyrius, 2 x 18650 baterijų laikiklis buvo pritvirtintas prie viršutinės plokštės apačios prie „Arduino Mega“plokštės galo, nukreiptos į „Hexapod“priekį.

Viršutinėje plokštėje yra šeši servo ragai, kiekvienas pritvirtintas keturiais M2.2 varžtais. Plokštelės viršuje sumontuota 70 mm x 120 mm x 30 mm dėžutė, į kurią įdėtas 2 skyrelių 18650 baterijų laikiklis, dviejų polių jungiklis, žalias šviesos diodas ir IC2 16 x 2 LCD ekranas. Be to, taip pat sumontuotas pirmasis kaklo servo, maitinimo ir antrojo kaklo servo duomenų kabelis praeina per skylę, kad padėtų antrą servo ir „Arduino V3 NodeMcu“modulį. Kitas duomenų kabelis eina per viršutinę dėžę ir tiekia ultragarso modulį HC-SR04, vėl esantį galvoje. Antrasis duomenų ir maitinimo kabelis taip pat yra prie galvos, kad būtų galima maitinti „Pixie“sukurtą žiedą.

Du servo duomenų kabeliai ir duomenų kabelis HC-SR04 tiekiami per viršutinę plokštę, o „Bluetooth“modulis yra pritvirtintas prie plokštės apačios, naudojant neoninį formos padėklą ir karštus klijus. Prieš bandant pritvirtinti viršutinę plokštę prie apatinės plokštės, naudojant 4 x M3 varžtus, kurie telpa į 4 x M3 stovus, pritvirtintus prie apatinės plokštės, turi būti prijungti likusių 18 servo duomenų kabelių kabeliai. Viršutinės apatinės plokštės tvirtinimo proceso metu visi šeši „Coax“servo įtaisai taip pat turi būti dedami teisingoje padėtyje, guolio jungtis į apatinės plokštės angą, o servo galvutė - į viršutinės plokštės ragą. Sumontuotos šešių „Coax“servo viršutinės dalys tvirtinamos 6 M3 varžtais. Dėl šešių „Coax“servo servo ragų padėties 4 x M3 atramų aukštis turėjo būti sumažintas 2 mm, kad „Coax“servo guoliai tinkamai įsitaisytų apatinėje plokštėje.

GALVA

Galva susideda iš dviejų servo, 90 laipsnių kampu viena kitos atžvilgiu, viena yra dėžutėje, pritvirtintoje prie viršutinės plokštės, o antroji-prie servo rago, naudojant U formos žalvario plokštės dalį. Antrasis servo ragas yra pritvirtintas prie L formos žalvario laikiklio, kuris pats yra pritvirtintas prie 70 mm x 70 mm x 50 mm dėžutės su dviem varžtais ir veržlėmis. Dėžutė sudaro galvutę, kurios viduje sumontuota „Ardcam“kamera, ultragarso modulis „HC-SR04“ir „Arduino V3 NodeMcu“modulis bei maitinimo šviesos diodas. Tiek ultragarso modulis, tiek fotoaparato objektyvas, perduoda ir priima jutiklio galvutes, išsikišusias per dėžutės priekį. Aplink objektyvą dėžutės išorėje yra 16 LCD Nero pixie žiedas. „NodeMcu“maitinimo šviesos diodas matomas per skylę galvos galinėje plokštėje, maitinimo kabelis, ultragarso modulio duomenų kabelis ir „Pixie Neon“duomenų maitinimo kabeliai patenka per skylę tarp galinės plokštės ir galvos plokštės.

ELEKTRONIKA

Toliau pateiktose Fritzingo diagramose parodyta kūno ir galvos elektronika. VCC ir GRD linijos nerodomos 20 servų, kad diagrama būtų aiškesnė. „Bluetooth“modulis per „Android“programą valdo „Hexapod“judesį, įskaitant kaklo servus. WIFI pagrįstas „Arduino NodeMcu“modulis valdo „Arducam“kameros modulį. Visi servai yra prijungti prie „Arduino“jutiklio skydo per vieną bloką, kuriame yra VCC, GRD ir signalo linijos. Standartiniai 20 cm ilgio „DuPont“jungiamieji kabeliai naudojami prijungti „Bluetooth“BT12, HC-SR04 ir IC2 LCD.

KOJŲ KALIBRAVIMAS

Tai yra viena iš sunkiausių pasirengimo sričių prieš pradedant šešiakampio judėjimą. Pradinė idėja yra nustatyti visas kojas taip: „Coax servos“- 90 laipsnių, šlaunikaulio - iki 90 laipsnių, o blauzdikaulio servos - 90, o fizinė kojų padėtis nustatyta į 105 laipsnius 2, 4 ir 6 kojoms ir 75 laipsnių 1, 3 ir 5 kojoms. „Hexapod“buvo pastatytas ant lygaus paviršiaus, esančio ant keturių atramų po akumuliatoriaus korpusu. Tai kojos, esančios vienodo atstumo taškuose tarp kiekvienos kojos ir vienodu atstumu nuo kūno. Visos šios vietos pažymėtos ant lygaus paviršiaus. Statant kojas buvo rastas kiekvieno servo vidurinis taškas, tai turėtų būti servo 90 laipsnių padėtis. Ši numatytoji 90 laipsnių padėtis naudojama su visais servo prietaisais.

„Coax“servos 2 ir 5 vidinės pusės yra lygiagrečios viena kitai, tai taikoma 1 ir 6, 3 ir 4 servo sistemoms. Visi šlaunikaulio ir koaksialiniai servai konstrukcijos metu yra pritvirtinti 90 laipsnių kampu vienas kito atžvilgiu. Visos šlaunikaulio servo dalys turi šlaunikaulio ranką, pritvirtintą 90 laipsnių kampu. Visos blauzdikaulio servo dalys yra pritvirtintos prie blauzdikaulio 90 laipsnių kampu. 2, 4 ir 6 blauzdikaulio servos yra pritvirtintos prie šlaunikaulio rankos 105 laipsnių kampu, o 1, 3 ir 5 blauzdikaulio servo dalys yra pritvirtintos prie šlaunikaulio 75 laipsnių kampu.

Svarbu pažymėti, kad atliekant bandymus visų servo sistemų temperatūra turi būti stebima, karšta servo sistema reiškia, kad servo sistema dirba per stipriai ir gali sugesti, dauguma servo bus šilta.

Pradinis kalibravimas - įjungus „Hexapod“iš jo poilsio padėties, į pastovią, stabilią, lygią padėtį, o svarbiausia, kad nė vienas servo nėra perkaitęs. Norint išlaikyti pastovią padėtį, būtina į kiekvieną servo įrašyti su vėlavimu, mažesniu nei 20 milisekundžių, buvo panaudota 10 milisekundžių. Visos servos gali judėti tik nuo 0 iki 180 laipsnių ir nuo 180 laipsnių atgal iki 0, todėl visų šlaunikaulio servų 0 ir 180 laipsnių kampas yra vertikalus, o 90 laipsnių horizontalus.

Prieš prijungiant kiekvieną servo, inicijavimo raštas buvo išsiųstas į kiekvieną iš anksčiau apibrėžtų servo, suteikiant jam dabartinį poilsio kampą, t. esama padėtis, kurioje servo yra ramybės būsenoje. Tai buvo 90 laipsnių visų „Coax“servų, 55 laipsnių - 1, 3 ir 5 šlaunikaulio ir blauzdikaulio servos, 125 - 2, 4 ir 6 šlaunikaulio ir blauzdikaulio servos.

Svarbu pažymėti, kad kalibravimo sesijos pradžioje akumuliatoriai visada turi būti visiškai įkrauti.

„Hexapod“visada prasideda nuo poilsio padėties, o visas kūnas yra palaikomas keturiomis kojomis. Iš šios padėties visi šlaunikaulio ir blauzdikaulio servovarikliai yra važiuojami nuo pradinės padėties iki stovinčios padėties, o tada visos servo dalys yra 90 laipsnių kampu. Norint užbaigti stovėjimo padėtį, išleidžiama komanda „stovėti“. Ši komanda reikalauja, kad visos kojos pakeltų ir vėl nusileistų dviem trijų kojų judesių rinkiniais - 1, 5 ir 4, 2, 6 ir 3.

8 žingsnis: PROGRAMINĖ ĮRANGA

Programinę įrangą sudaro trys dalys, pirmoji dalis yra „Arduino“kodas, veikiantis „Arduino Mega“, antroji dalis - „Arduino“kodas, veikiantis „NodeMcu“modulyje galvoje. Ryšys vyksta per „Bluetooth BT12“įrenginį, kuris gauna komandas iš „Android“planšetinio kompiuterio, būtent „Samsung Tab 2“, kuriame veikia „Android Studio“sukurta pasirinktinė programa. Būtent ši programa siunčia komandas „Hexapod“. Ta pati programa taip pat gauna tiesioginį vaizdo įrašą iš „NodeMcu“modulio per integruotą WIFI.

ANDROID KODAS

Individualus „Android“kodas, sukurtas naudojant „Android Studio“, yra platforma, kurioje veikia dviejų ekranų programa. Programa turi du ekranus, pagrindinis ekranas leidžia vartotojui duoti komandas „Hexapod“ir peržiūrėti vaizdo įrašo sklaidos kanalą, gaunamą iš šešiakampio galvutės. Antrasis ekranas, pasiekiamas naudojant WIFI mygtuką, leidžia vartotojui prisijungti prie „hexapod Bluetooth“ir antra prie „WIFI“karšto taško, kurį sukuria „NodeMCU Arduino“kortelė šešiakampio galvutėje. Programa siunčia vienos raidės komandas per serijinį 9600 Baud iš planšetinio kompiuterio per įterptą „Bluetooth“į „BT12 Bluetooth“, prijungtą prie šešiakampio.

ARDUINO KODAS

Kodo kūrimas prasidėjo sukūrus testavimo programą, skirtą pagrindinėms „Hexapod“funkcijoms - galvai ir kūnui - patikrinti. Kadangi galva ir jos veikimas yra visiškai atskirti nuo kūno, jos programinės įrangos kūrimas buvo išbandytas lygiagrečiai su kūno funkcijos kodu. Galvos veikimo kodas iš esmės buvo pagrįstas ankstesne plėtra, įtraukus servo judėjimą. Į kodą įeina 16x2 LCD ekrano, HC-SR04 ultragarso modulio ir 16 LED šviesos žiedo valdymas. Norint suteikti WIFI prieigą prie tiesioginio vaizdo įrašo iš galvos, reikėjo tolesnio kodo kūrimo.

Kūno funkcijos kodas iš pradžių buvo sukurtas taip, kad užtikrintų pradinį servo pritvirtinimą ir pradinę padėtį ramybės būsenoje. Iš šios padėties „Hexapod“buvo užprogramuotas tiesiog stovėti. Tada kūrimas vyko papildomais „Hexapod“judesiais ir galvos bei kūno kodo sekcijų derinimu su nuosekliu ryšiu su „Android“programa.

Bandomasis servo kodas leido plėtoti kojų ir kūno judesius, būtent:

1. „InitLeg“- leidžia pailsėti kojoms, stovėti kojose, pradėti krabų pradinę padėtį vaikščiojant kairėn arba dešinėn, pradinę koją einant pirmyn arba atgal.

2. Banga - leidžia priekinėms kojoms banguoti keturis kartus prieš grįžtant į stovimą padėtį.

3. „TurnLeg“- leidžia šešiakampiui pasukti į kairę arba į dešinę.

4. „MoveLeg“- leidžia „Hexapod“vaikščioti pirmyn arba atgal.

5. CrouchLeg- leidžia šešiakampiui nusileisti į priekį ant priekinių kojų arba atgal ant galinių kojų.

Kojų judėjimas grindžiamas kartu dirbančiomis kojų poromis, todėl 1 ir 2, 3 ir 4, 5 ir 6 kojos veikia kaip poros. Judėjimas susideda iš dviejų pagrindinių veiksmų: pasukimo į priekį ir traukimo bei paspaudimo atgal. Norint eiti atgal, šie du judesiai yra atvirkštiniai, pavyzdžiui, einant pirmyn, 1 ir 2 kojos traukia, o 5 ir 6 kojos stumia, 3 ir 4 kojos užtikrina stabilumą. Krabų vaikščiojimas yra tiesiog tie patys veiksmai, tačiau nustatyti 90 laipsnių kampu į kūną, šiuo atveju 3 ir 4 kojos taip pat juda taip pat, kaip ir kitos kojos. Nors vaikščiojančios kojų poros juda pakaitomis, tačiau kai krabų vaikščiojimo kojos 1 ir 5 veikia kaip pora, o 3 koja veikia skirtingais žingsniais iki 1 ir 5 kojų.

Judėjimas Toliau pateikiamas kiekvienos pagrindinės judesio funkcijos funkcinis aprašymas, kurių kiekviena susideda iš judesio elementų, sujungtų ir atliktų tam tikra seka.

POILSIS: Pradedant nuo stovinčios padėties, visi šlaunikaulio servai juda aukštyn, kad nuleistų kūną ant keturių atramų. Tuo pačiu metu visi blauzdikaulio servai juda į vidų.

STOVYMAS: Pradedant nuo poilsio padėties, visi blauzdikaulio servo judesiai išeina į išorę, kai visi šlaunikaulio servo judesiai pakyla į 90 laipsnių padėtį, galiausiai visi blauzdikaulio servai perkeliami į 90 laipsnių padėtį tuo pačiu metu.

Pasukimas į kairę: 1, 3 ir 5 kojos 45 laipsniais atsitraukia nuo galvos, tuo pačiu metu 2, 4 ir 6 kojos juda į priekį galvos link. Baigę visus „Coax“servo variklius, iš dabartinės padėties grįžkite į standartinę 90 laipsnių padėtį, šis judesys būtų prieš laikrodžio rodyklę.

SUSUKIMAS Į dešinę: 1, 3 ir 5 kojos juda į priekį galvos link 45 laipsniais, tuo pačiu metu 2, 4 ir 6 kojos juda atgal nuo galvos. Baigę visus „Coax“servo variklius, iš dabartinės padėties grįžkite į standartinę 90 laipsnių padėtį, šis judesys būtų nukreiptas į kūną pagal laikrodžio rodyklę.

PRIEKINIS: 1 ir 2 kojos nuleistos naudojant šlaunikaulio ir blauzdikaulio servo, o 5 ir 6 kojos pakeltos naudojant šlaunikaulio ir blauzdikaulio servos, 3 ir 4 kojos lieka standartinėje padėtyje.

KROUCH Backback: 1 ir 2 kojos pakeltos naudojant šlaunikaulio ir blauzdikaulio servo, o 5 ir 6 kojos nuleistos naudojant šlaunikaulio ir blauzdikaulio servo, 3 ir 4 kojos lieka standartinėje padėtyje.

MOKYMAS: Ši rutina naudoja tik 1 ir 2 kojas. „Coax“servovarikliai juda 50 laipsnių lanku, o šlaunikaulis ir blauzdikaulis taip pat juda 50 laipsnių lanku. 3 ir 4 kojos juda į priekį galvos link 20 laipsnių kampu, tai suteikia stabilesnę platformą.

ĖJIMAS IŠ priekio: 1 ir 6, 2 ir 5, 3 ir 4 kojos turi veikti kartu. Taigi, kai 1 koja traukia kūną, 6 koja turi stumti kūną, kai tik šis veiksmas bus baigtas, 2 ir 5 kojos turi atlikti tą patį veiksmą, o kiekvienas iš šių veiksmų ciklų - 3 ir 4 kojos. eiti į priekį rutina.

Pradinės bandomosios kojos modulio funkcijos leido sukurti kiekvieną iš trijų kojų judesių. Reikalingi trys kojų judesiai, nes priešingos kojos tiesiog atlieka atvirkštinius judesius. Sukurtas, išbandytas ir nukopijuotas naujas kombinuotas 1, 3 ir 6 kojų modulis, skirtas antram apverstam 2, 4 ir 5 kojų moduliui. Šešiakampio kojos judesių bandymas buvo atliktas padedant šešiakampį ant pakelto bloko, kad kojos galėtų visiškai judėti neliesdami žemės. Matavimai buvo atlikti, kai kojos judėjo, ir buvo nustatyta, kad visos kojos juda horizontaliai 80 mm atstumu, tuo pačiu metu judėjimo metu liko 10 mm nuo žemės žemiausioje vietoje. Tai reiškia, kad „Hexapod“judėjimo metu tiesiog pasisuks iš vienos pusės į kitą ir kad visos kojos judėjimo metu turės vienodą traukimo jėgą.

ĖJIMAS atbuline eiga:

KAIRĖS KRABŲ ĖJIMAS: Pradinis judėjimas prasideda 1, 2, 5 ir 6 kojomis, kurios visos sukasi 45 laipsniais važiavimo krypties link. Taip visos kojos sutampa su važiavimo kryptimi, 3 ir 4 kojos jau yra teisingos padėties. Kiekvienos kojos šlaunikaulis ir blauzdikaulis prasideda pradinėje 90 laipsnių padėtyje. Šią eiseną sudaro du trijų kojų rinkiniai, veikiantys pakaitomis, 1, 5 ir 4 kojos, 3, 2 ir 6 kojos. Kiekvienas trijų kojų rinkinys veikia traukiant priekinėmis kojomis, ty 1 ir 5, ir stumiamas 4 koja, šis judesys yra atvirkštinis, todėl 3 koja traukia, o 2 ir 6 kojos stumia, nė vienas iš „Coax“servo šio judesio metu neatlieka jokio darbo. Kiekvienas trijų kojų komplektas pakelia nejudantį kitą kojų komplektą, kai juda pirmasis rinkinys.

KRABŲ EINAMASIS TEISIS:

PASTABA: galva pasuks krabų ėjimo kryptimi kairėn arba dešinėn. Tai leidžia HC-SR04 ultragarsinį aptikimą naudoti einant.

KOJŲ NUSTATYMAS: Kad „Hexapod“stovėtų lygiai, visos kojos turi būti vienodo aukščio. Padėjus „Hexapod“ant blokų, o paskui naudojant stovo ir poilsio režimus, buvo galima išmatuoti atstumą nuo kiekvieno galinio efektoriaus žemės paviršiaus. Prie kiekvieno galinio efektoriaus pridėjau guminius batus, kad pirmiausia pridėčiau sukibimą, bet taip pat būtų galima šiek tiek pakoreguoti kojų ilgį, kad tarp visų kojų būtų 5 mm ar mažiau. Nustatyti kiekvieną servo iki 90 laipsnių buvo lengva, tačiau kiekvieno servo rago pritvirtinimas prie abiejų šlaunikaulio galų gali ir sukėlė problemų, nes labai nedideli ragų vidinių stuburo sukimosi kampų skirtumai lemia, kad kojų aukštis gali skirtis 20 mm. Pakeitus varžtus į skirtingas tvirtinimo angas servo raguose, šis 20 mm aukščio skirtumas buvo ištaisytas. Buvau pasiryžęs išspręsti šią problemą naudodamas šį metodą, o ne kompensuoti šiuos aukščio skirtumus naudojant programinę įrangą.

Rekomenduojamas: