Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: I-print ang Lahat ng mga 3D Component
- Hakbang 2: (Opsyonal) Maglakip ng isang Plank ng Kahoy sa Ibaba ng Iyong Kahon upang Palakasin Ito
- Hakbang 3: Sukatin at Gupitin ang isang Plank of Wood upang magkasya ang Kahon
- Hakbang 4: Markahan ang Mga Posisyon ng mga Motors
- Hakbang 5: Markahan ang Mga Posisyon ng mga Bracket at ang Pipe
- Hakbang 6: Mag-drill ng isang Hole para sa Mga Cables na Lumalabas sa Iyong Kahon (USB at Lakas)
- Hakbang 7: Mag-drill at Nakita ang Lahat ng Minarkahang Butas
- Hakbang 8: Ikabit ang Mga Motors at Pipe sa Plank
- Hakbang 9: Ikabit ang Plank sa Box Sa Mga L-Bracket
- Hakbang 10: Dalhin ang Iyong Mga Terminal Bloke at Mag-solder ng Mga Wires na Magkasama
- Hakbang 11: Gupitin ang Wakas ng Adapter Power Cord at i-strip ang mga Wires
- Hakbang 12: Kilalanin at Markahan ang Plus at Minus Wires
- Hakbang 13: Ikabit ang mga Wires sa mga Block ng Terminal Upang Lahat ng mga + Servo Wires at ang + Wire Mula sa Power Cord ay Nakakonekta, Parehong Pupunta para sa - Mga Wires
- Hakbang 14: Gupitin ang Head ng isang Breadboard Wire
- Hakbang 15: Mag-drill ng Tatlong Butas sa Ibaba ng Kahon para sa Mga Wires na Lumalabas sa Iyong Arm
- Hakbang 16: Ikabit ang Base Connector sa Kahon
- Hakbang 17: Gumamit ng isang Knife o Nail File upang Gawing mas Malalim ang Wire Grouces
- Hakbang 18: Buuin ang Arm
- Hakbang 19: I-install ang Pagproseso at Arduino
- Hakbang 20: I-paste ang Mga Program sa Code
- Hakbang 21: Ikonekta ang Mga Servo Control Pins sa Arduino
- Hakbang 22: Pindutin ang I-reset ang Button sa Pagproseso, Itatakda nito ang Lahat ng Armas sa 90 Degree
- Hakbang 23: Ayusin ang Servo Arms sa Motor Pahalang
- Hakbang 24: I-Thread ang Mga Wires Sa pamamagitan ng Arms Upang Walang Mabagal
- Hakbang 25: Subukan ang braso at higpitan o paluwagin ang mga wires na kinakailangan
- Hakbang 26: Mainit na Pandikit ang mga Wires sa Servo Arms upang Gawin itong Permanenteng
- Hakbang 27: Mga Tala
- Hakbang 28: Pag-troubleshoot
- Hakbang 29: Mga Link
- Hakbang 30: Code
- Hakbang 31: Higit pang Mga Larawan
Video: Kinokontrol ng Wire na Robot Arm: 31 Mga Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Ito ay isang tutorial sa kung paano gumawa ng isang braso ng robot na kinokontrol ng mga wire. Ang bentahe ng paggamit ng mga wire ay ang iyong braso ay mas magaan at maaari mong magkaroon ng lahat ng iyong mga motor sa ilalim ng iyong braso, ginagawang mas madali ang pagbuo at pagpapanatili. Narito ang isang video ng braso sa pagkilos. Plano kong magdagdag ng isang kuko sa hinaharap upang maaari itong pumili ng mga bagay at hindi lamang itulak ang mga ito sa paligid.
Mga Napi-print na 3D:
Dito at Dito
Mga gamit
6 Servo Motors (MG995)
Arduino Uno
Mga 6 metro ng plastik na pinahiran na bakal na wire (0.5mm)
Box 23x33x10 (maaaring mas makitid, tiyak na hindi dapat maging mas maikli)
Plank ng kahoy na 33x10
Mga Nuts at Bolts
Pipe 14 cm (kinakailangan ito upang gabayan ang mga string)
4 L-Bracket
5-volt adapter
2 7-way na mga bloke ng terminal
Mga wire ng Breadboard
Mga Naka-print na Component ng 3D (Hindi ko dinisenyo, mga link sa mga elemento sa paglalarawan):
3 "Bolts"
2 "Element 1"
1 "Element 2"
2 "Element 3"
1 Base Connector
Hakbang 1: I-print ang Lahat ng mga 3D Component
Maaaring kailanganin mo ng suporta para sa mga butas ng bolt at arko ngunit tiyakin na hindi magdagdag ng suporta sa katawan ng iyong mga bahagi; isasara nito ang maliliit na butas ng kawad at kakailanganin mong gumawa ng mga bagong butas
Hakbang 2: (Opsyonal) Maglakip ng isang Plank ng Kahoy sa Ibaba ng Iyong Kahon upang Palakasin Ito
Medyo mahina ang aking kahon, maaaring wala ang sa iyo
Hakbang 3: Sukatin at Gupitin ang isang Plank of Wood upang magkasya ang Kahon
Hakbang 4: Markahan ang Mga Posisyon ng mga Motors
tiyaking wala sa mga bisig ang magkadikit
Hakbang 5: Markahan ang Mga Posisyon ng mga Bracket at ang Pipe
Ang tubo ay dapat na mailagay sa paligid ng isang sentimetro sa harap ng butas
Hakbang 6: Mag-drill ng isang Hole para sa Mga Cables na Lumalabas sa Iyong Kahon (USB at Lakas)
Hakbang 7: Mag-drill at Nakita ang Lahat ng Minarkahang Butas
Hakbang 8: Ikabit ang Mga Motors at Pipe sa Plank
Hakbang 9: Ikabit ang Plank sa Box Sa Mga L-Bracket
Hakbang 10: Dalhin ang Iyong Mga Terminal Bloke at Mag-solder ng Mga Wires na Magkasama
Hakbang 11: Gupitin ang Wakas ng Adapter Power Cord at i-strip ang mga Wires
Hakbang 12: Kilalanin at Markahan ang Plus at Minus Wires
Hakbang 13: Ikabit ang mga Wires sa mga Block ng Terminal Upang Lahat ng mga + Servo Wires at ang + Wire Mula sa Power Cord ay Nakakonekta, Parehong Pupunta para sa - Mga Wires
Hakbang 14: Gupitin ang Head ng isang Breadboard Wire
Ikabit ang hinubad na dulo ng wire ng tinapay sa minus terminal block at ang dulo ng pin sa ground pin sa iyong arduino. Kung hindi mo ito gagawin ang mga motor ay galaw ng galaw nang walang anumang input.
Hakbang 15: Mag-drill ng Tatlong Butas sa Ibaba ng Kahon para sa Mga Wires na Lumalabas sa Iyong Arm
Ang mga butas ay dapat na tumutugma hanggang sa mga butas sa base konektor.
Hakbang 16: Ikabit ang Base Connector sa Kahon
Hakbang 17: Gumamit ng isang Knife o Nail File upang Gawing mas Malalim ang Wire Grouces
Ang mga wire groove para sa mga elemento 2 at 3 ay masyadong mababaw.
Hakbang 18: Buuin ang Arm
Buuin ang braso alinsunod sa mga tagubilin dito na maaaring kailanganin mong i-file ang mga bahagi upang magkasya ang mga ito
Hakbang 19: I-install ang Pagproseso at Arduino
Pagproseso at Arduino
Hakbang 20: I-paste ang Mga Program sa Code
Ang code ay nasa ilalim ng pahinang ito
Hakbang 21: Ikonekta ang Mga Servo Control Pins sa Arduino
Ikinonekta ko ang unang motor sa pangatlong digital pin, ang pangalawang motor sa ika-apat na digital pin at iba pa. Tiyaking ang ground pin ay konektado pa rin sa - terminal block.
Hakbang 22: Pindutin ang I-reset ang Button sa Pagproseso, Itatakda nito ang Lahat ng Armas sa 90 Degree
Hakbang 23: Ayusin ang Servo Arms sa Motor Pahalang
Hakbang 24: I-Thread ang Mga Wires Sa pamamagitan ng Arms Upang Walang Mabagal
Tiyaking sinulid mo ang kawad sa maraming mga butas hangga't maaari, pansamantalang hahawak ito at madaling alisin.
Hakbang 25: Subukan ang braso at higpitan o paluwagin ang mga wires na kinakailangan
Hakbang 26: Mainit na Pandikit ang mga Wires sa Servo Arms upang Gawin itong Permanenteng
Hakbang 27: Mga Tala
Gumamit ako ng 0.5mm wire na alahas ngunit ang 0.4mm ay dapat na maging maayos. Ang orihinal na disenyo ay gumamit ng PVC wire ngunit napakadali nitong nasira at mahirap itong gumana.
Kung ililipat mo ang braso sa isang kotse o bisikleta ang mga kasukasuan ng braso sa tape upang matiyak na hindi sila lumalabas. Ito ay lalong mahalaga para sa elemento 1.
Nang sinimulan ko ang proyektong ito nagtataka ako kung bakit isang tutorial lamang ang nakikita ko sa kung paano gumawa ng braso na kinokontrol ng mga wire. Ngayon naiintindihan ko kung bakit hindi ito ang pinakakaraniwang paraan upang makagawa ng isang hobby na braso ng robot. Minsan mahuhulog ang mga wire sa kanilang mga groove at ang buong bagay ay uri ng malambot. Hindi ko alam kung ang mga problema ay dahil wala akong maraming karanasan o kung ang buong ideya ay may problema bagaman sigurado ako na magiging mas matatag ito kung alam ko ang aking ginagawa.
Hakbang 28: Pag-troubleshoot
Ang mga butas ng kawad ay nakasara sa mga naka-print na elemento ng 3D:
Nagdagdag ka ng suporta para sa buong elemento sa halip na ang mga bolt hole lamang. Alinman sa muling pag-print ng elemento o buksan ang mga butas gamit ang isang talagang mainit na karayom.
Sarado ang port ng COM, hindi ka makikipag-usap sa arduino:
Maaaring hindi tanggapin ng iyong arduino ang mga USB 3 port (hindi sa akin), maaari kang bumili ng isang USB 2 extension cable o gumamit ng isang computer na mayroong mga USB 2 port
Hindi gumagana ang code:
Sundin ang tutorial na ito at baguhin ito upang makagawa ng iyong sariling code
Ang isang bahagi ng braso ay hindi gumagalaw:
Ang mga wires ay maaaring gusot, upang suriin ito kunin ang servo arm mula sa servo at subukang hilahin ang mga wire sa pamamagitan ng kamay. Alisin ang mga wire at kung mahirap pa ring hilahin ang mga wire subukang gumamit ng ilang WD-40 o isang pampadulas upang gawing mas madali ang paggalaw
Hakbang 29: Mga Link
Non Robotic Arm:
Mga Printable ng Arm 3D:
Maaaring i-print ang Aking Arm 3D:
Arduino at Pagproseso:
Hakbang 30: Code
Binago mula sa code na ito
Arduino Code:
#include // Ideklara ang mga motor Servo MyServo1; Servo MyServo2; Servo MyServo3; Servo MyServo4; Servo MyServo5; Servo MyServo6; // Ang lahat ng mga motor ay nakatakda sa 90 degree sa pamamagitan ng default int kasalukuyang1 = 90; int kasalukuyang2 = 90; int kasalukuyang3 = 90; int kasalukuyang4 = 90; int kasalukuyang5 = 90; int kasalukuyang6 = 90; // Minimum at Maximum Degree ang mga motor ay maaaring maabot ang int mini1 = 0; int maxi1 = 180; int mini2 = 0; int maxi2 = 180; int mini3 = 0; int maxi3 = 180; int mini4 = 0; int maxi4 = 180; int mini5 = 0; int maxi5 = 180; int mini6 = 0; int maxi6 = 180; // Degree na idaragdag o ibabawas mula sa kasalukuyang posisyon int degreeFoward = 5; // Delay kaya't ang dalawang pag-andar ay hindi nangyayari sa maling pagkakasunud-sunod int delayBet AntaraSteps = 100; void setup () {// Itakda ang mga control pin para sa bawat motor myservo1.attach (3); myservo2.attach (4); myservo3.attach (5); myservo4.attach (6); myservo5.attach (7); myservo6.attach (8); // Itakda ang lahat ng mga motor sa default na setting ng myservo1.write (kasalukuyang1); myservo2.write (kasalukuyang2); myservo3.write (kasalukuyang3); myservo4.write (kasalukuyang4); myservo5.write (kasalukuyang5); myservo6.write (kasalukuyang6); // simulan ang serial komunikasyon @ 9600 bps Serial.begin (9600); } void loop () {if (Serial.available ()) {// kung magagamit ang data upang mabasa ang char val = Serial.read (); // ilagay ito sa char // Mga Kontrol sa Motor kung (val == 'a' && current1 + degreesFoward mini1) {myservo1.write (current1 - degreesFoward); kasalukuyang1 = kasalukuyang1 - degreeFoward; antala (antalaMga Hakbang); } kung (val == 'c' && kasalukuyang2 mini2) {myservo2.write (kasalukuyang2 - degreesFoward); kasalukuyang2 = kasalukuyang2 - degreeFoward; antala (antalaMga Hakbang); } kung (val == 'e' && kasalukuyang3 mini3) {myservo3.write (kasalukuyang3 - degreesFoward); kasalukuyang3 = kasalukuyang3 - degreeFoward; antala (antalaMga Hakbang); } kung (val == 'g' && kasalukuyang4 mini4) {myservo4.write (current4 - degreesFoward); kasalukuyang4 = kasalukuyang4 - degreeFoward; antala (antalaMga Hakbang); } kung (val == 'i' && kasalukuyang5 mini5) {myservo5.write (current5 - degreesFoward); kasalukuyang5 = kasalukuyang5 - degreesFoward; antala (antalaMga Hakbang); } kung (val == 'k' && kasalukuyang6 mini6) {myservo6.write (current6 - degreesFoward); kasalukuyang6 = kasalukuyang6 - degreeFoward; antala (antalaMga Hakbang); } // Mga Kontrol ng Bilis kung (val == 'w') {// Kung ang bilis ng pindutan na 1 ay pinindot ang degreeFoward = 1; antala (antalaMga Hakbang); } kung (val == 'x') {// Kung ang bilis ng 5 pindutan ay pinindot ang degreeFoward = 5; antala (antalaMga Hakbang); } kung (val == 'y') {// Kung ang bilis ng 10 pindutan ay pinindot ang degreeFoward = 10; antala (antalaMga Hakbang); } if (val == 'z') {// Kung ang bilis ng 20 button ay pinindot ang degreesFoward = 20; antala (antalaMga Hakbang); } kung (val == 'r') {// Kung ang pindutan ng bilis 20 ay pinindot ang myservo1.write (90); kasalukuyang1 = 90; myservo2.write (90); kasalukuyang2 = 90; myservo3.write (90); kasalukuyang3 = 90; myservo4.write (90); kasalukuyang4 = 90; myservo5.write (90); kasalukuyang5 = 90; myservo6.write (90); kasalukuyang6 = 90; antala (antalaMga Hakbang); }}}
Code sa pagpoproseso:
pagproseso ng pag-import.serial. *; import controlP5. *; // import ControlP5 library Serial port; ControlP5 cp5; // create ControlP5 object PFont font; walang bisa ang pag-setup () {// kapareho ng laki ng programa ng arduino (300, 700); // laki ng window, (lapad, taas) printArray (Serial.list ()); // print lahat ng magagamit na serial port // Kung nagkakaproblema ka marahil ay nagmula dito String portName = Serial.list () [0]; port = bagong Serial (ito, portName, 9600); // nakakonekta ko ang arduino sa com3, magkakaiba ito sa linux at mac os // hinahayaan na magdagdag ng buton sa walang laman na window ng cp5 = bagong ControlP5 (ito); font = createFont ("Arial", 13); // pasadyang mga font para sa mga pindutan at pamagat // Mga Pindutan sa Bilis ng Pagkontrol cp5.add Button ("Isa") // "Isa" ang pangalan ng pindutan.setPosition (50, 50) // x at y mga coordinate ng itaas na kaliwang sulok ng pindutan.setSize (55, 25) // (lapad, taas).setFont (font); cp5.addButton ("Limang").setPosition (110, 50).setSize (55, 25).setFont (font); cp5.addButton ("Ten").setPosition (170, 50).setSize (55, 25).setFont (font); cp5.addButton ("Dalawampu").setPosition (230, 50).setSize (55, 25).setFont (font); cp5.addButton ("I-reset").setPosition (110, 2).setSize (55, 25).setFont (font); cp5.add Button ("Servo_1_Foward").setPosition (50, 90).setSize (190, 40).setFont (font); // Motor Control Buttons cp5.add Button ("Servo_1_Back").setPosition (50, 140).setSize (190, 40).setFont (font); cp5.add Button ("Servo_2_Foward").setPosition (50, 190).setSize (190, 40).setFont (font); cp5.add Button ("Servo_2_Back").setPosition (50, 240).setSize (190, 40).setFont (font); cp5.add Button ("Servo_3_Foward").setPosition (50, 290).setSize (190, 40).setFont (font); cp5.add Button ("Servo_3_Back").setPosition (50, 340).setSize (190, 40) // (lapad, taas).setFont (font); cp5.add Button ("Servo_4_Foward").setPosition (50, 390).setSize (190, 40).setFont (font); cp5.add Button ("Servo_4_Back").setPosition (50, 440).setSize (190, 40) // (lapad, taas).setFont (font); cp5.add Button ("Servo_5_Foward").setPosition (50, 490).setSize (190, 40).setFont (font); cp5.add Button ("Servo_5_Back").setPosition (50, 540).setSize (190, 40).setFont (font); cp5.add Button ("Servo_6_Foward").setPosition (50, 590).setSize (190, 40).setFont (font); cp5.add Button ("Servo_6_Back").setPosition (50, 640).setSize (190, 40).setFont (font); } void draw () {// pareho sa loop sa background ng arduino (192, 215, 249); // background color ng window (r, g, b) o (0 hanggang 255) // Magdagdag ng teksto na nagsasabing ang kontrol sa bilis ay ang pagpuno ng bilis na punan (0, 10, 25); // color text (r, g, b) textFont (font); teksto ("Control ng Bilis", 50, 40); // ("text", x coordinate, y coordinat)} // hinahayaan na magdagdag ng ilang mga pag-andar sa aming mga pindutan // kaya kapag pinindot mo ang anumang pindutan, nagpapadala ito ng partikular na char sa serial port // Sigurado akong posible na magpadala ng mga string sa halip na mga chars, at magkakaroon ng mas katuturan ngunit hindi ko alam kung paano ito gawin // Speed Control Commands void One () {port.write ('w'); } walang bisa Lima () {port.write ('x'); } walang bisa Ten () {port.write ('y'); } walang bisa Dalawampung () {port.write ('z'); } // Nag-utos ang Pagkontrol ng Motor ng Servo_1_Foward () {port.write ('a'); } i-void ang Servo_1_Back () {port.write ('b'); } void Servo_2_Foward () {port.write ('c'); } i-void ang Servo_2_Back () {port.write ('d'); } void Servo_3_Foward () {port.write ('e'); } void Servo_3_Back () {port.write ('f'); } void Servo_4_Foward () {port.write ('g'); } i-void ang Servo_4_Back () {port.write ('h'); } i-void ang Servo_5_Foward () {port.write ('i'); } i-void ang Servo_5_Back () {port.write ('j'); } void Servo_6_Foward () {port.write ('k'); } i-void ang Servo_6_Back () {port.write ('l'); } walang bisa ang I-reset () {port.write ('r'); }
Hakbang 31: Higit pang Mga Larawan
Inirerekumendang:
Isang Simpleng Robotic Arm na Kinokontrol Sa Aktwal na Kilusan ng Kamay: 7 Mga Hakbang (na may Mga Larawan)
Isang Simpleng Robotic Arm na Kinokontrol Sa Aktwal na Kilusan ng Kamay: Ito ay isang napaka-simpleng isang robotic arm ng DOF para sa mga nagsisimula. Ang braso ay kontrolado ng Arduino. Nakakonekta ito sa isang sensor na nakakabit sa kamay ng operator. Samakatuwid ang operator ay maaaring makontrol ang siko ng braso sa pamamagitan ng baluktot ng kanyang sariling kilusan ng siko. Sa
4 DOF Mechanical Arm Robot Kinokontrol ng Arduino: 6 Mga Hakbang
4 DOF Mechanical Arm Robot Kinokontrol ni Arduino: Kamakailan binili ko ang hanay na ito sa aliexpress, ngunit hindi ako makahanap ng isang tagubilin, na akma para sa modelong ito. Kaya't nagtatapos ito upang buuin ito ng halos dalawang beses at gumawa ng maraming mga eksperimento upang malaman ang tamang mga anggulo ng pag-mount ng servo. Isang makatuwirang dokumentasyon siya
Kinokontrol ng Arduino Robotic Arm W / 6 Mga Degree ng Freedom: 5 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Arduino Robotic Arm W / 6 Degree of Freedom: Miyembro ako ng isang robotics group at bawat taon ang aming pangkat ay nakikilahok sa isang taunang Mini-Maker Faire. Simula noong 2014, nagpasya akong bumuo ng isang bagong proyekto para sa kaganapan sa bawat taon. Sa oras na iyon, mayroon akong isang buwan bago ang kaganapan upang maglagay ng isang bagay na makakalimutan
Kinokontrol ng DMX na EL Wire Ceiling: 9 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng DMX na EL Wire Ceiling: Ang proyektong ito ay isang DMX kinokontrol na kisame ng EL Wire. Ito ay gawa sa 30 EL Wire (na nangangahulugang Electroluminescent Wire) sa 3 magkakaibang kulay, ganap na nagsasarili. Nagsasama ito ng isang karaniwang DMX protocol, upang maging katugma sa anumang light control software
Kinokontrol ng Nunchuk na Robotic Arm (kasama ang Arduino): 14 Mga Hakbang (na may Mga Larawan)
Kinokontrol ng Nunchuk na Robotic Arm (kasama ang Arduino): Kahanga-hanga ang mga armas ng Robotic! Ang mga pabrika sa buong mundo ay mayroong mga ito, kung saan sila pintura, maghinang at magdala ng mga bagay na may katumpakan. Matatagpuan din ang mga ito sa paggalugad sa kalawakan, mga sasakyan sa malayuang pagpapatakbo ng subsea, at maging sa mga medikal na aplikasyon! At ngayon maaari mo na