CNCU PCA9685 Servo Driver i2C Entèfas
Enstriksyon Itilizasyon Pwodwi
- Lè ou wè ERR 40 sou machin nan:
- Kenbe machin nan limen, sa a trè enpòtan.
- Retire pil yo nan pozisyon Live la.
- Mete pil yo soti nan pozisyon rezève nan pozisyon an vi.
- Rdemare machin nan.
- Sonje achte de nouvo pil pou kenbe nan rezèv pou pwochen chanjman batri a.
Kontakte AM.CO.ZA Sipò si ou rankontre difikilte pou chanje batri a oswa si pozisyon machin nan chanje pandan pwosesis la. Ou ka kontakte tou via WhatsApp nan 060 600 6000 pou asistans.
Plis paseview
Kondwi motè servo ak bibliyotèk Arduino Servo se trè fasil, men chak moun konsome yon PIN presye - nou pa mansyone kèk pouvwa pwosesis Arduino. Adafruit 16-Chanèl 12-bit PWM / Servo chofè a pral kondwi jiska 16 servos sou I2C ak sèlman 2 broch. Kontwolè PWM sou tablo a pral kondwi tout 16 chanèl an menm tan san yo pa gen okenn pwosesis adisyonèl Arduino anlè. Anplis de sa, ou ka chenn jiska 62 nan yo kontwole jiska 992 servos - tout ak menm 2 broch yo!
Adafruit PWM / Servo Driver se solisyon pafè a pou nenpòt pwojè ki mande anpil servos.
Pinouts
- Gen de seri broch opinyon kontwòl sou chak bò. Tou de bò broch yo idantik! Sèvi ak kèlkeswa kote ou renmen, ou ka fasilman chèn tou pa konekte moute de kòt a kòt
Broch pouvwa
- GND - Sa a se pouvwa a ak pikèt tè siyal, yo dwe konekte
- VCC - Sa a se PIN nan pouvwa lojik, konekte sa a nan nivo lojik ou vle itilize pou pwodiksyon an PCA9685, yo ta dwe 3 - 5V max! Li itilize tou pou pullups 10K sou SCL/SDA kidonk sof si ou gen pwòp pullups ou, fè li matche ak nivo lojik mikrokontwolè a tou!
- V + - Sa a se yon PIN pouvwa si ou vle ki pral bay pouvwa distribiye nan servo yo. Si w pa itilize pou servos ou ka kite dekonekte. Li pa itilize ditou pa chip la. Ou kapab tou enjekte pouvwa ki soti nan blòk tèminal 2-pin nan tèt tablo a. Ou ta dwe bay 5-6VDC si w ap itilize servos. Si ou oblije, ou ka ale pi wo a 12VDC, men si ou dezòd epi konekte VCC ak V + ou ta ka domaje tablo ou a!
Kontwòl Pins
- SCL - PIN revèy I2C, konekte ak liy revèy I2C mikrokontroleur ou a. Ka sèvi ak 3V oswa 5V lojik, epi li gen yon pullup fèb nan VCC
- SDA - PIN done I2C, konekte ak liy done I2C mikrokontroleur ou a. Ka sèvi ak 3V oswa 5V lojik, epi li gen yon pullup fèb nan VCC
- OE - Sòti pèmèt. Èske yo ka itilize byen vit enfim tout rezilta yo. Lè pin sa a ba, tout broch yo aktive. Lè zepeng la wo, rezilta yo enfim. Rale ba pa default kidonk li se yon PIN si ou vle!
Sòti pò
- Gen 16 pò pwodiksyon. Chak pò gen 3 broch: V +, GND ak pwodiksyon an PWM. Chak PWM kouri konplètman poukont men yo tout dwe gen menm frekans PWM.
- Sa vle di, pou LED ou pwobableman vle 1.0 KHz men servos bezwen 60 Hz - kidonk ou pa ka itilize mwatye pou LED @ 1.0 KHz ak mwatye @ 60 Hz.
- Yo mete kanpe pou servos men ou ka itilize yo pou dirije! Aktyèl maksimòm pou chak peny se 25mA.
- Gen 220 ohm rezistans nan seri ak tout Pins PWM ak lojik pwodiksyon an se menm jan ak VCC kidonk kenbe sa nan tèt ou si w ap itilize poul.
Asanble
Enstale Servo Headers yo
- Enstale 4 3 × 4 pin tèt gason nan pozisyon ki make sou kwen tablo a.
Soude tout zepeng
- Gen anpil nan yo!
Ajoute Tèt pou Kontwòl
- Yo enkli yon bann header gason. Ki kote ou vle enstale headers ak sou ki bò depann yon ti kras sou itilizasyon:
- Pou breadboard (http://adafru.it/239) sèvi ak, enstale headers sou anba a nan tablo a.
- Pou itilize ak fil kavalye (http://adafru.it/758), enstale tèt yo sou tèt tablo a.
- Pou itilize ak nou 6-pin kab (http://adafru.it/206), enstale tèt yo sou tèt tablo a.
- Si w ap chenn plizyè ankadreman chofè, ou pral vle tèt sou tou de bout.
Enstale tèminal pouvwa yo
- Si w ap chenn plizyè tablo chofè, ou sèlman bezwen yon tèminal pouvwa sou premye a.
Akrochaj li
Konekte ak Arduino la
- Chofè PWM/Servo a sèvi ak I2C kidonk li pran sèlman 4 fil pou konekte ak Arduino ou:
Fil elektrik Arduino "klasik":
- +5v -> VCC (sa a se pouvwa pou BREAKOUT la sèlman, PA pouvwa a servo!)
- GND -> GND
- Analog 4 -> SDA
- Analog 5 -> SCL
Ki pi gran Mega fil elektrik:
- +5v -> VCC (sa a se pouvwa pou BREAKOUT la sèlman, PA pouvwa a servo!)
- GND -> GND
- Digital 20 -> SDA
- Digital 21 -> SCL
R3 ak pita fil elektrik Arduino (Uno, Mega & Leonardo):
(Tablo sa yo gen broch SDA & SCL dedye sou header ki pi pre konektè USB la)
- +5v -> VCC (sa a se pouvwa pou BREAKOUT la sèlman, PA pouvwa a servo!)
- GND -> GND
- SDA -> SDA
- SCL -> SCL
PIN VCC a se jis pouvwa pou chip nan tèt li. Si ou vle konekte servos oswa LED ki sèvi ak broch V + yo, ou DWE konekte pin V + la tou. PIN V+ la ka osi wo ke 6V menm si VCC se 3.3V (chip la se 5V an sekirite). Nou sijere konekte pouvwa nan blòk tèminal ble a paske li pwoteje polarite.
Pouvwa pou Servo yo
Pifò servo yo fèt pou kouri sou apeprè 5 oswa 6v. Kenbe nan tèt ou ke yon anpil nan servo k ap deplase an menm tan an (patikilyèman gwo pwisan) ap bezwen anpil kouran. Menm servo mikwo pral trase plizyè santèn mA lè w ap deplase. Gen kèk servo High-torque pral trase plis pase 1A chak anba chaj.
Bon chwa pouvwa yo se:
- 5v 2A chanje ekipman pou pouvwa (http://adafru.it/276)
- 5v 10A chanje ekipman pou pouvwa (http://adafru.it/658)
- 4xAA detantè batri (http://adafru.it/830) – 6v ak selil alkalin. 4.8v ak selil rechargeable NiMH.
- 4.8 oswa 6v Rechargeable RC pake batri ki soti nan yon magazen plezi.
Li pa yon bon lide yo sèvi ak Arduino 5v PIN nan pouvwa servos ou yo. Bri elektrik ak "brownouts" ki soti nan kouran depase ka lakòz Arduino ou aji iregilye, reset ak / oswa surchof.
Ajoute yon kondansateur nan plas la kondansateur thru-twou
Nou gen yon plas sou PCB a pou soude nan yon kondansateur elektwolitik. Dapre itilizasyon ou, ou ka oswa ou pa bezwen yon kondansateur. Si w ap kondwi yon anpil nan servo nan yon ekipman pou pouvwa ki tranpe anpil lè servo yo deplase, n * 100uF kote n se kantite servo se yon bon kote yo kòmanse - egzanp 470uF oswa plis pou 5 servos. Depi li se konsa depann sou trase aktyèl servo, koupl la sou chak motè, ak ki ekipman pou pouvwa a, pa gen okenn "yon valè kondansateur majik" nou ka sijere ki se poukisa nou pa enkli yon kondansateur nan twous la.
Konekte yon Servo
Pifò servo yo vini ak yon estanda konektè fi 3-pin ki pral ploge dirèkteman nan tèt yo sou chofè a Servo. Asire w ke w aliman ploge a ak fil tè a (anjeneral nwa oswa mawon) ak ranje anba a ak fil siyal la (anjeneral jòn oswa blan) sou tèt la.
Ajoute plis Servo
Jiska 16 servo ka tache nan yon tablo. Si ou bezwen kontwole plis pase 16 servos, ankadreman adisyonèl ka chenn jan sa dekri nan pwochen paj la.
Chaining chofè yo
- Plizyè Chofè (jiska 62) ka chenn pou kontwole plis servos toujou.
- Avèk tèt nan tou de bout tablo a, fil elektrik la se senp tankou konekte yon 6-pin paralèl kab (http://adafru.it/206) soti nan yon tablo nan pwochen an.
Adrese Konsèy yo
- Chak tablo nan chèn lan dwe bay yon adrès inik. Sa a se fè ak kavalye adrès yo sou kwen anwo dwat nan tablo a. Adrès baz I2C pou chak tablo se 0x40. Adrès binè ou pwograme ak kavalye adrès yo ajoute nan adrès I2C debaz la.
- Pou pwograme adrès konpansasyon an, sèvi ak yon gout soude pou bridge kavalye adrès ki koresponn lan pou chak binè '1' nan adrès la.
- Komisyon Konsèy 0: Adrès = 0x40 Offset = binè 00000 (pa gen okenn kavalye obligatwa)
- Komisyon Konsèy 1: Adrès = 0x41 Offset = binè 00001 (pon A0 tankou nan foto ki anwo a)
- Komisyon Konsèy 2: Adrès = 0x42 Offset = binè 00010 (pon A1)
- Komisyon Konsèy 3: Adrès = 0x43 Offset = binè 00011 (pon A0 & A1)
- Komisyon Konsèy 4: Adrès = 0x44 Offset = binè 00100 (pon A2)
elatriye.
Nan desen ou a, w ap bezwen deklare yon pwojè separe pou chak tablo. Rele kòmanse sou chak objè, epi kontwole chak servo atravè objè a li tache ak. Pou egzanpample:
Sèvi ak bibliyotèk Adafruit
- Depi PWM Servo Driver kontwole sou I2C, li trè fasil pou itilize ak nenpòt mikrokontwolè oswa mikwo òdinatè.
- Nan demonstrasyon sa a, nou pral montre lè l sèvi avèk li ak IDE Arduino men kòd C++ a ka pò fasil.
Enstale bibliyotèk Adafruit PCA9685
- Pou kòmanse li done Capteur, w ap bezwen enstale bibliyotèk Adafruit_PWMServo (kòd sou depo Github nou an) (https://adafru.it/aQl). Li disponib nan manadjè bibliyotèk Arduino, kidonk nou rekòmande pou itilize sa.
- Soti nan IDE a louvri manadjè bibliyotèk la...
- Epi tape adafruit pwm pou jwenn bibliyotèk la. Klike sou Enstale
- Nou gen tou yon gwo leson patikilye sou enstalasyon bibliyotèk Arduino nan: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use (https://adafru.it/aYM)
Tès ak Exampkòd la:
- Premye asire w ke tout kopi Arduino IDE yo fèmen.
- Apre sa, louvri IDE Arduino a epi chwazi File-> Egzamples->Adafruit_PWMServoDriver->Servo. Sa a pral louvri ansyen anample file nan yon fenèt IDE.
Si w ap itilize yon Breakout:
- Konekte tablo chofè a ak servo jan yo montre nan paj anvan an. Pa bliye bay pouvwa tou de Vin (nivo lojik 3-5V) ak V + (pouvwa servo 5V). Tcheke LED vèt la limen!
Si w ap itilize yon plak pwotèj:
- Ploge plak pwotèj la nan Arduino ou. Pa bliye w ap gen tou bay 5V nan blòk tèminal V+ la. Tou de LED wouj ak vèt yo dwe limen.
Si w ap itilize yon FeatherWing:
- Ploge FeatherWing la nan Feather ou. Pa bliye w ap gen tou bay 5V nan blòk tèminal V+ la. Tcheke LED vèt la limen!
Konekte yon Servo
- Yo ta dwe konekte yon sèl servo nan pò PWM #0, premye pò a. Ou ta dwe wè servo a bale dèyè ak soti sou apeprè 180 degre.
Kalibrasyon Servo ou yo
Distribisyon batman servo servo varye ant diferan mak ak modèl. Depi li se yon sikwi kontwòl analòg, souvan gen kèk varyasyon ant samples nan menm mak ak modèl la. Pou kontwòl pozisyon egzak, ou pral vle kalibre lajè batman kè minumum ak maksimòm nan kòd ou a matche ak pozisyon yo li te ye nan servo la.
Jwenn minimòm lan:
- Sèvi ak ansyen anample kòd, edit SERVOMIN jiskaske pwen ki ba nan bale a rive nan seri minimòm vwayaj la. Li pi bon pou apwoche sa a piti piti epi sispann anvan limit fizik vwayaj la rive.
Jwenn maksimòm lan:
- Ankò itilize ansyen anample kòd, edite SERVOMAX jiskaske pwen anwo nan syèl la nan bale a rive nan ranje maksimòm vwayaj la. Yon fwa ankò, se pi bon apwòch sa a piti piti epi sispann anvan limit fizik la nan vwayaj rive.
Pran prekosyon lè w ap ajiste SERVOMIN ak SERVOMAX. Frape limit fizik yo nan vwayaj ka dezabiye angrenaj yo ak pèmanan domaje servo ou a.
Konvèti soti nan degre nan longè batman kè
La Arduino "kat ()" fonksyon (https://adafru.it/aQm) se yon fason fasil pou konvèti ant degre wotasyon ak longè batman SERVOMIN ak SERVOMAX kalibre ou. Sipoze yon sèrvo tipik ak 180 degre wotasyon; yon fwa ou fin kalibre SERVOMIN nan pozisyon 0-degre ak SERVOMAX nan pozisyon 180-degre, ou ka konvèti nenpòt ang ant 0 ak 180 degre nan longè batman kè korespondan ak liy sa a nan kòd:
Referans bibliyotèk setPWMFreq(freq)
Deskripsyon
- Fonksyon sa a ka itilize pou ajiste frekans PWM a, ki detèmine konbyen 'puls' konplè pou chak segonn IC a pwodui. Dire yon fason diferan, frekans la detèmine konbyen 'long' chak batman kè se nan dire depi nan kòmansman rive nan fini, pran an kont tou de segman yo wo ak ba nan batman kè a.
- Frekans enpòtan nan PWM, depi mete frekans lan twò wo ak yon sik devwa piti anpil ka lakòz pwoblèm, depi 'tan an monte' nan siyal la (tan li pran pou ale soti nan 0V a VCC) ka pi long pase tan an siyal la aktif, ak pwodiksyon PWM a ap parèt lis soti epi li ka pa menm rive nan VCC, potansyèlman sa ki lakòz yon kantite pwoblèm.
Agiman yo
- frek: Yon nimewo ki reprezante frekans nan Hz, ant 40 ak 1600
Example
- Kòd sa a pral mete frekans PWM a 1000Hz:
setPWM (chanèl, sou, koupe)
Deskripsyon
Fonksyon sa a mete kòmansman (sou) ak fen (off) segman segondè nan batman PWM a sou yon chanèl espesifik. Ou presize valè 'tik' la ant 0..4095 lè siyal la pral limen, ak lè li pral etenn. Chèn endike kilès nan 16 rezilta PWM yo ta dwe mete ajou ak nouvo valè yo.
Agiman yo
- chanèl: Chanèl ki ta dwe mete ajou ak nouvo valè yo (0..15)
- on: Tik la (ant 0..4095) lè siyal la ta dwe tranzisyon soti nan ba a segondè
- koupe: tik la (ant 0..4095) lè siyal la ta dwe tranzisyon soti nan segondè a ba
Example
Egzanp sa aample pral lakòz kanal 15 kòmanse ba, ale wo alantou 25% nan batman kè a (tik 1024 soti nan 4096), tranzisyon tounen nan ba 75% nan batman kè a (tik 3072), epi rete ba pou dènye 25% nan batman kè a:
Sèvi ak kòm GPIO
- Genyen tou kèk anviwònman espesyal pou vire broch yo konplètman sou oswa konplètman koupe
Arduino Bibliyotèk Docs
Python & CircuitPython
- Li fasil pou itilize chofè PCA9685 la ak Python oswa CircuitPython ak Adafruit la. CircuitPython PCA9685 (https://adafru.it/tZF) modil. Modil sa a pèmèt ou fasil ekri kòd Python ki kontwole servos ak PWM ak levasyon sa a.
- Ou ka sèvi ak tablo chofè sa a ak nenpòt tablo mikrokontroleur CircuitPython oswa ak yon òdinatè ki gen GPIO ak Python. gras a Adafruit_Blinka, bibliyotèk konpatibilite CircuitPython-pou-Python nou an (https://adafru.it/BSN).
CircuitPython Microcontroller Fil elektrik
Premye fil elektrik moute yon PCA9685 nan tablo ou egzakteman jan yo montre nan paj anvan yo pou Arduino. Men yon ansyenample nan fil elektrik yon Feather M0 nan tablo chofè a ak I2C:
Fil elektrik Python òdinatè
- Depi gen plizyè douzèn òdinatè / tablo Linux ou ka itilize nou pral montre fil elektrik pou Franbwaz Pi. Pou lòt platfòm, tanpri vizite gid pou CircuitPython sou Linux pou wè si platfòm ou a sipòte (https://adafru.it/BSN).
- Isit la nan Raspberry Pi branche ak I2C:
Pa eseye pouvwa servos ou soti nan pouvwa 5V RasPi oswa Linux tablo a, ou ka fasilman lakòz yon ekipman pou pouvwa mawon soti ak dezòd Pi ou a! Sèvi ak yon adaptè separe 5v 2A oswa 4A
- 5V 2A (2000mA) chanje ekipman pou pouvwa - UL ki nan lis
- Sa a se yon FCC/CE sètifye ak UL ki nan lis ekipman pou pouvwa. Bezwen anpil pouvwa 5V?
- Ekipman pou chanje sa a bay yon pwodiksyon pwòp reglemante 5V jiska 2000mA. 110 oswa 240 opinyon, kidonk li travay ... https://www.adafruit.com/product/276
- 5V 4A (4000mA) chanje ekipman pou pouvwa - UL ki nan lis
- Bezwen anpil pouvwa 5V? Ekipman pou chanje sa a bay yon pwodiksyon pwòp reglemante 5V jiska 4 Amps (4000mA). 110 oswa 240 opinyon, kidonk li travay nan nenpòt peyi. Ploge yo se "US... https://www.adafruit.com/product/1466
CircuitPython Enstalasyon PCA9685 ak Bibliyotèk ServoKit
- Ou pral bezwen enstale a Adafruit CircuitPython PCA9685 (https://adafru.it/tZF) bibliyotèk sou tablo CircuitPython ou a.
- Premye asire w ke ou ap kouri a dènye vèsyon Adafruit CircuitPython (https://adafru.it/Amd) pou tablo ou.
- Apre sa, w ap bezwen enstale bibliyotèk ki nesesè yo pou itilize pyès ki nan konpitè-ak anpil atansyon swiv etap sa yo pou jwenn ak enstale bibliyotèk sa yo soti nan. Pakèt bibliyotèk CircuitPython Adafruit la (https://adafru.it/uap). Gid pou kòmanse CircuitPython nou an gen yon gwo paj ki jan yo enstale pakèt bibliyotèk lae (https://adafru.it/ABU).
Pou tablo ki pa eksprime tankou Trinket M0 oswa Gemma M0, ou pral bezwen manyèlman enstale bibliyotèk ki nesesè yo nan pake a:
- adafruit_pca9685.mpy
- adafruit_bus_device
- adafruit_register
- adafruit_motor
- adafruit_servokit.mpy
Anvan w kontinye asire w katab lib tablo w la oswa rasin filesistèm gen adafruit_pca9685.mpy, adafruit_register, ak adafruit_servokit.mpy, adafruit_motor ak adafruit_bus_device. files ak dosye kopye sou.
Next konekte nan seri REPL tablo a (https://adafru.it/Awz) Se konsa, ou nan CircuitPython >>> èd memwa.
Enstalasyon Python PCA9685 ak Bibliyotèk ServoKit
Ou pral bezwen enstale bibliyotèk Adafruit_Blinka ki bay sipò CircuitPython nan Python. Sa a ka mande tou pou pèmèt I2C sou platfòm ou a epi verifye w ap kouri Python 3. Piske chak platfòm se yon ti kras diferan, ak Linux chanje souvan, tanpri vizite CircuitPython sou Linux gid la pou prepare òdinatè w lan. (https://adafru.it/BSN)!
- Yon fwa sa a fini, soti nan liy lòd ou a kouri kòmandman sa yo:
- Si Python default ou a se vèsyon 3 ou ka bezwen kouri 'pip' pito. Jis asire w ke ou pa ap eseye sèvi ak CircuitPython sou Python 2.x, li pa sipòte!
CircuitPython & Itilizasyon Python
- Seksyon sa a pral montre kijan pou kontwole PCA9685 nan èd memwa / REPL Python tablo a. Ou pral aprann kijan pou kontwole entèaktif servos ak dim dirije lè w tape kòd ki anba a.
Diminye dirije
Kouri kòd sa a pou enpòte modil ki nesesè yo epi inisyalize koneksyon I2C ak tablo chofè a:
- Chak chanèl PCA9685 ka itilize pou kontwole klète yon dirije. PCA9685 a jenere yon siyal PWM gwo vitès ki vire LED la sou yo ak sou trè vit. Si dirije a limen pi lontan pase etenn, li pral parèt pi klere nan je ou.
- Premye fil yon dirije nan tablo a jan sa a. Remake byen ou pa bezwen sèvi ak yon rezistans pou limite aktyèl la atravè LED la kòm PCA9685 la pral limite aktyèl la nan alantou 10mA:
Dirije katod / pi kout janm nan PCA9685 chanèl GND / tè. Dirije anod / pi long janm nan PCA9685 chanèl PWM.
- Klas PCA9685 la bay kontwòl frekans PWM ak sik devwa chak chanèl. Tcheke la Dokimantasyon klas PCA9685 (https://adafru.it/C5n) pou plis detay.
- Pou gradyasyon LED ou tipikman pa bezwen sèvi ak yon frekans siyal PWM rapid epi yo ka mete frekans PWM tablo a nan 60hz lè w mete atribi frekans la:
- PCA9685 a sipòte 16 chanèl separe ki pataje yon frekans men ki ka gen sik devwa endepandan. Nan fason sa a ou ta ka dim 16 LED separeman!
- Objè PCA9685 la gen yon atribi chanèl ki gen yon objè pou chak chanèl ki ka kontwole sik devwa a. Pou jwenn chanèl endividyèl la sèvi ak [] pou endèks nan chanèl yo.
- Koulye a, kontwole klète ki ap dirije pa kontwole sik devwa chanèl ki konekte ak dirije a. Valè sik devwa a ta dwe yon valè 16-bit, sa vle di 0 a 0xffff, ki reprezante ki pousan nan tan siyal la limen vs. Yon valè 0xffff se 100% klète, 0 se 0% klète, ak valè ant yo ale soti nan 0% a 100% klète.
- Pou egzanpampli mete LED la nèt ak yon sik devwa nan 0xffff:
- Apre ou fin kouri kòmandman an pi wo a ou ta dwe wè limyè ki ap dirije a nan klète konplè! Koulye a, fèmen LED la ak yon sik devwa nan 0:
- Eseye yon valè nan mitan tankou 1000:
- Ou ta dwe wè ki ap dirije a fèb limen. Eseye fè eksperyans ak lòt valè sik devwa pou wè ki jan LED la chanje klète!
- Pou egzanpampPou fè LED a limen ak koupe pa mete duty_cycle nan yon bouk:
- Sa yo pou bouk pran yon ti tan paske 16-bit se yon anpil nan nimewo. CTRL-C pou sispann bouk la kouri epi retounen nan REPL la.
Egzanp konplèample Kòd
Kontwole Servo
- Nou te ekri yon bibliyotèk CircuitPython sou la men pou plizyè twous PWM/Servo yo rele Adafruit CircuitPython ServoKit (https://adafru.it/Dpu) ki okipe tout konfigirasyon konplike pou ou. Tout sa ou bezwen fè se enpòte klas ki apwopriye a nan bibliyotèk la, ak Lè sa a, tout karakteristik yo nan klas sa a disponib pou itilize.
- Nou pral montre w kouman pou w enpòte klas ServoKit la epi sèvi ak li pou kontwole motè servo ak 16 chanèl Adafruit.
- Si ou pa abitye ak servos asire w ke ou premye li sa a entwodiksyon nan paj servos (https://adafru.it/scW) ak sa a paj gid servo an pwofondè (https://adafru.it/scS).
- Premye konekte servo a nan chanèl 0 sou PCA9685 la. Isit la se yon ansyenampyon sèrvo ki konekte ak kanal 0:
- Asire w ke ou te vire sou oswa ploge nan ekipman pou pouvwa ekstèn 5V nan tablo PCA9685 la tou!
- Premyèman, w ap bezwen enpòte ak inisyalize klas ServoKit la. Ou dwe presize kantite chanèl ki disponib sou tablo w la. Levasyon an gen 16 chanèl, kidonk lè ou kreye objè klas la, ou pral presize 16 .
- Koulye a, ou pare pou kontwole tou de servos wotasyon estanda ak kontinyèl.
Servo estanda
- Pou kontwole yon servo estanda, ou bezwen presize kanal la servo a konekte. Lè sa a, ou ka kontwole mouvman pa mete ang lan nan yon kantite degre.
- Pa default, klas Servo a pral sèvi ak ranje aksyon, minimòm lajè batman kè, ak valè maksimòm lajè batman ki ta dwe travay pou pifò servos. Sepandan, tcheke dokiman klas Servo a (https://adafru.it/BNE) pou plis detay sou paramèt siplemantè pou personnaliser siyal ki te pwodwi pou servo ou yo.
- Avèk Servo, ou presize yon pozisyon kòm yon ang. Ang lan ap toujou ant 0 ak seri aksyon yo bay lè Servo te kreye. Defo a se 180 degre men servo ou a ta ka gen yon bale ki pi piti-chanje ang total la lè w espesifye paramèt actuation_angle nan inisyalize klas Servo ki pi wo a.
- Koulye a, mete ang lan a 180, yon ekstrèm nan seri a:
- Pou retounen servo a nan 0 degre:
- Avèk yon servo estanda, ou presize pozisyon an kòm yon ang. Ang lan ap toujou ant 0 ak seri aksyon an. Defo a se 180 degre men servo ou a ka gen yon bale ki pi piti. Ou ka chanje ang total la lè w mete actuation_range .
- Pou egzanpample, yo mete seri a aksyon an 160 degre:
- Souvan seri a yon sèrvo endividyèl rekonèt varye yon ti jan de lòt servos. Si servo a pa t bale tout ranje espere a, Lè sa a, eseye ajiste lajè a batman minimòm ak maksimòm lè l sèvi avèk set_pulse_width_range(min_pulse, max_pulse).
- Pou mete ranje lajè batman kè a nan yon minimòm de 1000 ak yon maksimòm de 2000:
- Se tout sa ki genyen pou kontwole servos estanda ak levasyon PCA9685, Python ak ServoKit !
Servo wotasyon kontinyèl
- Pou kontwole yon servo wotasyon kontinyèl, ou dwe presize kanal la servo a se sou.
- Lè sa a, ou ka kontwole mouvman lè l sèvi avèk gaz la.
- Pou egzanpample, yo kòmanse sèrvo a wotasyon kontinyèl ki konekte nan kanal 1 a plen gaz anvwa:
- Pou kòmanse sèrvo wotasyon kontinyèl ki konekte nan kanal 1 ak tout gaz ranvèse:
- Pou mete mwatye gaz, sèvi ak yon desimal:
- Epi, pou sispann mouvman kontinyèl servo wotasyon mete gaz la sou 0:
- Se tout sa ki genyen pou kontwole servos wotasyon kontinyèl ak PCA9685 16-chanèl levasyon, Python ak ServoKit!
Egzanp konplèample Kòd
Python Docs
Python Docs: ServoKit
Telechajman
Files
- Fèy done PCA9685 (https://adafru.it/okB)
- Bibliyotèk chofè Arduino (https://adafru.it/aQl)
- EagleCAD PCB files sou GitHub (https://adafru.it/rME)
- Modèl 3D sou GitHub (https://adafru.it/19Bk)
- Fritzing objè nan bibliyotèk Adafruit Fritzing (https://adafru.it/aP3)
Schematic & Fabrication Enprime
Twou yo se 2.5mm an dyamèt
FAQ
- Èske tablo sa a ka itilize pou dirije oswa jis servos?
- Li ka itilize pou dirije kòm byen ke nenpòt lòt aparèy PWM-kapab!
- Mwen gen pwoblèm etranj lè konbine plak pwotèj sa a ak Adafruit LED Matrix / 7Seg sakado.
- Chip PCA9865 la gen yon adrès "Tout apèl" 0x70. Sa a se anplis adrès la configuré. Mete sakado yo pou adrese 0x71 oswa nenpòt lòt bagay pase default 0x70 pou fè pwoblèm nan ale.
- Avèk LED, ki jan mwen pa ka fè LED yo fèmen nèt?
- Si ou vle vire LED yo totalman koupe itilize (nan Arduino) mete PWM (pin, 0, 4096); pa mete (PIN, 0, 4095);
Dokiman / Resous
![]() |
CNCU PCA9685 Servo Driver i2C Entèfas [pdfEnstriksyon yo PCA9685 Servo Driver i2C Entèfas, PCA9685, Servo Driver i2C Entèfas, Chofè i2C Entèfas, i2C Entèfas, Entèfas |