Mensajes DroneCAN
Esta sección documenta los mensajes DroneCAN que el Bridge publica o recibe.
Mensajes publicados
Todos los mensajes se publican a 1 Hz salvo LogMessage, que se emite por
evento.
Mensaje |
Instancias |
Propósito |
|---|---|---|
|
1 |
Salud general del Bridge. |
|
3 |
Telemetría de las dos baterías LiPo y de la reserva H2. |
|
1 |
Información auxiliar de la reserva H2 que permite usar |
|
5 |
Tensiones y corrientes individuales de cada bus, salida del convertidor DC-DC conectado a la pila de combustible y de la propia pila. |
|
Evento |
Mensajes de estado y alertas (ver catálogo completo de mensajes de log). |
uavcan.protocol.NodeStatus
Campos relevantes:
mode: siempreOPERATIONAL.health:OK,WARNINGoERRORsegún la situación del sistema. Es el campo que Mission Planner refleja en el estado del nodo.vendor_specific_status_code: código de 16 bits con alertas combinadas del sistema (versión 2 del formato). La codificación es:Bits
Campo
Significado
Byte alto (15:8)
—
Nibbles de alertas de la pila (idénticos a la versión 1):
15:14
FC_uvAlerta de subtensión de la pila (0-2).
13:12
FC_htAlerta de temperatura de la pila (0-2).
11:10
FC_fanAlerta del ventilador de la pila (0-2).
9:8
FC_h2pAlerta de H2 baja de la pila (0-2).
Byte bajo (7:0)
—
Bits de salud del bridge (nuevo en la versión 2):
7
INA219_FAULTFallo de comunicación con algún sensor INA219.
6
FC_ALERT_FAULTAlerta de fallo de la pila (subtensión o temperatura).
5
NO_FC_TELEMETRYSin telemetría de la pila de combustible.
4
PRESSURE_FAULTFallo del sensor de presión de H2.
3
BATT_CRITTensión crítica en BATT1 o BATT2.
2
BATT_OVERSobretensión en BATT1 o BATT2.
1
BATT_OCSobrecorriente en BATT1 o BATT2.
0
NO_HYB_TELEMETRYSin telemetría de hibridación.
Los siguientes indicadores se publican exclusivamente a través de otros campos y no aparecen en
vendor_specific_status_code: presión de H2 baja o crítica (BatteryInfoAux), batería baja (BatteryInfo.status_flagscomoNEED_SERVICE), desequilibrio entre buses, y estado inesperado de la pila.
uavcan.equipment.power.BatteryInfo
Se publican tres instancias:
|
Significado |
|
|
|
|---|---|---|---|---|
1 |
LiPo bus 1 |
tensión real |
corriente real |
derivado de la tensión |
2 |
LiPo bus 2 |
tensión real |
corriente real |
derivado de la tensión |
3 |
Reserva H2 |
|
|
derivado de la presión de H2 |
La instancia 3 publica voltage = 0 y current = 0 de manera intencional:
así ArduPilot no integra una corriente irreal sobre el «depósito» de H2. La
tensión y corriente eléctricas reales de la pila están en CircuitStatus
(circuito 5).
Para battery_id = 3 también se publica:
temperature: temperatura de la pila.full_charge_capacity_wh = 100 Wh(valor nominal sintético).remaining_capacity_wh: 0-100 según el porcentaje de H2 disponible.status_flags: incorpora avisos relevantes de la pila y del sensor de presión.
Para las baterías LiPo (battery_id = 1 y battery_id = 2), status_flags
sigue la siguiente codificación:
Bit |
Valor |
Campo |
Condición |
|---|---|---|---|
0 |
1 |
|
La batería está entregando corriente al sistema (|I| > 0,2 A con histéresis 0,1 A). |
5 |
32 |
|
Sobrecorriente o sobretensión de la batería. |
7 |
128 |
|
Tensión crítica de la batería. Valor informativo: no dispara failsafe por sí mismo (los failsafes LiPo se configuran con |
8 |
256 |
|
Fallo de lectura del sensor INA219 de esa batería. |
Para battery_id = 3 (reserva H2 / pila de combustible), status_flags utiliza
la siguiente codificación:
Bit |
Valor |
Campo |
Condición |
|---|---|---|---|
0 |
1 |
|
La pila de combustible está en estado RUNNING. |
8 |
256 |
|
Error de comunicación con la pila de combustible. |
ardupilot.equipment.power.BatteryInfoAux
Se publica una única instancia, asociada a battery_id = 3. Sus campos
están a cero salvo:
battery_id = 3.nominal_voltage = 1000 V(valor sintético).
El propósito de este mensaje es engañar al cálculo interno de consumed_mah
de ArduPilot para que BATT3_LOW_MAH y BATT3_CRT_MAH se comporten como
porcentaje de H2 con el fin de configurar failsafes basados en el hidrógeno restante en la botella. Ver reserva de H2 como porcentaje para el detalle.
uavcan.equipment.power.CircuitStatus
Se publican cinco instancias:
|
Significado |
|
|
|---|---|---|---|
1 |
Salida DC-DC del bus 1 |
sí |
no medida |
2 |
Bus 1 |
sí |
sí |
3 |
Salida DC-DC del bus 2 |
sí |
no medida |
4 |
Bus 2 |
sí |
sí |
5 |
Pila de combustible |
sí |
sí |
El circuito 5 además activa el flag de subtensión cuando la pila reporta
Fault_UV. Estos valores no se ven directamente en Mission Planner sin el
script Lua opcional; ver
configurar Mission Planner.
uavcan.protocol.debug.LogMessage
Mensajes de estado y alertas emitidos por evento bajo distintos tags
(h2:fc, h2:hyb, h2:can, h2:health, h2:sd, h2:ota). El catálogo
completo, con texto literal, severidad y acción recomendada, está en
catálogo completo de mensajes de log.
Mensajes recibidos
Mensaje |
Propósito |
|---|---|
|
Comando de inicio/parada de la pila enviado desde el autopiloto a través del relé configurado. |
Servicios disponibles
Servicio |
Uso |
|---|---|
|
Identificación del nodo Bridge (nombre, versión SW/HW, UID). |
|
Reinicio remoto del Bridge. |
|
Lectura/escritura de parámetros del Bridge. |
|
Guardar o restaurar parámetros. |
|
Inicio de actualización de firmware (OTA). |
|
Acceso a los logs internos en MicroSD (uso interno de soporte). |