P10203: LV1 Motor Controller Mission Statement: To reduce cost of the previous RP1 Motor Controller created by P09204 while also improving performance and aesthetics of the design. Motivation: The Land Vehicle Platform for 1 kg payloads (LV1) is a robotic assembly and physical platform built for the purpose of expediting the construction of high level engineering projects. Frequently, large amounts of time and effort go into engineering practices to build a robotic platform as a basis for more complex designs. The intention of this family of projects is to produce a series of modular, manufacturable and cost efficient vehicles to be implemented in a number of engineering applications. Project Description: Design a motor controller device that interfaces with the LV1 Platform Integration Project (P10201), LV1 Motor Module Manufacturability Project (P10202), and LV1 Wireless Command and Control System (P10205) in order to create a modular robotics platform for use in a classroom environment as a learning tool. • Design Specifications to Meet Needs: • The new controller design implements all of the RP1 elements on two main printed circuit boards rather than the 6 previously used. This greatly reduces the overall cost • The controller makes use of a predefined code set in order to establish a link with the user interface. The controller itself also has low command throughput latency. • The controller consists of two main boards that can be reconfigured on the chassis as desired. Thus the center of gravity can be altered as needed for different applications. • The controller interfaces with the chassis for power and the wireless link for command input. It then interprets commands and sends them to the motor modules to establish movement. • By reducing the total number of controller PCB, internal wiring of the controller is reduced by 75%, making it neater and less prone to operator error. • High Level Customer Needs: • The controller design is cost effective compared to the RP1. • The controller is able to make the platform move with agility and controllability. • The controller is modular and can be configured in several different options to support varied functionality. • The controller is able to interface with the other modules of the LV1. • - The controller improves upon the aesthetics of the RP1. • Designed Power Distribution and Motor Driver Board: • The Power Distribution and Motor Driver Board is a PCB Designed by members of P10203. It implements four elements of the RP1 project on one board. • The 5V logic regulator takes in the 7.4V (nom) input voltage from the Chassis Battery and converts it into a 5V logic level for use by the processing units of the controller, (BD Micro and ArduinoNano boards). • The 6V servo regulator takes in the 7.4V (nom) input voltage from the battery and converts it into a 6V output level that is used by the servo motors of the Motor Modules. • - The two Bidirectional Motor Driver circuits are identical H-Bridge designs that take an input pulse width modulated signal from the PID controller and amplify it to voltage levels suitable for use by the DC Drive motors. • The ArduinoNano PID controller is connected to this board via two 15 pin SIP connectors. All utilized motor driver signals are routed through the board to their appropriate locations in order to reduce the number of board to board wires required internally to the controller. • - Both this designed board and the BD Micro Development board are mounted to a bracketed base plate which is attached to the chassis. BD Micro Mavric IIB Development Board: The BD Micro development board is an open source Microcontroller Board based on the Atmel ATMega 128 MCU. This device interprets commands provided by the User Interface and sends them to the rest of the board. ArduinoNano Development Board: The ArduinoNano is an open source microcontroller that functions as a PID controller. It uses a PID algorithm to monitor encoder feedback to control and adjust motor speed. The PID controller directly controls all servos, PWM drivers for the DC motors, and monitors encoder feedback. It communicates with the Processing Subsystem using the I2C bus controller. Features: Atmel ATmega128 MCU , 128K Program FLASH, 4K Static RAM, 6 R/C Servo Headers, up to 51 digital I/O pins, Small size at 2.2 x 3.6 inches • Results and Conclusions: • Performance of the Motor controller is equivalent to that of the RP1 with a 20% decrease in overall cost of components. • - Wiring reduction has made debugging and setting up the controller much easier. • The ArduinoNano PID Controller has been upgraded to a new model. This has increased the amount of memory on the device while decreasing the cost by 30 %. • The Servo Regulator IC has been replaced by a more efficient linear regulator from the RP1, making it more power efficient to increase battery life. • The controller is able to interface with the battery and wireless team at the front end as well as two motor modules at the back end. A command from the GUI is sent over the controller and interpreted into motor motion, (speed and direction). Team Members: Adam Gillon (EE) Andrew Krall (ME) Kory Williams (EE) Louis Shogry (ME) OladipoTokunboh (EE) Additional Information: For Additional Information, please visit our website at: https://edge.rit.edu/content/P10203/public/Home Acknowledgements: Special Thanks To: Phil Bryan (Guide) Leo Farnand (Guide) Dr. Edward Hensel (Sponsor) Dr. Hoople, Dr. Patru (EE) Dr. Walter (ME) R.I.T. Kate Gleason College of Engineering • Future Improvements: • The PID algorithm for interpreting encoder feedback could be written into code and implemented on the MCU development board. • The PID mounting issue could be resolved to improve external wiring to the device. As of now, wires must be soldered to the bottom of the connector. • Linear regulators could be replaced with switching regulators to increase overall power efficiency of the design.