Talaan ng mga Nilalaman:

Awtonomong RC Car: 7 Mga Hakbang
Awtonomong RC Car: 7 Mga Hakbang

Video: Awtonomong RC Car: 7 Mga Hakbang

Video: Awtonomong RC Car: 7 Mga Hakbang
Video: Гимн Ненецкого автономного округа 2024, Nobyembre
Anonim
Awtonomong RC Car
Awtonomong RC Car

Sa pagtaas ng pagmamaneho ng sarili, mga autonomous na kotse ngayon, napagpasyahan kong gawin ang hamon na gumawa ng sarili ko. Ang proyektong ito ay nagsilbi ring aking capstone project sa aking klase sa Engineering Design and Development at Robotics at nakatanggap ng isang gantimpala para sa pinakamahusay na autonomous na sasakyan sa isang kumpetisyon ng STEM ng high school.

Sa halip na magsimula mula sa simula, pinili kong gumamit ng isang RC car na mayroon na kami at ipinares ito sa isang board ng RedBoard Arduino Uno. Pinili ko ang Arduino dahil sa medyo madali nitong paggamit at pagprograma.

Para sa mga nagtataka, ang kotseng ito ay mayroong Redcat Racing 03061 Splash-Resistant ESC na may isang brush na motor. Na-program na ang ESC gamit ang controller na kasama ng kotse. Hindi ko ito nasubukan sa isang brushless motor dahil wala kaming isa sa kamay, ngunit malugod na sinuman ang subukan ang proyektong ito gamit ang isang brushless motor.

Sa maikling buod, nangongolekta ng kotseng ito ang data mula sa (5) HC-SR04 Ultrasonic sensor. Ang data na ito ay bumalik sa Arduino, kung saan gumagawa ng mga desisyon sa kung paano lumipat. Kinokontrol ng Arduino ang pagpipiloto servo at motor nang naaayon. Gumagamit ang programa ng karaniwang Arduino servo library upang magawa ito, at walang kinakailangang karagdagang mga aklatan.

Ang kotse ay may kakayahang variable na kontrol sa bilis sa pamamagitan ng isang potensyomiter at pag-back up mula sa isang pader kapag tumama ito sa isa. Bilang karagdagan, maaaring iwasto ng kotse ang sarili nito kung umanod ito ng masyadong malapit sa isang pader sa pamamagitan ng pag-alis ng sarili.

Hakbang 1: Listahan ng Mga Bahagi

Pagwawaksi: Hindi ko isinasama ang mga bahaging kinakailangan para sa kotse mismo, ang mga karagdagang bahagi lamang sa kabila ng kotse. Ang isang ESC, motor, chassis, baterya, atbp ay kakailanganin para dito.

Kakailanganin mong:

(1) Arduino Uno - gagana nang maayos ang mga knockoff

(1) Breadboard - para sa proyektong ito, kinuha ko ang +/- rail mula sa isang breadboard at gumamit ng isa pa, mas maliit na breadboard. Anumang laki ay magagawa.

(5) HC-SR04 Ultrasonic Sensors

(1) Potentiometer - ginamit upang makontrol ang bilis ng kotse

(20) Mga Wire na Babae-Lalaki na Dupont - Inirerekumenda ko ang pagkakaroon ng higit na magamit bilang mga extender para sa iba pang mga wire kung kinakailangan

Paghihinang na bakal na may panghinang

Arduino Power Supply - sa kasong ito, gumamit ako ng (6) 1.2v na mga baterya ng AA na naka-wire sa serye. Ang mga panlabas na banko ng kuryente ng telepono at tablet tulad ng isang ito ay gagana rin nang maayos kapag naka-plug sa USB port.

Tape, mainit na pandikit, at / o anumang iba pang mga item na ginamit upang i-fasten ang mga item nang magkasama

(1) Toggle Switch (opsyonal - Ginagamit ko ito upang i-on at i-off ang Arduino)

Hakbang 2: Iposisyon ang Mga Sensor

Iposisyon ang Mga Sensor
Iposisyon ang Mga Sensor

Una, gugustuhin mong ilagay nang tama at i-fasten ang mga sensor. Mayroon akong (1) sensor na nakaharap sa harap, (2) mga sensor na anggulo mga 45 degree, at (2) mga sensor sa mga gilid ng kotse. Nag-print ako ng mga mounting bracket na 3D para sa mga gilid at harap, at ginamit ang mainit na pandikit upang ikabit ang mga anggulo sa harap ng mga sensor dahil ang mainit na pandikit ay hindi kondaktibo. Ang mga mounting bracket para sa mga gilid at harap ay maaaring ma-download at naka-print na 3D.

Hakbang 3: Idagdag ang Breadboard at Potentiometer

Idagdag ang Breadboard at Potentiometer
Idagdag ang Breadboard at Potentiometer

Susunod, gugustuhin mong idagdag sa breadboard at potensyomiter na nakakontrol ng bilis bago ka magsimula sa mga kable. Dito ako gumamit ng isang maliit na breadboard at ang +/- mula sa isa pang breadboard dahil sa puwang sa katawan ng kotse, ngunit ang isang karaniwang breadboard ay maayos din.

Hakbang 4: Wire Lahat

Wire Lahat
Wire Lahat
Wire Lahat
Wire Lahat
Wire Lahat
Wire Lahat
Wire Lahat
Wire Lahat

Ang isang ito ay marahil ang pinakamalaking hakbang, at ang isang maling kawad ay maaaring maging sanhi ng kotse na hindi gumana nang maayos. Sumangguni sa Fritzing diagram sa itaas para sa labis na patnubay.

Magsimula sa pamamagitan ng pagkonekta sa 5v pin ng iyong Arduino sa positibong riles sa breadboard at ang GND pin ng iyong Arduino sa negatibong riles ng breadboard.

Susunod, i-wire ang mga sonar sensor. Ang mga sensor ng HC-SR04 ay may label na bawat isa sa kanilang apat na mga pin. Sila ay:

VCC - 5v lakas

Trig - pag-trigger upang magpadala ng isang ultrasonic pulso

Echo - pagtanggap ng pin na sumusukat sa tagal ng pulso

GND - ground pin

Gumamit ng mga female-male Dupont wires para dito. Ang bawat isa sa mga pin ng VCC ay dapat na konektado sa positibong breadboard rail, at ang bawat isa sa mga pin ng GND ay dapat na konektado sa negatibong breadboard rail. Gumamit ako ng labis na mga babaeng Dupont na wires bilang mga extender para sa bahaging ito dahil nagkaroon ako ng isang isyu sa ilan sa mga wires na hindi sapat ang haba.

Susunod, i-wire ang Trig at Echo pin sa Arduino. Ang mga ito ay konektado sa mga digital na pin ng Arduino tulad ng:

Front Center Sensor:

Trig - pin 6

Echo - pin 7

Kaliwa Sensor:

Trig - 4

Echo - 5

Right Side Sensor:

Trig - 2

Echo - 3

Front Left Sensor:

Trig - 10

Echo - 11

Front Right Sensor:

Trig - 9

Echo - 8

Susunod, i-wire ang steering servo, motor ESC, at potensyomiter ng speed control.

Una, magsimula sa steering servo. Ang servo sa aking kotse ay may pula, orange, at kayumanggi mga wire. Ang mga kulay ay maaaring mag-iba nang kaunti, ngunit lahat sila ay magkakabit ng pareho:

Brown wire (ground) - kumonekta sa negatibong breadboard rail

Red wire (5v power) - kumonekta sa 5v breadboard rail

Orange wire (signal) - kumonekta sa pin 13 sa iyong Arduino

Ang ESC - o Electronic Speed Controller - na kumokontrol sa motor ay wired na katulad. Sa kasong ito, ang mga wire ay puti, pula, at itim.

Puti (signal) - Kumonekta upang i-pin ang 12 sa iyong Arduino

Pula (5v) - HUWAG kumonekta sa anumang bagay. Dahil sa isang paggulong ng kuryente na dumadaloy paatras kapag huminto ang motor, ang 5v ay hindi dapat na konektado. Maaari kang magprito ng isang USB port o, posibleng, iyong Arduino.

Itim (ground) - kumonekta sa negatibong breadboard rail

Panghuli, i-wire ang potentiometer na inilagay mo sa iyong breadboard nang mas maaga. Maliit na numero ay malamang na nakalimbag dito sa kung saan. Dapat itong i-wire bilang:

1 (kaliwang pin) - kumonekta sa negatibong breadboard rail

2 (gitnang pin) - kumonekta sa pin A0 sa iyong Arduino

3 (kanang pin) - kumonekta sa positibong breadboard rail

Ang mga kable ay magmukhang napaka magulo, kaya kung nais mong gumawa ng pamamahala ng kawad, ngayon ay ang oras na upang gawin ito.

Hakbang 5: Pagpapatakbo ng Arduino

Pagpapatakbo ng Arduino
Pagpapatakbo ng Arduino

Susunod, gugustuhin mong mag-set up ng isang solusyon sa kuryente para sa Arduino. Dalawang magkakahiwalay na mapagkukunan ng kuryente ang ginagamit sa proyektong ito: ang baterya para sa kotse, at ang baterya para sa Arduino. Sa kasong ito, gumamit ako ng (6) 1.2v rechargeable AA baterya na naka-wire sa serye. Gagana rin ang mga portable bank phone power, siguraduhin lamang na magkaroon ng isang cable na naka-plug sa USB port ng iyong Arduino (tulad ng mini-USB).

Mangyaring tandaan na ang 9v na baterya ay HINDI gagana sa proyektong ito. Dahil sa paraan na ang mga baterya ng 9v ay dinisenyo, ang boltahe ay sapat upang patakbuhin ang Arduino, ngunit ang kasalukuyang paglabas ng baterya ay magiging sanhi ito upang mamatay sa walang oras. Nagkaroon din ako ng mga isyu sa mga random na reboot sa 9v na baterya.

Kung pipiliin mong gamitin ang solusyon na ginamit ko, kakailanganin mo ang:

(6) Mga baterya ng AA (gumagana din ang mga baterya ng alkalina)

Mga may hawak ng baterya ng AA para sa lahat (6) na baterya. Ang isang ito ay gagana nang mahusay at hindi ka kinakailangan na gumamit ka ng isang panghinang na bakal. Para sa suplay na aking ginawa, pinagsama-sama ko ang (3) mga may hawak na dalawang-baterya na nakalarawan tulad ng nakalarawan, na-solder ang positibo / negatibong mga wire, kinuha ang plug ng DC power mula sa isang 9v na adapter ng baterya, at hinangay ito hanggang sa huli positibo at negatibo mga wire. Pagkatapos ay naghinang ako ng isang switch ng kuryente sa serye gamit ang supply ng kuryente para sa kadaliang pag-on at pag-off ng Arduino. Ito ay ganap na opsyonal.

Hakbang 6: I-upload ang Arduino Program

Susunod, kakailanganin mong i-upload ang programa sa Arduino. I-download ang programa dito, at i-upload ito sa iyong Arduino sa pamamagitan ng Arduino IDE.

Para sa iyo na maaaring tumingin sa pagbabago ng code, nagsama ako ng ilang pseudocode na nagpapaliwanag kung ano ang ginagawa ng bawat bahagi.

EDIT 9/25/18 - Nagdagdag ako ng isang pangalawang programa upang magmaneho ito sa gitna ng dalawang pader. Wala akong pagkakataong subukan ang code dahil sa walang pag-access sa kotse, ngunit huwag mag-atubiling mag-eksperimento dito.

Hakbang 7: I-plug ang Lahat at I-On Ito

Panghuli, kakailanganin mong i-plug ang lahat. Una, ikonekta ang baterya ng kotse sa kotse at i-on ang iyong ESC. Ang ESC ay dapat na beep, na nagpapahiwatig na handa na itong "armado" ng Arduino. Susunod, palakasin ang Arduino. Ang ESC ay dapat na beep ng tatlong beses, at ang mga gulong ay dapat magsimulang lumiko. Kung ang ESC ay beep, ngunit ang mga gulong ay hindi nagsisimulang lumiko, i-on ang potensyomiter sa kanan upang madagdagan ang bilis. Kung masyadong mabilis ang takbo ng sasakyan, pakaliwa ang potentiometer.

Kung ang potentiometer ay gumagana sa kabaligtaran ng paraang dapat, maaari mong i-flip ang positibo at negatibong mga wire upang malutas ito.

Ipinapakita ng video ang kotse na gumagana, kung paano baguhin ang bilis, at ang pagkakasunud-sunod upang i-on ito.

Inirerekumendang: