QSET Arm PCB V1
Introduction
Celebrating my first completed project as a new member of the Queen’s Space Engineering Team (QSET): The Arm Control Board. The objective of the Arm board is to act as an interface between the hardware of the arm and the ROS software that runs the rover. This includes interfacing with several limit switches, servos, and CAN-based motor controllers.
Designing the PCB
This design contains several features including:
- 6 Debounced digital inputs
- 4 PWM connectors with 5V logic level shifting
- 2 CAN bus connectors
- 4 Load switched 5V power connectors
- 1 DC Motor driver circuit
- 1 USB type C device interface
- 2 USART connections
Digital Inputs
The arm board contains six digital inputs for limit switches used during the homing sequence. Each input is individually debounced and routed into a digital input pin on the MCU.
PWM Connectors
The board also provides four PWM outputs for 5V servo connections. Each servo header is connected into 5V power and is logic level shifted to ensure compatibility with most servos.
Load Switches
The arm has various tooling attachments requiring 5V power. Each 5V output is load switched and capable of handling a 2A load.
The MCU
Like most of my recent projects, an STM32F446 is used at the heart of the design. See the schematics and PCB screenshots shown below, illustrating the USB and CAN bus connectivity.
Final Design
Design files are available on my PCB GitHub Repository. All of my designs are free to use but credit must be given to the original author (me).
Conclusion
Now that this board has been completed, I will continue working with the team to develop FreeRTOS-based firmware, allowing the board to be controlled over a custom USB CDC interface.