Caída de voltaje en roboRIO y Comprender el Consumo de Corriente
Para ayudar a mantener el voltaje de la batería y preservarse a sí misma y a otros componentes de control como el radio durante eventos de alto consumo de corriente, el roboRIO contiene un esquema de protección de caída de tensión. Este artículo describe dicho esquema, provee información acerca de una planeación proactiva de protecciones para el consumo de corriente actual del sistema, y describe como usar la nueva función de la PDP así como del DS LogFile Viewer para comprender los eventos de caída de tensión si es que ocurren en su robot.
Protección de Caída de Tensión del roboRIO
El roboRIO utiliza un esquema de protección contra de caída de tensión para mantener su voltaje de alimentación y de otros componentes del sistema de control con el fin de evitar reinicios de dispositivos en eventos de alto consumo de tensión que lleven el voltaje de la batería a un nivel peligrosamente bajo.
Etapa 1 – Salida de voltaje 6V
Disparo de voltaje – 6.8V
When the voltage drops below 6.8V, the 6V output on the PWM pins will start to drop.
Etapa 2 - Salida Deshabilitada
Disparo de voltaje – 6.3V
Cuando el voltaje cae por debajo de 6.3 V, el controlador iniciará el estado de protecciones para caídas de tensión. Los siguientes indicadores mostraran que dicha condición ha ocurrido:
Led de encendido en el roboRIO encenderá amarillo.
El fondo del monitor de voltaje en la Driver Station se tornará rojo.
En la Driver Station el modo de visualización se volverá a caída de tensión.
La etiqueta de CAN/Power del DS incrementará la falla de 12V en 1.
La DS registrará una caída de tensión en el DS Log.
El controlador hará los siguientes pasos para tratar de preservar el voltaje de la batería:
Las salidas PWM se desactivarán. Para las salidas PWM que han fijado su valor de neutro (todos los controladores de motor en WPILib) se enviará un único pulso de neutro antes de que se desactive la salida.
Vías de 6V, 5V, 3.3V deshabilitados (Esto incluye las salidas de 6V en los pines de PWM, los pines de 5V de los conectores del grupo DIO, los pines de 5V de los conectores del grupo Analógicos, los pines de 3.3V en los grupos de SPI e I2C y los 5V y 3V pines en el grupo MXP)
GPIO configurado como salidas go to High-Z
Relevadores de salida son deshabilitados (driven low)
Los controladores de motor basado en CAN se les envía un comando de deshabilitados.
Pneumatic Devices such as the CTRE Pneumatics Control Module and REV Pneumatic Hub are disabled
El controlador se mantendrá en este estado hasta que el voltaje sea mayor a 7.5 o baje al siguiente disparo de voltaje para la siguiente etapa de las protecciones de caída de voltaje.
Etapa 3 – Apagón de dispositivo
Disparo de voltaje – 4.5V
Debajo de 4.5V el dispositivo puede apagarse. El voltaje exacto pude ser menor que esto y depende de la carga en el dispositivo.
El controlador se mantendrá en este estado hasta que el voltaje sea mayor a 4.65V, cuando esto suceda el dispositivo comenzará se secuencia normal de arranque.
Prevención de caída de tensión – Planeación proactiva para el consumo de corriente
La clave para prevenir una condición de caída de tensión es una planeación proactiva para el consumo de la corriente actual del robot. La mejor manera para hacer esto es crear un tipo de presupuesto de corriente. Esto puede ser un documento complejo que intente cuantificar ambas, el consumo de corriente estimado y tiempo de esfuerzo, para una mayor comprensión del uso de corriente y con esto el estado de la batería al finalizar el partido, o simplemente puede ser un inventario de la corriente usada. Para hacer esto:
Establish the max «sustained» current draw (with sustained being loosely defined here as not momentary). This is probably the most difficult part of creating the power budget. The exact current draw a battery can sustain while maintaining a voltage of 7+ volts is dependent on a variety of factors such as battery health (see this article for measuring battery health) and state of charge. As shown in the NP18-12 data sheet, the terminal voltage chart gets very steep as state of charge decreases, especially as current draw increases. This datasheet shows that at 3CA continuous load (54A) a brand new battery can be continuously run for over 6 minutes while maintaining a terminal voltage of over 7V. As shown in the image above (used with permission from Team 234s Drive System Testing document), even with a fresh battery, drawing 240A for more than a second or two is likely to cause an issue. This gives us some bounds on setting our sustained current draw. For the purposes of this exercise, we’ll set our limit at 180A.
Enlistar las diferentes funciones de su robot tales como el chasis, algún manipulador, mecanismo principal del juego, etc.
Start assigning your available current to these functions. You will likely find that you run out pretty quickly. Many teams gear their drivetrain to have enough torque to slip their wheels at 40-50A of current draw per motor. If we have 4 motors on the drivetrain, that eats up most, or even exceeds, our power budget! This means that we may need to put together a few scenarios and understand what functions can (and need to be) be used at the same time. In many cases, this will mean that you really need to limit the current draw of the other functions if/while your robot is maxing out the drivetrain (such as trying to push something). Benchmarking the «driving» current requirements of a drivetrain for some of these alternative scenarios is a little more complex, as it depends on many factors such as number of motors, robot weight, gearing, and efficiency. Current numbers for other functions can be done by calculating the power required to complete the function and estimating efficiency (if the mechanism has not been designed) or by determining the torque load on the motor and using the torque-current curve to determine the current draw of the motors.
Si usted ha determinado funciones mutuamente exclusivas en su análisis, considere la posibilidad de forzar la exclusión en el programa. Usted también puede usar el monitor actual de la corriente del PDP (explicado más detalle a continuación) en su programa del robot para proveer límites de salida o exclusiones dinámicas (por ejemplo, no encender un motor de un mecanismo cuando la corriente del chasis este por encima de X o solamente permita a un motor trabajar a la mitad de su capacidad cuando la corriente el chasis este por encima de Y).
Settable Brownout
The NI roboRIO 1.0 does not support custom brownout voltages. It is fixed at 6.3V as mentioned in Stage 2 above.
The NI roboRIO 2.0 adds the option for a software settable brownout level. The default brownout level (Stage 2) of the roboRIO 2.0 is 6.75V.
RobotController.setBrownoutVoltage(7.0);
frc::RobotController::SetBrownoutVoltage(7_V);
Measuring Current Draw using the PDP/PDH
The FRC® Driver Station works in conjunction with the roboRIO and PDP/PDH to extract logged data from the PDP/PDH and log it on your DS PC. A viewer for this data is still under development.
In the meantime, teams can use their robot code and manual logging, a LabVIEW front panel or the SmartDashboard to visualize current draw on their robot as mechanisms are developed. In LabVIEW, you can read the current on a PDP/PDH channel using the Get PD Currents VI found on the Power pallet. For C++ and Java teams, use the PowerDistribution class as described in the Power Distribution article. Plotting this information over time (easiest with a LV Front Panel or with the SmartDashboard by using a Graph indicator can provide information to compare against and update your power budget or can locate mechanisms which do not seem to be performing as expected (due to incorrect load calculation, incorrect efficiency assumptions, or mechanism issues such as binding).
Identificar caídas de tensión
La manera más sencilla de identificar una caída de tensión es dando clic en la pestaña de CANPower de la DS y revisar el contador de la falla de 12V. Al mismo tiempo, puede revisar el registro de la Driver Station después de usar el Driver Station Log Viewer. Este registro identificará caídas de tensión con una línea naranja brillante, tal como de la imagen a continuación (nota, estas caídas de tensión fueron introducidas con un osciloscopio y no reflejan la duración ni el comportamiento típico de caídas de tensión en un robot de FRC).