Talaan ng mga Nilalaman:

Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino: 11 Mga Hakbang (na may Mga Larawan)
Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino: 11 Mga Hakbang (na may Mga Larawan)

Video: Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino: 11 Mga Hakbang (na may Mga Larawan)

Video: Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino: 11 Mga Hakbang (na may Mga Larawan)
Video: МАСТЕР-КЛАСС по Arduino | Полный семинар по программированию за 90 минут! 2024, Nobyembre
Anonim
Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino
Pagkontrol sa 3 Mga Servo Motors Na May 3 Potentiometers at isang Arduino

Kumusta. Ito ang aking kauna-unahang itinuro, kaya inaasahan kong maging matiyaga ka sa akin kung magkamali ako sa pag-set up nito. Ito ay nakasulat para sa mga nagsisimula, kaya ang mas advanced sa iyo ay maaaring laktawan ang marami sa mga ito at makakonekta lamang ito.

Ang layunin kong itinakda ang aking sarili ay upang makontrol ang robot na ipinakita sa web site na ito:

bocabearingsworkshop.blogspot.co.id/2015/08…

Kailangan kong makontrol ang 3 magkakaibang servo motor sa pamamagitan ng pagbabago ng posisyon ng 3 potentiometers. Maraming mga tao doon na gumagawa ng mga bagay tulad nito, ngunit hindi ako makahanap ng eksaktong tugma para sa lahat ng kailangan ko, kaya't nagpasya akong i-post ang itinuturo na ito upang pagsamahin ang lahat ng natutunan ko sa isang lugar upang ang sinumang nais na gawin ang isang bagay na tulad nito ay maaaring bumangon ito at mabilis na tumakbo. Ang itinuturo na ito ay talagang isang buod ng ibang mga tao ng mahusay na pagtatrabaho at pagsisikap.

Bago ko ilista ang mga indibidwal na hakbang na kasangkot dito, nais kong magbigay ng isang mabilis na paliwanag kung paano gumagana ang lahat.

Ang mga potensyal ay nagpapadala ng isang analog signal sa Arduino. Ang sketch sa Arduino (higit pa sa paglaon) pagkatapos ay i-convert ang analog input mula sa potentiometer sa isang digital na output at ipadala ang output na ito sa servo motor na pagkatapos ay gumalaw pakaliwa o pakanan ng naaangkop na halaga.

Ang potentiometers ay pinalakas mula sa linya ng 5v ng Arduino, habang ang mga servo ay nakakakuha ng kanilang lakas mula sa pack ng baterya.

Mahalagang tala: Napakahalaga na ibagsak ang Arduino sa baterya / mga servos ng baterya upang maiwasan ang mga pangit na bagay na mangyari, ngunit pag-uusapan ko ito nang mas detalyado habang nagpapatuloy kami.

Hakbang 1: Paghahanda ng Iyong Mga Sangkap

Paghahanda ng Iyong Mga Sangkap
Paghahanda ng Iyong Mga Sangkap
Paghahanda ng Iyong Mga Sangkap
Paghahanda ng Iyong Mga Sangkap
Paghahanda ng Iyong Mga Sangkap
Paghahanda ng Iyong Mga Sangkap

Kailangan mo ng tatlong 10k potentiometers na may mga binti na maaaring magkasya sa isang breadboard.

Natagpuan ko sila dito:

www.adafruit.com/products/562

Susunod ay ang mga servo motor. Ginamit ko ang pinakamaliit habang ang load na lilipat nila ay napakaliit at sila ay mura.

www.adafruit.com/products/169

Susunod na kailangan mo ng isang 4 na baterya ng baterya:

www.adafruit.com/products/830

Isang breadboard upang ikonekta ang lahat:

www.adafruit.com/products/239

Isang Arduino Uno R3 (hindi bababa sa ito ang ginamit ko):

www.adafruit.com/products/50

Isang usb cable upang ikonekta ang Arduino sa isang pc at i-power ito:

www.adafruit.com/products/62

Ang Arduino IDE software upang mai-upload ang programa na makokontrol sa mga servo:

www.arduino.cc/en/Main/Software

Ang ilang mga male / male jumper cables at ilang jumper wire upang gawin ang mga koneksyon

www.adafruit.com/products/1956

Mga breakaway header pin na gagamitin upang ikonekta ang iyong mga motor sa breadboard. Gusto ko ang mga ito dahil hindi mo kailangang ayusin ang plastic divider upang makuha ang mga ito upang magkasya sa isang breadboard.

www.adafruit.com/products/400

Hakbang 2: Ihanda ang Iyong Breadboard

Ihanda ang Iyong Breadboard
Ihanda ang Iyong Breadboard

Maraming mga board ng tinapay ang nahahati sa 2 mga seksyon kasama ang mga riles ng kuryente sa tuktok at ibaba (na naging sanhi sa akin ng kaunting paggamot ng ulo nang una kong gamitin ang mga ito.) Sa pamamagitan ng paggamit ng 4 na maliliit na piraso ng kawad maaari mong tulay ang agwat sa tiyaking napupunta ang iyong lakas hanggang sa buong pisara. Sa wakas ay bumili ako ng isa na konektado hanggang sa kabila ng sakaling magkaroon ka ng problemang ito, ganito mo ito malulutas.

Hakbang 3: Pag-kable ng Isang Potensyomiter 1

Pag-kable ng Isang Potensyomiter 1
Pag-kable ng Isang Potensyomiter 1

Ipinapakita ng diagram na ito kung para saan ang 3 mga pin sa potentiometer.

Hakbang 4: Pag-kable sa Potentiometer 2

Pagtaas ng Potenomiteryano 2
Pagtaas ng Potenomiteryano 2

Kumuha ng 3 ng male male cables at itulak ang mga ito sa breadboard tulad ng ipinakita sa diagram

Hakbang 5: Pag-kable sa Potentiometer 3

Pagtaas ng Potenomiteryano 3
Pagtaas ng Potenomiteryano 3

Itulak ngayon ang mga pin ng potentiometer sa breadboard tulad ng ipinakita sa diagram

Hakbang 6: Pag-kable sa Potentiometer 4

Pagtaas ng Potenomiteryano 4
Pagtaas ng Potenomiteryano 4

Ulitin ang prosesong ito nang 2 beses pa at handa na kaming ikonekta ang mga signal cable sa Ardiuno

Hakbang 7: Pag-kable ng Paaas sa Huling Hakbang

Pag-kabayo sa Huling Hakbang ng Potentiometer
Pag-kabayo sa Huling Hakbang ng Potentiometer

Kinukuha namin ngayon ang mga dilaw na signal cable at isaksak ang mga ito sa Arduino board. Tingnan nang mabuti ang Arduino at makikita mo ang isang bahagi ng pisara na tinatawag na Analog In. Isusaksak namin ang aming mga kable sa A0, A1 at A2 tulad ng ipinakita sa diagram.

Para sa sandaling iyon ay natapos na kami sa mga kaldero, ngayon upang mai-set up ang mga motor.

Hakbang 8: Pag-wire sa Mga Motors 1

Pag-angat ng Mga Motors 1
Pag-angat ng Mga Motors 1
Pag-angat ng Mga Motors 1
Pag-angat ng Mga Motors 1
Pag-angat ng Mga Motors 1
Pag-angat ng Mga Motors 1

Tulad ng sa mga potensyal na gagawin namin ang parehong bagay nang tatlong beses kaya kakausapin kita sa kung paano mag-set up ng isa sa detalye at ang kailangan mo lang gawin ay ulitin ang proseso.

Ang mga kulay ng cable sa mga motor ay nakakalito dahil nag-iiba ito mula sa isang motor papunta sa isa pa. Sa aking diagram

itim ay lupa (-)

Ang pula ay kapangyarihan (+)

Dilaw ang (mga) signal

Kumuha ng isang pares ng mahabang nosed pliers at putulin ang isang strip ng 3 mga header pin at ipasok ang mga ito sa babaeng konektor sa servo motor. Ikonekta ang servo sa breadboard tulad ng ipinakita sa diagram. Kapag nagawa mo na iyan, kakailanganin naming ikonekta ang mga motor sa ibabang riles ng kuryente, kaya kumuha ng dalawang lalaking mga kable na lalaki at ipasok ito sa breadboard tulad ng ipinakita.

Ulitin ang prosesong ito nang dalawang beses pa at magiging handa na kaming ikonekta ang mga motor sa arduino

Hakbang 9: Pag-kable sa Mga Motors 2

Pagtaas ng Mga Motors 2
Pagtaas ng Mga Motors 2

Ngayon ay nakakonekta namin ang mga motor sa board ng tinapay oras na upang ikonekta ang signal cable sa Arduino, para sa kailangan mo ng 3 lalaking male jumper cables.

I-plug ang mga ito sa breadboard at pagkatapos ay sa Arduino sa mga lokasyong ito:

~9

~10

~11

Ang mga ito ay nasa kanang bahagi ng Arduino na nakatuon sa aking diagram. Dito ipinadala sa servo ang digital signal mula sa Arduino upang sabihin dito kung paano lumiliko.

Kapag tapos na ito handa na kaming i-hook up ang lakas at paandar ito

Hakbang 10: Pagdaragdag ng Lakas

Pagdaragdag ng Lakas
Pagdaragdag ng Lakas
Pagdaragdag ng Lakas
Pagdaragdag ng Lakas
Pagdaragdag ng Lakas
Pagdaragdag ng Lakas

Sa puntong ito nais naming ikonekta ang lakas ng Arduino 5v at lupa sa tuktok na riles na magbibigay lakas sa mga potentiometers, at pagkatapos ay ikonekta namin ang aming baterya pack sa ilalim ng daang-bakal upang mapagana ang mga servo.

Kung gagawin natin ito subalit ito ay nangangahulugang ang ground ground ng Arduino at ang servo ground plane ay hindi makakonekta sa bawat isa at ito ay maaaring magresulta sa malalaking problema. Alisin ang plug ng Arduino mula sa USB cable, tiyakin na ang baterya pack ay hindi konektado sa board ng tinapay at ikonekta ang dalawang male male jumper cables tulad ng ipinakita sa diagram, isa sa 5v sa Arduino, ang isa pa sa lupa sa Arduino.

Pagkatapos kumuha ng isang lalaking lalaking jumper cable at ikonekta ang lupa mula sa tuktok na riles patungo sa lupa sa ilalim na riles tulad ng ipinakita sa kanang bahagi ng breadboard. Ito ay nakakabit sa Arduino ground sa ground ng baterya na ikakabit namin sa susunod.

Panghuli idagdag ang baterya pack sa breadboard at natapos na namin ang pisikal na pag-setup at lilipat sa pagprogram ng Arduino.

Hakbang 11: Programming ang Ardiuno

Programming ang Ardiuno
Programming ang Ardiuno

Para sa sinumang hindi pamilyar sa paglo-load ng mga sketch sa Arduino iminumungkahi ko na maglaan ng oras upang dumaan sa mga tutorial dito bago magpatuloy.

www.arduino.cc/en/Tutorial/HomePage

Upang suriin ang mga koneksyon sa aking pag-set up

Ang potentiometers ay naka-plug sa A0, A1 at A2

Ang mga servo ay naka-plug sa ~ 9, ~ 10 at ~ 11

Kakailanganin namin ang mga numerong ito kapag isinulat namin ang code upang makuha ang Arduino na gumagana sa aming pag-set up. Nasa ibaba ang code na ginamit ko upang maandar ang Arduino. Hindi ito ang aking code, na-hack ko ang mga bahagi na hindi ko kailangan mula sa code ng ibang tao, sa kasamaang palad hindi ko matandaan kung saan ko nahanap ito kaya hindi maibigay ang kredito sa taong sumulat nito. Kung makilala mo ito mangyaring ipaalam sa akin at maglalagay ako ng isang link dito sa proyekto ng tao.

# isama

Servo MyServo3;

Servo MyServo5;

Servo MyServo6;

n

int potpin = 0; int potpin2 = 1;

int potpin3 = 2;

int val = 0; int val2 = 0;

int val3 = 0;

walang bisa ang pag-setup () {

myservo3.attach (9); myservo5.attach (10);

myservo6.attach (11);

}

void loop () {

val = analogRead (potpin); val = mapa (val, 3, 1023, 0, 176);

myservo3.write (val);

antala (25);

val2 = analogRead (potpin2); val2 = mapa (val2, 3, 1023, 0, 176);

myservo5.write (val2);

antala (25);

val3 = analogRead (potpin3); val3 = mapa (val3, 3, 1023, 0, 175);

myservo6.write (val3);

antala (25);

}

I-paste ito sa isang blangko na sketch, i-save ito at i-upload ito sa iyong Arduino at dapat mo na ngayong makontrol ang iyong mga servos sa iyong mga potensyal at makapagsama sa iyong proyekto!

Inirerekumendang: