Microcontroller

Het hart van de robot is de microcontroller. De opdrachtgevers lieten ons toe de Microchip PIC16F876A te gebruiken. Bij deze microchip werd ook een demobordje gegeven, wat het testen met de microchip van dag 1 mogelijk maakte.

De microcontroller heeft wat extra hardware nodig om minimaal te kunnen functioneren:

De microcontroller kan via bovenstaande schakeling een gestabiliseerde voeding van 5V verkrijgen. Deze schakeling is echter wat complexer dan nodig, er werd in onze uiteindelijke schakeling dan geopteerd voor de schakeling die ook terug te vinden is op het demobordje. Deze omvat een diode als beveiliging tegen verkeerde aansluiting van de batterijen en een condensator van de grootte orde 500µF tussen de uitgang en de ground.

Omdat 1 batterijpack van 6V net iets te nipt is om de stabiele 5V te krijgen, wordt de 7805 gevoed met 12V. Dit betekent wel dat de 7805 zeer warm wordt omwille van de grote spanningsval. Er zijn 2 oplossingen denkbaar: in twee trappen naar 5V gaan, gebruik makende van twee regulatoren; of het plaatsen van een koelvin om de overtollige warmte af te voeren. De laatste optie werd gekozen omwille van de eenvoud.

Om maximale snelheid te garanderen werd ook van deze schakeling afgeweken: er werd voor een hogere klokfrequentie van 8MHz geopteerd, dit was namelijk ook de klokfrequentie van het demobordje waar op getest werd. De condensatoren van 18pF dienen dan vervangen te worden door 21pF.

Om het programma in de microcontroller te laden kan gebruik gemaakt worden van de In-Circuit Serial Programming (ICSP). Hiervoor wordt gebruik gemaakt van de PICKit2 programmer. Bovenstaande figuur geeft aan hoe de 6 pinnetjes van de PICKit2 verbonden moeten worden.

Er wordt eveneens nog een reset-knop voorzien (niet op de figuur), tussen pin 1 (MCLR/Vpp) en de ground. De MCLR-pin van de microcontroller wordt bij een reset dan op 0 gezet, wat ervoor zorgt dat alle instellingen opnieuw default zijn, en het programma weer van voorafaan kan beginnen.