Driver Servo și PWM PCA9685 cu 16 Canale, 12 Biți, I2C și Qwiic
Brand: Soldered
Placa comandă până la 16 servomotoare sau ieșiri PWM printr-o singură conexiune I2C, deci nu mai ocupi 16 pini cu temporizatoare pe microcontroler. Cipul NXP PCA9685 generează singur toate cele 16 semnale cu oscilatorul lui de 25 MHz: după ce setezi un canal, impulsul continuă fără nicio intervenție din codul tău.
Fiecare canal are rezoluție de 12 biți, adică 4096 de pași, iar frecvența PWM se programează între aproximativ 24 Hz și 1526 Hz, comună pentru toate ieșirile. La 50 Hz, cât cer servomotoarele, ai poziționare fină. La frecvențe mai mari aceleași ieșiri merg pentru reglarea luminii LED-urilor sau pentru intrările unui driver de motor. Alimentarea servomotoarelor intră printr-o bornă cu șurub separată, protejată la inversarea polarității și cu un condensator de 100 µF pentru vârfurile de curent.
Unde îl folosești
- Brațe robotice și roboți pe picioare cu multe servomotoare
- Animatronică și machete cu mișcări sincronizate
- Reglarea luminozității pentru multe LED-uri sau benzi LED
- Comanda mai multor drivere de motor prin semnal PWM
- Platforme pan-tilt pentru camere și senzori
Specificații tehnice
- Cip: NXP PCA9685
- Canale: 16 ieșiri PWM sau servo
- Rezoluție: 12 biți, adică 4096 de pași
- Frecvență PWM: aproximativ 24 Hz până la 1526 Hz, comună tuturor canalelor
- Oscilator: intern, 25 MHz
- Interfață: I2C, adrese de la 0x40 la 0x7F, din șase jumpere de lipit
- Conectori: doi conectori Qwiic, plus pini cu ieșirea OE și linia de alimentare a servomotoarelor
- Alimentare servomotoare: bornă cu șurub de 5 mm, separată de alimentarea logică
- Protecție: MOSFET cu canal P împotriva inversării polarității, condensator de 100 µF
- Software: biblioteci Arduino și MicroPython, cu funcțiile setServoAngle() și setPWM()
Întrebări frecvente
De ce are alimentare separată pentru servomotoare?
Pentru că servomotoarele trag curent mare la pornire. Prin borna separată, acest curent nu trece prin alimentarea microcontrolerului, deci placa ta nu se resetează când pornesc motoarele.
Câte module pot pune pe aceeași magistrală?
Șase jumpere de lipit setează adresa I2C între 0x40 și 0x7F, deci pui mai multe module pe aceeași magistrală și comanzi zeci de servomotoare cu aceleași două fire.
Pot regla separat frecvența fiecărui canal?
Nu. Frecvența PWM este comună pentru toate cele 16 canale. Pentru fiecare canal setezi însă separat durata impulsului.
Cum comand un servomotor din cod?
Cu funcția setServoAngle() din biblioteca Soldered, căreia îi dai canalul și unghiul în grade. Dacă preferi să lucrezi direct cu pașii PWM, folosești setPWM().
Merge pentru LED-uri?
Da. La frecvențe mai mari decât cele pentru servomotoare, ieșirile reglează luminozitatea LED-urilor sau comandă intrările unui driver de motor.
Documentație și resurse de la producător
Producătorul publică documentația completă, schemele și exemplele de cod. Linkurile de mai jos duc direct la ele.
| Brand | Soldered |
| Tip produs | Module driver |
| SKU | 333191 |
| Cod EAN | 732388638307 |
| Greutate | 10 g |