Hardware

Sensorarray

SensorarrayImage

Specs V4

Processor: STM32G030F6P6 - 32-bit ARM Cortex M0 CPU @ 64 MHz
I/O: 1x I2C, 1x SWD
Sensors: 5x QRE1113GR

Specs V2

Processor: ATMEGA328P-AU - 8-bit CPU @ 16 MHz
I/O: 1x I2C, 1x UART, 1x ISP
Sensors: 5x QRE1113GR

Details

Das Sensorarray wird verwendet um Linienen vor dem Roboter zu erkennen. Es agiert als I2C Slave und muss dementsprechend aktiv gepollt werden. Zusätzlich besteht die möglichkeit alle Emitter zu deaktiviern um einen eventuellen Messfehler durch Sonneneinstralung oder andere Störquellen zu erkennen.

Version 4 unterscheidet sich zu Version 2 im Mikroprozessor, da es zu Lieferengpässen des ATMEGA gekommen ist. Zusätzlich wurde die möglichkeit alle Emitter einzeln an bzw. auszuschalten entfernt, da diese keinen signifikanten Mehrwert brachte.

Motorboard

MainboardImage

Specs

Motor-Treiber: LV8548MC-AH

Details

Das Motorboard kann an einen der 4 Ports am Roboter angesteckt werden und ermöglicht das Ansteuern von Motoren und auslesen von Encodern.

Mainboard

Specs

Processor: STM32L051C8T6TR - 32-bit ARM Cortex M0 @ 32MHz
I/O: 4x I2C (3x Bus 1, 1x Bus 2), 1x 40 Pin GPIO Header, 2x SPI (Verbunden mit GPIO), 4x Motor-/Servo-connector, 1x SWD, 1x USB-C

Details

Das Mainboard wird auf den GPIO-Header eines Raspberry Pi gesteckt und ermöglicht die Steuerung eines Roboters mittels 4 Motor- bzw. Servo-Ports. Der RaspberryPi kommuniziert dabei mittels SPI mit dem Mainboard und steuert die einzelnen Sensoren oder Module an. Zusätzlich befinden sich auf der Unterseite des Mainboards Lötstellen, welche direkt mit der Stromversorgung der Motoren verbunden sind und geben so die möglichkeit Motoren mit mehr als 5V anzusteuern.