Solución asequible de cronometraje de carrera de nodo único FPV
Si te gusta este proyecto, puedes apoyarlo contribuyendo al código base, probando y brindando comentarios, compartiendo nuevas ideas y ayudando a difundir el evangelio de PhobosLT. También puedes considerar comprarme un té de burbujas o una cerveza, ¡me impulsará a mejorar el proyecto!
Phobos LapTimer (o PhobosLT) es una solución de cronometraje de vueltas sencilla pero potente para pilotos de FPV de 5,8 GHz. Está diseñado para uso personal y pensando en drones pequeños (de 2 pulgadas o menos), ¡pero no hay nada en contra de utilizarlo con drones más grandes! Es un pequeño dispositivo independiente que se autoalimenta y se comunica a través de WiFi con un teléfono, tableta o computadora portátil. El objetivo del proyecto es tener un dispositivo pequeño y fácil de usar que pueda usarse en cualquier lugar cuando quieras realizar una sesión de práctica de carrera en tu sala de estar o en un lugar de entrenamiento local con amigos sin problemas. Partes del código se basan en RotorHazard y ExpressLRS. Muchas felicitaciones a las personas detrás de estas organizaciones, están haciendo MUCHO por la comunidad y están dando forma al futuro de FPV. Si aún no conoces estos proyectos y tienes algo de tiempo, ¡échales un vistazo!
PhobosLT tiene las siguientes características:
Temporización de nodo único de sistemas analógicos, HDZero y Walksnail de 5,8 GHz.
Llamadas de voz, que incluyen opcionalmente el nombre del piloto.
Lectura y calibración de RSSI en tiempo real: permite cronometrar incluso en espacios pequeños como una habitación de 16 m^2 o 200 pies^2.
Tiempos de 2 vueltas consecutivas y 3 vueltas consecutivas y lecturas opcionales sobre la marcha (especialmente desarrolladas para RaceGOW).
Historial de vueltas visible.
Posibilidad de establecer un tiempo de vuelta mínimo medible para evitar falsos positivos.
Alarma de bajo voltaje configurable.
Tamaño pequeño, fácil de construir.
Relativamente barato.
No se necesitan aplicaciones adicionales, solución autosuficiente.
Planes de desarrollo futuros:
Parpadeo vía WiFi o vía configurador web.
Hardware personalizado para minimizar la soldadura.
Integración con ExpressLRS y gafas VRX para reenviar los tiempos de vuelta al OSD.
Integración con RotorHazard para medir tiempos parciales.
Admitir múltiples pilotos al mismo tiempo a un costo de menor precisión.
El núcleo del proyecto es una placa ESP32 + un módulo RX5808. ESP actúa como un servidor web que sirve una página web sencilla con todas las configuraciones. Se puede utilizar cualquier dispositivo con conectividad WiFi y un navegador web para conectarse, configurar el cronómetro y medir tiempos por vuelta.
El cronometraje de vuelta se realiza midiendo el RSSI a lo largo del tiempo, filtrándolo y comprobando si hay picos en el RSSI, ya que cuanto más cerca está el dron del cronómetro, mayor es el RSSI. En base a eso, configuramos umbrales Enter RSSI
y Exit RSSI
, que nos indican cuándo cortar un pico. El tiempo entre el RSSI de entrada y salida se utiliza para medir el tiempo entre el último pico y el pico actual, que es una vuelta.
La comunicación con el cliente se realiza a través de WiFi. El ESP32 configura un punto de acceso y el cliente se conecta a él. RSSI se transmite a través de un websocket para dibujar el gráfico RSSI en tiempo real. La configuración, las interacciones del usuario y los eventos (como iniciar el cronómetro, detenerlo, informar el tiempo de una vuelta) se realizan mediante llamadas de descanso.
El navegador se aprovecha para emitir sonidos o indicar tiempos de vuelta usando la biblioteca articular.js, pero se puede instalar un pitido opcional (pero recomendado) en el temporizador para que también emita un sonido cada vez que se detecte un pico o para alertar, por ejemplo, cuando el cronómetro El voltaje de la batería es bajo.
Para construir un Phobos LapTimer necesitarás:
Una placa de conexión ESP32, preferiblemente con USB. El código base es plug and play con LilyGo T-ENERGY
, que tiene una ranura para celda de iones de litio 18650 integrada y un circuito de detección de voltaje listo para usar. Tableros compatibles:
LilyGo T-ENERGY - recomendado.
LilyGo T-CELL: más caro que el anterior pero tiene un circuito de carga.
ESP32-DevKit: básico pero barato.
Un módulo RX5808 VRx con mod SPI.
Un suministro de voltaje de cualquier tipo: una batería, un banco de energía, etc. Dependerá del módulo ESP32 utilizado.
(Opcional) Un LED de cualquier color (+ una resistencia correspondiente para administrar la corriente).
(Opcional) Un zumbador de 3v3 a 5v CON un generador (activo y no pasivo).
Para conectar el RX5808 al ESP32, utilice la siguiente tabla de distribución de pines. Tenga en cuenta que el pin +5v en el RX5808 debe conectarse a una fuente 3v3 para subvoltear el RX5808 para obtener una mejor resolución RSSI y ayudar con el enfriamiento:
PINES ESP32 | RX5880 |
---|---|
33 | RSSI |
Tierra | Tierra |
19 | CH1 |
22 | CH2 |
23 | CH3 |
3V3 | +5V |
Distribución de pines de entrada de voltaje de batería, zumbador y LED opcional pero recomendado:
PINES ESP32 | Periférico |
---|---|
21 | Ánodo LED (+) |
27 | Zumbador positivo (+) |
35 | Entrada VBAT MAX 3.3v (el código asume un divisor de voltaje de 1/2 con una celda de Li-Ion de 1s) |
Puede encontrar un diagrama de conexión de los periféricos a continuación. Para T-Energy y T-Cell solo necesitas conectar el RX5808 y un timbre.
Alternativamente, puedes pedirle a la comunidad que cree un temporizador para ti. ¡Pregunta en discordia!
Actualmente, la construcción del firmware se realiza a través de Visual Studio Code. La configuración de la cadena de herramientas es exactamente la misma que para ExpressLRS, por lo que si ya tiene una cadena de herramientas ExpressLRS configurada y en funcionamiento, debería estar bien. Los requisitos para construir el firmware son los siguientes:
Código de estudio visual.
PlataformaIO.
Vaya.
Realice estos pasos para configurar la cadena de herramientas en su computadora:
Descargue e instale vscode.
Abra vscode y haga clic en el ícono Extensions
en la barra de herramientas de la derecha (consulte Administrar extensiones).
En el cuadro de búsqueda, ingrese platformio e instale la extensión (consulte la documentación pio install
).
Instalar git.
El último paso antes de poder compilar el firmware es clonar este repositorio en su computadora:
En VSCode, abra la paleta de comandos (usando Cmd+Shift+P
en MacOS o Ctrl+Shift+P
en Windows)
Ingrese Git: Clone
.
Haz clic en él.
Luego, ingrese la URL del repositorio de PhobosLT (se puede encontrar en la parte superior de la página de github, debajo del botón Clone
).
Elija una carpeta donde desee que se ubique su copia del repositorio.
Para compilar el firmware, haga clic en el ícono PlatformIO
en la barra de herramientas de la izquierda, que mostrará la lista de tareas. Ahora, seleccione Project Tasks
, expanda PhobosLT
-> General
y seleccione Build
. Deberías ver el resultado en la terminal después de unos segundos ( Success
).
Antes de intentar flashear, asegúrese de que haya una conexión entre el ESP32 y la computadora a través de USB. El flasheo es un proceso de dos pasos. Primero necesitamos actualizar el firmware, luego la imagen del sistema de archivos estático al ESP32.
Para actualizar el firmware, haga clic en el ícono PlatformIO
en la barra de herramientas de la izquierda, que mostrará la lista de tareas. Ahora, seleccione Project Tasks
, expanda PhobosLT
-> General
y seleccione Upload
. Deberías ver el resultado en la terminal ( Success
). A continuación, vaya al paso 2.
Seleccione Project Tasks
, expanda PhobosLT
-> Platform
y seleccione Upload Filesystem Image
. Espere el resultado en la terminal que diga Success
. ¡Eso es todo! Su cronómetro está listo para usar.
Si algo salió mal, consulte también la Terminal. Contendrá al menos una pista de cuál es el problema. ¡Solicite más ayuda a la comunidad sobre Discord!
Estuche ESP-WROOM-32 de porlock
Esta sección describirá el uso y la configuración del temporizador. ¡La aplicación consta de 3 páginas y es muy fácil de usar!
Encienda el cronómetro, debería escuchar un pitido corto y uno largo.
Enciende tu dispositivo y enciende WiFi.
Espere a que descubra un punto de acceso WiFi que comience con PhobosLT_xxxx
.
Haga clic en él y escriba la contraseña: phoboslt
.
Debería conectarse y abrir una ventana del navegador con la aplicación. Si no sucede, abra el navegador y escriba 20.0.0.1
.
¡Voilá!
Para configurar el temporizador es necesario hacer clic en el botón Configuration
. Deberías ser recibido con una pantalla similar a esta:
A continuación puede encontrar todos los parámetros de configuración y su descripción:
Canal y Banda : configúrelo en la misma Banda y Canal que su dron. Bandas admitidas: A, B, E, Fatshark, RaceBand y LowBand, 8 canales cada una. Frecuencia : este es un campo estático que mostrará la frecuencia según la banda y el canal establecidos. Tiempo de vuelta mínimo : puede establecer un tiempo de vuelta mínimo que se puede cronometrar. Esto evita falsos positivos cuando chocas en la puerta de salida o cuando la pista está muy estrecha y vuelas muy cerca del cronómetro varias veces durante una vuelta. Umbral de alarma de voltaje de la batería : establece una alarma de voltaje de la batería que se activará una vez que se alcance el voltaje deseado. El rango está entre 2,5 y 4,2v. Tipo de locutor : tienes algunas opciones sobre cómo deseas que tu cronómetro informe los tiempos de vuelta:
None
es ningún sonido en absoluto.
Beep
simplemente emitirá un pitido corto al cruzar para informarle que registró una vuelta.
Lap Time
anunciará el tiempo de vuelta (incluido el nombre de su piloto si el campo Nombre del piloto está completo).
Two Consecutive Lap Time
anunciará el tiempo de dos vueltas consecutivas.
Three Consecutive Lap Time
anunciará el tiempo de tres vueltas consecutivas.
Velocidad del locutor : controla la velocidad del locutor que lee el tiempo de vuelta. Nombre del piloto : cuando se complete, incluirá el nombre del piloto al leer los tiempos, por ejemplo, Pilot1 23.45
. Es útil cuando hay más de un temporizador funcionando al mismo tiempo. Cuando practiques solo déjalo vacío.
NOTA: Una vez configurado, asegúrese de guardar la configuración haciendo clic en el botón Save Configuration
; de lo contrario, los cambios no tendrán efecto.
La calibración es un paso muy importante y debe realizarse correctamente para garantizar que el cronometraje se realice correctamente y que el cronómetro cuente cada vuelta.
Para realizar la calibración haga clic en el botón Calibration
. Se le presentarán dos controles deslizantes y un gráfico que representa el RSSI a lo largo del tiempo. Puedes pensar en RSSI como una inversa de la distancia entre el dron y el temporizador. Cuanto mayor sea el RSSI, más corta será la distancia.
Un nodo puede ser Crossing
o Clear
. Si un nodo está Clear
, el temporizador cree que un dron no está cerca del temporizador porque el RSSI es bajo. Si es Crossing
, el cronómetro cree que un dron está pasando por el cronómetro porque el RSSI es alto. Se registrará un pase de vuelta una vez que finalice el Crossing
y el RSSI regrese a la zona Clear
. Lo calibramos estableciendo umbrales Enter
y Exit
de RSSI.
Un cronómetro bien calibrado mostrará el tiempo de vuelta cuando solo tengamos un cruce cuando el dron esté más cerca del cronómetro, por ejemplo:
Crossing
siempre estará marcado en verde oscuro, mientras que Clear
estará coloreado en azul.
Para obtener buenos valores iniciales para Enter
y Exit
de RSSI, realice estos pasos:
Encienda el temporizador y su dron, configúrelo en la potencia VTx deseada, espere 30 segundos para que el VTx alcance su temperatura de funcionamiento.
Coloque el dron a una distancia de poco más de una puerta por encima del temporizador.
Tenga en cuenta el RSSI, reste de 2 a 5 puntos para estar seguro; ese debería ser su Enter RSSI
.
Deduzca otros 8-10 puntos y configúrelo como su Exit RSSI
.
Haga clic en Save RSSI Thresholds
; de lo contrario, los cambios no tendrán efecto.
Al volar con otros pilotos, las lecturas de RSSI pueden ser más bajas debido a todo el ruido generado por otros VTx en canales adyacentes. Una buena práctica es reducir ambos umbrales unos puntos cuando se vuela con otros pilotos en el aire.
La pantalla Carrera te permitirá iniciar o detener una carrera y ver y borrar tus tiempos de vuelta. Una vez hecho clic en el botón Race
, la pantalla cambiará a esta:
Funciones de los botones:
Start Race
: haz clic en él para iniciar la cuenta regresiva y indicarle al cronómetro que comience a contar vueltas.
Stop Race
: presiónelo cuando desee dejar de contar nuevas vueltas. No aclara las vueltas recogidas hasta el momento.
Clear Laps
: borra las vueltas en la pantalla; también se puede realizar cuando la carrera está en marcha.
Una vez que corras algunas vueltas, la pantalla se llenará con los tiempos de vuelta:
¡Únase a nuestro canal de Discord para obtener ayuda y preguntas o simplemente para pasar el rato! ¡Todos son bienvenidos!