- Kinakailangan ang Mga Bahagi
- Pagtatayo ng Robotic Arm
- Circuit Diagram at Paggawa ng Paliwanag:
- Paano Paandarin ang Robotic Arm:
Sa tutorial na ito, magdidisenyo kami ng isang Arduino Uno batay sa Robotic Arm mula sa ilang mga karton at servo motor. Ang buong proseso ng konstruksyon ay naipaliwanag nang detalyado sa ibaba. Dito sa proyektong ito ang Arduino Uno ay naka-program upang makontrol ang mga servo motor na nagsisilbing mga kasukasuan ng Robotic arm. Ang setup na ito ay mukhang isang Robotic Crane o maaari rin nating mai-convert ito sa isang Crane sa pamamagitan ng paggawa ng ilang mga madaling pag-aayos. Ang proyektong ito ay magiging kapaki-pakinabang para sa mga nagsisimula na nais na malaman upang bumuo ng isang Simpleng Robot sa mababang gastos o nais lamang na malaman ang pagtatrabaho sa Arduino at servo motors.
Ang Arduino Robotic Arm na ito ay maaaring makontrol ng apat na Potentiometer na nakakabit dito, ang bawat potentiometer ay ginagamit upang makontrol ang bawat servo. Maaari mong ilipat ang mga servos na ito sa pamamagitan ng pag-ikot ng mga kaldero upang pumili ng ilang mga bagay, na may ilang pagsasanay na maaari mong madaling piliin at ilipat ang bagay mula sa isang lugar patungo sa isa pa. Gumamit kami ng mga low torque servo dito ngunit maaari kang gumamit ng mas malakas na servos upang pumili ng mga mabibigat na bagay. Ang buong proseso ay mahusay na ipinakita sa Video sa huli. Suriin din dito ang aming iba pang Mga Proyekto ng Robotics.
Kinakailangan ang Mga Bahagi
- Arduino Uno
- 1000uF Capacitor (4 na piraso)
- 100nF Capacitor (4 na piraso)
- Servo Motor (SG 90- apat na piraso)
- 10K pot- Variable Resistor (4 na piraso)
- Power Supply (5v- mas mabuti na dalawa)
Servo Motor
Una naming pinag-uusapan nang kaunti ang tungkol sa Servo Motors. Pangunahing ginagamit ang mga Servo Motors kapag may pangangailangan para sa tumpak na paggalaw o posisyon ng baras. Hindi ito iminungkahi para sa mga application ng mataas na bilis. Ang mga motor ng servo ay iminungkahi para sa mababang bilis, katamtamang metalikang kuwintas at tamang aplikasyon ng posisyon. Kaya't ang mga motor na ito ay pinakamahusay para sa pagdidisenyo ng robotic arm.
Magagamit ang mga servo motor sa iba't ibang mga hugis at sukat. Gumagamit kami ng maliliit na servo motor, dito gagamitin namin ang apat na SG90 servos. Ang isang motor na servo ay magkakaroon ng higit na may mga wire, ang isa ay para sa positibong boltahe isa pa ay para sa lupa at ang huli ay para sa setting ng posisyon. Ang RED wire ay konektado sa lakas, ang Black wire ay konektado sa ground at ang YELLOW wire ay konektado sa signal. Dumaan sa tutorial na ito ng Pagkontrol ng Servo Motor gamit ang Arduino upang malaman ang tungkol dito. Sa Arduino mayroon kaming natukoy na mga aklatan upang makontrol ang Servo, kaya napakadaling kontrolin ang servo, na matututunan mo kasama ng tutorial na ito.
Pagtatayo ng Robotic Arm
Kumuha ng isang patag at matatag na ibabaw, tulad ng isang mesa o isang hard card board. Susunod na ilagay ang isang motor na servo sa gitna at idikit ito sa lugar. Tiyaking ang antas ng pag-ikot ay nasa lugar na ipinakita sa pigura. Ang servo na ito ay gumaganap bilang base ng braso.
Maglagay ng isang maliit na piraso ng karton sa tuktok ng unang servo at pagkatapos ay ilagay ang pangalawang servo sa piraso ng board at idikit ito sa lugar. Dapat na tumugma ang pag-ikot ng servo sa diagram.
Kumuha ng ilang mga karton at gupitin ito sa mga piraso ng 3cm x 11cm. Siguraduhin na ang piraso ay hindi pinalambot. Gupitin ang isang hugis-parihaba na butas sa isang dulo (iwanan ang 0.8cm mula sa ilalim) sapat lamang upang magkasya sa isa pang servo at sa isa pang dulo magkasya ang servo gear nang mahigpit sa mga turnilyo o sa pamamagitan ng pandikit. Pagkatapos ay magkasya ang pangatlong servo sa unang butas.
Gupitin ngayon ang isa pang piraso ng karton na may haba na ipinakita sa pigura sa ibaba at kola ng isa pang gamit sa ilalim ng piraso na ito.
Ngayon kola ang pang- apat at huling servo sa gilid ng pangalawang piraso tulad ng ipinakita sa pigura.
Sa pamamagitan nito, magkakasama ang dalawang piraso.
Kapag ikinakabit namin ang setup na ito sa base dapat itong magmukhang,
Malapit ng matapos. Kailangan lang naming gumawa ng kawit upang makuha at piliin ang bagay tulad ng isang robotic na kamay. Para sa kawit, gupitin ang isa pang dalawang piraso ng card board ng haba na 1cmx7cm & 4cmx5cm. Kola ang mga ito nang magkasama tulad ng ipinakita sa pigura at idikit ang pangwakas na gamit sa pinakailid.
I-mount ang piraso na ito sa tuktok at sa pamamagitan nito natapos na namin ang pagbuo ng aming Robotic Arm.
Sa pamamagitan nito, nakumpleto ang aming pangunahing disenyo ng robotic arm at iyon ang paraan ng pagbuo namin ng aming murang gastos sa braso ng robotic. Ikonekta ngayon ang circuit sa breadboard ayon sa bawat diagram ng circuit.
Circuit Diagram at Paggawa ng Paliwanag:
Ang koneksyon ng circuit para sa Arduino Uno Robotic Arm ay ipinakita sa ibaba.
Ang boltahe sa mga variable na resistors ay hindi ganap na linear; magiging maingay ito. Kaya upang ma-filter ang ingay na ito, ang mga capacitor ay inilalagay sa bawat risistor tulad ng ipinakita sa pigura.
Ngayon ay ipakain namin ang boltahe na ibinigay ng variable na risistor (boltahe na kumakatawan sa kontrol sa posisyon) sa mga ADC channel ng Arduino. Gagamitin namin ang apat na mga channel ng ADC ng UNO mula sa A0 hanggang A3 para dito. Matapos ang pagsisimula ng ADC, magkakaroon kami ng digital na halaga ng mga kaldero na kumakatawan sa posisyong kinakailangan ng gumagamit. Kukunin namin ang halagang ito at itutugma ito sa posisyon ng servo.
Ang Arduino ay may anim na mga channel ng ADC. Gumamit kami ng apat para sa aming Robotic Arm. Ang UNO ADC ay may resolusyon na 10 bit kaya ang mga halaga ng integer mula sa 0-1023 (2 ^ 10 = 1024 na mga halaga). Nangangahulugan ito na mai-map ang mga voltages ng pag-input sa pagitan ng 0 at 5 volts sa mga halaga ng integer sa pagitan ng 0 at 1023. Kaya para sa bawat (5/1024 = 4.9mV) bawat yunit. Matuto nang higit pa tungkol sa pagmamapa ng mga antas ng boltahe gamit ang mga ADC channel sa Arduino dito.
Ngayon, para mai-convert ng UNO ang analog signal sa digital signal, kailangan naming Gumamit ng ADC Channel ng Arduino Uno, sa tulong ng mga pagpapaandar sa ibaba:
1. analogRead (pin); 2. analogReferensi (); 3. analogReadResolution (bits);
Ang mga channel ng Arduino ADC ay may default na halaga ng sanggunian na 5V. Nangangahulugan ito na maaari kaming magbigay ng isang maximum na boltahe ng pag-input ng 5V para sa pag-convert ng ADC sa anumang input channel. Dahil ang ilang mga sensor ay nagbibigay ng mga voltages mula sa 0-2.5V, kaya sa isang sanggunian na 5V, nakakakuha kami ng mas kaunting kawastuhan, kaya mayroon kaming isang tagubilin na nagbibigay-daan sa amin na baguhin ang halagang ito ng sanggunian. Kaya para sa pagbabago ng halaga ng sanggunian mayroon kaming "analogReferensi ();"
Bilang default nakukuha namin ang maximum na resolusyon ng board ng ADC na 10bits, ang resolusyon na ito ay maaaring mabago sa pamamagitan ng paggamit ng tagubilin ("analogReadResolution (bits);").
Sa aming Robotic hand circuit, naiwan namin ang sanggunian na boltahe na ito sa default, upang mabasa namin ang halaga mula sa ADC channel sa pamamagitan ng direktang pagtawag sa pagpapaandar na "analogRead (pin);", narito ang "pin" ay kumakatawan sa pin kung saan ikinonekta namin ang analog signal, sabihin nais naming basahin ang "A0". Ang halaga mula sa ADC ay maaaring maiimbak sa isang integer bilang int SENSORVALUE0 = analogRead (A0); .
Ngayon pag -usapan natin ang tungkol sa SERVO, ang Arduino Uno ay may isang tampok na nagbibigay-daan sa amin upang makontrol ang posisyon ng servo sa pamamagitan lamang ng pagbibigay ng degree na halaga. Sabihin kung nais namin ang servo na nasa 30, maaari naming direktang kinatawan ang halaga sa programa. Ang file ng SERVO header ( Servo.h ) ay nangangalaga sa lahat ng mga pagkalkula ng ratio ng tungkulin sa loob.
# isama
Narito ang unang pahayag na kumakatawan sa header file para sa pagkontrol sa SERVO MOTOR. Pangalawang pahayag ay pinangalanan ang servo; iniiwan namin ito bilang servo0 dahil gagamitin namin ang apat. Pangatlong pahayag na nagsasaad kung saan nakakonekta ang servo signal pin; dapat itong isang PWM na pin. Narito ginagamit namin ang PIN3 para sa unang servo. Ang pang-apat na pahayag ay nagbibigay ng mga utos para sa pagpoposisyon ng servo motor sa mga degree. Kung bibigyan ito ng 30, umiikot ang servo motor ng 30 degree.
Ngayon, mayroon kaming posisyon ng serv90 na SG90 mula 0 hanggang 180 at ang mga halaga ng ADC ay mula 0-1023. Gumagamit kami ng isang espesyal na pagpapaandar na awtomatikong tumutugma sa parehong mga halaga.
sensorvalue0 = mapa (sensorvalue0, 0, 1023, 0, 180);
Ang pahayag na ito ay parehong mapa ng parehong halaga at iniimbak ang resulta sa integer 'servovalue0' .
Ito ay kung paano namin nakontrol ang Mga Serbisyo sa aming proyekto sa Robotic Arm gamit ang Arduino. Suriin ang buong code sa ibaba.
Paano Paandarin ang Robotic Arm:
Mayroong apat na kaldero na ibinigay sa gumagamit. At sa pamamagitan ng pag-ikot ng apat na kaldero na ito, nagbibigay kami ng variable boltahe sa mga ADC channel ng UNO. Kaya't ang mga digital na halaga ng Arduino ay nasa ilalim ng kontrol ng gumagamit. Ang mga digital na halagang ito ay nai-map upang ayusin ang posisyon ng servo motor, samakatuwid ang posisyon ng servo ay nasa kontrol ng gumagamit at sa pamamagitan ng pag-ikot ng Pots user na ito ay maaaring ilipat ang mga kasukasuan ng Robotic arm at maaaring pumili o kumuha ng anumang bagay.