INHOUDSOPGAWE:

Jasper the Arduino Hexapod: 8 stappe (met foto's)
Jasper the Arduino Hexapod: 8 stappe (met foto's)

Video: Jasper the Arduino Hexapod: 8 stappe (met foto's)

Video: Jasper the Arduino Hexapod: 8 stappe (met foto's)
Video: Jasper Arduino Hexapod Robot 2024, Julie
Anonim
Jasper die Arduino Hexapod
Jasper die Arduino Hexapod
Jasper die Arduino Hexapod
Jasper die Arduino Hexapod
Jasper die Arduino Hexapod
Jasper die Arduino Hexapod
Jasper die Arduino Hexapod
Jasper die Arduino Hexapod

Projekdatum: November 2018

OORSIG (JASPER)

Ses been, drie servo per been, 18 servobewegingstelsel wat beheer word deur 'n Arduino Mega. Servo's verbind via Arduino Mega -sensorskerm V2. Kommunikasie met Hexapod via Bluetooth BT12 -module en praat met 'n Android -toepassing op maat. Stelsel aangedryf deur 2 x 18650, 3400mAh en 2 x 2400mA battery wat elk met klittenband onder die liggaam van die hexapod gehou word. 'N Aan / uit -skakelaar vir beide die Servo- en die Control -stelsels word voorsien, net soos 'n groen aan / uit -aanwyserlig op die kop van die seshoek. Opdragte word herhaal na 'n 16x2 LCD -skerm. Videostroom, ligring en vermyding van ultraklank is in die kop geleë.

OPMERKING: Ter wille van gesonde verstand beveel ek die gebruik van servo's van goeie gehalte sterk aan. Ek het begin met MG995 -servo's, waarvan 20 daarvan uitgebrand het, die sentrale vermoë verloor het, of bloot opgehou werk het.

www.youtube.com/embed/ejzGMVskKec

Stap 1: TOERUSTING

TOERUSTING
TOERUSTING
TOERUSTING
TOERUSTING
TOERUSTING
TOERUSTING
TOERUSTING
TOERUSTING

1. 20 x DS3218 servo's

2. 1x Hexapod basisstel

3. 1x Arduino Mega R3

4. 1x Arduino Mega sensor skild v2

5. 1 x 2 bay 18650 batteryhouer

6. 2 x tweepolige kragskakelaar

7. Groen gelei lig en 220kohm weerstand

8. 2 x 6v 2800mAh battery packs met klittenband bevestiging

9. 2 x 18650 x 3400mAh batterye

10. 1x HC-SR04 Sonar-module

11. 1x BT12 Bluetooth -module

12. 1 x Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT ontwikkelingsbord

13. 1 x Arducam Mini Module Camera Shield met OV2640 2 megapixels lens

14. 1 x Pixie Neon 16 LCD -ligring

15. 1 x 16x2 reël LCD -skerm met aangehegte IIC -adapter.

16. 1 x 5v kragprop vir Arduino Mega

17. 1 x 5v mikro -USB -aansluiting vir NodeMcu -module.

18. 1 x DC na DC Buck -omskakelingsmodule

19. 1 x 70 mm x 120 mm x 39 mm vierkantige swart plastiekboks (liggaam)

20. 1 x 70 mm x 50 mm x 70 mm swart plastiek boks (kop)

21. 4 x 40 mm M3 -koperstandpunte plus 4 rubbersteunsteun

22. Verskeie manlike tot manlike springkabels, soldeersel, m3 skroewe en boute, en warm gom

Beweeg van bene met behulp van pasgemaakte logika. Kamerabeweging via twee onafhanklike servo's wat opgee, af, na links, regs en gesentreer. Kamera wat beheer word deur WIFI -verbinding, word in die WebView -aansig in die Android -toepassing vertoon.

Stap 2: SERVOS

SERVOS
SERVOS
SERVOS
SERVOS
SERVOS
SERVOS

Elkeen het maksimum 180 grade tot

minimum beweging van 0 grade.

Elke servo word geïdentifiseer met 'n kombinasie van drie getalle, LegCFT; waar C die liggaam (COXA) is, F die bobeen (FEMUR) is, en T die elmboog (TIBIA), so 410 verwys na die vierde been en Tibia servo, net so verwys 411 na die vierde been en Tibia servo. Die volgorde van die nommer sou 100 tot 611 wees. Elke servo-been het 'n rubber-voet om die impak te demp en 'n beter greep te bied.

Been 1: 100, 110, 111 Voor

Been 2: 200, 210, 211 been2-been1

Been 3: 300, 310, 311 been4-been3

Been 4: 400, 410, 411 been6-been5

Been 5: 500, 510, 511 Agter

Been 6: 600, 610, 611

Die standaardposisie vir alle Coax Servo's is 90 grade.

Die standaardposisie vir Femur Servos is 90 grade, 45 grade is die rusposisie.

Die standaardposisie vir Tibia Servos vir alle bene is 90 grade, bene 1, 3 en 5 gebruik 175 grade as die rusposisie en bene 2, 4 en 6 gebruik 5 grade.

Nek 1: 700 Beperk tot 75 tot 105 grade vir op en af beweging

Nek 2: 800 Beperk tot 45 tot 135 grade vir links en regs beweging

Servobeweging beperk tot drie "skryf" voordat 'n vertraging van 10 millisekondes ingesluit is, voordat verdere "skryf" -opdragte uitgereik word. Dit help om die las op die batterye te verminder.

Stap 3: OPDRAGTE

OPDRAGTE
OPDRAGTE
OPDRAGTE
OPDRAGTE
OPDRAGTE
OPDRAGTE

A = Stop - Staan in die verstekposisie.

B = vorentoe - loop_ vorentoe

C = omgekeerde - loop_ agteruit

D = regs - draai_regs

E = links - draai links

F = sywaartse beweging links - krap_ links

G = regte sywaartse beweging - crab_right

H = agterbank (bene 1 en 2 op maksimum, 3 en 4 bene in neutrale posisie, bene 5 en 6 in minimum posisie)

I = Front_crouch (bene 1 en 2 in minimum posisie, 3 en 4 bene in neutrale posisie, bene 5 en 6 in maksimum posisie)

J = kamera galop - middel (nek 1 en nek 2 in middelposisie, standaardposisie)

K = kamera links - pan_links (nek 1, middelste posisie, nek 2 servo minimum posisie)

L = kamera regs - pan_reg (nek 1, middelste posisie, nek 2 servo maksimum posisie)

M = kamera omhoog - pan_up (nek 1 maksimum posisie, nek 2 servo middel posisie)

N = kamera af - pan_down (nek 1 minimum posisie, nek 2 servo middel posisie)

O = Rus (Hexapod) sit op stutte.

P = Standing Up - Hexapod staan op die standaardposisie.

V = Ligte af

R = Groen lig op Pixie Neon light ring.

S = Rooi lig op Pixie Neon light ring.

T = Blou lig op Pixie Neon light ring.

U = Wit lig op Pixie Neon -ligring.

V = Voorpote waai.

W = Klankhoring.

X = Vee kop van links na regs.

Y = Play Tune.

Stap 4: BEWEGING

BEWEGING
BEWEGING
BEWEGING
BEWEGING
BEWEGING
BEWEGING

Die Coax servoposisie is in die lengte van die as van die liggaam, so reguit vorentoe is dit 0 grade en direk agter is dit 180 grade. Hierdie Coax en alle ander servo's sal egter tot 45 tot 135 grade beperk word.

Die beweging van die been vorentoe, agteruit, links en regs begin met die hef van die been met behulp van die femur- en tibia -servo's, dan gevolg deur die liggaamservo -beweging en laastens dieselfde been weer laat sak met die femur- en tibia -servo's.

Vorentoe en agteruit

Om vorentoe of agtertoe te beweeg, werk in pare, 1 en 2, 3 en 4, 5 en 6. 'n Eenvoudige voorwaartse beweging bestaan uit bene 1 en 2 wat van hul huidige posisie tot so ver as moontlik vorentoe beweeg, dan bene 3 en 4, en uiteindelik herhaal 5 en 6 bene dieselfde aksie. Dan beweeg al ses Coax -servo's van hierdie verlengde vorentoe -posisie terug na hul oorspronklike beginposisie. Die omgekeerde van hierdie proses word gebruik om agteruit te beweeg. As deel van die voorwaartse bewegingsproses, sal die HC_SR04 ultrasoniese eenheid kyk of daar hindernisse is wat voorlê, en as u een vind, draai die Hexapod willekeurig links of regs.

Links en regs

Om links of regterbeen te beweeg, werk pare saam, maar in teenoorgestelde rigtings. Byvoorbeeld, om regter te draai, beweeg been 1 van die huidige posisie terug na die 135 grade posisie terwyl been 2 vorentoe beweeg na die 45 grade posisie. Dit word herhaal vir beenpare 3 en 4, en 5 en 6 bene. Op daardie tydstip skuif die Coax -servo's hul oorspronklike posisie terug na hul nuwe posisie en sodoende die liggaam in die bewegingsrigting gedraai, d.w.s. reg. Hierdie proses word voortgesit totdat die vereiste rotasie na links voltooi is. Die omgekeerde van hierdie proses word gebruik om links te draai, sodat been 1 van sy huidige posisie vorentoe beweeg na die posisie van 45 grade, terwyl been 2 agteruit beweeg na die posisie van 135 grade.

Staan op en rus

Beide hierdie prosesse gebruik nie die Coax -servo van een van die bene nie, sodat die Tibia -servo vir alle bene van die huidige posisie na die maksimum 45 grade beweeg, terwyl dieselfde Femur -servo's tot die laagste beweeg. posisie, 175 of 5 grade. Dieselfde beweging geld vir die Tibia -servo's wat tot 'n maksimum van 45 grade beweeg, vir staan, en hul minimum, d.w.s. 175 of 5 grade vir rus.

Hurk vorentoe en hurk agteruit

Ook hier is die prosesse spieëlbeelde van mekaar. Om vorentoe te buk, is bene 1 en 2 op hul laagste posisie, terwyl bene 5 en 6 op hul hoogste posisie is. In beide gevalle neem bene 4 en 5 'n neutrale posisie in, wat in lyn is met die bene, stel 1 en 2 en 5 en 6. Vir agtertoe hurk is bene 1 en 2 op hul hoogste posisie terwyl bene 5 en 6 op hul laagste posisie is.

Stap 5: HOOFKAMERA/SONAR

HOOFKAMERA/SONAR
HOOFKAMERA/SONAR
HOOFKAMERA/SONAR
HOOFKAMERA/SONAR
HOOFKAMERA/SONAR
HOOFKAMERA/SONAR

Die kop bestaan uit 'n vierkantige plastiekboks van 38mm x 38mm x 38mm met 'n verwyderbare deksel. Die boks/kop sal beperkte vertikale en horisontale beweging hê. Beweging word bewerkstellig deur gebruik te maak van twee servo's, een aan die liggaam van die robot en 'n tweede aan die eerste servosliggaam en sy arm aan die kop. 7.4v wat deur twee 18650 batterye verskaf word, sal die Arduino V3 NodeMcu Lua WIFI ESP8266 12E IOT -ontwikkelbord DEVKIT voed, gekoppel aan 'n Arducam Mini Module Camera Shield met OV2640 2 megapixel lens. Hierdie reëling sal die robot in staat stel om hindernisse op te spoor en lewendige video via die ingeboude Wi-Fi te stroom. Sonar met behulp van 'n HC-SR04 en moontlike ligbestuurinligting vloei terug na die Arduino Mega.

My dank aan Dmainmun vir sy Arducam Instructables -artikel, wat baie gehelp het in my aanvanklike begrip van hoe die Arducam gebruik kan word om video te stroom.

Battery

Daar is besluit om twee batterye te gebruik, een vir die kop se komponente en Arduino Mega -bord, en 'n tweede pak om al die servo's van krag te voorsien. Die eerste verpakking bestaan uit 2 x 18650 3400mAh -batterye wat 7,4v lewer. Die tweede pak bestaan uit 2 x 6V 2800mAh batterye wat parallel gekoppel is, wat 'n 6,4V -toevoer bied, maar 'n groter kapasiteit van 5600mAh wat aan die onderkant van die Hexapod vasgemaak is met klittenbandstroke.

Stap 6: BEENBEWEGING

BEENBEWEGING
BEENBEWEGING
BEENBEWEGING
BEENBEWEGING
BEENBEWEGING
BEENBEWEGING

Arms kan óf in pare óf afsonderlik werk. Elke arm bestaan uit 'n liggaamsgewrig wat 'n koaks genoem word met 'n beweging van 45 tot 135 grade, 'n heupgewrig wat femur genoem word, met 'n beweging van 45 tot 135 grade, en laastens 'n elmbooggewrig genaamd Tibia, of eindeffektor, met 'n beweging van 45 tot 135 grade. Op maat gemaakte sagteware is geskryf om die beweging van die bene te verseker.

Tipes beenbewegings:

Vir die Coax kyk 45 grade van die kop af agteruit, 90 grade in die neutrale posisie en 135 grade vorentoe.

Vir die femur is 45 grade die hoogste posisie van die grond af, 90 grade is die neutrale posisie en 135 grade die laagste posisie van die grond af.

Vir die Tibia is 45 grade die verste posisie van die liggaam, 90 grade die neutrale posisie en 135 grade die naaste van die liggaam.

Aanvaar dat alle servo's in die neutrale posisie, 90 grade, is.

Vorentoe: been 1 en 2, femur lig tot 135 grade, koaks beweeg na 45 grade, tibia beweeg tot 45 grade die verste van die liggaam, femur verlaag tot 45 grade. Dit word herhaal vir beenpare 3 en 4, en beenpaar 5 en 6. Al 6 Coax servo's beweeg van 45 grade agteruit tot 90 grade, neutrale posisie, al 6 Femur servo's beweeg van 45 grade tot 90 grade, neutrale posisie. Laastens beweeg alle Tibia -servo's van 45 grade na 90 grade, neutrale posisie.

Omgekeer: Begin met bene 5 en 6, dan 3 en 4, en uiteindelik bene 1 en 2, anders is beweging dieselfde vir Coax, Femur en Tibia.

Links: Bene 1, 3 en 5 beweeg in omgekeerde rigting, terwyl bene 2, 4 en 6 vorentoe beweeg. Beide voor- en agteruitbeweging pas by die standaard vorentoe- en terugwaartse beweging. Om die draai te voltooi, beweeg al ses Coax servo's 45 grade wat die liggaam draai.

Regs: Bene 2, 4 en 6 beweeg in omgekeerde rigting, terwyl bene 1, 3 en 5 vorentoe beweeg. Beide beweging vorentoe en agtertoe pas by die standaard voorwaartse en terugwaartse beweging. Koaksbeweging is soortgelyk aan hierbo, maar in die omgekeerde rigting.

Rus: Alle Coax- en Femur -servo's in neutrale posisie, alle Tibia -servo's in die laagste posisie 45 grade, en buig effektief beide voor-, middel- en agterpote.

Buig agter, staan voor: bene 1 en 2 in die hoogste posisie, bene 3 en 4 in neutraal en bene 5 en 6 in die laagste posisie.

Staan agter, hurk voor: bene 1 en in die laagste posisie, bene 3 en 4 by neutraal, en bene 5 en 6 in die hoogste posisie.

Krap links: Bene 1 en 5 lig en strek na buite, terselfdertyd lig bene 2 en 6 onder die liggaam. Met al vier hierdie bene op die grond keer alle Tibias terug na hul neutrale posisie. Uiteindelik herhaal bene 3 en 4 dieselfde proses.

Krap regs: Bene 2 en 6 lig en strek na buite na regs, terselfdertyd lig bene 1 en 5 onder die liggaam. Met al vier hierdie bene op die grond keer alle Tibias terug na hul neutrale posisie. Uiteindelik herhaal bene 3 en 4 dieselfde proses.

Beweging van linker kop: nek 1 servo 45 grade. Beide servo's keer terug na 90 neutrale posisie.

Beweging van die regterkop: nek 1 servo 135 grade

Opwaartse kopbeweging: nek 2 servo 45 grade

Onderkopbeweging: nek 2 servo 135 grade

Pan kop beweging: nek 2 beweeg van 45 tot 135 grade

SERVOS

Na die eerste toetsing is die MG995 en MG996 servo's vervang. Al die 20 servo's is vervang met DS32228 20 kg servo's, wat baie verbeterde sentrering en groter lasvermoë bied.

Dit is belangrik om elke servo deeglik te toets met behulp van 'n geskikte toetsprogram. Ek het die eenvoudige "sweep" voorbeeldprogram aangepas om spesifiek te toets vir 0, 90 en 180 posisies. Hierdie toetsroetine is vir elke servo vir ten minste 5 minute uitgevoer en 'n dag later herhaal.

OPMERKING: Die gebruik van 'n standaard Arduino Uno -bord wat deur 'n USB -kabel aangedryf word, bied moontlik nie genoeg spanning om sekere servo's te laat werk nie. Ek het gevind dat die 4,85v wat die servo van die Uno ontvang het, onreëlmatige gedrag veroorsaak het met die DS3218 servo's, wat hierdie spanning verhoog tot 5,05v hierdie probleem genees het. Daarom het ek besluit om die servo's teen 6v te gebruik. Uiteindelik het ek gevind dat 'n spanning van 6,4v nodig was, aangesien die 6v onreëlmatige gedrag van die servo's veroorsaak het.

Stap 7: KONSTRUKSIE

KONSTRUKSIE
KONSTRUKSIE
KONSTRUKSIE
KONSTRUKSIE
KONSTRUKSIE
KONSTRUKSIE

BENE

Begin met die uitleg van die Hexapod -kitonderdele. Alle servosirkelvormige horings vereis dat die matgat in beide kante van die femur en alle Coax -gate vergroot word. Elke servohoring is met vier skroewe en 'n vyfde skroef deur die middel van die servokop aan die ooreenstemmende Coax en Femur vasgemaak. Alle servoliggame is vasgemaak met vier boute en moere. Die Coax servomontage, vir elk van die ses bene, het 'n laer aan die onderkant van die houer vasgemaak met 'n enkele bout en moer. Elke Coax -servomontage is met behulp van vier boute en moere aan die Femur -servomontage vasgemaak, terwyl die houer 90 grade gedraai is. Die kop van die Femur -servo was aan die een kant van die Femur -arm vasgemaak, met die ander kant van die Femur aan die Tibia -servokop. Die ses Tibia -servo's is met vier boute en moere aan die bokant van die ses bene vasgemaak. Elke been einde effektor was bedek met 'n sagte rubber boot vir ekstra greep. Daar is gevind dat die meegeleverde servohoring te groot was om in die Coax-, Femur- en Tibia -verbindings vasgemaak te word, sodat alle middelgate tot 9 mm vergroot is. My dank aan "Toglefritz" vir sy Capers II -instruksies rakende die konstruksie -elemente van die Hexapod -kit. Ek het egter afgewyk van die konstruksie op een gebied, naamlik die bevestiging van die servohorings aan beide kante van die femur. Ek het besluit om die middelste gat van die femur te vergroot sodat die middel van die servohoring daardeur kan gaan, wat die servohoring ekstra krag gee, aangesien dit nader aan die servo was en hierdie twee gewrigte die maksimum wringkrag ondervind. Elke servohoring is met twee M2.2 self -tappende skroewe aan die femur vasgemaak, die punte van hierdie skroewe word verwyder en plat vasgemaak. Alle M3 -boute is met 'n slot vasgemaak.

LIGGAAM

Die liggaam bestaan uit twee plate elk met ses gate, elke gat wat gebruik word om die Coax servohoring vas te maak. Twee 6V 2800mAh -batterye is met klittenband aan die onderkant van die onderplaat vasgemaak. Vier M3 -afskakelings wat net verby die onderkant van die batteryhouer strek, is vasgemaak, elk met 'n sagte rubberstewel op die onderkant, wat 'n stabiele basis bied waarop die Hexapod kan rus. Die boonste gedeelte van die onderste plaat het die Arduino Mega en sy sensorskerm vasgemaak met vier 5 mm afstande. Aan die bokant van die onderste plaat was 4 x M3 -staanders van 6 cm hoog aangebring; dit het die Arduino Mega omring en die onderste plaat ondersteun. Die boonste plaat het 'n boks van 120 mm x 70 mm x 30 mm daaraan geheg; dit sal die eerste servos van die nek en 'n LCD -skerm bevat. 'N Tweede 2 houer, 2 x 18650 batteryhouer, is aan die onderkant van die boonste plaat aan die agterkant van die Arduino Mega -bord vasgemaak, wat na die voorkant van die Hexapod kyk.

Die boonste plaat het ses servohorings wat elk met vier M2.2 -skroewe vasgemaak is. Bo -op die bord is 'n boks van 70 mm x 120 mm x 30 mm geïnstalleer waarin 'n 2 -vak 18650 batteryhouer, 'n tweepolige skakelaar, groen LED en 'n IC2 16 x 2 LCD -skerm geïnstalleer is. Daarbenewens word die eerste nek -servo ook geïnstalleer, en die servo -datakabel van die tweede nek gaan deur 'n gat om die tweede servo en Arduino V3 NodeMcu -module te voed. 'N Verdere datakabel gaan deur die boonste boks en voer die HC-SR04 ultrasoniese module, weer in die kop. 'N Tweede data- en kragkabel is ook na die kop toe om die pixie led ring aan te dryf.

Die twee servodatakabels en die HC-SR04-datakabel word deur die boonste plaat gevoer, terwyl die Bluetooth-module aan die onderkant van die bord vasgemaak is met 'n neonvormblok en warm gom. Die kabelbestuur van die oorblywende 18 servodatakabels moet in plek wees voordat daar 'n poging is om die boonste plaat aan die onderplaat vas te maak met behulp van 4 x M3 -skroewe wat in die 4 x M3 -voetstukke wat aan die onderplaat geheg is, pas. As deel van die proses om die boonste onderplaat vas te maak, moet alle ses Coax -servo's ook in hul regte posisie geplaas word, met die laerpassing in die onderste plaatgat en die servokop in die boonste plaathoring. Nadat die top van die ses Coax -servo's aangebring is, word hulle vasgemaak met 6 M3 -skroewe. As gevolg van die posisie van die servohorings vir die ses Coax -servo's, moes die 4 x M3 -afstande in hoogte met 2 mm verminder word, sodat die Coax -servolagers korrek in die onderste plaat sit.

KOP

Die kop bestaan uit twee servo's 90 grade teenoor mekaar, een in die boks wat aan die boonste plaat geheg is, en die tweede via die servohoring aan die eerste met 'n U-vormige koperplaat. Die horing van die tweede servo is vasgemaak aan 'n L -vormige koperbeugel wat self vasgemaak is aan 'n boks van 70 mm x 70 mm x 50 mm met twee boute en moere. Die boks vorm die kop, waarbinne die Ardcam-kamera, die HC-SR04 ultrasoniese module en die Arduino V3 NodeMcu-module en die krag-LED geïnstalleer is. Beide die ultrasoniese module stuur en ontvang sensorkoppe deur die voorkant van die boks, net soos die kameralens. Om die lens aan die buitekant van die boks is 'n 16 LCD Nero pixie -ring. Die NodeMcu -krag -LED word gesien via 'n gat in die agterplaat van die kop, kragkabel, datakabel van die ultrasoniese module en pixie Neon -datakragkabels kom via 'n gat tussen die agterplaat en die kopplaat.

ELEKTRONIES

Die volgende Fritzing -diagramme toon die liggaam en kopelektronika. Die VCC- en GRD -lyne word nie vir die 20 servo's getoon om die diagram duidelik te maak nie. Die Bluetooth -module, via die Android -app., Beheer die Hexapod -beweging, insluitend sy nek -servo's. Die WIFI -gebaseerde Arduino NodeMcu -module beheer die Arducam -kameramodule. Alle servo's word aan die Arduino -sensorskerm gekoppel via 'n enkele blok wat VCC-, GRD- en seinlyne bevat. Standaard 20 cm DuPont-springkabels word gebruik om die Bluetooth BT12, HC-SR04 en IC2 LCD aan te sluit.

BEENKALIBRASIE

Dit is een van die moeilikste voorbereidingsgebiede voor die werk aan die beweging van die Hexapod. Die aanvanklike idee is om alle bene op die volgende te stel: Coax servo's 90 grade, Femur servo's tot 90 grade en Tibia servo's op 90 met die fisiese beenposisie op 105 grade vir bene 2, 4 en 6 en 75 grade vir bene 1, 3 en 5. Die Hexapod is op 'n gelyke oppervlak geplaas wat op die vier stutte onder die batterybehuizing rus. Dit is bene wat op ewe groot punte tussen elke been en op dieselfde afstand van die liggaam geleë is. Al hierdie posisies is gemerk op die vlak oppervlak. Tydens die bou van die bene is die middelpunt van elke servo gevind, dit moet die servo se posisie van 90 grade wees. Hierdie standaardposisie van 90 grade word met alle servo's gebruik.

Coax servo's 2 en 5 binne vlakke is parallel met mekaar, dit geld vir servo's 1 en 6, en 3 en 4. Alle Femur en Coax servo's word tydens die konstruksiefase 90 grade aan mekaar vasgemaak. Alle Femur-servo's het die femurarm teen 'n hoek van 90 grade. Alle Tibia -servo's word teen 90 grade aan die Tibia geheg. 2, 4 en 6 Tibia servo's word teen 105 grade aan die femurarm vasgemaak, terwyl Tibia servos 1, 3 en 5 teen 75 ° aan die femurarm geheg is.

Dit is belangrik om daarop te let dat tydens die toetsing alle servo's op temperatuur gemonitor moet word, 'n warm servo beteken dat die servo te hard werk en kan misluk, maar die meeste servo's sal warm raak.

Die aanvanklike kalibrasie is om die Hexapod uit sy rusposisie te skuif, nadat dit aangeskakel is, na 'n staande posisie wat stabiel, stabiel en vlak is, en die belangrikste is dat nie een van die servo's oorverhit word nie. Om 'n vaste posisie te behou, is dit nodig om aan elke servo te skryf met 'n vertraging van minder as 20 millisekondes, 10 millisekondes is gebruik. Alle servo's kan slegs van 0 tot 180 grade en van 180 grade terug na 0 beweeg, dus vir alle Femur -servo's is 0 en 180 grade vertikaal en 90 grade horisontaal.

Voordat elke servo aangeheg is, is 'n inisialisasie -skryf aan elk van die voorheen gedefinieerde servo's gestuur, wat dit sy huidige rushoek gee, d.w.s. die huidige posisie waarin die servo is terwyl hy rus. Dit was 90 grade vir alle Coax servo's, 55 grade vir Femur en Tibia servo's 1, 3 en 5, en 125 grade vir Femur en Tibia servo's 2, 4 en 6.

Dit is belangrik om daarop te let dat batterye altyd vol gelaai moet word aan die begin van die kalibrasiesessie.

Die Hexapod begin altyd vanuit 'n rusposisie, terwyl die hele liggaam deur die vier voete ondersteun word. Vanuit hierdie posisie word alle Femur- en Tibia -servo's vanaf hul beginposisies tot in hul staanposisie gefietseer, waarna alle servo's op 90 grade is. Om die staande posisie te voltooi, word die 'stand' -opdrag uitgevoer, hierdie opdrag vereis dat alle bene in twee stelle van drie beenbewegings, bene 1, 5 en 4, en 2, 6 en 3, op en neer sit.

Stap 8: Sagteware

Die sagteware bestaan uit drie dele, deel een is die Arduino -kode wat op die Arduino Mega werk, deel twee is die Arduino -kode wat op die NodeMcu -module in die kop werk. Kommunikasie geskied via die Bluetooth BT12 -eenheid wat opdragte van die Android -tablet ontvang, naamlik 'n Samsung Tab 2, wat 'n Android Studio -pasgemaakte toepassing gebruik. Dit is hierdie toepassing wat opdragte na die Hexapod stuur. Dieselfde toepassing ontvang ook lewendige videostroom van die NodeMcu -module via die ingeboude WIFI.

ANDROID KODE

Die op maat gemaakte Android -kode, ontwikkel met behulp van Android Studio, bied die platform waarop die tweeskerm -toepassing uitgevoer word. Die toepassing het twee skerms, met die hoofskerm kan die gebruiker opdragte aan die Hexapod gee en die videostroom van die hexapodkop sien. Die tweede skerm, waartoe u toegang verkry via die WIFI -knoppie, stel die gebruiker in staat om eers aan te sluit op die hexapod Bluetooth en tweedens op die WIFI -hotspot wat deur die NodeMCU Arduino -kaart in die hexapodkop gegenereer word. Die toepassing stuur enkelletteropdragte, via 'n seriële 9600 Baud, vanaf die tablet via die ingebedde Bluetooth na die BT12 Bluetooth wat aan die hexapod gekoppel is.

ARDUINO KODE

Kode -ontwikkeling het begin met die ontwikkeling van 'n toetsprogram wat ontwerp is om die basiese funksies van die Hexapod, sy kop en lyf, te toets. Aangesien die kop en die werking daarvan heeltemal van die liggaam geskei is, is die sagteware -ontwikkeling daarvan parallel getoets met die liggaamskode. Die hoofoperasie -kode was grootliks gebaseer op 'n vorige ontwikkeling met die insluiting van servobeweging. Die kode bevat die werking van 'n 16x2 LCD-skerm, HC-SR04 ultrasoniese module en 'n 16 LED-ligring. Verdere kode -ontwikkeling was nodig om WIFI -toegang tot die lewendige videostroom vanaf die kop te bied.

Die liggaamsfunksiekode is aanvanklik ontwikkel om 'n aanvanklike servo -aanhegting en 'n aanvanklike posisie in rus te bied. Vanuit hierdie posisie is die Hexapod geprogrammeer om eenvoudig te staan. Die ontwikkeling het daarna voortgegaan met bykomende bewegings van die Hexapod en die kombinasie van die kop- en lyfkode -afdelings met die seriële kommunikasie met die Android -app.

Die toets servokode maak voorsiening vir die ontwikkeling van been- en liggaamsbewegings, naamlik:

1. InitLeg - Laat rus beenposisie, staande been posisie, krap aanvanklike been posisie vir links of regs loop, aanvanklike been posisie vir vorentoe of agtertoe loop.

2. Wave - Laat die voorpote vier keer waai voordat hulle terugkeer na die staande posisie.

3. TurnLeg- Laat die Hexapod links of regs draai.

4. MoveLeg- Laat die Hexapod vorentoe of agtertoe loop.

5. CrouchLeg- Laat die Hexapod óf vorentoe op sy voorpote buk, óf agteruit op sy agterpote.

Beenbeweging is gebaseer op pare bene wat saamwerk, so bene 1 en 2, 3 en 4, 5 en 6 werk as pare. Beweging bestaan uit twee basiese aksies, 'n vorentoe bereik en trek en 'n agterwaartse stoot. Om agteruit te loop, word hierdie twee bewegings omgekeer, sodat bene 1 en 2 byvoorbeeld vorentoe loop, terwyl bene 5 en 6 druk, bene 3 en 4 stabiliteit bied. Kraploop is eenvoudig dieselfde aksies, maar op 90 grade na die liggaam, in hierdie geval beweeg bene 3 en 4 ook op dieselfde manier as die ander bene. Terwyl loopbeenpare afwisselend beweeg, maar terwyl krapbene 1 en 5 as 'n paar werk, terwyl been 3 op alternatiewe pas na bene 1 en 5 werk.

Beweging Funksionele beskrywing volg vir elk van die belangrikste bewegingsfunksies wat elk bestaan uit bewegingselemente wat in 'n vasgestelde volgorde saamgevoeg en opgetree word.

RUS: Uit 'n staande posisie beweeg alle Femur servo's opwaarts om die liggaam op die vier stutte te laat sak. Terselfdertyd beweeg al die Tibia -servo's almal na binne.

STAAN: Vanaf die rusposisie beweeg alle Tibia-servo's na buite, as dit klaar is, beweeg alle Femur-servo's na 'n 90-grade-posisie, en uiteindelik beweeg alle Tibia-servo's tegelykertyd na die 90-grade-posisie.

LINKS DRAAI: Bene 1, 3 en 5 beweeg 45 grade agteruit van die kop af, terselfdertyd beweeg bene 2, 4 en 6 vorentoe na die kop. Sodra alle Coax-servo's voltooi is, beweeg hulle van hul huidige posisie terug na die standaard posisie van 90 grade, en hierdie beweging is teen die kloksgewys teenoor die liggaam.

REGS DRAAI: Bene 1, 3 en 5 beweeg 45 grade vorentoe in die rigting van die kop, terselfdertyd beweeg bene 2, 4 en 6 agteruit weg van die kop af. Sodra al die Coax-servo's voltooi is, beweeg hulle van hul huidige posisie terug na die standaard posisie van 90 grade, en hierdie beweging beweeg met die kloksgewys na die liggaam.

VOORUIT: Bene 1 en 2 laer met Femur- en Tibia -servo's, terwyl bene 5 en 6 met hul Femur- en Tibia -servo's verhoog word, bly bene 3 en 4 op die standaardposisie.

KRUIK AGTER: Bene 1 en 2 word opgehef met Femur en Tibia servo's, terwyl bene 5 en 6 met hul Femur en Tibia servo's laat sak word, bly bene 3 en 4 op die standaard posisie.

WAVING: Hierdie roetine gebruik slegs bene 1 en 2. Die Coax servo's beweeg in 'n boog van 50 grade, terwyl die femur en tibia ook in 'n boog van 50 grade beweeg. Pote 3 en 4 beweeg 20 grade vorentoe na die kop, dit bied 'n meer stabiele platform.

VOORWANDEL: Been 1 en 6, 2 en 5 en 3 en 4 moet saamwerk. Dus, terwyl been 1 die liggaam trek, moet been 6 die liggaam druk, sodra hierdie aksie voltooi is, moet bene 2 en 5 dieselfde aksie uitvoer, terwyl elkeen van hierdie aksiesiklusse plaasvind. roetine vorentoe beweeg.

Die funksies van die aanvanklike toetsbeenmodules het 'n ontwerp vir elk van die drie beenbewegings moontlik gemaak. Drie beenbewegings is nodig, aangesien die teenoorgestelde bene eenvoudig die omgekeerde bewegings uitvoer. 'N Nuwe gekombineerde been 1, 3 en 6 module is ontwikkel, getoets en gekopieer vir 'n tweede omgekeerde been 2, 4 en 5 been module. Die toets van die hexapod -beenbewegings is bereik deur die hexapod op 'n verhoogde blok te plaas, sodat die bene volle beweging moontlik maak sonder om die grond te raak. Metings is geneem terwyl die bene beweeg en daar is gevind dat alle bene horisontaal beweeg, 'n afstand van 80 mm, terwyl hulle terselfdertyd 10 mm van die grond af op hul laagste punt tydens beweging bly. Dit beteken dat die Hexapod tydens beweging eenvoudig van kant tot kant sal wieg en dat alle bene ewe veel trek tydens beweging.

Omgekeerde stap:

KRAP LINKS: Aanvanklike beweging begin met bene 1, 2, 5 en 6 wat almal 45 grade in die rigting van die rigting draai. Dit plaas al die bene in pas met die rigting, die bene 3 en 4 is reeds in die regte rigting. Die femur en tibia van elke been begin in die standaard posisie van 90 grade. Hierdie gang bestaan uit twee stelle van drie bene wat op alternatiewe stappe werk, bene 1, 5 en 4, en bene 3, 2 en 6. Elke stel van drie bene werk deur met die voorpote te trek, dit wil sê 1 en 5 en druk met been 4, word hierdie beweging dan omgekeer, sodat been 3 trek terwyl bene 2 en 6 druk, geen van die Coax -servo's doen werk tydens hierdie beweging nie. Elke stel van drie bene lig die stilstaande ander stel bene terwyl die eerste stel beweeg.

KRAPLOP REGS:

LET WEL: die kop draai links of regs in die rigting van die krap. Hierdeur kan die ultra-soniese opsporing van HC-SR04 gebruik word terwyl u loop.

BEEN INSTELLING: Om die Hexapod gelyk te laat staan, is dit nodig dat alle bene met dieselfde hoogte staan. Deur die Hexapod op blokke te plaas en dan die stand- en rusroetines te gebruik, was dit moontlik om die afstand van die grond van elke eindversterker te meet. Ek het rubberstewels by elke eindversterker aangebring om eerstens greep te gee, maar ook om die beenlengte effens aan te pas, met die doel 5 mm of minder tussen al die bene. Dit was maklik om elke servo op 90 grade te stel, maar die aanhegting van elke servohoring aan albei kante van die femur kan wel probleme veroorsaak, aangesien baie klein verskille in die draaihoeke van die horings se interne stekels die hoogte van die been met 20 mm kan laat verskil. Deur die skroewe in verskillende bevestigingsgate in die servohorings te verander, het hierdie 20 mm hoogteverskil reggestel. Ek was vasbeslote om hierdie probleem op te los met behulp van hierdie metode, eerder as om te moet vergoed vir hierdie hoogteverskille met behulp van sagteware.

Aanbeveel: