Interface board:
The interface board is only made to interface the sensors and actuators to the motherboard (the FoxBoard). This board does not integrate any intelligence.
PicBasic :
I choose a PicBasic (Comfile) instead of a standard microcontroler. The performances would have been greater with a real microcontroler. But I didn't want to learn programming a microcontroler. The PicBasic is very easy to use, and simple application can be developped very quickly. Furthermore, I don't need computing power. The only role of the PicBasic is to interface some sensors and actuators listed below. The PicBasic is the slave of the FoxBoard.
- Propulsion motors control
- 5 Ultra-Sonic range Finder
- one Buzzer + one LED
- One 2x16 characters LCD Display
- Battery voltage mesurement
The PicBasic and the Motherboard are linked together with a bidirectional asynchronous serial interface. The baudrate is low (19200bds), but I don't need more, and this makes the link more robust.
HCTL2032 :
The HCTL2032 integrates dual a quadrature decoder and counter. It is capable of interpreting the signals that comes from the two optical encoders, computes the rotation of the wheel and then increment or decrement the associated counter. I use this component with poor encoders (200Hz max), and the HCTL2032 is therefore over-dimensionned. Furthermore, I only use 16 bits (out of 32 bits) of each counter... But it works!
The HCTL2032 is directly connected to the port I/O G of the FoxBoard. The component needs 5 lines for commands (FOX -> HCTL), and 8 lines for datas (HCTL -> FOX). For the command 5 lines, the voltage delivered by the FOX is not adequate. A 78HCT04 is needed to convert the 3.3V signals of the FoxBoard into TTL signals.
The clock signal for the HCTL2032 is directly taken from the PicBasic clock signal (Pin CLKOUT of the PicBasic).