The main reason to choose a microcontroller instead of a microprocessor to serve as the brain of our robot is because of the manufacturing cost. Although the manufacturing cost is not our primary concern for this project, we believe it is necessary to consider this factor when selecting a development board. A microcontroller is very economical and we want to decrease the manufacturing cost of the final product as much as possible. It should provide enough processing power. Even though, this robot is not computationally heavy, it should provide enough processing power to handle necessary control algorithms.Lastly, a microcontroller board has most peripherals needed by the project, which makes it very convenient.
The trade study focuses on selecting the microcontroller board to be used in the robot only. It is possible to use another microcontroller board for the remote control but it is less important and beyond the scope of this trade study.
There is a substantially large selection of microcontroller boards on the market. We found that an efficient way to choose alternatives was to examine the available products offered on www.robotshop.com. Since the RooBot needs to be small and light, we filtered out the boards that were too large and chose one board from each brand following a preliminary comparison based on listed properties. The following is the list of our chosen alternatives:
1. BasicATOM Pro 40-M
2. Picaxe SM 28X2 Module (PIC18F25K22)
3. Parallax Javelin
4. Arduino Fio V3
5. Nanocore NC12MAXC32
6. Pololu Baby Orangutan B-328
This section explains the ranking criteria.
Physical Properties: Includes dimension and weight, with the former more important. Physical Properties of the micro-controller board enjoy high priority as they directly influence the physical properties of the robot, which heavily influence the power needed to perform jumping task and the safety level for children to interact with the robot.
Power Consumption: Power consumption of the microcontroller board constitutes a sizable portion of the total power consumption and thus enjoys medium priority.
Development Environment: Includes programming tools, programming languages, available documentation and community support. It is worth noting that both available documentations and community support refer to the support in terms of issues related to the microcontroller board rather than the programming language. Development Environment enjoys medium priority because it provides convenience and efficiency to our development. As to the sub-criteria, programming tools are the most important because an inadequate programming software hinders efficient progress; programming languages are least important because our team can handle most common programming languages.
MCU: Includes CPU clock speed,processor word size, SRAM and program space, with the former three much more important as they are related to the processing power of the microcontroller. MCU enjoys medium priority because the project only requires moderate processing power from the microcontroller.
Number of I/O Pins: the number of I/O Pins determines the number of peripheral devices that can be connected to the microcontroller; since it limits the flexibility of our design and enjoys a high priority.
Cost: The cost refers to the cost of microcontrollers in terms of our project instead of the manufacturing process. Since this project aims to develop the first prototype, the manufacturing cost is much less important than the prototype development cost. However, since the budget is $3,800 but a microcontroller board generally costs less than $100, the priority of cost is low.
Physical Properties - Dimensions
Dimensions are measured in terms of the largest dimension among the length, width and height. They generally have a negative relationship with the grading but the curve has a steeper slope at larger values because a large size limits the flexibility of design.
Physical Properties - Weight
The weight of the micro-controller constitutes a small portion of the total weight of the robot and has a negative relationship with the grading
Power Consumption
Power consumption has a negative relationship with the grading but the curve has a steeper slope at larger values because when the power consumption of the micro-controller becomes large, it would constitute a sizable portion of the total power consumption and is very undesirable.
Development Environment - Programming Tools
Programming tools are examined by their related compilers and their interface.
Development Environment - Programming Languages
Programming languages are considered in terms of the program execution speed and their popularity.
Development Environment - Available Documentation
Available documentation is examined in terms of its existence and whether it is online or offline.
Development Environment - Community Support
Community support is examined by the existence of webpage FAQs and an online technical discussion forum.
MCU - CPU Clock Speed
CPU clock speed has a positive relationship with the grading, but the curve has a steeper slope at smaller values because if the CPU clock speed is too slow, the microcontroller might not provide enough processing power to handle its tasks.
MCU - Processor Word Size
Processor word size has a positive relationship with the grading as larger word size provides more processing power. The slope does not change because we believe even an 8 bit processor should be able to handle its tasks.
MCU - RAM
SRAM has a positive relationship with the grading but the curve has a steeper slope at smaller values because if the RAM size is too small, it may significantly hinder the processing speed.
MCU - Program Space
Program space has a positive relationship with the grading but the curve has gentler slope at large values because too much program space contributes little to our development
Number of I/O Pins
The number of I/O pins has a positive relationship with the grading but the curve has a steeper slope at smaller values because small number of I/O pins limits the number of peripheral devices connected to the microcontroller unit, which significantly limits the flexibility of the design.
Cost
Cost has a negative relationship with the grading. As the cost of the of product increases, its corresponding grade decreases.