Cleaning Robot Controller

(V1) May 2020, (V2) November 2020, (V3) April 2022

Repository: V1 electronics

For this project, I helped a startup build all the custom electronics in their deck staining and cleaning robot, from planning the system architecture to designing, assembling, testing the boards, and writing firmware for the STM32F407 MCU. We stayed in touch over time and I built several versions of the controller.

Architecture

The system architecture was established taking into consideration the mechanical design, space constraints and the startup team familiarity with some systems over others. It is also meant to leave enough flexibility to try different configurations and easily iterate on different submodules.

Capture.PNG

Main Board

4 Layer PCB that combines the main power and low level control systems for the robot:

  • 24V to 5V, 5A Switching regulator that powers the main board, the Raspberry pi and its HAT board, as well as all onboard sensors.

  • Six 24v, 3A and Two 24V, 7A DC motor drivers for the various drive, cleaning and staining sub-systems

  • Various sensor inputs (analog and digital), Serial communication ports (USB, UART, SPI, I2C and RS485)

  • 100% test point coverage

  • All within the 110x70mm size constraints available.

  • Firmware developed in C using STM CubeMX libraries, but cannot be made public as of yet.

Raspberry Pi HAT

In an effort to keep the navigation subsystem separate from the rest of the robot to improve its development speed, I kept some of the sensors (namely the main IMU and frontal ultrasonic sensors) directly connected to the Raspberry Pi (Ros master). A secondary SAMD21G (cortex M0) microcontroller was added on to facilitate testing different connection configurations and sensors.

the board can be directly programmed and debugged from the Raspberry Pi.

layout.PNG
WeChat Image_20200813184904.jpg

UI Board and custom IR sensors

Other custom boards in the system are:

  • An Interface board with buttons and indicator LEDs to test and display different working modes

  • An IR based Cliff sensor with a voltage controlled current source to adjust the IR LED current while testing in different conditions

  • A similar line following version of the cliff sensor using two IR LEDs controller by the same current source

layout.PNG
cliff_sensor.jpg
layout.PNG
front_gap.jpg
layout.PNG
UI_Board.jpg
Previous
Previous

LED Smartwatch

Next
Next

Thermal controller for PCR machine