CNCU-LOGO

CNCU PCA9685 Servo Driver i2C tengi

CNCU-PCA9685-Servo-Driver-i2C-Interface-PRODUCT

Notkunarleiðbeiningar fyrir vöru

  • Þegar þú sérð ERR 40 á vélinni:
  • Hafðu kveikt á vélinni, þetta er mjög mikilvægt.
  • Fjarlægðu rafhlöðurnar úr spennulausri stöðu.
  • Settu rafhlöðurnar úr frátekinni stöðu í lifandi stöðu.
  • Endurræstu vélina.
  • Mundu að kaupa tvær nýjar rafhlöður til að hafa í Reserve fyrir næstu rafhlöðuskipti.

Hafðu samband við AM.CO.ZA þjónustudeild ef þú lendir í erfiðleikum við að skipta um rafhlöðu eða ef staðsetning vélarinnar breytist meðan á ferlinu stendur. Þú getur líka haft samband í gegnum WhatsApp í síma 060 600 6000 til að fá aðstoð.

Yfirview

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-1

Það er frekar auðvelt að keyra servómótora með Arduino Servo bókasafninu, en hver og einn eyðir dýrmætum pinna - svo ekki sé minnst á Arduino vinnsluafl. Adafruit 16-rása 12-bita PWM/Servo Driver mun keyra allt að 16 servo yfir I2C með aðeins 2 pinna. Innbyggður PWM stjórnandi mun keyra allar 16 rásirnar samtímis án viðbótar Arduino vinnslukostnaðar. Það sem meira er, þú getur hlekkjað allt að 62 þeirra til að stjórna allt að 992 servóum - allir með sömu 2 pinnana!
Adafruit PWM/Servo Driver er fullkomin lausn fyrir öll verkefni sem krefjast mikils servóa.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-2

Pinouts

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-3

  • Það eru tvö sett af inntakspinnum á hvorri hlið. Báðar hliðar pinnanna eru eins! Notaðu hvaða hlið sem þú vilt, þú getur líka auðveldlega hlekkjað með því að tengja saman tvær hlið við hlið

Power Pins

  • GND - Þetta er rafmagns- og merki jörð pinna, verður að vera tengdur
  • VCC - Þetta er rökræni kraftpinninn, tengdu þetta við rökfræðistigið sem þú vilt nota fyrir PCA9685 úttakið, ætti að vera 3 - 5V max! Það er líka notað fyrir 10K pullups á SCL/SDA svo nema þú hafir þínar eigin pullups, láttu það passa við rökfræðistig örstýringarinnar líka!
  • V+ – Þetta er valfrjáls kraftpinna sem mun veita dreifðu afli til servóanna. Ef þú ert ekki að nota fyrir servo geturðu skilið það ótengdan. Það er alls ekki notað af flísinni. Þú getur líka sprautað afl frá 2-pinna tengiblokkinni efst á borðinu. Þú ættir að gefa upp 5-6VDC ef þú ert að nota servo. Ef þú þarft, geturðu farið hærra í 12VDC, en ef þú klúðrar og tengir VCC við V+ gætirðu skemmt borðið þitt!

Stýripinnar

  • SCL - I2C klukkupinna, tengdu við I2C klukkulínuna þína í örstýringunni. Getur notað 3V eða 5V rökfræði, og hefur veikburða pullup til VCC
  • SDA – I2C gagnapinna, tengdu við I2C gagnalínuna örstýringuna þína. Getur notað 3V eða 5V rökfræði, og hefur veikburða pullup til VCC
  • OE - Framleiðsla virkja. Hægt að nota til að slökkva fljótt á öllum úttakum. Þegar þessi pinna er lágur eru allir pinnar virkir. Þegar pinninn er hár eru úttakarnir óvirkir. Dregið sjálfgefið lágt svo það er valfrjáls pinna!

Úttakshöfn

  • Það eru 16 úttakstengi. Hver tengi hefur 3 pinna: V+, GND og PWM úttakið. Hver PWM keyrir algjörlega sjálfstætt en þeir verða allir að hafa sömu PWM tíðni.
  • Það er, fyrir LED viltu líklega 1.0 KHz en servó þurfa 60 Hz - svo þú getur ekki notað helminginn fyrir LED @ 1.0 KHz og helminginn @ 60 Hz.
  • Þeir eru settir upp fyrir servo en þú getur notað þá fyrir LED! Hámarksstraumur á pinna er 25mA.
  • Það eru 220 ohm viðnám í röð með öllum PWM pinnum og úttaksrökfræðin er sú sama og VCC svo hafðu það í huga ef þú notar LED.

Samkoma

Settu upp Servo hausana

  • Settu 4 3×4 pinna karlhausa á merktar stöður meðfram brún borðsins.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-4

Lóðuðu alla pinna

  • Þeir eru margir!

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-5

Bættu við hausum fyrir stjórn

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-6

Settu upp rafmagnstengi

  • Ef þú ert að hlekkja saman mörg ökumannsborð þarftu aðeins rafmagnstengi á því fyrsta.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-7

Að tengja það upp

Tengist Arduino

  • PWM/Servo Driver notar I2C svo það þarf aðeins 4 víra til að tengjast Arduino þínum:

„Klassísk“ Arduino raflögn:

  • +5v -> VCC (þetta er aðeins afl fyrir BREAKOUT, EKKI servóafl!)
  • GND -> GND
  • Analog 4 -> SDA
  • Analog 5 -> SCL

Eldri Mega raflögn:

  • +5v -> VCC (þetta er aðeins afl fyrir BREAKOUT, EKKI servóafl!)
  • GND -> GND
  • Digital 20 -> SDA
  • Digital 21 -> SCL

R3 og síðar Arduino raflögn (Uno, Mega & Leonardo):
(Þessar töflur eru með sérstaka SDA og SCL pinna á hausnum næst USB tenginu)

  • +5v -> VCC (þetta er aðeins afl fyrir BREAKOUT, EKKI servóafl!)
  • GND -> GND
  • SDA -> SDA
  • SCL -> SCL

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-8

VCC pinninn er bara kraftur fyrir flísina sjálfa. Ef þú vilt tengja servó eða LED sem nota V+ pinna þá VERÐUR þú að tengja V+ pinna líka. V+ pinninn getur verið allt að 6V jafnvel þótt VCC sé 3.3V (kubburinn er 5V öruggur). Við mælum með að tengja rafmagn í gegnum bláa tengiblokkina þar sem það er skautvarið.

Kraftur fyrir Servos
Flest servó eru hönnuð til að keyra á um 5 eða 6v. Hafðu í huga að mikið af servóum sem hreyfast á sama tíma (sérstaklega stórir öflugir) munu þurfa mikinn straum. Jafnvel örservó draga nokkur hundruð mA þegar þeir eru á hreyfingu. Sumir servó með háu togi draga meira en 1A hvert undir álagi.
Gott val á orku eru:

Það er ekki góð hugmynd að nota Arduino 5v pinna til að knýja servona þína. Rafmagns hávaði og „brownout“ frá ofgnótt straums geta valdið því að Arduino þinn virkar óreglulega, endurstillir og/eða ofhitnar.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-9

Bæta þétti við gegnum holu þéttaraufina
Við höfum blett á PCB til að lóða í rafgreiningarþétta. Byggt á notkun þinni gætirðu þurft þétta eða ekki. Ef þú ert að keyra mikið af servóum frá aflgjafa sem lækkar mikið þegar servóin hreyfast, þá er n * 100uF þar sem n er fjöldi servóa góður staður til að byrja - td 470uF eða meira fyrir 5 servó. Þar sem það er svo háð servóstraumspennu, toginu á hverjum mótor og hvaða aflgjafa, þá er ekkert „eitt töfraþéttagildi“ sem við getum stungið upp á og þess vegna erum við ekki með þétti í settinu.

Að tengja servó
Flest servó koma með venjulegu 3-pinna kventengi sem tengist beint í hausana á Servo Drivernum. Vertu viss um að samræma klóna við jarðvír (venjulega svartur eða brúnn) við neðri röð og merkjavír (venjulega gulur eða hvítur) efst.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-10

Bætir við fleiri servo
Hægt er að festa allt að 16 servó á eitt borð. Ef þú þarft að stjórna fleiri en 16 servóum, er hægt að hlekkja viðbótarborð eins og lýst er á næstu síðu.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-11

Að keðja ökumenn

  • Hægt er að hlekkja marga ökumenn (allt að 62) til að stjórna enn fleiri servóum.
  • Með hausum á báðum endum borðsins er raflögnin eins einföld og að tengja a 6 pinna samhliða snúru (http://adafru.it/206) frá einu borði til annars.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-12

Ávarp til stjórnanna

  • Hvert borð í keðjunni verður að fá sérstakt heimilisfang. Þetta er gert með heimilisfangsstökkunum efst á hægri brún borðsins. I2C grunnfang hvers borðs er 0x40. Tvöfaldur vistfangið sem þú forritar með vistfangastökkunum er bætt við grunn I2C vistfangið.
  • Notaðu dropa af lóðmálmi til að forrita staðfangsfrávik til að brúa samsvarandi vistfangastökkva fyrir hvern tvöfaldan '1' í vistfanginu.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-13

  • Borð 0: Heimilisfang = 0x40 Offset = tvöfaldur 00000 (engir jumpers krafist)
  • Borð 1: Heimilisfang = 0x41 Offset = tvíundir 00001 (brú A0 eins og á myndinni hér að ofan)
  • Borð 2: Heimilisfang = 0x42 Offset = tvíundir 00010 (brú A1)
  • Borð 3: Heimilisfang = 0x43 Offset = tvöfaldur 00011 (brú A0 & A1)
  • Borð 4: Heimilisfang = 0x44 Offset = tvíundir 00100 (brú A2)

o.s.frv.
Í skissunni þinni þarftu að lýsa yfir sérstöku verkefni fyrir hvert borð. Símtal byrjar á hverjum hlut og stjórnar hverju servói í gegnum hlutinn sem hann er tengdur við. Til dæmisample:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-14

Að nota Adafruit bókasafnið

  • Þar sem PWM Servo Driver er stjórnað yfir I2C, er það mjög auðvelt í notkun með hvaða örstýringu eða örtölvu sem er.
  • Í þessari kynningu munum við sýna notkun þess með Arduino IDE en C++ kóðann er auðvelt að flytja

Settu upp Adafruit PCA9685 bókasafn

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-15

  • Og sláðu inn adafruit pwm til að finna bókasafnið. Smelltu á Setja upp

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-16

Prófaðu með Example Kóði:

  • Fyrst skaltu ganga úr skugga um að öll eintök af Arduino IDE séu lokuð.
  • Næst skaltu opna Arduino IDE og velja File-> Dæmiamples->Adafruit_PWMServoDriver- >Servo. Þetta mun opna fyrrverandiample file í IDE glugga.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-17

Ef þú notar Breakout:

  • Tengdu ökumannsborðið og servóið eins og sýnt er á fyrri síðu. Ekki gleyma að veita afl til bæði Vin (3-5V rökfræðistig) og V+ (5V servóafl). Athugaðu að græna LED kviknar!

Ef þú notar skjöld:

  • Tengdu skjöldinn í Arduino þinn. Ekki gleyma að þú verður líka að veita 5V í V+ tengiblokkina. Bæði rauð og græn LED verða að loga.

Ef þú notar FeatherWing:

  • Tengdu FeatherWing í Feather þinn. Ekki gleyma að þú verður líka að veita 5V í V+ tengiblokkina. Athugaðu að græna LED kviknar!

Tengdu servó

  • Eitt servó ætti að vera tengt við PWM #0 tengið, fyrsta tengið. Þú ættir að sjá servóið sópa fram og til baka um það bil 180 gráður.

Kvörðun servo þinn
Servo púls tímasetning er mismunandi eftir mismunandi tegundum og gerðum. Þar sem það er hliðræn stýrirás er oft einhver breyting á milli samples af sömu tegund og gerð. Fyrir nákvæma stöðustýringu þarftu að kvarða lágmarks- og hámarkspúlsbreidd í kóðanum þínum til að passa við þekktar stöður servósins.

Finndu lágmarkið:

  • Að nota fyrrverandiample code, breyttu SERVOMIN þar til lægsti punktur sópans nær lágmarks ferðasviði. Best er að nálgast þetta smám saman og hætta áður en líkamlegum mörkum ferða er náð.

Finndu hámarkið:

  • Aftur að nota fyrrverandiampí kóðanum, breyttu SERVOMAX þar til hápunktur sópans nær hámarks ferðasviði. Aftur er best að nálgast þetta smám saman og hætta áður en líkamlegum mörkum ferða er náð.

Farið varlega þegar stillt er á SERVOMIN og SERVOMAX. Að ná líkamlegu takmörkunum á ferðalögum getur svipt gírin og skaðað servóið þitt varanlega.

Umbreytir úr gráðum í púlslengd
The Arduino „kort()“ virka (https://adafru.it/aQm) er auðveld leið til að breyta milli snúningsgráðu og kvarðaðar SERVOMIN og SERVOMAX púlslengdar. Miðað við dæmigerðan servó með 180 gráðu snúningi; þegar þú hefur stillt SERVOMIN í 0 gráðu stöðu og SERVOMAX í 180 gráðu stöðu geturðu breytt hvaða horni sem er á milli 0 og 180 gráður í samsvarandi púlslengd með eftirfarandi kóðalínu:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-18

BókasafnsviðmiðunarsettPWMReq(freq)

Lýsing

  • Þessi aðgerð er hægt að nota til að stilla PWM tíðnina, sem ákvarðar hversu margir fullir „púlsar“ á sekúndu myndast af IC. Sagt á annan hátt ákvarðar tíðnin hversu 'langur' hver púls er að lengd frá upphafi til enda, að teknu tilliti til bæði háa og lága hluta púlsins.
  • Tíðni er mikilvæg í PWM, þar sem að stilla tíðnina of háa með mjög litlum vinnulotu getur valdið vandamálum, þar sem „hækkunartími“ merkis (tíminn sem það tekur að fara úr 0V í VCC) getur verið lengri en tíminn sem merkið er virkt, og PWM úttakið mun virðast sléttað út og getur ekki einu sinni náð VCC, sem gæti valdið ýmsum vandamálum.

Rök

  • freq: Tala sem táknar tíðnina í Hz, á milli 40 og 1600

Example

  • Eftirfarandi kóða mun stilla PWM tíðnina á 1000Hz:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-19

setjaPWM (rás, kveikt, slökkt)
Lýsing
Þessi aðgerð stillir upphaf (kveikt) og lok (slökkt) á háa hluta PWM púlsins á tiltekinni rás. Þú tilgreinir „tikk“ gildið á milli 0..4095 þegar merki mun kveikja á og hvenær það slekkur á sér. Rás gefur til kynna hvaða af 16 PWM úttakunum ætti að uppfæra með nýju gildunum.

Rök

  • rás: Rásin sem ætti að uppfæra með nýju gildunum (0..15)
  • á: Merkið (á milli 0..4095) þegar merkið ætti að skipta úr lágu til háu
  • slökkt: merkið (á milli 0..4095) þegar merkið ætti að skipta úr háu til lágu

Example
Eftirfarandi frvampLe mun valda því að rás 15 byrjar lágt, fer hátt um 25% inn í púlsinn (merkið 1024 af 4096), fer aftur í lágt 75% inn í púlsinn (merkið 3072) og haldist lágt síðustu 25% af púlsinum:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-20

Notaðu sem GPIO

  • Það eru líka nokkrar sérstakar stillingar til að kveikja eða alveg slökkva á pinnunum

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-21

Arduino bókasafnsskjöl

Python & CircuitPython

CircuitPython örstýring raflögn
Fyrst skaltu tengja PCA9685 við borðið þitt nákvæmlega eins og sýnt er á fyrri síðum fyrir Arduino. Hér er fyrrverandiampLeið af því að tengja Feather M0 við drifborðið með I2C:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-22

Python tölvulögn

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-23

Ekki reyna að knýja servóin þín frá 5V afl RasPi eða Linux borðsins, þú getur auðveldlega valdið því að aflgjafi eyðileggst og klúðrar Pi þínum! Notaðu sérstakan 5v 2A eða 4A millistykki

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-24

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-25

CircuitPython uppsetning á PCA9685 og ServoKit bókasöfnum

Fyrir ekki hraðborð eins og Trinket M0 eða Gemma M0 þarftu að setja upp nauðsynleg bókasöfn handvirkt úr búntinu:

  • adafruit_pca9685.mpy
  • adafruit_bus_device
  • adafruit_register
  • adafruit_motor
  • adafruit_servokit.mpy

Áður en þú heldur áfram skaltu ganga úr skugga um lib möppuna eða rót borðsins filekerfið er með adafruit_pca9685.mpy, adafruit_register og adafruit_servokit.mpy, adafruit_motor og adafruit_bus_device files og möppur afritaðar.
Næst tengja við serial REPL borðsins (https://adafru.it/Awz) þannig að þú ert á CircuitPython >>> hvetjunni.

Python uppsetning á PCA9685 og ServoKit bókasöfnum

Þú þarft að setja upp Adafruit_Blinka bókasafnið sem veitir CircuitPython stuðning í Python. Þetta gæti líka þurft að virkja I2C á pallinum þínum og staðfesta að þú sért að keyra Python 3. Þar sem hver pallur er svolítið öðruvísi og Linux breytist oft, vinsamlegast farðu í CircuitPython á Linux handbókina til að gera tölvuna þína tilbúna (https://adafru.it/BSN)!

  • Þegar því er lokið skaltu keyra eftirfarandi skipanir frá skipanalínunni:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-26

  • Ef sjálfgefna Python er útgáfa 3 gætirðu þurft að keyra 'pip' í staðinn. Gakktu úr skugga um að þú sért ekki að reyna að nota CircuitPython á Python 2.x, það er ekki stutt!

CircuitPython & Python notkun

  • Eftirfarandi hluti mun sýna hvernig á að stjórna PCA9685 frá Python hvetja / REPL stjórnarinnar. Þú munt læra hvernig á að stjórna gagnvirkt servóum og dimma LED með því að slá inn kóðann hér að neðan.

Dimmandi LED
Keyrðu eftirfarandi kóða til að flytja inn nauðsynlegar einingar og frumstilla I2C tenginguna við ökumannsborðið:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-27

  • Hægt er að nota hverja rás PCA9685 til að stjórna birtustigi LED. PCA9685 býr til háhraða PWM merki sem kveikir og slokknar á LED mjög fljótt. Ef kveikt er lengur á ljósdíóðunni en slökkt er mun það birtast bjartara í augum þínum.
  • Fyrst skaltu tengja LED við borðið sem hér segir. Athugaðu að þú þarft ekki að nota viðnám til að takmarka straum í gegnum LED þar sem PCA9685 mun takmarka strauminn við um 10mA:

LED bakskaut / styttri fótur til PCA9685 rás GND / jörð. LED rafskaut / lengri fótur til PCA9685 rásar PWM.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-28

  • PCA9685 flokkurinn veitir stjórn á PWM tíðni og vinnulotu hverrar rásar. Skoðaðu PCA9685 flokks skjöl (https://adafru.it/C5n) til að fá frekari upplýsingar.
  • Til að deyfa LED þarftu venjulega ekki að nota hraðvirka PWM merkjatíðni og getur stillt PWM tíðni borðsins á 60hz með því að stilla tíðni eiginleika:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-29

  • PCA9685 styður 16 aðskildar rásir sem deila tíðni en geta haft sjálfstæða vinnulotu. Þannig gætirðu dempað 16 LED sérstaklega!
  • PCA9685 hluturinn hefur ráseiginleika sem hefur hlut fyrir hverja rás sem getur stjórnað vinnulotunni. Til að fá einstaka rás, notaðu [] til að skrá í rásir.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-30

  • Stjórnaðu nú LED birtustigi með því að stjórna vinnuferli rásarinnar sem er tengd við LED. Vinnulotugildið ætti að vera 16 bita gildi, þ.e. 0 til 0xffff, sem táknar hversu mörg prósent af þeim tíma sem merkið er kveikt á móti slökkt. Gildið 0xffff er 100% birta, 0 er 0% birtustig og gildi þar á milli fara úr 0% í 100% birtustig.
  • Til dæmisampkveiktu á ljósdíóðunni alveg með vinnulotunni 0xffff:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-31

  • Eftir að hafa keyrt skipunina hér að ofan ættirðu að sjá LED kvikna á fullri birtu! Slökktu nú á LED með vinnulotu 0:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-32

  • Prófaðu milligildi eins og 1000:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-33

  • Þú ættir að sjá ljósdíóðann daufa kveikt. Prófaðu að gera tilraunir með önnur vinnulotugildi til að sjá hvernig ljósdíóðan breytir birtustigi!
  • Til dæmisampl láttu ljósdíóðann ljóma og slökkva með því að stilla duty_cycle í lykkju:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-34

  • Þetta fyrir lykkjur tekur smá tíma vegna þess að 16-bita er mikið af tölum. CTRL-C til að stöðva lykkjuna í gangi og fara aftur í REPL.

Fullt Exampkóðann

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-35

Að stjórna servo

  • Við höfum skrifað handhægt CircuitPython bókasafn fyrir hin ýmsu PWM/Servo sett sem kallast Adafruit CircuitPython ServoKit (https://adafru.it/Dpu) sem sér um alla flóknu uppsetninguna fyrir þig. Allt sem þú þarft að gera er að flytja inn viðeigandi flokk úr bókasafninu og þá eru allir eiginleikar þess flokks tiltækir til notkunar.
  • Við ætlum að sýna þér hvernig á að flytja inn ServoKit flokkinn og nota hann til að stjórna servómótorum með Adafruit 16 rása brotinu.
  • Ef þú þekkir ekki servó, vertu viss um að lesa þetta fyrst kynning á servo síðu (https://adafru.it/scW) og þetta ítarleg servóleiðbeiningarsíða (https://adafru.it/scS).
  • Tengdu fyrst servóið við rás 0 á PCA9685. Hér er fyrrverandiample af servói sem er tengt við rás 0:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-36

  • Vertu viss um að þú hafir kveikt á eða tengt ytri 5V aflgjafanum við PCA9685 borðið líka!
  • Fyrst þarftu að flytja inn og frumstilla ServoKit flokkinn. Þú verður að tilgreina fjölda rása sem eru tiltækar á borðinu þínu. Brotið hefur 16 rásir, þannig að þegar þú býrð til bekkjarhlutinn muntu tilgreina 16 .

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-37

  • Nú ertu tilbúinn til að stjórna bæði stöðluðum og stöðugum snúningsservóum.

Standard servo

  • Til að stjórna venjulegu servói þarftu að tilgreina rásina sem servóið er tengt við. Þú getur síðan stjórnað hreyfingu með því að stilla hornið á fjölda gráður.
  • Sjálfgefið er að Servo flokkurinn notar virkjunarsvið, lágmarkspúlsbreidd og hámarkspúlsbreidd sem ætti að virka fyrir flest servó. Hins vegar, athugaðu Servo Class skjölin (https://adafru.it/BNE) fyrir frekari upplýsingar um aukafæribreytur til að sérsníða merkið sem er búið til fyrir servóin þín.

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-38

  • Með Servo tilgreinirðu stöðu sem horn. Hornið mun alltaf vera á milli 0 og virkjunarsviðsins sem gefið var upp þegar Servo var búið til. Sjálfgefið er 180 gráður en servóið þitt gæti verið með minna sweepi – breyttu heildarhorninu með því að tilgreina actuation_angle færibreytuna í Servo class frumstillingunni hér að ofan.
  • Stilltu nú hornið á 180, einn ysta á bilinu:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-39

  • Til að koma servóinu aftur í 0 gráður:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-40

  • Með venjulegu servói tilgreinirðu stöðuna sem horn. Hornið verður alltaf á milli 0 og virkjunarsviðsins. Sjálfgefið er 180 gráður en servóið þitt gæti verið með minna sópa. Þú getur breytt heildarhorninu með því að stilla actuation_range .
  • Til dæmisample, til að stilla virkjunarsviðið á 160 gráður:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-41

  • Oft er bilið sem einstakur servó þekkir svolítið breytilegt frá öðrum servóum. Ef servóið sópaði ekki allt sem búist var við, reyndu þá að stilla lágmarks- og hámarkspúlsbreidd með því að nota set_pulse_width_range(min_pulse, max_pulse) .
  • Til að stilla púlsbreiddarsviðið á að lágmarki 1000 og að hámarki 2000:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-42

  • Það er allt sem þarf til að stjórna stöðluðum servóum með PCA9685 breakout, Python og ServoKit!

Stöðug snúningsservó

  • Til að stjórna stöðugu snúningsservói verður þú að tilgreina rásina sem servo er á.
  • Þá geturðu stjórnað hreyfingum með inngjöfinni.
  • Til dæmisample, til að hefja samfellda snúningsservóið sem er tengt við rás 1 til að fulla inngjöf áfram:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-43

  • Til að ræsa stöðuga snúningsservóið sem er tengt við rás 1 með fullri bakgjöf:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-44

  • Notaðu aukastaf til að stilla hálfa inngjöf:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-45

  • Og til að stöðva samfellda snúnings servó hreyfingu skaltu stilla inngjöfina á 0:

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-46

  • Það er allt sem þarf til að stjórna stöðugum snúningsservóum með PCA9685 16 rása brotinu, Python og ServoKit!

Fullt Exampkóðann

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-47

Python Docs

Python Docs: ServoKit

Niðurhal

Files

Skýringarmynd og tilbúningur Prentun

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-48 CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-49

Götin eru 2.5 mm í þvermál

CNCU-PCA9685-Servo-Driver-i2C-Interface-MYND-50

Algengar spurningar

  • Er hægt að nota þetta borð fyrir LED eða bara servó?
    • Það er hægt að nota fyrir LED sem og önnur PWM-hæf tæki!
  • Ég á í undarlegum vandamálum þegar ég sameinaði þennan skjöld við Adafruit LED Matrix/7Seg bakpokana
    • PCA9865 flísinn er með „All Call“ heimilisfangið 0x70. Þetta er til viðbótar við stillt heimilisfang. Stilltu bakpokana á heimilisfangið 0x71 eða eitthvað annað en sjálfgefið 0x70 til að láta málið hverfa.
  • Með LED, hvernig stendur á því að ég get ekki fengið LED til að slökkva alveg?
    • Ef þú vilt slökkva algjörlega á ljósdíóðunum skaltu nota (í Arduino) stilltu PWM (pinna, 0, 4096); ekki stillt (pinna, 0, 4095);

Skjöl / auðlindir

CNCU PCA9685 Servo Driver i2C tengi [pdfLeiðbeiningar
PCA9685 Servo Driver i2C tengi, PCA9685, Servo Driver i2C tengi, Driver i2C tengi, i2C tengi, tengi

Heimildir

Skildu eftir athugasemd

Netfangið þitt verður ekki birt. Nauðsynlegir reitir eru merktir *