Initially the microcontroller used was the PIC18F4550 from Microchip. This uC was chosen because it had many output pins, as well as other peripherals that would be useful. The peripherals that we ended up using were:
- Analog to digital converter to capture the output voltages from the flame sensor.
- Pulse width modulated output to produce signals which are later filter to produce analog outputs.
- USART, which is used for serial communication.
- Timers, which were used to produce the timing signals for the RC servo motors.
Details on the firmware that ran on the uC is in the software section.
Using a DIP package made it easy to prototype the circuit on a breadboard. Our attempt to transfer the circuit onto a protoboard failed due to some wiring faults. Therefore, we ended up using a breadboarded circuit for our final demo.
Near the end, we realised that we did require the large number of input and output pins that the 40pin PIC184550 offered, and swapped it for the PIC18F2455. This resulted in no change in functionality or code but afforded us more space in our electronics box. More space meant we could route our cables and wires more effectively, which we appreciated.
For future needs, this uC will probably be sufficient. It definitely has the processing capacity for carrying out some low level control code. However, higher level control such a path planning would probably have to be done on a separate system.