News

en video Comment utiliser le servodriver PCA9685 16 canaux 12 bits | Robotique de hachage



Le concept de cette vidéo est de montrer comment utiliser le servodriver PCA9685 16 canaux 12 bits.
J'ai démonté toutes les connexions du robot humanoïde hash et j'ai remplacé le servodriver.

Le pilote PWM/servo 16 canaux 12 bits d'Adafruit pilotera jusqu'à 16 servos sur I2C avec seulement 2 broches. Le contrôleur PWM embarqué pilotera les 16 canaux simultanément sans surcharge de traitement Arduino supplémentaire. De plus, vous pouvez en chaîner jusqu'à 62 pour contrôler jusqu'à 992 servos - tous avec les mêmes 2 broches.

Le pilote de servomoteur PWM 16 canaux 12 bits PCA9685 est utilisé pour contrôler jusqu'à 16 servomoteurs en utilisant la communication I2C avec des microcontrôleurs comme Arduino et Raspberry Pi. Normalement, ces microcontrôleurs ont un nombre limité de broches PWM pour contrôler les servomoteurs.



Avec le module de pilote de servomoteur PCA9685, plus de moteurs peuvent être utilisés avec seulement deux broches du microcontrôleur et les moteurs sont branchés directement sur la carte, donc aucun composant supplémentaire n'est requis. Ceci est très utile dans les projets impliquant l'utilisation de nombreux servomoteurs comme dans les hexapodes, les drones quadricoptères, les bras robotiques, les robots araignées et les véhicules RC.




Dans ce didacticiel, je vais montrer comment utiliser le module de pilote de servomoteur PWM 16 canaux 12 bits PCA9685 avec Arduino.

Présentation du matériel PCA9685 16 canaux 12 bits.

La carte de commande de servomoteur à 16 canaux PCA9685 a des broches de commande de chaque côté où vous pouvez utiliser un ensemble d'entrées de commande pour connecter la carte à une carte Arduino et les broches à l'extrémité opposée sont utilisées pour enchaîner un pilote à un autre.

Le brochage du pilote de servomoteur à 16 canaux PCA9685 est le suivant ;



GND - c'est la broche de terre

VCC - est la broche d'alimentation logique et doit être de 3V à 5V

V+ - il s'agit d'une alimentation externe pour les servomoteurs qui doit être de 5 à 6V. Cependant, il est toujours préférable d'utiliser le bornier d'alimentation en haut de la carte pour alimenter les servomoteurs.

SCL - Broche d'horloge I2C

SDA - Broche de données I2C

OE - Il s'agit de la broche d'activation de sortie qui est tirée BAS par défaut, rendant ainsi toutes les broches activées. Si cette broche est HIGH, toutes les broches de sortie seront désactivées.

Ports de sortie : Il y a 16 ports de sortie chacun avec des broches V+, GND et PWM où les servomoteurs sont connectés à la carte PCA9685. Ces sorties sont de 12 bits, soit une résolution de 4096 pas programmables.

Devriez-vous inclure le condensateur embarqué ?

La carte de module PCA9685 est livrée avec un emplacement de condensateur traversant où un condensateur électrolytique peut être soudé en fonction de la façon dont vous avez l'intention d'utiliser ce module.



Si votre projet implique de nombreux servomoteurs et que l'alimentation n'est pas très stable ou génère du bruit, il est nécessaire d'inclure un condensateur sur la carte du module. La valeur du condensateur est normalement estimée à n*100µF où n est le nombre de servos. Par exemple, dans mon cas, j'ai utilisé un condensateur de 1000µF.


Connexion du module de servomoteur 16 canaux PCA9685 à Arduino.


La connexion se fait comme illustré ci-dessous. Les broches SCL et SDA de la carte pilote sont attachées aux broches analogiques A5 et A0 car ce sont les broches I2C pour Arduino UNO. Assurez-vous d'utiliser les bonnes broches si vous utilisez une autre carte Arduino.

L'alimentation 5 V pour faire fonctionner les moteurs est fournie à l'aide des deux broches du bornier. La carte Arduino doit être alimentée par une source d'alimentation différente, mais sa broche 5V est connectée au VCC du pilote du moteur.

Les broches de sortie PWM du module pilote de servomoteur à 12 canaux PCA9685 sont capables d'absorber un maximum de 25 mA ou de fournir un maximum de 10 mA. N'essayez pas de piloter des moteurs à courant élevé, des ampoules ou d'autres appareils directement à partir de ces broches car vous risqueriez d'endommager le module.

Code pour contrôler les servomoteurs à l'aide du module de servodriver PCA9685 à 16 canaux avec Arduino.

Avant d'écrire du code pour utiliser ce module de pilote, vous devez télécharger et inclure la bibliothèque Adafruit-PWM-Servo-Driver dans votre IDE Arduino.
L'exemple de code ci-dessous permet d'effectuer un mouvement de balayage des servomoteurs de 0 à 180° et de recul de 180° à 0°. Ce balayage est effectué pour tous les servomoteurs attachés au module pilote PCA9685 l'un après l'autre.



 



Le concept de cette vidéo est de montrer comment utiliser le servodriver PCA9685 16 canaux 12 bits.
J'ai démonté toutes les connexions du robot humanoïde hash et j'ai remplacé le servodriver.

Le pilote PWM/servo 16 canaux 12 bits d'Adafruit pilotera jusqu'à 16 servos sur I2C avec seulement 2 broches. Le contrôleur PWM embarqué pilotera les 16 canaux simultanément sans surcharge de traitement Arduino supplémentaire. De plus, vous pouvez en chaîner jusqu'à 62 pour contrôler jusqu'à 992 servos - tous avec les mêmes 2 broches.

Le pilote de servomoteur PWM 16 canaux 12 bits PCA9685 est utilisé pour contrôler jusqu'à 16 servomoteurs en utilisant la communication I2C avec des microcontrôleurs comme Arduino et Raspberry Pi. Normalement, ces microcontrôleurs ont un nombre limité de broches PWM pour contrôler les servomoteurs.



Avec le module de pilote de servomoteur PCA9685, plus de moteurs peuvent être utilisés avec seulement deux broches du microcontrôleur et les moteurs sont branchés directement sur la carte, donc aucun composant supplémentaire n'est requis. Ceci est très utile dans les projets impliquant l'utilisation de nombreux servomoteurs comme dans les hexapodes, les drones quadricoptères, les bras robotiques, les robots araignées et les véhicules RC.




Dans ce didacticiel, je vais montrer comment utiliser le module de pilote de servomoteur PWM 16 canaux 12 bits PCA9685 avec Arduino.

Présentation du matériel PCA9685 16 canaux 12 bits.

La carte de commande de servomoteur à 16 canaux PCA9685 a des broches de commande de chaque côté où vous pouvez utiliser un ensemble d'entrées de commande pour connecter la carte à une carte Arduino et les broches à l'extrémité opposée sont utilisées pour enchaîner un pilote à un autre.

Le brochage du pilote de servomoteur à 16 canaux PCA9685 est le suivant ;



GND - c'est la broche de terre

VCC - est la broche d'alimentation logique et doit être de 3V à 5V

V+ - il s'agit d'une alimentation externe pour les servomoteurs qui doit être de 5 à 6V. Cependant, il est toujours préférable d'utiliser le bornier d'alimentation en haut de la carte pour alimenter les servomoteurs.

SCL - Broche d'horloge I2C

SDA - Broche de données I2C

OE - Il s'agit de la broche d'activation de sortie qui est tirée BAS par défaut, rendant ainsi toutes les broches activées. Si cette broche est HIGH, toutes les broches de sortie seront désactivées.

Ports de sortie : Il y a 16 ports de sortie chacun avec des broches V+, GND et PWM où les servomoteurs sont connectés à la carte PCA9685. Ces sorties sont de 12 bits, soit une résolution de 4096 pas programmables.

Devriez-vous inclure le condensateur embarqué ?

La carte de module PCA9685 est livrée avec un emplacement de condensateur traversant où un condensateur électrolytique peut être soudé en fonction de la façon dont vous avez l'intention d'utiliser ce module.



Si votre projet implique de nombreux servomoteurs et que l'alimentation n'est pas très stable ou génère du bruit, il est nécessaire d'inclure un condensateur sur la carte du module. La valeur du condensateur est normalement estimée à n*100µF où n est le nombre de servos. Par exemple, dans mon cas, j'ai utilisé un condensateur de 1000µF.


Connexion du module de servomoteur 16 canaux PCA9685 à Arduino.


La connexion se fait comme illustré ci-dessous. Les broches SCL et SDA de la carte pilote sont attachées aux broches analogiques A5 et A0 car ce sont les broches I2C pour Arduino UNO. Assurez-vous d'utiliser les bonnes broches si vous utilisez une autre carte Arduino.

L'alimentation 5 V pour faire fonctionner les moteurs est fournie à l'aide des deux broches du bornier. La carte Arduino doit être alimentée par une source d'alimentation différente, mais sa broche 5V est connectée au VCC du pilote du moteur.

Les broches de sortie PWM du module pilote de servomoteur à 12 canaux PCA9685 sont capables d'absorber un maximum de 25 mA ou de fournir un maximum de 10 mA. N'essayez pas de piloter des moteurs à courant élevé, des ampoules ou d'autres appareils directement à partir de ces broches car vous risqueriez d'endommager le module.

Code pour contrôler les servomoteurs à l'aide du module de servodriver PCA9685 à 16 canaux avec Arduino.

Avant d'écrire du code pour utiliser ce module de pilote, vous devez télécharger et inclure la bibliothèque Adafruit-PWM-Servo-Driver dans votre IDE Arduino.
L'exemple de code ci-dessous permet d'effectuer un mouvement de balayage des servomoteurs de 0 à 180° et de recul de 180° à 0°. Ce balayage est effectué pour tous les servomoteurs attachés au module pilote PCA9685 l'un après l'autre.



 



Le concept de cette vidéo est de montrer comment utiliser le servodriver PCA9685 16 canaux 12 bits.
J'ai démonté toutes les connexions du robot humanoïde hash et j'ai remplacé le servodriver.

Le pilote PWM/servo 16 canaux 12 bits d'Adafruit pilotera jusqu'à 16 servos sur I2C avec seulement 2 broches. Le contrôleur PWM embarqué pilotera les 16 canaux simultanément sans surcharge de traitement Arduino supplémentaire. De plus, vous pouvez en chaîner jusqu'à 62 pour contrôler jusqu'à 992 servos - tous avec les mêmes 2 broches.

Le pilote de servomoteur PWM 16 canaux 12 bits PCA9685 est utilisé pour contrôler jusqu'à 16 servomoteurs en utilisant la communication I2C avec des microcontrôleurs comme Arduino et Raspberry Pi. Normalement, ces microcontrôleurs ont un nombre limité de broches PWM pour contrôler les servomoteurs.



Avec le module de pilote de servomoteur PCA9685, plus de moteurs peuvent être utilisés avec seulement deux broches du microcontrôleur et les moteurs sont branchés directement sur la carte, donc aucun composant supplémentaire n'est requis. Ceci est très utile dans les projets impliquant l'utilisation de nombreux servomoteurs comme dans les hexapodes, les drones quadricoptères, les bras robotiques, les robots araignées et les véhicules RC.




Dans ce didacticiel, je vais montrer comment utiliser le module de pilote de servomoteur PWM 16 canaux 12 bits PCA9685 avec Arduino.

Présentation du matériel PCA9685 16 canaux 12 bits.

La carte de commande de servomoteur à 16 canaux PCA9685 a des broches de commande de chaque côté où vous pouvez utiliser un ensemble d'entrées de commande pour connecter la carte à une carte Arduino et les broches à l'extrémité opposée sont utilisées pour enchaîner un pilote à un autre.

Le brochage du pilote de servomoteur à 16 canaux PCA9685 est le suivant ;



GND - c'est la broche de terre

VCC - est la broche d'alimentation logique et doit être de 3V à 5V

V+ - il s'agit d'une alimentation externe pour les servomoteurs qui doit être de 5 à 6V. Cependant, il est toujours préférable d'utiliser le bornier d'alimentation en haut de la carte pour alimenter les servomoteurs.

SCL - Broche d'horloge I2C

SDA - Broche de données I2C

OE - Il s'agit de la broche d'activation de sortie qui est tirée BAS par défaut, rendant ainsi toutes les broches activées. Si cette broche est HIGH, toutes les broches de sortie seront désactivées.

Ports de sortie : Il y a 16 ports de sortie chacun avec des broches V+, GND et PWM où les servomoteurs sont connectés à la carte PCA9685. Ces sorties sont de 12 bits, soit une résolution de 4096 pas programmables.

Devriez-vous inclure le condensateur embarqué ?

La carte de module PCA9685 est livrée avec un emplacement de condensateur traversant où un condensateur électrolytique peut être soudé en fonction de la façon dont vous avez l'intention d'utiliser ce module.



Si votre projet implique de nombreux servomoteurs et que l'alimentation n'est pas très stable ou génère du bruit, il est nécessaire d'inclure un condensateur sur la carte du module. La valeur du condensateur est normalement estimée à n*100µF où n est le nombre de servos. Par exemple, dans mon cas, j'ai utilisé un condensateur de 1000µF.


Connexion du module de servomoteur 16 canaux PCA9685 à Arduino.


La connexion se fait comme illustré ci-dessous. Les broches SCL et SDA de la carte pilote sont attachées aux broches analogiques A5 et A0 car ce sont les broches I2C pour Arduino UNO. Assurez-vous d'utiliser les bonnes broches si vous utilisez une autre carte Arduino.

L'alimentation 5 V pour faire fonctionner les moteurs est fournie à l'aide des deux broches du bornier. La carte Arduino doit être alimentée par une source d'alimentation différente, mais sa broche 5V est connectée au VCC du pilote du moteur.

Les broches de sortie PWM du module pilote de servomoteur à 12 canaux PCA9685 sont capables d'absorber un maximum de 25 mA ou de fournir un maximum de 10 mA. N'essayez pas de piloter des moteurs à courant élevé, des ampoules ou d'autres appareils directement à partir de ces broches car vous risqueriez d'endommager le module.

Code pour contrôler les servomoteurs à l'aide du module de servodriver PCA9685 à 16 canaux avec Arduino.

Avant d'écrire du code pour utiliser ce module de pilote, vous devez télécharger et inclure la bibliothèque Adafruit-PWM-Servo-Driver dans votre IDE Arduino.
L'exemple de code ci-dessous permet d'effectuer un mouvement de balayage des servomoteurs de 0 à 180° et de recul de 180° à 0°. Ce balayage est effectué pour tous les servomoteurs attachés au module pilote PCA9685 l'un après l'autre.



 



Le concept de cette vidéo est de montrer comment utiliser le servodriver PCA9685 16 canaux 12 bits.
J'ai démonté toutes les connexions du robot humanoïde hash et j'ai remplacé le servodriver.

Le pilote PWM/servo 16 canaux 12 bits d'Adafruit pilotera jusqu'à 16 servos sur I2C avec seulement 2 broches. Le contrôleur PWM embarqué pilotera les 16 canaux simultanément sans surcharge de traitement Arduino supplémentaire. De plus, vous pouvez en chaîner jusqu'à 62 pour contrôler jusqu'à 992 servos - tous avec les mêmes 2 broches.

Le pilote de servomoteur PWM 16 canaux 12 bits PCA9685 est utilisé pour contrôler jusqu'à 16 servomoteurs en utilisant la communication I2C avec des microcontrôleurs comme Arduino et Raspberry Pi. Normalement, ces microcontrôleurs ont un nombre limité de broches PWM pour contrôler les servomoteurs.



Avec le module de pilote de servomoteur PCA9685, plus de moteurs peuvent être utilisés avec seulement deux broches du microcontrôleur et les moteurs sont branchés directement sur la carte, donc aucun composant supplémentaire n'est requis. Ceci est très utile dans les projets impliquant l'utilisation de nombreux servomoteurs comme dans les hexapodes, les drones quadricoptères, les bras robotiques, les robots araignées et les véhicules RC.




Dans ce didacticiel, je vais montrer comment utiliser le module de pilote de servomoteur PWM 16 canaux 12 bits PCA9685 avec Arduino.

Présentation du matériel PCA9685 16 canaux 12 bits.

La carte de commande de servomoteur à 16 canaux PCA9685 a des broches de commande de chaque côté où vous pouvez utiliser un ensemble d'entrées de commande pour connecter la carte à une carte Arduino et les broches à l'extrémité opposée sont utilisées pour enchaîner un pilote à un autre.

Le brochage du pilote de servomoteur à 16 canaux PCA9685 est le suivant ;



GND - c'est la broche de terre

VCC - est la broche d'alimentation logique et doit être de 3V à 5V

V+ - il s'agit d'une alimentation externe pour les servomoteurs qui doit être de 5 à 6V. Cependant, il est toujours préférable d'utiliser le bornier d'alimentation en haut de la carte pour alimenter les servomoteurs.

SCL - Broche d'horloge I2C

SDA - Broche de données I2C

OE - Il s'agit de la broche d'activation de sortie qui est tirée BAS par défaut, rendant ainsi toutes les broches activées. Si cette broche est HIGH, toutes les broches de sortie seront désactivées.

Ports de sortie : Il y a 16 ports de sortie chacun avec des broches V+, GND et PWM où les servomoteurs sont connectés à la carte PCA9685. Ces sorties sont de 12 bits, soit une résolution de 4096 pas programmables.

Devriez-vous inclure le condensateur embarqué ?

La carte de module PCA9685 est livrée avec un emplacement de condensateur traversant où un condensateur électrolytique peut être soudé en fonction de la façon dont vous avez l'intention d'utiliser ce module.



Si votre projet implique de nombreux servomoteurs et que l'alimentation n'est pas très stable ou génère du bruit, il est nécessaire d'inclure un condensateur sur la carte du module. La valeur du condensateur est normalement estimée à n*100µF où n est le nombre de servos. Par exemple, dans mon cas, j'ai utilisé un condensateur de 1000µF.


Connexion du module de servomoteur 16 canaux PCA9685 à Arduino.


La connexion se fait comme illustré ci-dessous. Les broches SCL et SDA de la carte pilote sont attachées aux broches analogiques A5 et A0 car ce sont les broches I2C pour Arduino UNO. Assurez-vous d'utiliser les bonnes broches si vous utilisez une autre carte Arduino.

L'alimentation 5 V pour faire fonctionner les moteurs est fournie à l'aide des deux broches du bornier. La carte Arduino doit être alimentée par une source d'alimentation différente, mais sa broche 5V est connectée au VCC du pilote du moteur.

Les broches de sortie PWM du module pilote de servomoteur à 12 canaux PCA9685 sont capables d'absorber un maximum de 25 mA ou de fournir un maximum de 10 mA. N'essayez pas de piloter des moteurs à courant élevé, des ampoules ou d'autres appareils directement à partir de ces broches car vous risqueriez d'endommager le module.

Code pour contrôler les servomoteurs à l'aide du module de servodriver PCA9685 à 16 canaux avec Arduino.

Avant d'écrire du code pour utiliser ce module de pilote, vous devez télécharger et inclure la bibliothèque Adafruit-PWM-Servo-Driver dans votre IDE Arduino.
L'exemple de code ci-dessous permet d'effectuer un mouvement de balayage des servomoteurs de 0 à 180° et de recul de 180° à 0°. Ce balayage est effectué pour tous les servomoteurs attachés au module pilote PCA9685 l'un après l'autre.



 



Le concept de cette vidéo est de montrer comment utiliser le servodriver PCA9685 16 canaux 12 bits.
J'ai démonté toutes les connexions du robot humanoïde hash et j'ai remplacé le servodriver.

Le pilote PWM/servo 16 canaux 12 bits d'Adafruit pilotera jusqu'à 16 servos sur I2C avec seulement 2 broches. Le contrôleur PWM embarqué pilotera les 16 canaux simultanément sans surcharge de traitement Arduino supplémentaire. De plus, vous pouvez en chaîner jusqu'à 62 pour contrôler jusqu'à 992 servos - tous avec les mêmes 2 broches.

Le pilote de servomoteur PWM 16 canaux 12 bits PCA9685 est utilisé pour contrôler jusqu'à 16 servomoteurs en utilisant la communication I2C avec des microcontrôleurs comme Arduino et Raspberry Pi. Normalement, ces microcontrôleurs ont un nombre limité de broches PWM pour contrôler les servomoteurs.



Avec le module de pilote de servomoteur PCA9685, plus de moteurs peuvent être utilisés avec seulement deux broches du microcontrôleur et les moteurs sont branchés directement sur la carte, donc aucun composant supplémentaire n'est requis. Ceci est très utile dans les projets impliquant l'utilisation de nombreux servomoteurs comme dans les hexapodes, les drones quadricoptères, les bras robotiques, les robots araignées et les véhicules RC.




Dans ce didacticiel, je vais montrer comment utiliser le module de pilote de servomoteur PWM 16 canaux 12 bits PCA9685 avec Arduino.

Présentation du matériel PCA9685 16 canaux 12 bits.

La carte de commande de servomoteur à 16 canaux PCA9685 a des broches de commande de chaque côté où vous pouvez utiliser un ensemble d'entrées de commande pour connecter la carte à une carte Arduino et les broches à l'extrémité opposée sont utilisées pour enchaîner un pilote à un autre.

Le brochage du pilote de servomoteur à 16 canaux PCA9685 est le suivant ;



GND - c'est la broche de terre

VCC - est la broche d'alimentation logique et doit être de 3V à 5V

V+ - il s'agit d'une alimentation externe pour les servomoteurs qui doit être de 5 à 6V. Cependant, il est toujours préférable d'utiliser le bornier d'alimentation en haut de la carte pour alimenter les servomoteurs.

SCL - Broche d'horloge I2C

SDA - Broche de données I2C

OE - Il s'agit de la broche d'activation de sortie qui est tirée BAS par défaut, rendant ainsi toutes les broches activées. Si cette broche est HIGH, toutes les broches de sortie seront désactivées.

Ports de sortie : Il y a 16 ports de sortie chacun avec des broches V+, GND et PWM où les servomoteurs sont connectés à la carte PCA9685. Ces sorties sont de 12 bits, soit une résolution de 4096 pas programmables.

Devriez-vous inclure le condensateur embarqué ?

La carte de module PCA9685 est livrée avec un emplacement de condensateur traversant où un condensateur électrolytique peut être soudé en fonction de la façon dont vous avez l'intention d'utiliser ce module.



Si votre projet implique de nombreux servomoteurs et que l'alimentation n'est pas très stable ou génère du bruit, il est nécessaire d'inclure un condensateur sur la carte du module. La valeur du condensateur est normalement estimée à n*100µF où n est le nombre de servos. Par exemple, dans mon cas, j'ai utilisé un condensateur de 1000µF.


Connexion du module de servomoteur 16 canaux PCA9685 à Arduino.


La connexion se fait comme illustré ci-dessous. Les broches SCL et SDA de la carte pilote sont attachées aux broches analogiques A5 et A0 car ce sont les broches I2C pour Arduino UNO. Assurez-vous d'utiliser les bonnes broches si vous utilisez une autre carte Arduino.

L'alimentation 5 V pour faire fonctionner les moteurs est fournie à l'aide des deux broches du bornier. La carte Arduino doit être alimentée par une source d'alimentation différente, mais sa broche 5V est connectée au VCC du pilote du moteur.

Les broches de sortie PWM du module pilote de servomoteur à 12 canaux PCA9685 sont capables d'absorber un maximum de 25 mA ou de fournir un maximum de 10 mA. N'essayez pas de piloter des moteurs à courant élevé, des ampoules ou d'autres appareils directement à partir de ces broches car vous risqueriez d'endommager le module.

Code pour contrôler les servomoteurs à l'aide du module de servodriver PCA9685 à 16 canaux avec Arduino.

Avant d'écrire du code pour utiliser ce module de pilote, vous devez télécharger et inclure la bibliothèque Adafruit-PWM-Servo-Driver dans votre IDE Arduino.
L'exemple de code ci-dessous permet d'effectuer un mouvement de balayage des servomoteurs de 0 à 180° et de recul de 180° à 0°. Ce balayage est effectué pour tous les servomoteurs attachés au module pilote PCA9685 l'un après l'autre.



 



Le concept de cette vidéo est de montrer comment utiliser le servodriver PCA9685 16 canaux 12 bits.
J'ai démonté toutes les connexions du robot humanoïde hash et j'ai remplacé le servodriver.

Le pilote PWM/servo 16 canaux 12 bits d'Adafruit pilotera jusqu'à 16 servos sur I2C avec seulement 2 broches. Le contrôleur PWM embarqué pilotera les 16 canaux simultanément sans surcharge de traitement Arduino supplémentaire. De plus, vous pouvez en chaîner jusqu'à 62 pour contrôler jusqu'à 992 servos - tous avec les mêmes 2 broches.

Le pilote de servomoteur PWM 16 canaux 12 bits PCA9685 est utilisé pour contrôler jusqu'à 16 servomoteurs en utilisant la communication I2C avec des microcontrôleurs comme Arduino et Raspberry Pi. Normalement, ces microcontrôleurs ont un nombre limité de broches PWM pour contrôler les servomoteurs.



Avec le module de pilote de servomoteur PCA9685, plus de moteurs peuvent être utilisés avec seulement deux broches du microcontrôleur et les moteurs sont branchés directement sur la carte, donc aucun composant supplémentaire n'est requis. Ceci est très utile dans les projets impliquant l'utilisation de nombreux servomoteurs comme dans les hexapodes, les drones quadricoptères, les bras robotiques, les robots araignées et les véhicules RC.




Dans ce didacticiel, je vais montrer comment utiliser le module de pilote de servomoteur PWM 16 canaux 12 bits PCA9685 avec Arduino.

Présentation du matériel PCA9685 16 canaux 12 bits.

La carte de commande de servomoteur à 16 canaux PCA9685 a des broches de commande de chaque côté où vous pouvez utiliser un ensemble d'entrées de commande pour connecter la carte à une carte Arduino et les broches à l'extrémité opposée sont utilisées pour enchaîner un pilote à un autre.

Le brochage du pilote de servomoteur à 16 canaux PCA9685 est le suivant ;



GND - c'est la broche de terre

VCC - est la broche d'alimentation logique et doit être de 3V à 5V

V+ - il s'agit d'une alimentation externe pour les servomoteurs qui doit être de 5 à 6V. Cependant, il est toujours préférable d'utiliser le bornier d'alimentation en haut de la carte pour alimenter les servomoteurs.

SCL - Broche d'horloge I2C

SDA - Broche de données I2C

OE - Il s'agit de la broche d'activation de sortie qui est tirée BAS par défaut, rendant ainsi toutes les broches activées. Si cette broche est HIGH, toutes les broches de sortie seront désactivées.

Ports de sortie : Il y a 16 ports de sortie chacun avec des broches V+, GND et PWM où les servomoteurs sont connectés à la carte PCA9685. Ces sorties sont de 12 bits, soit une résolution de 4096 pas programmables.

Devriez-vous inclure le condensateur embarqué ?

La carte de module PCA9685 est livrée avec un emplacement de condensateur traversant où un condensateur électrolytique peut être soudé en fonction de la façon dont vous avez l'intention d'utiliser ce module.



Si votre projet implique de nombreux servomoteurs et que l'alimentation n'est pas très stable ou génère du bruit, il est nécessaire d'inclure un condensateur sur la carte du module. La valeur du condensateur est normalement estimée à n*100µF où n est le nombre de servos. Par exemple, dans mon cas, j'ai utilisé un condensateur de 1000µF.


Connexion du module de servomoteur 16 canaux PCA9685 à Arduino.


La connexion se fait comme illustré ci-dessous. Les broches SCL et SDA de la carte pilote sont attachées aux broches analogiques A5 et A0 car ce sont les broches I2C pour Arduino UNO. Assurez-vous d'utiliser les bonnes broches si vous utilisez une autre carte Arduino.

L'alimentation 5 V pour faire fonctionner les moteurs est fournie à l'aide des deux broches du bornier. La carte Arduino doit être alimentée par une source d'alimentation différente, mais sa broche 5V est connectée au VCC du pilote du moteur.

Les broches de sortie PWM du module pilote de servomoteur à 12 canaux PCA9685 sont capables d'absorber un maximum de 25 mA ou de fournir un maximum de 10 mA. N'essayez pas de piloter des moteurs à courant élevé, des ampoules ou d'autres appareils directement à partir de ces broches car vous risqueriez d'endommager le module.

Code pour contrôler les servomoteurs à l'aide du module de servodriver PCA9685 à 16 canaux avec Arduino.

Avant d'écrire du code pour utiliser ce module de pilote, vous devez télécharger et inclure la bibliothèque Adafruit-PWM-Servo-Driver dans votre IDE Arduino.
L'exemple de code ci-dessous permet d'effectuer un mouvement de balayage des servomoteurs de 0 à 180° et de recul de 180° à 0°. Ce balayage est effectué pour tous les servomoteurs attachés au module pilote PCA9685 l'un après l'autre.



 

No comments