XMC2Go Design Challenge: ROBI Robot

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Not applicable
XMC2GO Design Challenge 2014 Italy – Results Report


Robi has been designed by Tomotaka Takahashi, creator of world-famous robots, well known for the stylish design of his creations. Robi has a friendly and stilysh look, measuring 30 cm with a total weight of 1kg. He is able to understand more than 250 commands, sit, walk, dance, turns on the TV as a remote control, responds every time you call his name, and when someone comes home, he welcomes her/him.

1109.attach

His mouth lights up in red every time he speaks and shows his emotions, also changing the color of the eyes.

Here are some of the Robi features (unofficial list):
1110.attach

Given the reduced number of sensors (beyond some necessary for its operation) and due to two main factors: the small size of the robot, the choice fell on the small XMC2GO card, used for building a small sensor board to be placed inside of the robot.

The project involves the implementation of these components/sensors:

  • temperature sensor;
  • light sensor;
  • monitoring of battery voltage and current consumption.

The above mentioned values will be shown on a small LCD display.

In addition to the main component represented by the XMC2GO card, also the sensors, the peripherals, and the logic levels of the communication lines with the processor must be powered through a 3.3V voltage.
The components are:

  • a TMP36 temperature sensor with analog output;
  • a GA1A12S202 light sensor with analog output;
  • INA219 voltage and current sensor with I2C interface;
  • an OLED display with a resolution of 128x32 pixels and I2C interface.

All of the components will be assembled on a single small board, equipped with a connector for the power supply and connectors for the other modules.

The control board
At the heart of the circuit is the XMC2GO card (Datasheet), developed by Infineon: it is a small Evaluation Kit (38.5 x 14 mm) based on an ARM Cortex processor running with a clock at 32 MHz.
Among the available peripheral modules we can list:

  • 2 USIC channels (UART, SPI, I2C, I2S, LIN);
  • 6 12-bit Analog to Digital converters;
  • 4 16-bit Timers;
  • real Time Clock;
  • random number generator;
  • 2 LEDs driven by the processor and the one indicating the power of the module.

The pins associated to the internal peripheral modules are made available on the 14 available pins. The module can be powered by two pins that must be set at a voltage of 3.3 V.

1111.attach

The main electrical characteristics of the XMC2GO kit are:

1113.attach


Pin Header
The X1 and X2 pin headers are used to access the pins of the XMC1100 processor.
The order of the pins available on X1 and X2 is printed on the bottom side of the PCB.
Some of the processor pins have been already used. In particular, P1.0 and P1.2 pins are already connected to the two SMD LEDs of the board.
LED 1 is connected to pin P1.0, while LED2 is connected to pin P1.1.
1112.attach


Power Supply
The XMC2GO board can be powered by an external 5V DC power adapter connected to the USB Micro port, used for programming; in this case the power consumption will be about 75 mA. The Power & Debug LED indicates the presence of the 3.3V supply voltage generated by the on-board regulator.
A protective diode ensures operation in the event that power is supplied through the appropriate pin connector on the X1 header.
The on-board integrated regulator is the IFX54211MB_V33 manufactured by Infineon and able to provide a maximum current of 150 mA.
As the power supply will be derived from the ROBI robot battery (which provides 7.4 V), an LM1117-3.3 regulator has been chosen. Manufactured by Texas Instruments, it is an LDO regulator with low dropout current (1.2 V at a current of 800mA) and will be used to power both the module and the peripherals connected to it via the X1 pin header.


The temperature sensor
The sensor chosen for temperature measurement is the TMP36 manufactured by Analog Devices, which can be powered with a voltage between 2.7V and 5.5V.
The sensor provides an output voltage that is linearly proportional to the measured temperature, expressed in Celsius degrees. It does not require any external calibration and provides an accuracy of ± 1°C at +25°C and ± 2°C in its temperature range between -40°C and +125°C.
The current consumption is less than 50 µA, providing a low self-heating of less than 0.1°C in still air.
The TMP36 provides an output of 750 mV at 25°C with an output scale factor of 10 mV/°C. The sensor looks like a regular 3 pin transistor. Each pin function is shown in the following image.


Light sensor
The light sensor is not a regular photocell, but it is a GA1A12S202 analogic light sensor produced by SHARP.
Just as a CdS photocell, the sensor provides an analog output voltage that increases with the amount of light that illuminates the sensor. Unlike an usual photocell, this aspect ensures stable light measurements at varying temperatures, and its response curves are compatible with the human eye. The light sensor measure will be acquired through one of the A/D ports provided by the XMC2GO board.
The sensor size is only 1.6 x 2.0 mm, and in order to facilitate its use it will be used a small module manufactured and sold by Adafruit.


Voltage/current sensor
In order to measure the voltage and current provided by the battery, it will be used a small module the heart of which is represented by the INA219 sensor manufactured by Texas Instruments.
It is a voltage and current meter equipped with an I2C interface; the IC is able to monitor both shunt drop and supply voltage, with programmable and filtering periods.
The combination of programmable calibration and internal computation capability, allows direct readings. A further multiplication register is in charge of performing the power computation, in watts. The I2C interface has 16 programmable addresses.
The IC allows the reading of voltages between 0V and 26V, and currents up to ±3.2A with a resolution of ±0.8mA.
The sensor power supply can range from +3 to +5.5 V while absorbing a current of only 1 mA. The operating temperature of the device can range from -40°C to +125°C.
For our circuit we will use a specific card developed by Adafruit.


OLED display
Measured values will be shown on a small display connected to the XMC2GO board through the I2C serial interface.
Regarding this device, we opted for an OLED display (Organic Light Emitting Diode) manufactured by Adafruit, with resolution of 128x32 pixels. LEDs are white and each of them can be turned on or off through the controller chip. The overall size of the module is 46.30 x 11.50 x 1.45 mm.
Since diodes emit its own light, no backlight is required, thus reducing the overall power consumption.
The driver is the SSD1306 IC (Datasheet), which communicates with the processor via the I2C channel.
The module supports both 3.3V and 5V power supplies, making it compatible with the voltages and levels required by the XMC2GO board. The current consumption depends on how many pixels are turned on but, on average, it is around 20mA.


The software
Talking about the software is quiet early, it will be necessary first of all to have the card in order to perform the initial tests. The card will be programmed using DAVE (Digital Application Virtual Engineer), currently available in version 3. DAVE is a development platform for the XMC microcontroller series that simplifies and shortens the software development process.
The software will take care of the input and output pins configuration, and the monitoring of the values provided by the light and temperature sensors.
The management of the TMP36 sensor will also include the processing necessary to convert the measured voltage into a valid temperature value.
As for the INA219 sensor and the display module, it will be also necessary to manage the I2C communication, both for acquiring the measures and showing output values on the display.
0 Likes
0 Replies