![Lav en robotmyr: 9 trin (med billeder) Lav en robotmyr: 9 trin (med billeder)](https://img.gwsigeps.com/img/circuits/make-a-robot-ant-10.jpg)
Indholdsfortegnelse:
- forsyninger:
- Trin 1: Sådan fungerer det
- Trin 2: Dele og stykker
- Trin 3: Lav en Robot Gripper
- Trin 4: Picaxe 20x-2 Microcontroller
- Trin 5: Serial Motor Controller
- Trin 6: Infrarød afstandssensor
- Trin 7: Robot Ant Skematisk
- Trin 8: Programmering af robotmyr
- Trin 9: Andre muligheder
Selv om dette er en forholdsvis indviklet robot, kan nogle af motorteknikkerne og kredsløbene bruges til andre enklere robotter.
Dette instruerbare viser, hvordan man:
1-Brug en Picaxe-controller til at modtage fjernbetjeningssignaler fra en standard universal fjernbetjening.
2-Brug en Picaxe-controller til at interfere med en infrarød afstandssensor.
3-send serielle kommandoer til en seriel motor controller eller seriel servo controller.
4-Gør en simpel en servo robot gripper.
Videoen viser robotten ved hjælp af infrarød til at lokalisere og hente en træblok. Det viser også, at robotmyren ligesom de fleste myrer har en vis foragt for sine dårlige menneskelige herrer.
18+
forsyninger:
Trin 1: Sådan fungerer det
En Picaxe 20x-2 mikrocontroller styrer en infrarød afstandssensor for at finde og hente objekter. Det bruger serielle kommandoer til at styre en motorstyring, der driver de to gearmotorer, der bevæger tankens slidbaner for at drive robotten.
Det bruger også serielle kommandoer til at styre en servostyring, som placerer de tre servoer, som styrer krops-, hoved- og griberbevægelserne.
Den kan styres af en standard fjernbetjening eller den kan fungere autonomt.
Robotternen anvender modulopbygning. Hvert kredsløb er et modul, der tilsluttes til "1" -hovedudgange. Det gør det nemt at teste hvert kredsløb på et brødbræt, før det installeres. Det gør modulerne tilgængelige for den næste robot eller et andet projekt.
For detaljer om at lave disse moduler se:
Robotmyren er omkring 12 tommer lang og blev gjort med vilje større end nødvendigt for at give plads til flere kredsløb. Jeg har til hensigt at bruge det som en testplatform til hudfølere og antennesensorer, som jeg arbejder på.
Trin 2: Dele og stykker
Dele fra Sparkfun:http://www.sparkfun.com/index
PICAXE 20X2 Microcontroller
www.sparkfun.com/products/9432
Polymer Lithium oplader
www.sparkfun.com/products/8293
2- 3.7v. Polymer Lithium Ion Batteri - 110mAh
www.sparkfun.com/products/731
2-3.7v. Polymer Lithium Ion Batteri - 1000mAh
www.sparkfun.com/products/339
Disse LiPo batterier er gode, fordi de er lette med lav profil og ikke mister deres opladning hurtigt, når de ikke er i brug, som almindelige lithiumbatterier gør. De har også et indbygget kredsløb, der beskytter mod shorts og overladning.
Dele fra Polulu:
Pololu Micro Dual Serial Motor Controller - Denne meget lille motor controller er ikke længere tilgængelig, men kan erstattes med denne: Pololu Qik 2s9v1 Dual Serial Motor Controller-http: //www.pololu.com/catalog/product/1110
Pololu Micro Serial Servo Controller (delvis sæt) -http: //www.pololu.com/catalog/product/208
Pololu Step Down Spændingsregulator D15V35F5S3
Sharp GP2Y0A21YK0F Analog Distance Sensor
www.pololu.com/catalog/product/136
Dele fra Tower Hobbies:
3- Futaba S3114 Micro High-Torque Servos
www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXNCV6&P=ML
Disse er meget små og kraftfulde servoer til deres vægt.
Gearmotorer og tankbaner fra Solarbotics:
Gear Motor and Tread Package-http: //www.solarbotics.com/products/gmtpkg/
Panasonic PNA4602M IR Modtager Modul fra:
www.hobbyengineering.com/H1527.html
Dele fra Mouser.com:
Forskellige kondensatorer, modstande og LED'er
SOLDERABLE PERF BOARD, LINE PATTERN-Anvendes til moduler og robot bundkort:
www.allelectronics.com/make-a-store/item/ECS-4/SOLDERABLE-PERF-BOARD-LINE-PATTERN//1.html
Trin 2 pic viser de tre polycarbonat kupler, der beskytter maven, thoraxen og hovedet af robotmyren. De blev hack savet og derefter magt disk skåret til form. De var lavet af dele fra et snøklipsfremstillingskit, der ikke længere er tilgængeligt. Noget lignende kunne gøres ved hjælp af dele af plastvineglas. Eller en mere fleksibel uigennemsigtig skal kunne laves fra Oogoo:
Trin 3: Lav en Robot Gripper
Hvordan det virker
Myren er en meget enkel griber, der virker ved at blive lukket af en fjeder. En cam på undersiden roteres af en servo for at åbne den op. Så når den åbne griber er lukket, vil den tage fat i springkraften og holde tæt på genstande med forskellige diametre. Griperens to sider er ret glatte, og de trækker genstanden til at blive grebet mod en gummikøler, der forhindrer objektet i at glide ned, når det løftes.
Dette design gør det muligt for servo at svinge frit helt mod uret eller med uret, og der kræves ingen trykfølere eller stopkontakter for at forstå en genstand.
Myren gripper fingre og krop blev lavet ved hjælp af kobberklædte FRS printkort materiale. Drejelejerne er kun 4-40 bolte gennem borede huller i printkortet.
Trin 3 billeder viser top og bund af griberen.
Trin 4: Picaxe 20x-2 Microcontroller
Picaxe-mikrocontrollerne er efter min mening stærkt undervurderet. De har en meget lille formfaktor, der kræver et minimum af eksterne dele. De er billige og meget nemme at programmere i det intuitivt indlysende BASIC programmeringssprog. Kort sagt, de er de nemmeste mikrocontrollere at lære at tilslutte og programmere.
Picaxe 20x-2 er min yndlings mikrocontroller. Den har masser af indgange og udgange og mange ADC-indgange. Den kan fungere så højt som 64 MH. Det kræver heller ikke mere end 1 modstand (for at holde Serin fra flydende) for at skabe et stand-alone modul.
Styring af robotmyren
Picaxe sender serielle kommandoer til motorstyring og servostyring. De fortsætter med at opretholde den sidst modtagne kommando. Dette gør det muligt for Picaxe at bruge sin tid til at scanne dens sensorer for at bestemme det næste svar.
Rum til udvidelse
I denne ansøgning blev kun ca. 1/3 af programmeringsrummet brugt op. Mindre end 1/3 af indgangs- og udgangsstifterne blev brugt og efterlod masser af plads til flere sensorer eller aktuatorer.
For detaljer om at lave hurtige Picaxe-moduler ved hjælp af perron, se:
www.instructables.com/id/Picaxe-Projects-1-Making-Fast-Printed-Circuit-Mo/
For en meget lille mikrorobot styret af en Picaxe, se:
www.instructables.com/id/Building-Small-Robots-Making-One-Cubic-Inch-Micro/
For en endnu mindre robot styret af en Picaxe se:
www.instructables.com/id/Build-a-Very-Small-Robot-Make-The-Worlds-Smalles/
Trin 4 miniaturebilleder viser toppen og bunden af Picaxe-modulet.
Trin 5: Serial Motor Controller
Polulu motorstyreren modtager serielle kommandoer fra Picaxe Controller til styring af de to gearmotorer, der bevæger tankens trin. Når en seriel kommando er sendt for at aktivere en motor, bevæger motoren som angivet indtil en ny kommando er sendt af Picaxe. Dette gør det muligt for Picaxe microcontroller at sende kommandoer og derefter gå tilbage til sensor detektion. Motorerne kan styres for hastighed og retning.
Tankens tråde kommer i et sæt og kan konfigureres som en almindelig tank eller i trehjulet version som jeg gjorde. For at gøre dette måtte jeg købe to ekstra tomgangshjul.Drivhjulet og tomgangshjulene blev monteret på standard kobberbeklædt FRS glasfiberplade, der var malet.
Trin 6: Infrarød afstandssensor
Jeg har eksperimenteret med flere ultralydssensorer, og mens de er gode til at detektere større genstande som vægge eller mennesker, sender de en relativt bred stråle, som ikke har den nødvendige præcision til at rette en griber til en lille genstand.
Den skarpe infrarøde afstandssensor sender en usynlig infrarød stråle og måler vinklen på det reflekterede lys for at detektere en objekts tilstedeværelse og dens afstand. Det er ret præcist og følsomt og kan opdage en lodret blyant en fod væk. Det kan registrere et objekt eller en væg fra 4 til 32 tommer.
Det måler afstanden til objektet og udsender derefter en spænding, der er proportional med afstanden. Dette tilføres en indgang til Picaxe-controlleren, og dens ADC (analog til digital konverter) bruges til at konvertere spændingen til et nummer, som programmet fortolker for at fortælle robotten, hvor langt objektet er væk.
Trin 6 pic viser den skarpe sensor, som er det sorte rektangel med to linser.
Trin 7: Robot Ant Skematisk
Her er robotmyret skematisk. Miniaturebillederne viser det forstørret.
Ting at overveje, når de forskellige moduler forbindes:
Det er normalt en god idé at holde separate strømforsyninger til styringskredsløb og motorer. Motorer og servoer kan være elektrisk støjende, og dette kan forstyrre en mikrocontroller. Det er også en god idé at holde mikrocontrollere en god afstand fra motorer og servoer, så de ikke udføres af magnetfelter.
Selvom det ikke er nødvendigt at have en spændingsregulator for motorerne, giver den mere ensartet bevægelse, hvis spændingen forbliver konstant
Hold en 270 ohm til 1kohm modstand mellem enhver sensor udgange og Picaxe indgange for at undgå utilsigtet kortslutning af enheden.
Den skarpe infrarøde afstandssensor viste sig at være ekstremt elektrisk støjende. Da jeg hakkede på et brødbræt til Picaxe, fungerede det fint. Så snart det blev installeret i roboten, ophørte Picaxe med at arbejde. Jeg løste problemet ved at sætte en 10uf kondensator over Sharp sensorens strømindgange. Dette reducerede spændingsudsvingene til strømforsyningen, som den skabte.
Trin 8: Programmering af robotmyr
Hvordan det virker
I autonom pickup mode roterer roboten til den rigtige leder efter en genstand. Hvis det ikke finder noget, stopper det efter at rotere 360 grader. Når en genstand registreres, stopper og korrigerer den for overstyring og bruger den målte afstand for det detekterede objekt, bevæger man frem en bestemt afstand. Det lukker derefter griberen og elevatorer.
Fjernbetjening
I fjernbetjeningstilstand venter roboten et signal enten for en bevægelse som f.eks. Fremad eller til en kommando i autonom tilstand. En standard universal fjernbetjening kan konfigureres til at udsende Sony TV-kode, som Picaxe kan afkode. Infrarødt fjernbetjening modtages af Panasonic modtager modulet.
Her er programmeringskoden for robotmyren:
'robot myr, Picaxe 20x-2
lad dirsc =% 00000000
setfreq m8
pause 2000
'loop22:' test af infrarød afstandsføler
'readadc 7, b4
'fejlfinding b4
'goto loop22
startreset: 'nulstil for start
serout c.0, t2400, ($ 80, $ 01, $ 01,2,30) 'set4 for servo #, hastighed set5 fra 0 til127
serout c.0, t2400, ($ 80, $ 01, $ 04,2,26,30) 'krop ned 26
pause 200
serout c.0, t2400, ($ 80, $ 01, $ 01,1,30) 'hastighed indstillet sidste # fra 0 til 127
serout c.0, t2400, ($ 80, $ 01, $ 04,1,26,127) 'close gripper 26
pause 200
serout c.0, t2400, ($ 80, $ 01, $ 01,0,20) 'hastighed indstillet sidste # fra 0 til 127
serout c.0, t2400, ($ 80, $ 01, $ 04,0,26,127) 'hovedcenter
pause 1000
loopinfra: 'fjernbetjening af bevægelser eller aktivere autonome sekvenser
lavt c.1 'blåt øje
høj c.2 'blå øje
irin c.5, b6
hvis b6 = 0 så akt 1 'fjernbetjening1 = 0
hvis b6 = 1 derefter forw 'b2
hvis b6 = 2 så aktion2 'b3
hvis b6 = 3 derefter venstre 'b4
hvis b6 = 4 stop så1 'b5
hvis b6 = 5 så højre 'b6
hvis b6 = 6 så akt 3 'b7
hvis b6 = 7 så rev1 'b8
hvis b6 = 8 så biteme 'angreb
'hvis b6 = 59 så biteme' angreb
hvis b6 = 11 derefter sænket 'Indtast lægge ned
hvis b6 = 21 derefter startreset 'reset servos
'fejlfinding b6
goto loopinfra
act1: 'robot ant moons verden
gosub forw2
pause 2500
gosub bodyup2
gosub left2
gosub headleft2
pause 300
gosub forw2
pause 1200
gosub stop2
gosub forw2
pause 500
gosub stop2
gosub headright2
høj c.1 'røde øjne l
lav c.2 'røde øjne r
pause 1000
gosub right2
pause 2500
gosub headcenter2
gosub bodydwn2
gosub rev2
pause 2500
gosub stop2
gosub venstrefast
pause 500
gosub stop2
gosub retfærdig
pause 500
gosub venstrefast
pause 500
gosub stop2
gosub retfærdig
pause 500
gosub stop2
pause 2200
gosub forw2
gosub bodyup2
pause 3500
gosub opengrip2
pause 500
gosub stop2
goto loopinfra
bid mig:
gosub forw2
b8 = 1
for b8 = 1 til 175
'finde hindring
høj c.2 'røde øjne l
lav c.1 'røde øjne r
readadc 7, b4
hvis b4> 60 og b4 <135 derefter næste3
pause 30
næste b8
goto loopinfra
next3:
gosub stop2
gosub bodydwn2
gosub opengrip2
'pause 100
gosub bodyup2
gosub forw2
pause 300
gosub closegrip2
pause 900
gosub stop2
gosub rev2
gosub bodydwn2
pause 6000
gosub stop2
goto loopinfra
act2: 'Pickup, putdown
'frem
serout c.0, t2400, (128,0,1,100) 'fremad højre 20min til 127
serout c.0, t2400, (128,0,2,100) 'frem til venstre 20min
pause 4500
gosub stop2
pause 100
'find blok
b8 = 1
for b8 = 1 til 75
'Find blok og afhentning
høj c.2
lav c.1
gosub right2
readadc 7, b4
hvis b4> 61 og b4 <164 derefter detekterer0'34 -75
pause 50
næste b8
gosub stop2
goto loopinfra
detect0: 'stop og korrigere
gosub stop2
'Drej til venstre langsomt
serout c.0, t2400, (128,0,1,60) 'fremad højre 20min til 127
serout c.0, t2400, (128,0,3,60) 'rev venstre 20min
pause 240
gosub stop2
pause 100
lavt c.2 'røde øje
højt c.1 'røde øje
'fremad, afhentning
gosub opengrip2
pause 1000
gosub forw2
hvis b4 <50 derefter pa1
hvis b4 <60 derefter pa2
hvis b4 <70 derefter pa3
hvis b4 <80 derefter pa4
hvis b4 <90 derefter pa5
hvis b4 <104 derefter pa6
PA1:
pause 9000
goto stopat
PA2:
pause 5920
goto stopat
PA3:
pause 3800
goto stopat
PA4:
pause 2800
goto stopat
PA5:
pause 2100
goto stopat
PA6:
pause 980
goto stopat
stopat:
gosub stop2
pause 200
'closegrip
serout c.0, t2400, ($ 80, $ 01, $ 01,1,30) 'speed-set sidste # fra 0 til 127
serout c.0, t2400, ($ 80, $ 01, $ 04,1,26,127) 'close gripper 26
pause 2000
gosub bodyup2
'putdown
gosub venstrefast
pause 1400
gosub stop2
gosub forw2
pause 1800
gosub stop2
gosub bodydwn2
gosub opengrip2
pause 500
'godte
gosub rev2
pause 2000
gosub stop2
gosub bodyup2
gosub headleft2
gosub headright2
gosub headcenter2
lavt c.1 'blåt øje
høj c.2 'blå øje
goto loopinfra
act3: 'åben griber og fremad
'fremad, afhentning
gosub opengrip2
pause 400
gosub forw2
pause 280
gosub stop2
goto loopinfra
act4: 'tæt gripper og løft
gosub closegrip2
pause 600
gosub bodyup2
goto loopinfra
'' *** gosubs
leftslow:
'Drej til venstre langsomt
serout c.0, t2400, (128,0,1,60) 'fremad højre 20min til 127
serout c.0, t2400, (128,0,3,60) 'rev venstre 20min
pause 220
gosub stop2
Vend tilbage
STOP2:
serout c.0, t2400, (128,0,0,0) 'hard stop højre
serout c.0, t2400, (128,0,6,0) 'hard stop venstre
Vend tilbage
forw2:
serout c.0, t2400, (128,0,1,100) 'fremad højre 20min til 127
serout c.0, t2400, (128,0,2,100) 'frem til venstre 20min
Vend tilbage
left2:
serout c.0, t2400, (128,0,1,100) 'fremad højre 20min
serout c.0, t2400, (128,0,3,100) 'rev venstre 20min
Vend tilbage
RIGHT2:
serout c.0, t2400, (128,0,2,100) 'frem til venstre 20min
serout c.0, t2400, (128,0,0,100) 'ret højre 20min
Vend tilbage
rev2:
'hold op
serout c.0, t2400, (128,0,0,0) 'hard stop højre
serout c.0, t2400, (128,0,6,0) 'hard stop venstre
pause 50
'bagside
serout c.0, t2400, (128,0,0,100) 'ret højre 20min
serout c.0, t2400, (128,0,3,100) 'rev venstre 20min
Vend tilbage
opengrip2:
serout c.0, t2400, ($ 80, $ 01, $ 01,1,30) 'set4 for servo #, hastighed set5 fra 0 til127
serout c.0, t2400, ($ 80, $ 01, $ 04,1,13,127) 'åben griber, 13
pause 1000
Vend tilbage
closegrip2:
serout c.0, t2400, ($ 80, $ 01, $ 01,1,30) 'hastighed indstillet sidste # fra 0 til 127
serout c.0, t2400, ($ 80, $ 01, $ 04,1,26,127) 'close gripper 26
pause 2000
Vend tilbage
headleft2:
serout c.0, t2400, ($ 80, $ 01, $ 01,0,20) 'set4 for servo #, speed set5 fra 0to127
serout c.0, t2400, ($ 80, $ 01, $ 04,0,15,127) 'hoved venstre 15
pause 800
Vend tilbage
headright2:
'serout c.0, t2400, ($ 80, $ 01, $ 01,0,20)' hastighed indstillet sidste # fra 0 til 127
serout c.0, t2400, ($ 80, $ 01, $ 04,0,32,127) 'head right 30
pause 1600
Vend tilbage
headcenter2:
serout c.0, t2400, ($ 80, $ 01, $ 01,0,20) 'hastighed indstillet sidste # fra 0 til 127
serout c.0, t2400, ($ 80, $ 01, $ 04,0,26,127) 'hovedcenter
pause 500
Vend tilbage
bodyup2:
serout c.0, t2400, ($ 80, $ 01, $ 01,2,30) 'set4 for servo #, hastighed set5 fra 0 til127
serout c.0, t2400, ($ 80, $ 01, $ 04,2,13,30) 'krop op, 13
pause 220
Vend tilbage
bodydwn2:
serout c.0, t2400, ($ 80, $ 01, $ 01,2,30) 'set4 for servo #, hastighed set5 fra 0 til127
serout c.0, t2400, ($ 80, $ 01, $ 04,2,26,30) 'krop ned 26
pause 200
Vend tilbage
leftfast:
serout c.0, t2400, (128,0,1,127) 'fremad højre 20min
serout c.0, t2400, (128,0,3,127) 'rev venstre 20min
Vend tilbage
rightfast:
serout c.0, t2400, (128,0,2,127) 'fremad venstre 20min
serout c.0, t2400, (128,0,0,127) 'ret højre 20min
Vend tilbage
Trin 9: Andre muligheder
Mindre kredsløb
En overflademonteret version af Picaxe 20x-2 er tilgængelig for at gøre endnu mindre mikrocontroller moduler. For detaljer om let lodning af overflademonteringskomponenter se her:
www.instructables.com/id/Advanced-Soldering-Fast-and-Easy-Soldering-of-Sur/
Fjernbetjening Ring
Robotmyren kan styres af andre Picaxe-controllere, der er konfigureret til at udsende infrarøde Sony-signaler. For detaljer om hvordan man laver en fjernbetjeningsring, der kan styre roboten, kan du se her:
Robot Neuroner
En biologisk myr har mellem 200 og 3000 neuroner, der arbejder parallelt for at styre bevægelserne. Hvis vi betragter en mikrokontroller for at være en meget rå neuron, har robotmyren ækvivalenten af 4 neuroner. Picaxe, servostyring, motorstyring og infrarød sensor har hver en mikrocontroller som en del af modulet. Mange flere mikrocontrollere end dette vil være nødvendige for at opnå den utrolige parallelle behandling af lige simple biologiske systemer.
Ant Hairs
Biologiske myrer har hundredvis af fine hår og hver er en berøringsfølsom sensor. Det største problem med robotter i dag er ikke mangel på processorkraft, men manglen på følsomme sensorer i store mængder. Mange flere sensorer vil være nødvendige for at gøre denne robotmør tættere på de utrolige fine manipulationer af en ægte myr.
Laser Cutter og mindre robotter
En laserskærer kunne bruges til at lave nogle præcisionsdele til at lave en micro 3d printer. Printeren vil så blive brugt til at lave endnu mindre dele til en mikroskopisk robot. Den mikroskopiske robot kunne derefter bruges til at manipulere objekter på omfanget af molekyler.
Tredje pris i
Robotics Week Robot Contest