Talaan ng mga Nilalaman:

Controller ng PCA9685 ni Tim: 5 Hakbang (na may Mga Larawan)
Controller ng PCA9685 ni Tim: 5 Hakbang (na may Mga Larawan)

Video: Controller ng PCA9685 ni Tim: 5 Hakbang (na may Mga Larawan)

Video: Controller ng PCA9685 ni Tim: 5 Hakbang (na may Mga Larawan)
Video: Управление 32 сервомоторами с помощью PCA9685 и Arduino: V3 2024, Nobyembre
Anonim
Controller ng PCA9685 ni Tim
Controller ng PCA9685 ni Tim

Maraming mga proyekto ang nagawa sa Arduino, kasangkot sa paggamit ng isang Servo.

Kung gumagamit lamang ng isa o dalawang servo, maaari itong makontrol nang direkta mula sa isang Arduino gamit ang isang library at paglalaan ng mga pin upang magawa ito.

Ngunit para sa mga proyektong nangangailangan ng maraming servo upang makontrol, ang (hayaan itong bigyan ng buong pangalan) PCA9685 16-channel, 12-bit PWM Fm + I2C-bus LED Controller, maaaring mas mahusay na pagpipilian.

Ang PCA9685 LED controller kahit na dinisenyo upang makontrol ang LED's, maaaring mai-configure upang makontrol ang Servo. (Data Sheet)

Ang PCA9685 ay nakikipag-usap sa pamamagitan ng I2C at mayroong 64 posibleng address, nangangahulugan ito na ang 64 ng mga aparatong ito ay maaaring maging daisy na nakakadena ng isa-isa, bawat isa ay may 16 na servo o LED na nakakabit sa bawat isa. Na kabuuan ng 1024 na numero na maaaring makontrol mula sa isang Arduino.

Ngayon pagkakaroon ng isang proyekto na maraming Servo upang makontrol, sabihin sabihin ng isang apat na legged robot. Ang bawat paa ay mayroong dalawang servo upang makontrol ito. (nagsisimula kaming simple, sa teorya maaaring makontrol ng aking app ang 1024)

Pagse-set up ng walong servo, paghahanap ng setting ng trim para sa bawat isa, pagtukoy doon max. at min. posisyon, ay maaaring maging napaka-oras.

Ang pagsulat at muling pagsulat ng code upang makita kung ano ang mangyayari, ay maaaring maging isang lubos na sakit.

Kaya't nagpasya akong gumawa ng isang application upang gawing simple ang mga bagay, at makakatulong na mahanap ang bawat setting ng Servo na kinakailangan at makapagpatakbo ng mga pagkakasunud-sunod (script) upang subukan ang mga utos na ipinadala sa servo.

Hakbang 1: Mga Koneksyon

"loading =" tamad"

Ang seksyon ng Script ay ang kasiya-siyang bahagi, dito ka makakalikha ng mga pagkakasunud-sunod ng mga posisyon ng Servo.

Gawin ang iyong proyekto na gawin ang nais mong gawin.

  • Ang pindutang Magdagdag ng Halaga, nagdaragdag ng kasalukuyang mga setting ng slider.
  • Ang pindutang Idagdag ang Pag-antala, nagdaragdag ng pagkaantala sa mga millisecond na nakatakda sa kahon sa tabi ng pindutan.
  • Ang pindutang Magdagdag ng Address, nagdaragdag ng isang switch ng utos sa ibang PCA9685, (baguhin ang address sa kaliwang tuktok) ginamit din nito upang baguhin ang mode, Servo mode o LED mode.
  • Ang pindutan ng Run Script F, pinapatakbo ang kasalukuyang script pasulong.
  • Ang pindutan ng Run Script R, pinapatakbo ang kasalukuyang script sa kabaligtaran.
  • Ginagawa ng checkbox ng Loop ang kasalukuyang script nang paulit-ulit, kapag ang isa sa mga pindutan ng Run Script ay pinindot. Upang itigil ang loop na i-un-check ang checkbox.
  • Ang pindutan ng I-clear ang Script, ginagawa iyon, nililimas nito ang lahat ng mga script comands.
  • Ang pindutang Mag-load, naglo-load ng dati nang nai-save na script.
  • Ang pindutang I-save, nai-save ang kasalukuyang script.

Tandaan!

Hindi ako nakasulat ng anumang pag-check sa script sa application, dapat sundin ng scrip ang mga sumusunod na panuntunan:

Isang linya bawat utos, mga halagang pinaghiwalay ng isang puwang.

  • Nagsisimula ang utos ng Servo sa "S" na sinusundan ng labing-anim na halaga, bawat halaga sa pagitan ng 0 at 600
  • Ang utos ng LED ay nagsisimula sa "L" na sinusundan ng labing-anim na halaga, ang bawat halaga sa pagitan ng 0 at 4095
  • Ang command na Dely ay nagsisimula sa "D" na sinusundan ng isang halaga, sa pagitan ng 0 at 10, 000
  • Ang utos ng address ay nagsisimula sa "A" na sinusundan ng isang halaga at isang salita. Ang halaga sa pagitan ng 0 at 64. Ang salitang pagiging "Servo" o "LED".

Maaaring makontrol ng application ang Servo o LED, Huwag ilagay ang LED at Servo sa parehong Breakout Board, Servo at LED na kailangan ng iba't ibang dalas upang tumakbo nang tama.

Kung susubukan mong kontrolin ang servo sa mga setting ng LED, maaari silang matakot, hindi ito makakasama sa kanila, ngunit kung naka-install sila sa isang proyekto, maaaring hindi mo nais na lumipat sila sa ilang posisyon.

Nagawa ko ang video ng ilang simpleng script.

Hakbang 5: Epilog

Habang nagpapatuloy ang mga tagubilin sa Mga Instructable, inaasahan ng karamihan sa mga tao na magtatapos sa isang pisikal na item sa pagtatapos ng isang tagubilin.

Nalaman kong walang makatotohanang kategorya para sa software.

Ipagpalagay ko na maaari mong maiuri ito bilang isang tool, kahit na, ang tagubilin ay hindi kung paano gawin ang tool, ito ay kung paano gamitin ito.

Inaasahan namin sa pamamagitan ng pagkakaroon ng isang tool na tulad nito, ang mga tao ay makakagawa ng mas mahusay na mga proyekto sa Arduino gamit ang Mga servos o LED array.

Mangyaring patawarin ang in video ng proyekto sa pagkilos, gumagamit ako ng isang breakout board ng ESP32-CAM kasama ang isa pang application na ginawa ko upang matingnan ang mga imahe mula sa ESP32-CAM.

EDIT

Pinagbuti ko ito.

Ang mga pag-update ay matatagpuan dito: Tims_PCA_9685_Controller

Inirerekumendang: