Électronique des systèmes de contrôle¶
This page contains a breakdown of known electronics in the REV Robotics control system, as well as notes regarding them.
Éléments Internes du Expansion Hub¶
Avertissement
Ne démontez pas un Control Hub ou un Expansion Hub si vous ne savez pas vraiment ce que vous faites. Ils peuvent être endommagés au cours du processus, surtout si l’on ne sait pas comment les remonter correctement.
Carte Lynx¶
« Lynx » is the codename of the board within the Expansion Hub and Control Hub that interacts with hardware. References to « Lynx » made in the FTC® SDK refer to this board. It appears to have been developed by both REV Robotics and DEKA (Dean Kamen’s company). A reverse-engineered schematic can be found here.
Avertissement
Ne démontez pas un Control Hub ou un Expansion Hub si vous ne savez pas vraiment ce que vous faites. Ils peuvent être endommagés au cours du processus, surtout si l’on ne sait pas comment les remonter correctement.
Une carte Lynx qui a été enlevé de son boîtier¶
Processeur¶
The microcontroller used by the Lynx board is a Texas Instruments TM4C123GH6PGE, with an Arm Cortex-M4F processor running at 80 MHZ.
Ports¶
The Lynx board has the following ports:
Deux UART Debug Ports
Le port supérieur émet un flux CSV continu et à grande vitesse de données provenant des différents sous-systèmes du concentrateur.
Le port inférieur émet des données à une vitesse de transmission de 115200 bauds à un niveau de verbosité spécifié par l’utilisateur.
Quatre Ports I2C
These ports are 100/400 kHz compliant.
The ports are connected to separate busses, so there is generally no need to be concerned about address collisions. However, be aware that the internal IMU shares the I2C bus with I2C port 0.
There appear to be integrated pull up resistors on this port (potentially using the built-in configurable pull-up/pull-down resistors integrated into the MCU).
Huit Ports DIO
3,3V seulement, courant limité, peut brièvement fournir plus que le courant nominal spécifié. Tiré vers le haut en interne.
Quatre Ports Analogiques
These ports are 5V compliant; you can use a level shifter to supply 5v to the sensor, but take care the analog line bypasses the level shifter. The VIN and GND lines, however, must pass through the level shifter for it to work.
Six Ports Servo
L’alimentation 5V sur les ports de servo est désactivée par défaut et ne s’active que lorsqu’un servo est utilisé. Les six broches 5V sont allumées et éteintes ensemble, et la désactivation du PWM sur un port éteindra tous les ports, sauf si un autre servo est utilisé.
Each pair of 2 side-by-side ports is rated for a maximum current draw of 2 amps, and the combined set of servo + 5V ports is rated for a maximum total current draw of 5 amps.
Deux Ports d’Alimentation 5V
The pair of 5V supply ports in rated for a maximum current draw of 2 amps, and shares the total 5 amp limit with the servo ports.
Quatre Ports Moteur
The motor driver is a ST Microelectronics VNH5050 motor driver IC, which is capabile of handling well over the maximum amount of current an FTC motor can draw. It has integrated current sensing, and built-in thermal and current safety limits.
The output does not brake the H-bridge during the PWM off cycle. What this means is that there might be linearity issues while deaccelerating, because of momentum in the motor.
Quatre Ports d’Encodeur
IMPORTANT: Only two of the encoder ports (Ports 0 and 3) can accurately track position/velocity at high speeds. There are two methods of connecting an encoder internally to the Texas Instruments microprocessor, through the Quadrature Encoder Interface (QEI) and through General-Purpose Timers (GPTs). Ports 0 and 3 use the integrated QEI and are extremely accurate at high speeds, whereas encoders using the GPTs often start to loose counts at high speeds. As a result, high Count per Revolution (CPR) encoders (those with more than around 4000 counts per revolution) expected to spin somewhat quickly (such as encoders being used in odometry pods) should NOT be used on ports 1 and 2.
Deux Connecteurs XT30
Il convient d’être prudent lorsque l’on déplace des câbles, car il est arrivé que ces connecteurs soient défectueux et se détachent de la carte.
En outre, les XT30 s’usent et se détachent avec le temps. Voir ``Les broches XT30 sont comprimées - Dépannage du Expansion Hub <https://docs.revrobotics.com/duo-control/troubleshooting-the-control-system/expansion-hub-troubleshooting#xt30-pins-are-compressed>`_ pour plus de détails sur le problème et la façon de le résoudre.
Connecteur USB Mini-B
Uses the FTDI FT230XQ chip to bridge the internal UART to USB, allowing an Expansion Hub to connect over USB to a Control Hub, Android device, computer, or other such device. The FT230XQ is capable of USB Full Speed (12 Mbps) on the USB side and 3 MBaud on the UART side, and 5V output to charge a phone. According to REV, the 5V output is not compatible with any of the remaining Android phones still legal in FTC. This USB chip is disabled by the compute board of the Control Hub, meaning this port is not functional out-of-the-box on a Control Hub.
Connecteurs Interne
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 betwen 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¶
Le Control Hub est un Expansion Hub auquel est connectée une carte fille de calcul monocarte intégrée. Cela lui permet de ne pas avoir besoin d’un téléphone de contrôleur de robot séparé, car la carte de calcul fonctionne comme le contrôleur de robot. En interne, les commandes Lynx sont envoyées de la carte fille à la carte Lynx via une connexion UART interne.
The compute board is based on the 96Boards CE Specification, Version 1.0, though it is unknown how many of the features of the two expansion connectors are wired up/functional beyond the UART and handful of GPIO lines used to connect to the Lynx board.
Note
The original version of the Control Hub (REV-31-1152) actually used a Dragonboard 410c as the compute board. This version of the Control Hub was never used in, nor legal for, FTC; it appears to have only been used in early FIRST® Global seasons.
The Control Hub compute board runs a customized version of Android 7.1. It does not have a proper heatsink on the SOC, only an RF shield that does not touch the SOC, which can cause thermal throttling when heavy processes such as vision pipelines are used. A large amount of heat seems to be sunk by the daughterboard PCB, which acts like a heat spreader.
SOC : Rockchip RK3328
CPU : Quadruple cœur ou Quad-core ARM Cortex-A53
The device tree in the official kernel seems to indicate that the CPU can clock up to 1.5 GHz
GPU - ARM® Mali 450MP4
Prise en charge HDMI 2.0 pour 4k @ 60Hz
RAM : 1GB DDR3
Stockage : 8 à 16 Go de mémoire flash eMMC
« 8GB eMMC 4.51 » est la spécification officiellement listée par REV, mais plusieurs unités réelles vérifiées avaient toutes des puces eMMC de 16GB sur leurs cartes.
Selon REV, dans un courriel d’assistance : **Les versions originales du Control Hub ont été fabriquées avec des puces eMMC de 8 Go. Cependant, certaines versions de 16 Go ont été fabriquées en raison de contraintes de la chaîne d’approvisionnement. Les Control Hubs récents (achetés après 2022) sont plus susceptibles d’être équipés d’une puce eMMC de 16 Go.
USB : 1x USB 3.0, 1x USB 2.0, 1x USB 2.0 interne utilisé pour connecter la puce Wi-Fi
Wi-Fi : Realtek RTL8821CU
Wi-Fi IEEE 802.11a/b/g/n/ac (double bande 2,4 et 5 GHz)
La norme 802.11w Protected Management Frames est prise en charge pour prévenir les attaques par désauthentification <https://en.wikipedia.org/wiki/Wi-Fi_deauthentication_attack>`_
Bluetooth 4.2 (Bluetooth 4.1 listé par REV)
UART de débogage : en-tête à 3 broches (TX à gauche, RX au milieu, Ground à droite), 1500000 bauds
Avertissement
Ne démontez pas un Control Hub ou un Expansion Hub si vous ne savez pas vraiment ce que vous faites. Ils peuvent être endommagés au cours du processus, surtout si l’on ne sait pas comment les remonter correctement.
Astuce
Il est possible d’installer une version d’Armbian Linux depuis https://forum.armbian.com/topic/26978-csc-armbian-for-rk3318rk3328-tv-box-boards/ et de la faire fonctionner sur le Control Hub. Activez le type de carte rk3318-box-led-conf3 en utilisant la commande rk3318-config pour permettre au Wi-FI et à tous les ports USB de fonctionner. Activez la surcouche rk3328-uart1 en utilisant la commande armbian-config pour permettre la communication avec la carte Lynx via la connexion UART interne en utilisant dev/ttyS1.
VOUS NE DEVRIEZ PAS FAIRE CA EN FTC!
L’ordinateur à carte unique et la carte Lynx à partir d’un Control Hub¶
La carte de calcul, retirée d’un Control Hub¶