Controller Board with ROS Embedded
This is a software for DuckiePilot 1.2 board. It has a TM4C123 microcontroller.
The board consists of:
2 Motor Drivers 2 Hardware Quadrature Encoder Interfaces (QEI) 5 Serially addressable leds. 2 I2C Ports 2 SPI Ports 2 Serial Ports 2 DS18B20 temperature sensors 4 Ch ADC Port On board RTC Hibernate and Wake circuitry 2 independent 3V3 Power buses, for peripheals and mcu. The peripheals can be shutdown by mcu. 4 Ch ADC Port On board Power supply unit (Pololu #2831) IMU Port. (GY-BNO055) JTAG Port for reprogramming the firmware
The motor driver current is measured by the mcu as well as fault conditions.
Namely, it connects to a roscore with rosserial, and you get:
/cmd_vel subscriber /odom publisher /tf publisher /leds subscriber /pilotConfig service
The pilotConfig Service, configures the robot for
float32 kP float32 kI float32 basewidth float32 ppr float32 ticks
PCB design for the 1.0 version of the board.
1.0 Board constructed.
Board controlling 2 N20 motors. One of the I2C ports is inhabited with a commodity compass sensor. One of the serial ports is connected to the dorji transceiver. The dorji transceiver is not required for this project at all, but it is just an optional port with 3 DIO pins, and RX,TX. Can also be helpful to connect a lidar.
PCB design for the 1.1 version of the board.
2 SPI Ports 4 Ch ADC On board Power supply unit (Pololu #2831) IMU (GY-BNO055)
1.1 Board constructed.