Electrónica del sistema de control

Esta página contiene un desglose de los componentes electrónicos conocidos del sistema de control de REV Robotics, así como notas sobre ellos.

Componentes internos del Expansion Hub

Advertencia

No desmonte un Centro de Control o Expansión a menos que realmente sepa lo que está haciendo. Pueden resultar dañados en el proceso, especialmente si no se sabe cómo volver a montarlos correctamente.

Tablero Lynx

«Lynx» es el nombre en clave de la placa dentro del Expansion Hub y Control Hub que interactúa con el hardware. Las referencias a «Lynx» en el SDK de FTC se refieren a esta placa. Parece haber sido desarrollada tanto por REV Robotics como por DEKA (la empresa de Dean Kamen). Un esquema de ingeniería inversa se puede encontrar aquí.

Advertencia

No desmonte un Centro de Control o Expansión a menos que realmente sepa lo que está haciendo. Pueden resultar dañados en el proceso, especialmente si no se sabe cómo volver a montarlos correctamente.

Una placa Lynx sacada de su caja

Una placa Lynx sacada de su caja

Procesador

El microcontrolador utilizado por la placa Lynx es un Texas Instruments TM4C123GH6PGE, con un procesador Arm Cortex-M4F funcionando a 80 MHZ.

Puertos

La placa Lynx tiene los siguientes puertos:

  • Dos puertos de depuración UART

    • El puerto superior emite un flujo continuo de datos CSV de alta velocidad procedentes de los distintos subsistemas del hub.

    • El puerto inferior emite datos a una velocidad en baudios de 115200 con una verbosidad especificada por el usuario.

  • Cuatro puertos I2C

    • Estos puertos son compatibles con 100/400 kHz.

    • Los puertos están conectados a buses separados, por lo que generalmente no hay necesidad de preocuparse por colisiones de direcciones. Sin embargo, ten en cuenta que la IMU interna comparte el bus I2C con el puerto I2C 0.

    • Parece que hay resistencias pull up integradas en este puerto (potencialmente utilizando las resistencias pull-up/pull-down configurables integradas en la MCU).

  • Ocho puertos DIO

    • Sólo 3,3 V, corriente limitada, puede suministrar brevemente más corriente que la especificada. Tirado hacia arriba internamente.

  • Cuatro puertos analógicos

    • Estos puertos son compatibles con 5V; puedes utilizar un variador de nivel para suministrar 5v al sensor, pero ten cuidado de que la línea analógica no pase por el variador de nivel. Las líneas VIN y GND, sin embargo, deben pasar a través del variador de nivel para que funcione.

  • Seis servopuertos

    • El suministro de 5V en los puertos de servo está apagado por defecto, y sólo se activará una vez que se utilice un servo. Los seis pines de 5V se activan y desactivan juntos, y desactivar PWM en un puerto desactivará todos los puertos a menos que se utilice otro servo.

    • Cada par de 2 puertos uno al lado del otro está clasificado para un consumo máximo de corriente de 2 amperios, y el conjunto combinado de puertos servo + 5V está clasificado para un consumo máximo total de corriente de 5 amperios.

  • Dos puertos de alimentación de 5 V

    • El par de puertos de alimentación de 5 V tiene un consumo máximo de corriente de 2 amperios y comparte el límite total de 5 amperios con los puertos de servo.

  • Cuatro puertos de motor

    • El controlador del motor es un circuito integrado ST Microelectronics VNH5050, capaz de manejar una corriente muy superior a la máxima que puede consumir un motor FTC. Dispone de detección de corriente integrada y límites de seguridad térmicos y de corriente incorporados.

    • La salida no frena el puente H durante el ciclo de apagado del PWM. Esto significa que puede haber problemas de linealidad al desacelerar, debido al impulso del motor.

  • Cuatro puertos de codificador

    • IMPORTANTE: Sólo dos de los puertos de encoder (Puertos 0 y 3) pueden seguir con precisión la posición/velocidad a altas velocidades. Existen dos métodos para conectar internamente un encoder al microprocesador de Texas Instruments, a través de la interfaz de encoder en cuadratura (QEI) y a través de temporizadores de propósito general (GPT). Los puertos 0 y 3 utilizan el QEI integrado y son extremadamente precisos a altas velocidades, mientras que los encoders que utilizan los GPTs a menudo empiezan a perder recuentos a altas velocidades. Como resultado, los codificadores de alto número de cuentas por revolución (CPR) (aquellos con más de 4000 cuentas por revolución) que se espera que giren con cierta rapidez (como los codificadores que se utilizan en los pods de odometría) NO deberían utilizarse en los puertos 1 y 2.

  • Dos conectores XT30

    • Hay que tener cuidado al mover los cables, ya que se sabe que estos conectores fallan y se desprenden de la placa.

    • Además, los XT30 se desgastan y se aflojan con el tiempo. Consulte XT30 Pins are Compressed - Expansion Hub Troubleshooting para obtener más detalles sobre el problema y cómo solucionarlo.

  • Conector USB Mini-B

    • Utiliza el chip FTDI FT230XQ para puentear la UART interna a USB, permitiendo que el Expansion Hub se conecte a través de USB al Control Hub, dispositivo Android, ordenador u otro dispositivo similar. El FT230XQ es capaz de USB Full Speed (12 Mbps) en el lado USB y 3 MBaud en el lado UART, y 5V de salida para cargar un teléfono. Según REV, la salida de 5V no es compatible con ninguno de los teléfonos Android que aún son legales en la FTC. Este chip USB está deshabilitado por la placa de computación del Control Hub, lo que significa que este puerto no es funcional fuera de la caja en un Control Hub.

  • Conector interno

    • This connector is what is used to connect to the compute daughterboard. It has a UART connection, as well as power and ground. All Lynx modules that came is part of an Control Hub will have this connector, but Lynx modules sold as Expansion Hubs may or may not have this connector. A Lynx board from an Expansion Hub that contains the connector, when connected with a Control Hub’s daughterboard, will work as a Control Hub. To go the other way, the Hub address has to be changed to something other than the Control Hub address of 173. You can change the address once the daughterboard is removed by plugging it into an Android device running the Robot Controller app and using the function in the settings to change the address. (Note that connecting it to another Control Hub is unlikely to work, due to the address interference between the two Lynx modules. The Driver Hub works fine for this purpose, but make sure to uninstall the Robot Controller app from it afterwards, so it doesn’t potentially interfere with the Driver Station app!)

Control Hub

El Control Hub es un Expansion Hub con una tarjeta hija de computación integrada conectada a él. Esto le permite no necesitar un teléfono Controlador de Robot separado, ya que la placa de cómputo funciona como el Controlador de Robot. Internamente, los comandos Lynx se envían desde la placa hija a la placa Lynx a través de una conexión UART interna.

La placa de computación se basa en la 96Boards CE Specification, Version 1.0, aunque se desconoce cuántas de las características de los dos conectores de expansión están cableadas/funcionales más allá de la UART y un puñado de líneas GPIO utilizadas para conectar con la placa Lynx.

Nota

La versión original del Control Hub (REV-31-1152) utilizaba en realidad una Dragonboard 410c como placa de cálculo. Esta versión del Control Hub nunca se utilizó, ni fue legal para FTC; parece que sólo se utilizó en las primeras temporadas de FIRST ® Global.

La placa de cálculo Control Hub ejecuta una versión personalizada de Android 7.1. No tiene un disipador térmico adecuado en el SOC, solo un escudo de RF que no toca el SOC, lo que puede causar ahogo térmico cuando se usan procesos pesados como los pipelines de visión. Una gran cantidad de calor parece ser absorbida por la placa hija de PCB, que actúa como un disipador de calor.

  • SOC: Rockchip RK3328

    • CPU: Quad-core ARM® Cortex-A53

      • El árbol de dispositivos en el kernel oficial parece indicar que la CPU puede alcanzar hasta 1,5 GHz.

    • GPU - ARM ® Mali 450MP4

      • Compatible con HDMI 2.0 para 4k a 60 Hz

  • RAM: 1 GB DDR3

  • Almacenamiento: de 8 a 16 GB de memoria flash eMMC

    • «8GB eMMC 4.51» es la especificación oficial de REV, pero varias unidades reales que se comprobaron tenían chips eMMC de 16GB en sus placas.

    • Según REV, en un correo electrónico de soporte: «Las versiones originales del Control Hub se fabricaron con chips eMMC de 8 GB. Sin embargo, algunas versiones de 16 GB se hicieron debido a las limitaciones de la cadena de suministro. Es más probable que los Control Hubs recientes (comprados después de 2022) tengan el chip eMMC de 16 GB «.

  • USB: 1x USB 3.0, 1x USB 2.0, 1x USB 2.0 interno utilizado para conectar el chip Wi-Fi

  • Wi-Fi: Realtek RTL8821CU

    • Wi-Fi IEEE 802.11a/b/g/n/ac (doble banda 2,4 y 5 GHz)

    • Bluetooth 4.2 (Bluetooth 4.1 listado por REV)

  • UART de depuración: cabezal de 3 pines (TX izquierda, RX centro, tierra derecha), 1500000 baudios

Advertencia

No desmonte un Centro de Control o Expansión a menos que realmente sepa lo que está haciendo. Pueden resultar dañados en el proceso, especialmente si no se sabe cómo volver a montarlos correctamente.

Truco

Es posible instalar una versión de Armbian Linux desde https://forum.armbian.com/topic/26978-csc-armbian-for-rk3318rk3328-tv-box-boards/ y hacer que funcione en el Control Hub. Habilita el tipo de placa rk3318-box-led-conf3 usando el comando rk3318-config para que funcionen Wi-FI y todos los puertos USB. Habilita el overlay rk3328-uart1 usando armbian-config para permitir la comunicación con la placa Lynx a través de la conexión UART interna usando /dev/ttyS1.

¡NO DEBERÍAS ESTAR HACIENDO ESTO PARA FTC!

El ordenador monoplaca y la placa Lynx de un Control Hub

El ordenador monoplaca y la placa Lynx de un Control Hub

La placa de cálculo, desmontada de un Control Hub

La placa de cálculo, desmontada de un Control Hub