Baisse de tension du roboRIO et compréhension de la consommation de courant

Afin d’aider à maintenir la tension de la batterie pour la préserver ainsi que d’autres composants du système de contrôle comme la radio dans des situations d’appel élevé de courant, le roboRIO est pourvu d’un système organisé de protection contre la baisse de tension. Cet article décrit ce système, fournit des informations sur la planification proactive de l’appel de courant du système et décrit comment utiliser la nouvelle fonctionnalité du PDP ainsi que le Visionneur de fichiers journaux DS pour comprendre les manifestations de baisses de tensions si elles se produisent sur votre robot.

Protection contre la baisse de tension du roboRIO

Le roboRIO utilise un système organisé de protection contre la baisse de tension pour tenter de préserver la tension d’entrée, pour lui-même et d’autres composants du système de contrôle afin d’éviter la réinitialisation des dispositifs en cas d’appels de courant élevés tirant la tension de la batterie dangereusement vers le bas.

Étape 1 - baisse de sortie de 6v

Déclencheur à tension - 6.8V

Lorsque la tension descend en dessous de 6,8 V, la sortie 6V sur les broches PWM va commencer à baisser.

Étape 2 - Désactiver la sortie

Déclencheur à tension - 6.3V

Lorsque la tension descend en dessous de 6,3 V, le contrôleur entrera dans l’état de protection contre la baisse de tension. Les indicateurs suivants montrent que cette condition s’est produite :

  • Le voyant Power LED du roboRIO deviendra ambré

  • L’arrière-plan de l’affichage de tension sur la Driver Station deviendra rouge

  • Le mode d’affichage sur la Driver Station changera à Voltage Brownout

  • L’onglet CAN/Power du DS incrémente le compteur 12V fault 1.

  • La DS enregistrera un événement de baisse de tension dans le journal DS.

Le contrôleur prendra les mesures suivantes pour tenter de préserver la tension de la batterie :

  • Les sorties PWM seront désactivées. Pour les sorties PWM dont la valeur neutre est configurée (tous les contrôleurs de moteurs de WPILib), une impulsion neutre unique sera envoyée avant que la sortie ne soit désactivée.

  • Les rails d’utilisateur 6V, 5V, 3.3V sont désactivés (Cela inclut les sorties 6V sur les broches PWM, les broches 5V dans la reglette de raccordement DIO, les broches 5V dans le module analogique, les broches 3.3V dans le module SPI et I2C et les broches 5V et 3.3V dans le module MXP)

  • Les ports GPIO configurés en sorties passent à un état haute-impédence (High-Z)

  • Les sorties de relais sont désactivées (mises au niveau bas)

  • Les contrôleurs moteurs de type CAN reçoivent une commande explicite de désactivation

Le contrôleur restera dans cet état jusqu’à ce que la tension monte à plus de 7,5 V ou tombe en dessous du seuil de déclanchement pour l’étape suivante de la chute de tension

Étape 3 - Arrêt de l’appareil

Déclencheur à tension - 4.5V

En dessous de 4.5V l’appareil peut s’éteindre. La tension exacte peut être inférieure à cette valeur et dépend de la charge sur l’appareil.

Le contrôleur restera dans cet état jusqu’à ce que la tension s’élève au-dessus de 4,65 V lorsque l’appareil commencera la séquence de démarrage normale.

Éviter la baisse de tension - Planification proactive de la consommation de courant

La façon pour éviter une situation de baisse de tension est de planifier de manière proactive l’appel de courant de votre robot. La meilleure façon de le faire est de créer une certaine forme de budget de puissance. Il peut s’agir d’un document complexe qui tente de quantifier à la fois le courant consommé estimé et le temps dans un effort de mieux comprendre l’utilisation de la puissance et donc l’état de la batterie à la fin d’un match, ou il peut être un simple inventaire de l’utilisation du courant. Pour ce faire :

  1. Établissez le courant maximum « soutenu » (soutenu étant défini ici comme non momentané). C’est probablement la partie la plus difficile de la création du budget de puissance. La consommation de courant exacte qu’une batterie peut supporter tout en maintenant une tension de plus de 7 volts dépend de divers facteurs tels que la santé de la batterie (voir ceci, un article de mesure de la santé de la batterie) et de l’état de charge. Comme le montre la fiche technique NP18-12, le graphique de tension aux bornes devient très raide à mesure que l’état de charge diminue, en particulier lorsque la consommation de courant augmente. Cette fiche technique montre qu’à une charge continue de 3CA (54A), une batterie neuve peut fonctionner en continu pendant plus de 6 minutes tout en maintenant une tension aux bornes supérieure à 7V. Comme indiqué dans l’image ci-dessus (utilisé avec l’autorisation du document Team 234s Drive System Testing <https://www.chiefdelphi.com/t/paper-new-control-functions-drive-system-testing/139165> __) , même avec une batterie neuve, consommer 240A pendant plus d’une seconde ou deux est susceptible de causer un problème. Cela nous donne quelques limites sur l’établissement de notre consommation de courant soutenu. Pour les besoins de cet exercice, nous fixerons notre limite à 180 A.

  2. Énumérez les différentes fonctions de votre robot telles que la transmission, le manipulateur, le mécanisme de jeu principal, etc.

  3. Commencez à assigner votre courant disponible à ces fonctions. Vous trouverez probablement que vous vous déplacez assez rapidement. Beaucoup d’équipes conçoivent leur transmission pour avoir assez de couple pour faire glisser leurs roues en tirant de 40A à 50A par moteur. Si nous avons 4 moteurs sur la transmission, ce qui consomme l’essentiel de, ou même dépasse, notre budget de puissance! Cela signifie que nous pourrions avoir besoin de mettre en place quelques scénarios et comprendre quelles fonctionnalités peuvent (et doivent être) être utilisées en même temps. Dans de nombreux cas, cela signifiera que vous avez vraiment besoin de limiter l’appel de courant des autres fonctions si/alors que votre robot sollicite au maximum la transmission (comme en essayant de pousser quelque chose). L’évaluation des exigences en terme de consommation de courant, pendant le déplacement, de la base pilotable pour certains de ces scénarios alternatifs est un peu plus complexe, car elle dépend de nombreux facteurs comme le nombre de moteurs, le poids du robot, l’engrenage et l’efficacité. L’évaluation quantitative du courant absorbé pour d’autres fonctions peuvent être faite en calculant la puissance nécessaire pour compléter la fonction et en estimant l’efficacité (si le mécanisme n’a pas été dimensionné) ou en déterminant la charge de couple sur le moteur et en utilisant la courbe de couple-courant pour déterminer l’appel de courant des moteurs.

  4. Si vous avez déterminé des fonctions mutuellement exclusives dans votre analyse, envisagez d’appliquer l’exclusion dans le logiciel. Vous pouvez également utiliser la surveillance du courant du PDP (couvert plus en détail ci-dessous) dans votre programme robot pour obtenir des limites de sortie ou des exclusions dynamiquement (comme ne pas actionner un moteur de mécanisme lorsque le courant de transmission est supérieur à X ou seulement laisser le moteur fonctionner jusqu’à la moitié de sortie maximale lorsque le courant de transmission est au-dessus de Y).

Mesure de la consommation de courant à l’aide du PDP

L’application Driver Station FRC® travaille en conjonction avec le roboRIO et le PDP pour extraire les données enregistrées du PDP et les enregistrer sur votre PC DS. Un visionneur pour ces données est encore en développement.

En attendant, les équipes peuvent utiliser leur code robot et leur journalisation manuelle, un panneau avant LabVIEW ou le SmartDashboard pour visualiser l’appel de courant de leur robot au fur et à mesure que des mécanismes se mettent en branle. Dans LabVIEW, vous pouvez lire le courant sur un canal du PDP à l’aide du VI PDP Channel Current trouvé sur la palette Power. Pour les équipes C++ et Java, utilisez la classe PowerDistributionPanel décrite dans l’article du Panneau de distribution de puissance. Tracer ces informations en fonction du temps (plus facile avec un panneau frontal LV ou avec le SmartDashboard à l’aide d’un indicateur graphique; peut fournir des informations pour comparer et mettre à jour votre budget d’alimentation ou peut identifier des mécanismes qui ne semblent pas fonctionner comme prévu: en raison d’un calcul de charge incorrect, hypothèses d’efficacité incorrectes, ou des problèmes de mécanisme tels que la liaison).

Identification des baisses de tension

La façon la plus simple d’identifier une baisse de tension est de cliquer sur l’onglet CANPower de la Driver Station et de vérifier le nombre de défauts 12V. Alternativement, vous pouvez consulter le journal de la Driver Station après coup à l’aide du visionneur de journal. Le journal indiquera les baisses de tension avec une ligne orange vif, comme dans l’image ci-dessus (notez que ces baisses de tension ont été induites avec une alimentation sur un banc d’essai et peuvent ne pas refléter la durée et le comportement des baisses de tension sur un robot FRC typique).