Talaan ng mga Nilalaman:
- Hakbang 1: Nabago ang Lokasyon ng Tutorial
- Hakbang 2: Buuin ang SnappyXO Differential Drive Robot
- Hakbang 3: Ikonekta ang Electronics
- Hakbang 4: I-install ang PreciseMovement Arduino Library
- Hakbang 5: Code
- Hakbang 6: Paano Ito Gumagana
Video: SnappyXO Precise Mover Robot: 6 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:13
Gawing diretso ang iyong Arduino robot para sa isang tinukoy na distansya o i-twist sa isang tinukoy na anggulo gamit ang library ng PreciseMovement Arduino.
Kailangan ng robot ang isang rolling ball caster o katumbas upang mabawasan ang alitan habang umiikot.
www.pololu.com/product/954
Maaari mong sabihin sa robot na magpatuloy sa isang tinukoy na distansya o i-twist sa isang tinukoy na anggulo. Tinutukoy ng programa ang posisyon nito gamit ang patay na pagtutuos. Dahil ang mga pagtatantya ng posisyon ay umaasa lamang sa bilis ng gulong, ang pagdulas ay magdudulot ng malaking error. Ang taga-disenyo ng robot ay dapat maging maingat na mabawasan ang peligro ng pagdulas.
Nasubukan ito upang gumana sa SnappyXO robot.
Hakbang 1: Nabago ang Lokasyon ng Tutorial
Ang tutorial ay inilipat sa pahina sa ibaba. Ang tutorial na ito ay hindi na napanatili.
site.google.com/stonybrook.edu/premo
Hakbang 2: Buuin ang SnappyXO Differential Drive Robot
Ang library ng PreciseMovement na gagamitin namin ay katugma lamang sa mga robot ng kaugalian sa pagmamaneho. Maaari kang pumili upang gumamit ng iba pang mga robot ng 2 wheel drive.
Hakbang 3: Ikonekta ang Electronics
Para sa karaniwang SnappyXO Optical Encoder:
D0 (output ng encoder) -> Arduino Digital Pin
VCC -> Arduino 5V
GND -> GND
Lakas ng Motor at Arduino:
Ang mapagkukunan ng kuryente ng motor ay dapat na sapat para sa mga motor na iyong ginagamit. Para sa kit ng SnappyXO, ang 4AA na baterya ay ginagamit para sa lakas ng motor at 9V na baterya para sa lakas ng Arduino. Tiyaking lahat sila ay may isang karaniwang GND.
Hakbang 4: I-install ang PreciseMovement Arduino Library
I-download:
github.com/jaean123/PreciseMovement-library/releases
Paano i-install ang Arduino Library:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Hakbang 5: Code
Arduino Code:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/preview
Ang mga parameter na ito ay nangangailangan ng pagsasaayos. Ang iba pang mga parameter na may label na inirerekumenda sa code ay maaaring ayusin para sa mas mahusay na pagganap.
- Suriin at itakda ang mga pin ng motor sa ilalim ng ARDUINO PINS.
-
Itakda ang LENGTH at RADIUS.
- Ang haba ay ang distansya mula sa kaliwang gulong hanggang sa kanang gulong.
- Ang RADIUS ay ang radius ng gulong.
-
Itakda ang PULSES_PER_REV, na kung saan ay ang bilang ng mga pulso na output ng encoder para sa isang rebolusyon sa gulong.
- Tandaan na ito ay naiiba mula sa bilang ng mga pulso na output ng encoder para sa isang rebolusyon ng shaft ng motor maliban kung ang mga encoder ay konektado upang mabasa nang direkta mula sa wheel shaft.
- PULSES_PER_REV = (pulso bawat isang rebolusyon ng motor shaft) x (gear ratio)
-
Itakda ang STOP_LENGTH kung nakita mo na ang robot ay nag-o-overshooting pagkatapos ng isulong na paggalaw.
Hihinto ang robot sa sandaling ang tinatayang posisyon ay STOP_LENGTH ang layo sa target. Sa gayon, ang STOP_LENGTH, ay ang tinatayang distansya na kinakailangan para tumigil ang robot
-
Mga parameter ng PID
KP_FW: Ito ang proporsyonal na bahagi ng pasulong na paggalaw. Taasan ito hanggang sa dumiretso ang robot. Kung hindi mo makuha ito upang dumiretso sa pamamagitan ng pag-tune nito, malamang na may kasalanan ang hardware. (hal. misalignment ng gulong, atbp)
KP_TW: Ito ang proporsyonal na bahagi ng pag-ikot ng PID na paggalaw. Magsimula lamang mula sa isang mababang halaga at dagdagan ito hanggang sa bilis ng pag-ikot, o ang angular na tulin ng robot habang umiikot, ay sapat na mabilis, ngunit hindi maging sanhi ng sobrang pag-overhoot. Upang magsagawa ng mga obserbasyon, maaari kang magkaroon ng robot na kahalili mula 0 hanggang 90 at pabalik sa pamamagitan ng pagpasok ng sumusunod sa pagpapaandar ng loop
Ilagay ito sa loop upang ibagay ang KP_FW:
mover.forward (99999);
Ilagay ito sa loop upang kahalili mula 0 hanggang 90 upang ibagay ang KP_TW:
mover.twist (90); // Twist 90 CW
pagkaantala (2000);
mover.twist (-90) // Twist 90 CCW
pagkaantala (2000);
Tandaan na upang tunay na maiikot ang anggular na tulin sa TARGET_TWIST_OMEGA, ang KI_TW ay kailangang i-tuned din dahil ang isang proporsyonal na magsusupil ay hindi makakaayos sa eksaktong target. Gayunpaman, hindi kinakailangan na paikutin sa eksaktong anggulo na tulin. Ang bilis ng anggulo ay kailangang maging sapat na mabagal.
Hakbang 6: Paano Ito Gumagana
Kung gusto mong malaman kung paano ito gumagana basahin ito.
Ang kilusang pasulong ay pinananatiling tuwid gamit ang dalisay na algorithm ng pagtugis sa isang tuwid na landas ng linya. Higit pa sa Purong Pursuit:
Sinusubukan ng tagapagbantay ng PID na panatilihin ang bilis ng angular na bilis sa TARGET_TWIST_OMEGA. Tandaan na ang angular velocity na ito ay angular na tulin ng buong robot hindi ang mga gulong. Isa lamang sa PID controller ang ginagamit at ang output ay ang bilis ng pagsulat ng PWM ng parehong kaliwa at kanang mga motor. Ginagawa ang patay na pagtutuos upang makalkula ang anggulo. Kapag naabot na ng anggulo ang threshold ng error, humihinto ang robot.
Inirerekumendang:
Arduino - Robot ng Paglutas ng Maze (MicroMouse) Robot na Sumusunod sa Wall: 6 na Hakbang (na may Mga Larawan)
Arduino | Maze Solving Robot (MicroMouse) Wall Following Robot: Maligayang pagdating Ako si Isaac at ito ang aking unang robot " Striker v1.0 ". Ang Robot na ito ay dinisenyo upang malutas ang isang simpleng Maze. Sa kumpetisyon mayroon kaming dalawang mga maze at ang robot nakilala ang mga ito. Anumang iba pang mga pagbabago sa maze ay maaaring mangailangan ng pagbabago sa
Waveshare E-ink Display Precise Voltmeter (0-90v DC) With Arduino Nano: 3 Hakbang
Ang Waveshare E-ink Display Precise Voltmeter (0-90v DC) Gamit ang Arduino Nano: Sa Instructable na ito, gumagamit ako ng isang 2.9 "Waveshare E-Paper display na may isang Arduino Nano, isang voltage divider at isang ADS1115 upang maipakita ang tumpak na mga boltahe hanggang sa 90 volts DC sa E-Paper Display. Ang itinuturo na ito ay pinagsasama ang dalawang nakaraang proyekto: - Ardui
Sinusubaybayan ng RC ang Robot Gamit ang Arduino - Hakbang sa Hakbang: 3 Mga Hakbang
Sinusubaybayan ng RC ang Robot Gamit ang Arduino - Hakbang-hakbang: Hey guys, bumalik ako kasama ang isa pang cool na chassis ng Robot mula sa BangGood. Inaasahan mong dumaan ka sa aming nakaraang mga proyekto - Spinel Crux V1 - Ang Kinokontrol na Robot ng Gesture, Spinel Crux L2 - Arduino Pick at Place Robot na may Robotic Arms at The Badland Braw
Balancing Robot / 3 Wheel Robot / STEM Robot: 8 Mga Hakbang
Balancing Robot / 3 Wheel Robot / STEM Robot: Nakagawa kami ng pinagsamang pagbabalanse at 3 wheel robot para sa edcuational na paggamit sa mga paaralan at pagkatapos ng mga programang pang-edukasyon. Ang robot ay batay sa isang Arduino Uno, isang pasadyang kalasag (ibinigay ang lahat ng mga detalye sa konstruksyon), isang baterya ng baterya ng Li Ion (lahat ng
[Arduino Robot] Paano Gumawa ng isang Motion Capture Robot - Thumbs Robot - Servo Motor - Source Code: 26 Mga Hakbang (na may Mga Larawan)
[Arduino Robot] Paano Gumawa ng isang Motion Capture Robot | Thumbs Robot | Servo Motor | Source Code: Robot ng Thumbs. Ginamit ang isang potensyomiter ng servo motor na MG90S. Napakasaya at madali! Napakadali ng code. Mga 30 linya lamang ito. Mukhang isang kilos-kilos. Mangyaring mag-iwan ng anumang katanungan o puna! [Panuto] Source Code https: //github.c