Top Board

Datasheet, Design on Altium Drive

Designer Cas Doornkamp
Last Version v4.2
Last Updated 11 June 2022

DC-DC converter

There is a 24V -5V converter followed by a 5-3.3V converter. For the24-5V converter we use the TPS54332DDAR:https://www.ti.com/lit/ds/slvs875c/slvs875c.pdf?ts=1603276064222&ref_url=https%253A%252F%252Fwww.google.com%252F As for the chosen values, based on the calculations shown in the datasheet:

For the 5-3.3V converter we use the LD1117S33TR: https://nl.mouser.com/datasheet/2/389/cd00000544-1795431.pdf

IMU

We use the Xsens MTi-3 (uit de MTi 1-series) as IMU. https://drive.google.com/drive/u/0/folders/1vl0myIjebR3KWS5ZsLzqaVhCYPFw6MeU We have this one since gen1 and we want to contact Xsens again about the possibilities of getting new ones. The Xsens Inertial Measurement Unit (IMU) is responsible for measuring acceleration, rotational velocity, and current heading. The IMU provides data at 100Hz. This frequency would not give enough data to properly estimate the robot state, were it not that much of the filtering and processing is already done by the IMU. The IMU has its own frame of reference, initialized at boot time. This frame can deviate from the computer's frame, which takes the width and height of the field as x-, and y-axis. The computer sends camera data to the robot for calculating this deviation. The data provided by the IMU allows the robot to accurately execute commands from the computer. Instead of completely relying on the relatively slow feedback of the cameras, the robot can use the IMU data to precisely control its movements. The data of the camera can then be used to calibrate the drift in the IMU that builds up over time.

Microcontroller

We currently use the STM32F767ZI. https://docs.rs-online.com/8a25/0900766b814da0a4.pdf In the STMCube and the schematics you can see which pins have which functions. With the chip shortage it is wise to check whether new ones are in stock so you will be able to make new prototypes when you want to. (I ordered extra at the end of the year so you shouldn’t have to worry about it for now ) The STM32F767ZI microcontroller is the brain of both the robot and the basestation. It runs at 150MHz, has 2MB Flash memory, 512KB RAM, and 14 timers. It supports UART, USART, SPI, QUADSPI, I2C, Full Speed USB, and more. The microcontroller has 144 pins. Via these pins, the microcontroller on the robot connects through all other peripherals on the robot. The pins visualized here are for the robot. The basestation has different names and functions assigned to its pins. The microcontroller is programmed using embedded C in combination with the HAL library. The VSCode editor is used in combination with the PlatformIO plugin.

Wireless transceiver

The wireless transceiver we use is the EBYTE E28-2G4M12S SX1280 2.4G LoRa Bluetooth Module 2.4GHz Wireless rf Transceiver SPI Long Range BLE rf Transmitter 2.4g Receiver. This is the only component on the topboard we buy from aliexpress/amazon, so take longer delivery time into account. This one can also be reused really easily so if you need to, you can desolder them from older broken robots and reuse them. The SX1280 is used to wirelessly communicate between robots and the basestation. The basestation has two SX1280's, one for transmitting to the robot at 2.385GHz, and one for receiving from the robot at 2.395GHz. The robot has one SX1280 for both transmitting and receiving. At 2.4GHz, it can transmit up to 1.3Mbps in FLRC mode. It can send and receive packets of variable length up to 127 bytes.

Switches

ID

The ID unit is a 4Way Surface Mount DIP Switch SPST. It MPN is IKD0403101 from APEM. The colors on the cap on top of the robot decide which ID it should be. Using this switch you can also let the robot itself know which ID it has. It is possible for 2 robots to have the same ID and they will get the same commands which can be really funny but also dangerous so please take this into account. The switches are numbered from 1 to 4, with 1 representing the least significant bit of the binary ID and 4 being the most significant. Example: If the switches are as follows: ON - OFF - ON - OFF, the ID should be 1*2^0 + 0*2^1 + 1*2^2 + 0*2^3 = 1 + 0 + 4 + 0 = 5.

Debugging

Next to the ID switches is a set of 4 switches used for debugging and team setting purposes. As of the writing of this information, FT3 and FT2 do not have any function

Buzzer

The buzzer we use is the KPEG153 of Kingstate. https://docs.rs-online.com/f609/0900766b8068ec46.pdf . Ours is driven by the PMF250XNE. One resistor is put parallel as the buzzer has capacity and needs to discharge or it won’t make a sound. The value of this resistor is important for the sounds/loudness of the buzzer and from trial and error 1k deemed to be the best.

What does the beeping at booting up mean?

When the robot is booting in a normal mode without any errors, there are 3 different beep sequences right after each other:

  1. A single “aliveness” beep
  2. Team beep. This is based on the amount of syllables in the colour
    1. Single beep: BLUE
    2. Double beep: YE-LLOW
  3. 4 ID beeps in the order of most to least significant bit

[TODO: Add testing mode] [TODO: Add non-development branch detection]

Reset button

The reset button is just a simple button bought at the STORES. And as the name indicates, it is for resetting.

Ball sensor

The computer requires about 100ms to decide the next action for each robot. Within this time, a ball can move up to 65 centimeters per the official RoboCup rules. The computer is too slow to send a kick command fast enough for the robot to kick balls moving at high speeds. To allow the robot to kick a ball instantly, a ball sensor has been added. The ball sensor is a Neonode zForce AIR touch bar. It is placed at the front, aiming at where the robot would be able to kick the ball. The ball sensor scans at a rate of 200Hz. Between two scans, a ball can move at most 3.25 centimeters. The kicker has a width of 4.5 centimeters, thus the ball will always be in range. The computer can instruct the robot to anticipate the ball, and shoot it as soons as it is detected. The ballsensor allows for faster plays, which are harder to anticipate and defend against. The ball sensors have 2 different wires, one with red tape and one without/white tape. The red tape ones should be attached to TopBoard 3.4 and 4.0, the others to 3.3. If you attach the wrong ones, the ball sensors will break and that stuff is expensive and custom made so just don’t.

Wheel encoders

The wheel encoders we use are the ENX QUAD 24. The maxon QUAD encoder uses two standard Hall sensors to generate incremental quadrature output signals. They possess two channels (A, B) with single ended signals. The resolution is 1 impulse per turn. With quadrature encoding, 4 states per turn are available for detection of speed, direction, and position.

Components

Updated 29-08-2023, using the Top Board 4.2 schematic and BOM

Designator Order code Component name Description Value
B100 Buzzer
C100, C400, C401, C405, C500, C503, C504, C505, C506, C507, C600, C601, C602, C700, C703, C704, C705, C706, C707, C709, C710, C711, C712, C713, C714, C716, C718 Capacitor 100nF
C300, C301, C302, C701, C702, C708, C715, C717, C719, C800, C801, C802, C803, C804, C805 Capacitor CAP 100nF 25V ±20% 0805 (2012 Metric) Thickness 1mm SMD 100nF
C402, C403 Capacitor WCAP-PSHP Aluminum Polymer Capacitor, V-Chip, SMT, D8xH8.7mm, 68uF, 20V 68uF
C404, C406 Capacitor 10uF
C407 Capacitor 12.5nF
C408 Capacitor 50pF
C409 Capacitor 2.7pF
C501 Capacitor Electrolytic Capacitor, 470 µF, 16 V, MCGPR Series, ± 20%, Radial Leaded, 1cm 470uF
C502 Capacitor Electrolytic Capacitor, 470 µF, 16 V, MCGPR Series, ± 20%, Radial Leaded, 8 mm 470uF
D400 PMEG40T50EPX Schottky Diode DIODE SCHOTTKY 40V 5A CFP5 40V, 5A
D500, D800, D801, D802, D803 PTVS24VP1UP Transient Voltage Suppressor NXP TVS Diode, TVS, AEC-Q101 PTVS Series, Unidirectional, 24 V, 38.9 V, SOD-128, 2 Pins
ENC_LB800, ENC_LF800, ENC_RB800, ENC_RF800 Connector 2.54mm Pitch Right Angle Through Hole IDC Connector, Male, 10 Way, 2 Row
F400 Fuse
FB300, FB400, FB600, FB601, FB602, FB700, FB701, FB702, FB703 742792641 Ferrite Bead WE-CBF SMT EMI Suppression Ferrite Bead, size 0603, 300Ohm, 2A 300R, 2A
IC300 MC-28PLCC IC Socket MC-28PLCC - IC & Component Socket, 28 Contacts, PLCC Socket, 2.54 mm
IC400 Low Dropout Regulator LDO Regulator, 1.3A, 3.3 V 1.3A, 3.3 V
J500 690357101272 Connector WR-MM Mini Module Connector, Male, THT, without Latch, with Polarization, Straight, 12p
J501 690357102472 Connector WR-MM Mini Module Connector, Male, THT, without Latch, with Polarization, Straight, 24p
J600 DM3CS-SF Micro SD Holder CONN MICRO SD CARD HINGED TYPE
L400 B82462-G4 Inductor EPCOS, B82462-G4 Shielded Wire-wound SMD Inductor with a Ferrite Core, 10 μH ±20% Wire-Wound 3.4A Idc 10 μH ±20%
LD0, LD1, LD2, LD3, LD3.3V, LD4, LD5, LD5V, LD6 150080SS75000 LED SMD mono-color Chip LED, WL-SMCW, Super Red
M100 PMF250XNE N-Channel MOSFET
MAIN600 Connector JTAG and usb header
P400, P401 PMPB27EPA P-Channel MOSFET P-channel enhancement mode Field-Effect Transistor (FET) in a leadless medium power DFN2020MD-6 (SOT1220) Surface-Mounted Device (SMD) plastic package using Trench MOSFET technology.
P402 Header Pins Header, 2-Pin
P403 Header Pins Header, 4-Pin
P800, P801, P802, P803 Connector TopBoard side MotorDriver connector, 6-pins THR CMP-006-000018-1
R100, R102, R104, R106, R108, R110, R112, R115, R401 Resistors 1k
R101, R103, R105, R107, R109, R111, R113, R114, R405, R407 Resistors 10.2k
R400, R406 Resistors 1.96k
R402, R403, R404 Resistors 150k
R408 Resistors 270k
R500, R501 Resistors 10k
R600, R601, R602, R603, R604, R605 Resistors 47k
R606, R607 Resistors 0R
Rst100 Button TL 1105 - E switch
SW100, SW101 418121270804 Switch WS-DISV 2.54 mm small compact SMD Dip Switch with raised actuator
SX600 E28-2G4M12S Wireless transceiver EBYTE E28-2G4M12S SX1280 2.4G LoRa Bluetooth Module
U100, U501, U502, U800, U801 74AHCV541A Octal Buffer Octal buffer/line driver; 3-state
U400 TPS54332DDA Step Down Voltage Converter Conv DC-DC Single Step Down 3.5V to 28V 8-Pin HSOP EP Tube
U500, U503 NCA9306DC Logic Level Converter 2-bit bidirectional multi-voltage level translator; open-drain; push-pull
U600 Microcontroller High-performance and DSP with FPU, ARM Cortex-M7 MCU with 2 Mbytes Flash, 216 MHz CPU, Art Accelerator, L1 cache, SDR…
U802, U803 74HC4050 Non-inverting Level Shifters Hex non-inverting HIGH-to-LOW level shifter
Y600 830208215109 Crystal WE-SPXO Simple Packaged Quartz Oscillator, SMT, IQXO-540, 24MHz, 3.3V