Robot Principal 26
Documentation du Club Robot INSA Rennes 2026
Chargement...
Recherche...
Aucune correspondance
Référence de la classe DRV8876

Implémentation du driver pour le circuit intégré DRV8876. Plus de détails...

#include <DRV8876.h>

Graphe d'héritage de DRV8876:
Graphe de collaboration de DRV8876:

Fonctions membres publiques

 DRV8876 (int enPin, int phPin, int sleepPin=-1, int faultPin=-1)
 Construit le driver DRV8876.
 
void init ()
 Initialise les broches matérielles. Configure les entrées/sorties et réveille le driver si sleepPin est défini.
 
int attach (AbstractMotor *motor) override
 Attache un moteur au canal disponible (ID 0).
 
int attach (AbstractMotor *motor, uint8_t id) override
 Attache un moteur à un identifiant spécifique.
 
void setVelocity (float velocity, uint8_t id) override
 Définit la vitesse de sortie pour le moteur spécifié.
 
float getVelocity (uint8_t id) const override
 Récupère la dernière vitesse appliquée.
 
bool isFaulty () const
 Vérifie l'état de santé du driver.
 
void setSleep (bool active)
 Contrôle le mode basse consommation.
 
 DRV8876 (int enPin, int phPin, int sleepPin=-1, int faultPin=-1)
 Construit le driver DRV8876.
 
void init ()
 Initialise les broches matérielles. Configure les entrées/sorties et réveille le driver si sleepPin est défini.
 
int attach (AbstractMotor *motor) override
 Attache un moteur au canal disponible (ID 0).
 
int attach (AbstractMotor *motor, uint8_t id) override
 Attache un moteur à un identifiant spécifique.
 
void setVelocity (float velocity, uint8_t id) override
 Définit la vitesse de sortie pour le moteur spécifié.
 
float getVelocity (uint8_t id) const override
 Récupère la dernière vitesse appliquée.
 
bool isFaulty () const
 Vérifie l'état de santé du driver.
 
void setSleep (bool active)
 Contrôle le mode basse consommation.
 
- Fonctions membres publiques hérités de AbstractDriver
virtual void detach (const int id)
 Détache le moteur à cet identifiant.
 
AbstractMotorgetMotor (const int id) const
 Retourne un pointeur vers le moteur à l'identifiant donné.
 
virtual void detach (const int id)
 Détache le moteur à cet identifiant.
 
AbstractMotorgetMotor (const int id) const
 Retourne un pointeur vers le moteur à l'identifiant donné.
 

Membres hérités additionnels

- Attributs protégés hérités de AbstractDriver
AbstractMotorm_motors [MAX_MOTOR_IN_DRIVER] = {}
 

Description détaillée

Implémentation du driver pour le circuit intégré DRV8876.

  • Le DRV8876 est un pont en H simple canal (H-Bridge). Cette classe gère l'interface matérielle directe : PWM pour la vitesse, DIR pour le sens, nSLEEP pour l'économie d'énergie et nFAULT pour le diagnostic.

Documentation des constructeurs et destructeur

◆ DRV8876() [1/2]

DRV8876::DRV8876 ( int enPin,
int phPin,
int sleepPin = -1,
int faultPin = -1 )

Construit le driver DRV8876.

Paramètres
enPinBroche supportant le PWM (Contrôle de vitesse).
phPinBroche numérique (Contrôle de direction).
sleepPinBroche nSLEEP (HIGH: actif, LOW: sommeil). Par défaut -1 (non utilisé).
faultPinBroche nFAULT (LOW: erreur détectée). Par défaut -1 (non utilisé).

◆ DRV8876() [2/2]

DRV8876::DRV8876 ( int enPin,
int phPin,
int sleepPin = -1,
int faultPin = -1 )

Construit le driver DRV8876.

Paramètres
enPinBroche supportant le PWM (Contrôle de vitesse).
phPinBroche numérique (Contrôle de direction).
sleepPinBroche nSLEEP (HIGH: actif, LOW: sommeil). Par défaut -1 (non utilisé).
faultPinBroche nFAULT (LOW: erreur détectée). Par défaut -1 (non utilisé).

Documentation des fonctions membres

◆ attach() [1/4]

int DRV8876::attach ( AbstractMotor * motor)
overridevirtual

Attache un moteur au canal disponible (ID 0).

Paramètres
motorPointeur vers l'objet AbstractMotor.
Renvoie
ID affecté (0) ou -1 en cas d'erreur.

Implémente AbstractDriver.

Voici le graphe d'appel pour cette fonction :
Voici le graphe des appelants de cette fonction :

◆ attach() [2/4]

int DRV8876::attach ( AbstractMotor * motor)
overridevirtual

Attache un moteur au canal disponible (ID 0).

Paramètres
motorPointeur vers l'objet AbstractMotor.
Renvoie
ID affecté (0) ou -1 en cas d'erreur.

Implémente AbstractDriver.

◆ attach() [3/4]

int DRV8876::attach ( AbstractMotor * motor,
uint8_t id )
overridevirtual

Attache un moteur à un identifiant spécifique.

Paramètres
motorPointeur vers l'objet AbstractMotor.
idIdentifiant du canal (doit être 0 pour le DRV8876).
Renvoie
ID affecté ou -1 si l'identifiant est invalide (> 0).

Implémente AbstractDriver.

◆ attach() [4/4]

int DRV8876::attach ( AbstractMotor * motor,
uint8_t id )
overridevirtual

Attache un moteur à un identifiant spécifique.

Paramètres
motorPointeur vers l'objet AbstractMotor.
idIdentifiant du canal (doit être 0 pour le DRV8876).
Renvoie
ID affecté ou -1 si l'identifiant est invalide (> 0).

Implémente AbstractDriver.

◆ getVelocity() [1/2]

float DRV8876::getVelocity ( uint8_t id) const
overridevirtual

Récupère la dernière vitesse appliquée.

Paramètres
idIdentifiant du moteur (0).
Renvoie
Vitesse entre -1.0 et 1.0.

Implémente AbstractDriver.

◆ getVelocity() [2/2]

float DRV8876::getVelocity ( uint8_t id) const
overridevirtual

Récupère la dernière vitesse appliquée.

Paramètres
idIdentifiant du moteur (0).
Renvoie
Vitesse entre -1.0 et 1.0.

Implémente AbstractDriver.

◆ isFaulty() [1/2]

bool DRV8876::isFaulty ( ) const

Vérifie l'état de santé du driver.

Renvoie
true si la broche nFAULT est à l'état BAS (erreur).

◆ isFaulty() [2/2]

bool DRV8876::isFaulty ( ) const

Vérifie l'état de santé du driver.

Renvoie
true si la broche nFAULT est à l'état BAS (erreur).

◆ setSleep() [1/2]

void DRV8876::setSleep ( bool active)

Contrôle le mode basse consommation.

Paramètres
activetrue pour mettre le driver en sommeil, false pour le réveiller.
Voici le graphe des appelants de cette fonction :

◆ setSleep() [2/2]

void DRV8876::setSleep ( bool active)

Contrôle le mode basse consommation.

Paramètres
activetrue pour mettre le driver en sommeil, false pour le réveiller.

◆ setVelocity() [1/2]

void DRV8876::setVelocity ( float velocity,
uint8_t id )
overridevirtual

Définit la vitesse de sortie pour le moteur spécifié.

Paramètres
velocityVitesse normalisée entre -1.0 et 1.0. Le signe détermine l'état de la broche DIR.
idIdentifiant du moteur (0).

Implémente AbstractDriver.

◆ setVelocity() [2/2]

void DRV8876::setVelocity ( float velocity,
uint8_t id )
overridevirtual

Définit la vitesse de sortie pour le moteur spécifié.

Paramètres
velocityVitesse normalisée entre -1.0 et 1.0. Le signe détermine l'état de la broche DIR.
idIdentifiant du moteur (0).

Implémente AbstractDriver.


La documentation de cette classe a été générée à partir des fichiers suivants :