L’elettronica con un PIC 16F84A

di Raffaello Bonghi

Siamo arrivati finalmente a realizzare la prima scheda del nostro minisumo con una elettronica del robot gestita da un PIC 16F84A.

La prima operazione che dovremo iniziare a fare come nel precedente articolo sull’elettronica BEAM sarà reperire i componenti:

5 0.1mF C3, C8, C9, C4, C5
1 1K Ohm R15
2 1N4148 D1, D2
1 2,2K Ohm R10
1 4 Mhz< Q1
6 10K Ohm R4, R5, R6, R7, R13, R14
2 22pF C1, C2
2 33mF C6, C7
1 68 Ohm R12
1 74HC14N IC3
3 220 Ohm R1, R2, R3
2 270 Ohm R8, R9
1 7805T IC2
1 BC337 T1
1 RELE MONOSCAMBIO K2
2 LED5MM ROSSO LED1, LED2
1 LED5MM VERDE LED3
1 LED5MM GIALLO LED4
1 L293D IC4
1 PIC16F84AP IC1
4 Connettore 2 Poli X1, X2, X3, X6
1 Connettore 3 Poli X4
3 Connettore 2 Poli/strip J6, J7, J8
2 Connettore 3 Poli/strip J1, J2
2 Connettore 4 Poli/strip J3, J4
1 Connettore 5 Poli/strip J5
1 Interruttore S1
1 Pulsante S2
1 Dissipatore Per 7805

Questa scheda rispetto alla precendete come abbiamo potuto notare utilizzerà un PIC per la gestione dei sensori, dei motori e di tutto quello che è necessario per poter far combattere il nostro minisumo.
Utilizziamo i precedenti sensori comprati per il robot vale a dire gli Shap 2 GP2D15 ed i 2 QRB1134.

GP2D15QRB1134

Fatto questo potremo finalmente iniziare a stampare la scheda del robot realizzata apposta per gli utenti di minisumo.net, qui possiamo vedere le foto.

Stampato con PIC

Stampato con PIC

Circuito con PIC

Circuito con PIC

Il Ponte H

ponte H

ponte H

Come abbiamo notato il circuito è costituito da 2 schede, una con l’elettronica ed una con il Ponte H, costituito da 2 integrati: L’293D ed il 74HC14
Questi a differente della precedente scheda gestiscono i motori con un miglior risparmio energetico rispetto ai relè e eliminano molti disturbi provocati dai motori, rendendo la gestione del robot pulita e senza problemi.
Nella fotografia sono presenti 4 connettori ma analizziamoli partendo dall’alto a Sinistra:

  • X6 Controllo dei motori, qui cambiano lo stato in ingresso del ponte H si inverte la rotazione del Motore: X6-1 Blu; X6-2 Bianco
  • X4 Alimentazione della scheda, questa proviene dall’abilitazione del relè dell’elettronica principale: X4-1 Alimentazione +5V proveniente dal relè; X4-2 Alimentazione diretta dalle batterie, questa serve per alimentare i motori; X4-3 GND
  • J7, J8 Ingresso proveniente dai motori

L’elettronica principale

Scheda principale

Scheda principale

Come possiamo vedere il cuore pulsante del robot è costituito dal PIC della Microchip il 16F84(A) questo come è possibile leggere dalle caratteristiche tecniche:

  • 18 pin di cui 13 porte per l’ I/O
  • Clock: da 475Khz a 10Mhz
  • 68 bytes di Data RAM
  • 64 bytes di Data EEPROM

Il PIC16F84A grazie alle 13 porte disponibili per l’I/O ci permetterà di gestire tutti i sensori del robot e poter controllare il movimento del robot.
La Memoria EEPROM invece ci permetterà di riprogrammare più di una volta il microcontrollore per poter provare il robot ed imparare a programmare.

Un’altra parte fondamentale di questa scheda è costituita dal relé posto nella parte bassa della scheda affianco all’interruttore principale. Questo come detto in precedenza permette ldi abilitare la scheda del controllo motori. Sempre sulla stessa scheda come possiamo vedere nella foto sono presenti anche 5 connettori/strip e 3 connettori a 2 poli, partendo dall’alto:

  • J3, J4 I connettori per i sensori di linea
  • J1, J2 Connettori per gli Sharp GP2D15
  • J5 ICSP
  • J6 Reset
  • X3 Controllo motori
  • X2 Alimentazione Ponte H
  • X1 Alimentazione dalle batterie

Al centro della scheda sono presenti 4 LED che ci permettono di interpretare i messaggi provenienti dal PIC e poter capire come si stia comportando il robot

Possiamo vedere Un Led Rosso collegato alla porta A.1 ed un Led Verde collegato alal porta A.0
Subito dopo sono presenti due Led di cui il primo giallo ci segnala l’attivazione del relè ed il secondo rosso, che ci fa da spia per la corretta alimentazione dei motori.
Per poter programmare il PIC montato sulla scheda. Questa contiene un particolare connettore a 5 poli che ci permette di riprogrammare il PIC senza smontarlo dal proprio zoccolo. Infatti ci basterà collegare il programmatore di PIC sulla scheda e potremo tranquillamente caricare il nuovo programma in pochissimi passi.
Le connessioni presenti in questo connettore sono costituite, partendo dall’alto verso il basso da:

  • GND
  • VDD
  • CLOCK
  • DATA
  • VPP

Il montaggio della scheda

motaggio componenti

motaggio componenti

Come prima operazione dovremo rimuovere le precedenti schede montate sul robot, della versione BEAM, vale a dire la scheda relé posta sotto al robot e rimuovere la scheda a 5 neuroni BEAM posta sulla superficie del telaio.

Scheda montata

Scheda montata

Montiamo il nostro circuito stampato partendo dai componenti più bassi per continuare con quelli più alti fino a completare le due schede.
A questo punto sostituiamo la scheda controllo motori con la nuova scheda Ponte H ricollegando i motori ed i cavi di alimentazione e di controllo dei motori, ma dovremo aggiungere rispetto alla precedente versione un cavo che nel nostro caso metteremo giallo per poterlo distinguere dagli altri che porterà alimentazione direttamente dalle batterie.

Vista dal basso

Vista dal basso

Adesso possiamo iniziare ad avvitare anche la scheda principale collegando prima i cavetti provenienti dal Ponte H nel seguente ordine:

Cavi

Cavi

  1. Il cavetto GIALLO al connettore X1-1
  2. Il cavetto ROSSO al connettore X2-1
  3. Il cavetto NERO al connettore X2-2
  4. Il cavetto BIANCO al connettore X3-1
  5. Il cavetto BLU al connettore X3-2
Montaggio dei cavetti

Montaggio dei cavetti

Dopodiché avviamo la scheda e completiamo il collegamento montando i sensori di Lina ai connettori J3 e J4; L’alimentazione proveniente dalle batterie al connettore X1 e stando attendo alla polarità del connettore Sharp GP2D15 alle porte J1 e J2

Robot assemblato

Robot assemblato

Finalmente abbiamo montato la scheda al robot, adesso è il turno della programmazione.

Programmazione

Prima di poter programmare il nostro robot studiamo i collegamenti di tutti i sensori presenti sulla scheda guardando questa tabella:

PortA.0 LED Verde
PortA.1 LED Rosso
PortA.2 Motore Destra
PortA.3 Motore Sinistra
PortA.4 / /
PortB.0 Pulsante
PortB.1 Sensore Linea Destra
PortB.2 Sensore Linea Sinistra
PortB.3 Sharp Destra
PortB.4 Sharp Sinistra
PortB.5 Relé
PortB.6 Clock ICSP
PortB.7 Data ICSP

Questo ci sarà utile per qualsiasi programma che scriveremo in futuro, ma per questa prima prova vi lascio a disposizione il primo programma che permette al robot di fare combattimenti di minisumo.

Nelle prossime lezioni si inizierà ad imparare la programmazione in Basic ed utilizzeremo questo robot per poter iniziare a programmare.
Qui di seguito vi lascio comunque il codice e l’.HEX da caricare sul PIC

2 responses to L’elettronica con un PIC 16F84A


  1. Fabio

    ciao, è da tempo che aspetto le prossime lezioni, ma quando verranno pubblicate (semmai verranno pubblicate) ?
    Inoltre il codice e l’HEX da caricare sul pc non ci sono, sono reperibili?

    ciao e grazie

  2. I codici HEX li trovi assieme ai circuiti stampati nella sezione download: http://www.minisumo.net/?dl_id=7

    Altri articoli su questo minisumo non credo ce ne saranno, in questo periodo mi sto dedicando ad un robot esploratore: http://explorer.minisumo.net

    Ciao! 😉

Rispondi