DIY pang-industriya na robot manipulator. Kawili-wiling robotic arm sa Arduino



Koneksyon:

Kung naipon mo ang mga bahagi ng manipulator alinsunod sa mga tagubilin, maaari mong simulan ang pagpupulong. elektronikong circuit. Iminumungkahi namin na ikonekta ang manipulator servos sa Arduino UNO sa pamamagitan ng Trerma-Power Shield, at kontrolin ang mga servos gamit ang Trema potentiometers.

  • Ang pagpihit sa knob ng unang Trema potentiometer ay magpapaikot sa base.
  • Ang pagpihit sa knob ng pangalawang Trema potentiometer ay magpapaikot sa kaliwang braso.
  • Ang pagpihit sa ikatlong Trema potentiometer knob ay iikot ang kanang braso.
  • Ang pagpihit sa pang-apat na Trema potentiometer knob ay magagalaw ang gripper.

Ang program code (sketch) ay nagbibigay ng proteksyon para sa mga servos, na binubuo sa katotohanan na ang saklaw ng kanilang pag-ikot ay limitado sa pagitan (dalawang anggulo) ng libreng paglalaro. Ang minimum at maximum na mga anggulo ng pag-ikot ay tinukoy bilang ang huling dalawang argumento sa mapa() function para sa bawat servo. At ang halaga ng mga anggulong ito ay tinutukoy sa panahon ng proseso ng pagkakalibrate, na dapat isagawa bago magsimulang magtrabaho kasama ang manipulator.

Code ng programa:

Kung ilalapat mo ang kapangyarihan bago ang pagkakalibrate, ang manipulator ay maaaring magsimulang gumalaw nang hindi naaangkop! Kumpletuhin muna ang lahat ng hakbang sa pag-calibrate.

#isama // Ikonekta ang Servo library upang gumana sa servos Servo servo1; //Declare a servo1 object to work with the base servo drive Servo servo2; //Declare a servo2 object to work with the left shoulder servo Servo servo3; //Declare a servo3 object to work with the right arm servo Servo servo4; //Declare a servo4 object to work with the capture servo int valR1, valR2, valR3, valR4; //Ipahayag ang mga variable upang mag-imbak ng mga halaga ng potentiometer //Magtalaga ng mga pin: const uint8_t pinR1 = A2; // Tukuyin ang pare-pareho mula sa output number ng control potentiometer. base const uint8_t pinR2 = A3; // Tukuyin ang pare-pareho mula sa output number ng control potentiometer. kaliwang balikat const uint8_t pinR3 = A4; // Tukuyin ang pare-pareho mula sa output number ng control potentiometer. kanang balikat const uint8_t pinR4 = A5; // Tukuyin ang pare-pareho mula sa output number ng control potentiometer. makuha ang const uint8_t pinS1 = 10; // Tukuyin ang pare-pareho gamit ang numero ng pin ng base servo drive const uint8_t pinS2 = 9; // Tukuyin ang pare-pareho sa numero ng pin ng kaliwang braso servo drive const uint8_t pinS3 = 8; // Tukuyin ang pare-pareho sa numero ng pin ng servo drive ng kanang braso const uint8_t pinS4 = 7; // Tukuyin ang isang pare-pareho gamit ang numero ng pin ng capture servo drive void setup())( // Ang setup function code ay isasagawa nang isang beses: Serial.begin(9600); // Simulan ang paglipat ng data sa serial port monitor servo1.attach (pinS1); // Italaga ang servo1 sa object control ng servo drive 1 servo2.attach(pinS2); drive 3 sa servo3 object servo4.attach(pinS4); // Italaga ang control ng servo drive 4 sa servo4 object ())( // Ang loop function code ay patuloy na isinasagawa: valR1=map(analogRead(pinR1) , 0, 1024, 10, 170); servo1.write(valR1); 0, 1024, 80, 170); // Kontrolin ang kaliwang balikat. ); // Kontrolin ang kanang balikat Ang mga anggulo na ipinahiwatig sa linyang ito: 60 at 170 ay maaaring kailangang baguhin (naka-calibrate) valR4=map(analogRead(pinR4), 0, 1024, 40, 70); servo4.write(valR4); // Kontrolin ang pagkuha Ang mga anggulo na tinukoy sa linyang ito: 40 at 70 ay maaaring kailangang baguhin (naka-calibrate) Serial.println((String) "A1 = "+valR1+",\t A2 = "+valR2+",\t A3 = "+valR3+ ", \t A4 = "+valR4); // Ipakita ang mga sulok sa monitor)

Pag-calibrate:

Bago ka magsimulang magtrabaho kasama ang manipulator, kailangan mong i-calibrate ito!

    Ang pagkakalibrate ay binubuo ng pagtukoy ng matinding mga halaga ng anggulo ng pag-ikot para sa bawat servo, upang ang mga bahagi ay hindi makagambala sa kanilang mga paggalaw.
  • Idiskonekta ang lahat ng servos mula sa Trema-Power Shield, i-upload ang sketch at ikonekta ang power.
  • Buksan ang serial port monitor.
  • Ipapakita ng monitor ang mga anggulo ng pag-ikot ng bawat servo (sa mga degree).
  • Ikonekta ang unang servo (na kumokontrol sa pag-ikot ng base) sa pin D10.
  • Ang pagpihit sa knob ng unang Trema potentiometer (pin A2) ay paikutin ang unang servo (pin D10), at babaguhin ng monitor ang kasalukuyang anggulo ng servo na ito (value: A1 = ...). Ang mga matinding posisyon ng unang servo ay nasa hanay mula 10 hanggang 170 degrees (tulad ng nakasulat sa unang linya ng loop code). Maaaring baguhin ang saklaw na ito sa pamamagitan ng pagpapalit ng mga halaga ng huling dalawang argumento sa mapa() function sa unang linya ng loop code ng mga bago. Halimbawa, ang pagpapalit ng 170 ng 180, tataas mo ang matinding posisyon ng servo sa sa direksyong ito. At sa pamamagitan ng pagpapalit ng 10 sa 20, babawasan mo ang iba pang matinding posisyon ng parehong servo.
  • Kung pinalitan mo ang mga halaga, kailangan mong muling i-upload ang sketch. Ngayon ang servo ay iikot sa loob ng mga bagong limitasyong tinukoy mo.
  • Ikonekta ang pangalawang servo (na kumokontrol sa pag-ikot ng kaliwang braso) sa pin D9.
  • Ang pagpihit sa knob ng pangalawang Trema potentiometer (pin A3) ay paikutin ang pangalawang servo (pin D9), at babaguhin ng monitor ang kasalukuyang anggulo ng servo na ito (value: A2 = ...). Ang mga matinding posisyon ng pangalawang servo ay nasa hanay mula 80 hanggang 170 degrees (tulad ng nakasulat sa pangalawang linya ng loop sketch). Ang saklaw na ito ay nagbabago sa parehong paraan tulad ng para sa unang servo.
  • Kung pinalitan mo ang mga halaga, kailangan mong muling i-upload ang sketch.
  • Ikonekta ang ikatlong servo (na kumokontrol sa pag-ikot ng kanang braso) sa pin D8. at i-calibrate ito sa parehong paraan.
  • Ikonekta ang ikaapat na servo (pagkontrol sa gripper) sa pin D7. at i-calibrate ito sa parehong paraan.

Ito ay sapat na upang magsagawa ng pagkakalibrate nang isang beses, pagkatapos i-assemble ang manipulator. Ang mga pagbabagong gagawin mo (mga halaga ng mga anggulo ng limitasyon) ay ise-save sa sketch file.

Maaapektuhan muna pangkalahatang tanong, Pagkatapos teknikal na mga pagtutukoy ang resulta, ang mga detalye, at sa wakas ang proseso ng pagpupulong mismo.

Sa pangkalahatan at sa pangkalahatan

Paglikha ng device na ito Sa pangkalahatan, hindi ito dapat maging sanhi ng anumang mga paghihirap. Kakailanganin na maingat na isaalang-alang lamang ang mga posibilidad ng mekanikal na paggalaw, na medyo mahirap ipatupad mula sa isang pisikal na punto ng view, upang ang braso ng pagmamanipula ay gumaganap ng mga gawain na itinalaga dito.

Mga teknikal na katangian ng resulta

Ang isang sample na may mga parameter ng haba/taas/lapad na 228/380/160 millimeters, ayon sa pagkakabanggit, ay isasaalang-alang. Ang bigat ng isang manipulator na kamay na ginawa gamit ang iyong sariling mga kamay ay humigit-kumulang 1 kilo. Ang isang wired remote control ay ginagamit para sa kontrol. Ang tinatayang oras ng pagpupulong kung mayroon kang karanasan ay mga 6-8 oras. Kung wala ito roon, maaaring tumagal ng mga araw, linggo, at may kasamang mga buwan para ma-assemble ang braso ng manipulator. Sa ganitong mga kaso, dapat mong gawin ito sa iyong sariling mga kamay para lamang sa iyong sariling interes. Upang ilipat ang mga bahagi, ginagamit ang mga commutator motor. Sa sapat na pagsisikap, maaari kang gumawa ng isang aparato na iikot ng 360 ​​degrees. Gayundin, para sa kadalian ng trabaho, bilang karagdagan sa mga karaniwang tool tulad ng isang panghinang na bakal at panghinang, kailangan mong mag-stock sa:

  1. Mahabang pliers ng ilong.
  2. Mga pamutol sa gilid.
  3. Phillips distornilyador.
  4. 4 D na mga baterya.

Remote controller remote control maaaring ipatupad gamit ang mga pindutan at isang microcontroller. Kung gusto mong gumawa ng remote wireless control, kakailanganin mo rin ng action control element sa manipulator hand. Bilang mga karagdagan, kakailanganin lamang ng mga device (capacitor, resistors, transistors) na magpapahintulot sa circuit na maging matatag at isang kasalukuyang ng kinakailangang magnitude na maipadala sa pamamagitan nito sa tamang oras.

Maliit na detalye

Upang ayusin ang bilang ng mga rebolusyon, maaari mong gamitin ang mga gulong ng adaptor. Gagawin nilang makinis ang paggalaw ng kamay ng manipulator.

Kinakailangan din upang matiyak na ang mga wire ay hindi kumplikado sa mga paggalaw nito. Magiging pinakamainam na ilagay ang mga ito sa loob ng istraktura. Magagawa mo ang lahat mula sa labas; ang diskarte na ito ay makatipid ng oras, ngunit maaaring humantong sa mga kahirapan sa paglipat ng mga indibidwal na bahagi o ang buong device. At ngayon: paano gumawa ng manipulator?

Assembly sa pangkalahatan

Ngayon, magpatuloy tayo nang direkta sa paglikha ng braso ng manipulator. Magsimula tayo sa pundasyon. Ito ay kinakailangan upang matiyak na ang aparato ay maaaring paikutin sa lahat ng direksyon. Magandang desisyon ito ay ilalagay sa isang disk platform, na kung saan ay hinihimok sa pag-ikot ng isang solong motor. Upang maiikot ito sa magkabilang direksyon, mayroong dalawang opsyon:

  1. Pag-install ng dalawang makina. Ang bawat isa sa kanila ay magiging responsable para sa pagliko sa isang tiyak na direksyon. Kapag ang isa ay nagtatrabaho, ang isa ay nagpapahinga.
  2. Pag-install ng isang motor na may circuit na maaaring magpaikot sa magkabilang direksyon.

Alin sa mga iminungkahing opsyon ang pipiliin nang buo sa iyo. Susunod, ang pangunahing istraktura ay ginawa. Para sa komportableng trabaho, kailangan ang dalawang "joint". Naka-attach sa platform, dapat itong ikiling sa iba't ibang direksyon, na nakamit sa tulong ng mga motor na matatagpuan sa base nito. Ang isa pa o isang pares ay dapat ilagay sa liko ng siko upang ang bahagi ng pagkakahawak ay maaaring ilipat sa pahalang at patayong mga linya ng sistema ng coordinate. Dagdag pa, kung nais mong makakuha ng pinakamataas na kakayahan, maaari kang mag-install ng isa pang motor sa pulso. Susunod ay ang pinaka-kailangan, kung wala ang isang pagmamanipula ng kamay ay imposible. Kailangan mong gawin ang capture device mismo gamit ang iyong sariling mga kamay. Mayroong maraming mga pagpipilian sa pagpapatupad dito. Maaari kang magbigay ng tip sa dalawang pinakasikat:

  1. Dalawang daliri lamang ang ginagamit, na sabay-sabay na pinipiga at tinatanggal ang bagay na hahawakan. Ito ang pinakasimpleng pagpapatupad, na, gayunpaman, ay karaniwang hindi maaaring magyabang ng makabuluhang kapasidad na nagdadala ng pagkarga.
  2. Isang prototype ng kamay ng tao ang nilikha. Dito, ang isang motor ay maaaring gamitin para sa lahat ng mga daliri, sa tulong ng kung saan ang baluktot / extension ay isasagawa. Ngunit ang disenyo ay maaaring gawing mas kumplikado. Kaya, maaari mong ikonekta ang isang motor sa bawat daliri at kontrolin ang mga ito nang hiwalay.

Susunod, nananatili itong gumawa ng isang remote control, sa tulong kung saan ang mga indibidwal na makina at ang bilis ng kanilang operasyon ay maiimpluwensyahan. At maaari kang magsimulang mag-eksperimento gamit ang isang robotic manipulator na ginawa mo mismo.

Mga posibleng representasyong eskematiko ng resulta

Ang isang DIY manipulative na kamay ay nagbibigay ng maraming pagkakataon para sa pagkamalikhain. Samakatuwid, ipinakita namin sa iyong pansin ang ilang mga pagpapatupad na maaari mong gawin bilang batayan para sa paglikha ng iyong sarili sariling device katulad na layunin.

Anumang ipinakita na manipulator circuit ay maaaring mapabuti.

Konklusyon

Ang mahalagang bagay tungkol sa robotics ay halos walang limitasyon sa functional improvement. Samakatuwid, kung nais mo, ang paglikha ng isang tunay na gawa ng sining ay hindi magiging mahirap. Sa pagsasalita tungkol sa mga posibleng paraan ng karagdagang pagpapabuti, ito ay nagkakahalaga ng pagbanggit sa kreyn. Ang paggawa ng gayong aparato gamit ang iyong sariling mga kamay ay hindi magiging mahirap sa parehong oras, ito ay magtuturo sa mga bata sa malikhaing gawain, agham at disenyo. At ito naman, ay maaaring magkaroon ng positibong epekto sa kanilang hinaharap na buhay. Mahirap bang gumawa ng crane gamit ang iyong sariling mga kamay? Ito ay hindi kasing problema na tila sa unang tingin. Ito ba ay nagkakahalaga ng pag-aalaga sa pagkakaroon ng karagdagang maliliit na bahagi parang kable at mga gulong kung saan iikot.

May backlight. Sa kabuuan, ang robot ay nagpapatakbo sa 6 na servomotors. Ang acrylic na dalawang milimetro ang kapal ay ginamit upang lumikha ng mekanikal na bahagi. Upang gawin ang tripod, ang base ay kinuha mula sa isang disco ball, at isang motor ang direktang itinayo dito.

Ang robot ay tumatakbo sa isang Arduino board. Ang isang computer unit ay ginagamit bilang pinagmumulan ng kuryente.

Mga materyales at tool:
- 6 na servomotor;
- acrylic 2 mm makapal (at isa pang maliit na piraso 4 mm makapal);
- tripod (upang lumikha ng isang base);
- uri ng ultrasonic distance sensor hc-sr04;
- Arduino Uno controller;
- power controller (ginawa nang nakapag-iisa);
- power supply mula sa computer;
- computer (kinakailangan para sa pagprograma ng Arduino);
- mga wire, kasangkapan, atbp.



Proseso ng paggawa:

Unang hakbang. Pagtitipon ng mekanikal na bahagi ng robot
Ang mekanikal na bahagi ay binuo nang napakasimple. Dalawang piraso ng acrylic ang kailangang ikabit gamit ang servo motor. Ang iba pang dalawang link ay konektado sa katulad na paraan. Tulad ng para sa grip, pinakamahusay na bilhin ito online. Ang lahat ng mga elemento ay pinagtibay ng mga tornilyo.

Ang haba ng unang bahagi ay mga 19 cm, at ang pangalawa ay humigit-kumulang 17.5 cm Ang front link ay may haba na 5.5 cm Tulad ng para sa natitirang mga elemento, ang kanilang mga sukat ay pinili sa personal na paghuhusga.





Ang anggulo ng pag-ikot sa base ng mekanikal na braso ay dapat na 180 degrees, kaya dapat na naka-install ang isang servo motor sa ibaba. Sa aming kaso, kailangan itong mai-install sa isang disco ball. Ang robot ay naka-install na sa servomotor.

Upang mai-install ang ultrasonic sensor kakailanganin mo ng isang piraso ng acrylic na 2 cm ang kapal.

Upang i-install ang grabber kakailanganin mo ng ilang mga turnilyo at isang servo motor. Kailangan mong kunin ang rocker mula sa servomotor at paikliin ito hanggang sa magkasya ito sa gripper. Pagkatapos ay maaari mong higpitan ang dalawang maliliit na turnilyo. Pagkatapos ng pag-install, ang servomotor ay dapat na nakabukas sa matinding kaliwang posisyon at ang mga gripping jaws ay dapat na sarado.

Ngayon ang servomotor ay naka-attach sa 4 bolts, ito ay mahalaga upang matiyak na ito ay nasa matinding kaliwang posisyon at ang mga labi ay pinindot nang magkasama.
Ngayon ay maaari mong ikonekta ang servo sa board at suriin kung gumagana ang gripper.








Ikalawang hakbang. Robot lighting
Upang gawing mas kawili-wili ang robot, maaari mo itong i-backlight. Ginagawa ito gamit ang mga LED na may iba't ibang kulay.


Ikatlong hakbang. Pagkonekta sa elektronikong bahagi
Ang pangunahing controller para sa robot ay ang Arduino board. Ang isang yunit ng computer ay ginagamit bilang pinagmumulan ng kapangyarihan sa mga output nito kailangan mong makahanap ng boltahe na 5 Volts. Dapat ay naroon kung susukatin mo ang boltahe sa pula at itim na mga wire na may multimeter. Ang boltahe na ito ay kinakailangan upang mapanggana ang mga servomotor at ang sensor ng distansya. Ang dilaw at itim na mga wire ng block ay gumagawa na ng 12 Volts, kailangan ang mga ito para gumana ang Arduino.

Para sa mga servomotor kailangan mong gumawa ng limang konektor. Ikinonekta namin ang 5V sa mga positibo, at ang mga negatibo sa lupa. Ang sensor ng distansya ay konektado sa parehong paraan.

Ang board ay mayroon ding LED power indicator. Upang ikonekta ito, isang 100 Ohm resistor ang ginagamit sa pagitan ng +5V at ground.










Ang mga output mula sa servo motors ay konektado sa mga PWM output sa Arduino. Ang ganitong mga pin sa pisara ay ipinahiwatig ng "~" na simbolo. Tulad ng para sa ultrasonic distance sensor, maaari itong ikonekta sa mga pin 6 at 7. Ang LED ay konektado sa lupa at ang ika-13 pin.

Ngayon ay maaari mong simulan ang programming. Bago kumonekta sa pamamagitan ng USB, kailangan mong tiyakin na ang kapangyarihan ay ganap na naka-off. Kapag sinusubukan ang programa, dapat ding patayin ang kapangyarihan ng robot. Kung hindi ito nagawa, ang controller ay makakatanggap ng 5V mula sa USB at 12V mula sa power supply.

Sa diagram makikita mo na ang mga potentiometer ay idinagdag upang kontrolin ang mga servo motors. Ang mga ito ay hindi isang kinakailangang bahagi ng robot, ngunit kung wala sila ang iminungkahing code ay hindi gagana. Ang mga potentiometer ay konektado sa mga pin 0,1,2,3 at 4.

Mayroong isang risistor R1 sa diagram; maaari itong mapalitan ng isang 100 kOhm potentiometer. Papayagan ka nitong ayusin nang manu-mano ang liwanag. Tulad ng para sa mga resistors R2, ang kanilang nominal na halaga ay 118 Ohms.

Narito ang isang listahan ng mga pangunahing sangkap na ginamit:
- 7 LEDs;
- R2 - 118 Ohm risistor;
- R1 - 100 kOhm risistor;
- lumipat;
- photoresistor;
- transistor bc547.

Ikaapat na hakbang. Programming at unang paglulunsad ng robot
Upang kontrolin ang robot, 5 potentiometers ang ginamit. Posibleng palitan ang naturang circuit ng isang potentiometer at dalawang joystick. Kung paano ikonekta ang isang potentiometer ay ipinakita sa nakaraang hakbang. Pagkatapos i-install ang sketch, maaaring masuri ang robot.

Ang mga unang pagsubok ng robot ay nagpakita na ang mga naka-install na servo motors ng uri ng futuba s3003 ay naging mahina para sa robot. Magagamit lamang ang mga ito para ipihit ang kamay o hawakan. Sa halip, nag-install ang may-akda ng mg995 engine. Tamang pagpipilian magkakaroon ng mga makina tulad ng mg946.

MeArm robotic arm - bulsa na bersyon pang-industriyang manipulator. Ang MeArm ay isang madaling i-assemble at kontrolin na robot, mekanikal na braso. Ang manipulator ay may apat na antas ng kalayaan, na ginagawang mas madaling maunawaan at ilipat ang iba't ibang maliliit na bagay.

Ang produktong ito ay ipinakita bilang isang kit para sa pagpupulong. Kasama ang mga sumusunod na bahagi:

  • hanay ng mga transparent na bahagi ng acrylic para sa pagpupulong mekanikal na manipulator;
  • 4 servos;
  • control board kung saan matatagpuan ang Arduino Pro micro microcontroller at Nokia 5110 graphic display;
  • joystick board na naglalaman ng dalawang dalawang-axis na analog joystick;
  • USB power cable.


Bago i-assemble ang mekanikal na manipulator, kinakailangan upang i-calibrate ang mga servos. Para sa pagkakalibrate gagamitin namin ang Arduino controller. Ikinonekta namin ang mga servos sa Arduino board (kinakailangan panlabas na pinagmulan power supply 5-6V 2A).

Servo gitna, kaliwa, kanan, claw; // lumikha ng 4 na Servo object

Void setup()
{
Serial.begin(9600);
middle.attach(11); // nag-attach ng servo sa pin 11 upang paikutin ang platform
left.attach(10); // nakakabit ng servo sa pin 10 sa kaliwang balikat
right.attach(9); // nakakabit ng servo sa pin 11 sa kanang balikat
claw.attach(6); // nag-attach ng servo sa pin 6 claw (capture)
}

void loop()
{
// nagtatakda ng posisyon ng servo ayon sa magnitude (sa mga degree)
middle.write(90);
left.write(90);
right.write(90);
claw.write(25);
pagkaantala(300);
}
Gamit ang isang marker, gumawa ng isang linya sa pamamagitan ng servo motor body at spindle. Ikonekta ang plastic rocker na kasama sa kit sa servo gaya ng ipinapakita sa ibaba gamit ang maliit na turnilyo na kasama sa servo mounting kit. Gagamitin namin ang mga ito sa posisyong ito kapag pinagsama-sama ang mekanikal na bahagi ng MeArm. Mag-ingat na huwag ilipat ang posisyon ng spindle.


Ngayon ay maaari mong tipunin ang mekanikal na manipulator.
Kunin ang base at ilakip ang mga binti sa mga sulok nito. Pagkatapos ay i-install ang apat na 20 mm bolts at screw nuts sa mga ito (kalahati ng kabuuang haba).

Ngayon ay ikinakabit namin ang gitnang servo na may dalawang 8mm bolts sa isang maliit na plato, at ilakip ang nagresultang istraktura sa base gamit ang 20mm bolts.

Pinagsasama-sama namin ang kaliwang seksyon ng istraktura.

Binubuo namin ang tamang seksyon ng istraktura.

Ngayon ay kailangan mong ikonekta ang kaliwa at kanang mga seksyon. Pumunta muna ako sa adapter plate

Pagkatapos ay tama, at nakuha namin

Pagkonekta sa istraktura sa platform

At kinokolekta namin ang "kuko"

Ikinakabit namin ang "kuko"

Para sa pagpupulong, maaari mong gamitin ang sumusunod na manwal (sa Ingles) o isang manwal para sa pag-assemble ng katulad na manipulator (sa Russian).

Pinout diagram

Ngayon ay maaari mong simulan ang pagsulat ng Arduino code. Upang makontrol ang manipulator, kasama ang kakayahang kontrolin ang kontrol gamit ang isang joystick, mainam na idirekta ang manipulator sa isang tiyak na punto sa mga coordinate ng Cartesian (x, y, z). Mayroong kaukulang library na maaaring ma-download mula sa github - https://github.com/mimeindustries/MeArm/tree/master/Code/Arduino/BobStonesArduinoCode.
Ang mga coordinate ay sinusukat sa mm mula sa gitna ng pag-ikot. Ang panimulang posisyon ay nasa punto (0, 100, 50), iyon ay, 100 mm pasulong mula sa base at 50 mm mula sa lupa.
Isang halimbawa ng paggamit ng library upang mag-install ng manipulator sa isang partikular na punto sa mga coordinate ng Cartesian:

#include "meArm.h"
#isama

Void setup() (
arm.begin(11, 10, 9, 6);
arm.openGripper();
}

Void loop() (
// tumayo at umalis
arm.gotoPoint(-80,100,140);
// grab
arm.closeGripper();
// pababa, pinsala at tama
arm.gotoPoint(70,200,10);
// bitawan ang pagkakahawak
arm.openGripper();
// bumalik sa panimulang punto
arm.gotoPoint(0,100,50);
}

Mga pamamaraan ng klase ng meArm:

walang bisa magsimula(int pinBase, int pinShoulder, int pinElbow, int pinGripper) - ilunsad ang meArm, tukuyin ang mga pin ng koneksyon para sa gitna, kaliwa, kanan, claw servos. Dapat tawagan sa setup();
walang bisa openGripper() - buksan ang mahigpit na pagkakahawak;
walang bisa closeGripper() - makuha;
walang bisa gotoPoint(lumutang x, lumutang y, lumutang z) - ilipat ang manipulator sa posisyon ng mga coordinate ng Cartesian (x, y, z);
lumutang getX() - kasalukuyang X coordinate;
lumutang getY() - kasalukuyang Y coordinate;
lumutang getZ() - kasalukuyang Z coordinate.

Gabay sa Assembly (Ingles)

Ang artikulong ito ay isang panimulang gabay para sa mga nagsisimula kung paano gumawa mga robot na armas, na naka-program gamit ang Arduino. Ang konsepto ay ang robotic arm project ay magiging mura at madaling itayo. Magbubuo kami ng isang simpleng prototype na may code na maaari at dapat na i-optimize ito para sa iyo sa robotics. Ang Arduino robotic arm ay kinokontrol ng isang na-hack na joystick at maaaring i-program upang ulitin ang pagkakasunod-sunod ng mga aksyon na iyong tinukoy. Kung hindi ka malakas sa programming, maaari mong gawin ang proyekto bilang isang pagsasanay para sa pag-assemble ng hardware, i-upload ang aking code dito at makakuha ng pangunahing kaalaman batay dito. Muli, ang proyekto ay medyo simple.

Ang video ay nagpapakita ng isang demo ng aking robot.

Hakbang 1: Listahan ng Mga Materyales



Kakailanganin namin ang:

  1. Arduino board. Ginamit ko ang Uno, ngunit ang anumang iba't ibang uri ay pantay na gagawa ng trabaho para sa proyekto.
  2. Servos, 4 sa Pinakamamurang Hahanapin Mo.
  3. Mga materyales sa pabahay na angkop sa iyong panlasa. Ang kahoy, plastik, metal, karton ay angkop. Ang aking proyekto ay ginawa mula sa isang lumang notepad.
  4. Kung ayaw mong mahirapan naka-print na circuit board, pagkatapos ay kakailanganin mo ng breadboard. Angkop na board maliit na sukat, maghanap ng mga opsyon na may mga jumper at power supply - maaari silang maging mura.
  5. Isang bagay para sa base ng braso - Gumamit ako ng lata ng kape, hindi ito ang pinakamagandang opsyon, ngunit ito lang ang mahahanap ko sa apartment.
  6. Isang manipis na sinulid para sa mekanismo ng braso at isang karayom ​​para sa paggawa ng mga butas.
  7. Kola at tape upang pagsamahin ang lahat. Walang bagay na hindi maaaring hawakan kasama ng duct tape at mainit na pandikit.
  8. Tatlong 10K resistors. Kung wala kang resistors, mayroong isang workaround sa code para sa mga naturang kaso, gayunpaman ang pinakamahusay na pagpipilian bibili ng resistors.

Hakbang 2: Paano ito gumagana



Ang nakalakip na pigura ay nagpapakita ng prinsipyo ng pagtatrabaho ng kamay. Ipapaliwanag ko rin sa salita ang lahat. Ang dalawang bahagi ng kamay ay pinagdugtong ng isang manipis na sinulid. Ang gitna ng thread ay konektado sa arm servo. Kapag hinila ng servo ang sinulid, kumukontra ang kamay. Nilagyan ko ng ballpen spring ang braso, ngunit kung mayroon kang mas nababaluktot na materyal, maaari mong gamitin iyon.

Hakbang 3: Pagbabago sa Joystick

Ipagpalagay na natapos mo na ang pag-assemble ng mekanismo ng braso, magpapatuloy ako sa bahagi ng joystick.

Ang isang lumang joystick ay ginamit para sa proyektong ito, ngunit sa prinsipyo ang anumang aparato na may mga pindutan ay gagawin. Ang mga analog na pindutan (mushroom) ay ginagamit upang kontrolin ang mga servos, dahil ang mga ito ay mahalagang potentiometers lamang. Kung wala kang joystick, maaari kang gumamit ng tatlong regular na potentiometer, ngunit kung ikaw ay tulad ko at nag-DIY ng lumang joystick, narito ang kailangan mong gawin.

Ikinonekta ko ang mga potentiometer sa breadboard, bawat isa sa kanila ay may tatlong terminal. Ang isa sa mga ito ay kailangang konektado sa GND, ang pangalawa sa +5V sa Arduino, at ang gitna sa input, na tutukuyin natin sa ibang pagkakataon. Hindi namin gagamitin ang Y axis sa kaliwang potentiometer, kaya kailangan lang namin ang potentiometer sa itaas ng joystick.

Tulad ng para sa mga switch, ikonekta ang +5V sa isang dulo, at ang wire na papunta sa kabilang Arduino input sa kabilang dulo. Ang aking joystick ay may karaniwang +5V na linya para sa lahat ng switch. 2 buttons lang ang ikinonekta ko, pero pagkatapos ay nagkonekta ako ng isa pa dahil kailangan ito.

Mahalaga rin na putulin ang mga wire na papunta sa chip (itim na bilog sa joystick). Kapag nakumpleto mo na ang lahat ng nasa itaas, maaari kang magsimulang mag-wire.

Hakbang 4: Pag-wire sa aming device

Ipinapakita ng larawan ang mga electrical wiring ng device. Ang mga potentiometer ay mga lever sa isang joystick. Ang Elbow ay ang kanang Y axis, ang Base ay ang kanang X axis, Ang balikat ay ang kaliwang X axis Kung gusto mong baguhin ang direksyon ng mga servos, baguhin lamang ang posisyon ng +5V at GND na mga wire sa kaukulang potentiometer.

Hakbang 5: Mag-upload ng Code

Sa puntong ito, kailangan naming i-download ang naka-attach na code sa iyong computer at pagkatapos ay i-upload ito sa Arduino.

Tandaan: kung nakapag-upload ka na ng code sa Arduino dati, laktawan lang ang hakbang na ito - wala kang matututunang bago.

  1. Buksan ang Arduino IDE at i-paste ang code dito
  2. Sa Tools/Board piliin ang iyong board
  3. Sa Tools/Serial Port, piliin ang port kung saan nakakonekta ang iyong board. Malamang, ang pagpipilian ay binubuo ng isang item.
  4. I-click ang button na Mag-upload.

Maaari mong baguhin ang saklaw ng pagpapatakbo ng mga servos, nag-iwan ako ng mga tala sa code kung paano ito gagawin. Malamang, gagana ang code nang walang mga problema, kakailanganin mo lamang baguhin ang parameter ng arm servo. Ang setting na ito ay nakadepende sa kung paano mo na-configure ang iyong filament, kaya inirerekomenda kong makuha ito nang eksakto.

Kung hindi ka gumagamit ng mga resistors, kakailanganin mong baguhin ang code kung saan ako nag-iwan ng mga tala tungkol dito.

Mga file

Hakbang 6: Pagsisimula ng Proyekto

Ang robot ay kinokontrol ng mga paggalaw sa joystick, ang kamay ay naka-compress at hindi naka-unnch gamit ang hand button. Ipinapakita ng video kung paano gumagana ang lahat sa totoong buhay.

Narito ang isang paraan upang i-program ang kamay:

  1. Buksan ang Serial Monitor sa Arduino IDE, gagawin nitong mas madali ang pagsubaybay sa proseso.
  2. I-save ang panimulang posisyon sa pamamagitan ng pag-click sa I-save.
  3. Isang servo lang ang ilipat sa isang pagkakataon, halimbawa, Shoulder Up, at pindutin ang save.
  4. I-activate din ang kamay sa panahon lamang nito, at pagkatapos ay i-save sa pamamagitan ng pagpindot sa save. Ang pag-deactivate ay ginagawa din sa isang hiwalay na hakbang, na sinusundan ng pagpindot sa save.
  5. Kapag natapos mo ang pagkakasunud-sunod ng mga utos, pindutin ang pindutan ng play, ang robot ay lilipat sa panimulang posisyon at pagkatapos ay magsisimulang lumipat.
  6. Kung gusto mong ihinto ito, idiskonekta ang cable o pindutin ang reset button sa Arduino board.

Kung ginawa mo ang lahat ng tama, ang resulta ay magiging katulad nito!

Umaasa ako na ang aralin ay naging kapaki-pakinabang sa iyo!