tesina esami di stato scolastico: 2012/2013 · nel caso di corrente continua, la frequenza...

19
Tesina esami di stato Classe: 5° AART elettronica Anno scolastico: 2012/2013 Fellet Francesco Minet Alberto Globo LED Fellet Francesco Minet Alberto Pagina 1

Upload: dangthu

Post on 28-Jul-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Tesina esami di stato

Classe: 5° AART elettronica

Anno scolastico: 2012/2013

Fellet Francesco Minet Alberto

Globo LED Fellet Francesco – Minet Alberto Pagina 1

Globo LED Fellet Francesco – Minet Alberto Pagina 2

Descrizione generale.

In questo progetto, realizzato e studiato grazie ad alcuni spunti ricavati da Internet, è stato creato un “globo LED” virtuale,

comandato, per quanto riguarda la parte elettronica, dal “PIC18F2420”, programmato per comandare 48 Led attraverso del registri

a scorrimento collegati in cascata (TPIC6595N).

Per quanto riguarda la parte meccanica, grazie all’aiuto di un nostro compagno della sezione di meccanica, è stato studiato un

motore a corrente alternata e un metodo per diminuire il numero di giri e aumentare la coppia (per eliminare i vari attriti) in modo

tale da soddisfare le esigenze del progetto.

Per alimentare il circuito durante la rotazione è stato posto un jack ad una estremità dell’asse: esso, toccando il jack femmina

produceva 5V, per il corretto funzionamento.

Dopo aver progettato il circuito tramite il programma di progettazione “Orcad”, lo abbiamo realizzato sulla basetta millefori

posizionando adeguatamente i componenti per cercare il minor sbilanciamento possibile: un sbilanciamento consistente potrebbe

provocare problemi durante la rotazione del globo.

Completata la struttura, con l’aiuto del professore abbiamo creato il programma tramite MPLAB in linguaggio C: inizialmente si è

cercato di visualizzare una lettera. Successivamente, ampliando il programma, è stato possibile creare una serie di immagini e

scritte che, dopo un certo periodo di tempo, si alternano.

Problemi durante la creazione

Durante la creazione del progetto, ci sono stati diversi problemi. Tra questi:

Alimentare il circuito durante la rotazione;

Diminuire le vibrazioni della struttura durante la rotazione;

Creare il programma;

Abbiamo cercato di migliorare il progetto in più ambiti: esteticamente, rumore dalle vibrazioni, diminuire il più possibile la

struttura con al suo interno vari componenti. In quest’ultimo ambito, abbiamo sistemato un vecchio alimentatore di un PC per

alimentare il nostro circuito. Purtroppo, verso la fine dell’anno scolastico l’alimentatore non è stato più in grado di dare una

corretta alimentazione (dava 2.6V mentre per il corretto funzionamento ne servivano 5V); quindi, sebbene e stato lasciato

all’interno del progetto, per l’alimentazione viene utilizzato un generatore di tensione della scuola.

Indice( Globo LED)

Introduzione pag. 4

Diagramma a blocchi:

1) Parte meccanica: struttura e motore; pag. 4

2) Parte elettronica: pag.5

Spiegazione componenti progetto e loro datasheet;

a) Pic18f2420; pag.5

b) IR sensor; pag.10

c) TPIC6595 (registro a scorrimento); pag.11

Alimentazione del circuito; pag.12

3) Programma; pag.13

4) Configurazione immagine; pag.17

Schema elettrico pag.19

Problemi trovati durante svolgimento del progetto pag. 20

Lista componenti e strumenti utilizzati pag. 20

Foto pag.22

Conclusione pag.23

Globo LED Fellet Francesco – Minet Alberto Pagina 3

INTRODUZIONE

Il globo LED utilizza la persistenza della visione (acronimo :POV persistence of vision). La persistenza della visione è il

fenomeno degli occhi con cui un immagine residua persistere per circa un venticinquesimo di secondo sulla retina. Questo effetto,

ad esempio, è utilizzato nella televisione: l’immagine che si vuole visualizzare viene scandita 25 volte per produrre l’obiettivo

desiderato.

Questo fenomeno avviene grazie alla “memoria iconica”. La memoria iconica (memoria legata alle immagini) fornendo un flusso

regolare di informazioni al nostro cervello, permette l'integrazione di informazioni visive lungo un flusso continuo di immagini

come, ad esempio, durante la visione di un film.

Quindi, mentre i LED ruotano e svolgono delle combinazioni di accensione e spegnimento, il nostro occhio vede l’immagine che

fa riferimento a quella combinazione.

DIAGRAMMA A BLOCCHI

SPIEGAZIONE DELLE FASI

1) Parte meccanica

La struttura è composta dai seguenti componenti:

un anello di plastica;

un asse di acciaio;

le boccole di plastica;

i cuscinetti radenti in ottone;

il telaio in acciaio zincato;

la cassa contenente l’alimentatore, il motore elettrico e la trasmissione.

L’anello di plastica è stato ricavato da un tubo di PVC appositamente forato per permettere il fissaggio dei led e il

passaggio dell’asse.

PARTE

MECCANICA

PARTE

ELETTRONICA

PROGRAMMA CONFIGURAZIONE

IMMAGINE

Globo LED Fellet Francesco – Minet Alberto Pagina 4

L’asse in acciaio è ottenuto tagliando uno spezzone di un tubo, saldando ad esso altri componenti, i quali sono stati

torniti, forati e filettati in modo da permettere: l’avvitamento del connettore; la fuoriuscita dei cavi che passano

all’interno; il fissaggio della puleggia.

Le boccole di plastica sono state ottenute tornendo e forando dei pezzi di barra, chevengono utilizzati per collegare

l’anello all’asse.

I cuscinetti radenti in ottone sono stati costruiti in modo da agevolare la rotazione dell’asse e bloccarlo in modo da non

permettergli spostamenti assiali.

Il telaio è stato ottenuto piegando a “C”un tubo e viene utilizzato per sorreggere l’asse. La cassa è stata costruita

avvitando tra loro delle tavole di multistrato di spessore pari a 2 cm.

Poiché il motore elettrico a regime sviluppa 1442 g/min e all’utilizzatore (asse) sono richiesti 650 g/min (per

aumentare inoltre la coppia all’utilizzatore per vincere gli attriti), è stato necessario utilizzare una trasmissione a

cinghie dentate in modo da ottenere un rapporto di trasmissione i pari a 2,2.

2) Parte elettronica

a) PIC18F2420

Il PIC18F2420 fa parte di una famiglia di microcontrollori. Si tratta di un microcontrollore moderno di fascia alta,

completo, programmabile in assembly e in linguaggio C, dotato di moltissime periferiche. L’unica periferica non

presente è la periferica USB.

L’assenza della periferica USB costituisce certo una limitazione rispetto al PIC18F4550, ma in ambiente didattico essa

sarebbe comunque difficilmente introducibile per la sua complessità.

Il microcontrollore può essere programmato sia lasciandolo a bordo del target che mediante un corretto

programmatore (PicKit3).

Il software può essere sviluppato in diversi linguaggi. In questo progetto è stato utilizzato il linguaggio C perché il

programma è molto ripetitivo e quindi ci sono dei comandi più facili da gestire.

Per la programmazione è stato utilizzato il programma MPLAB; inoltre per funzionare con il sistema operativo

Windows 7 è stato installato al suo interno il software C18.

Nel caso di corrente continua, la frequenza operativa del PIC18F2420 è 40MHz. La memoria massima che può

programmare è 16384byte usando il clock interno.

Il pin RA0…RA7, RB0…RB7 e RC0…RC7 sono l’ingresso/uscita digitale del PIC.

Al pin RB0/INT0, ho collegato una resistenza e un led per dare un’indicazione, cioè quando passa la corrente, il led

accende e viceversa. I pin RB7/PGD, RB6/PGC e MCLR/VPP/RE3 sono collegati insieme per la programmazione e il

debug dell’ header 5 utilizzato per la programmazione del circuito.

Globo LED Fellet Francesco – Minet Alberto Pagina 5

La descrizione dei pin di PIC 18F2420:

4.5V

R1200

R210k

R410k

programmazione e debug?

HEADER 5

1 2 3 4 5

C1100uF

PVN?

PIC18F2420

RC718

VSS8 RB0/INT0

21 RB1/INT122 RB2/INT223 RB324 RB425 RB5/PGM26 RB6/PGC27 RB7/PGD28

MCLR/VPP/RE31

RA02 RA13 RA24 RA35 RA46 RA57

VDD20

VSS19

OSC19

OSC210

RC011RC112RC213RC314RC415RC516RC617

R610K

D0

LED

N14148

5V

Globo LED Fellet Francesco – Minet Alberto Pagina 6

Globo LED Fellet Francesco – Minet Alberto Pagina 7

Datasheet del PIC18F240

Globo LED Fellet Francesco – Minet Alberto Pagina 8

b) IR sensor(fototransistor + fotodiodo)

IR sensor è composto da un fototransistor e un fotodiodo. Un fototransistor in sostanza è un transistor a

giunzione bipolare che viene inscatolato in un contenitore trasparente in modo che la luce possa

raggiungere la giunzione tra la base ed il collettore. Il fototransistor è simile al fotodiodo, ma con una

sensibilità alla luce molto maggiore, grazie al fatto che gli elettroni che sono generati dai fotoni nella

giunzione tra la base ed il collettore vengono iniettati nella base e la corrente così prodotta viene

successivamente amplificata dal transistor.

Un fotodiodo è un particolare tipo di diodo. È in grado di riconoscere una determinata lunghezza d’onda

dell’onda elettromagnetica incidente, e trasformare questo evento in un segnale elettrico di corrente

applicando ai suoi estremi un opportuno potenziale elettrico. Esso è un trasduttore da un segnale ottico ad

un segnale elettrico.

Nel nostro progetto, usiamo il fototransistor e il fotodiodo come IR sensor per sincronizzare l’immagine

con la posizione di partenza dell’immagine.

Globo LED Fellet Francesco – Minet Alberto Pagina 9

c) TPIC6595

Questo dispositivo contiene 8 bit seriali che alimentano un registro di scorrimento.

Il trasferimento di dati, cioè lo spostamento e il deposito di essi, avviene quando l’ orologio shift-register

(SRCK) e l'orologio del registro (RCK) sono sul fronte di salita. Il trasferimento del registro di archiviazione

dei dati alla memoria di uscita avviene quando lo shift-register (SRCLR) è alto. Quando SRCLR è basso, il

registro a scorrimento viene cancellato.

Quando l'uscita abilitata (G) viene tenuta alta, tutti i dati in uscita della memoria sono bassi e tutte le uscite

dei dati sono spente.

L’uscita seriale (SER OUT) dà la possibilità di collegare dei dispositivi aggiuntivi per aumentare il numero

di dati nel registro a scorrimento.

Datasheet del TPIC6595N

ALIMENTAZIONE

Per l'alimentazione del progetto è stato recuperato un alimentatore (ormai inutilizzato) di un computer.

Dopo averlo sistemato abbiamo rimosso i cavi che non servivano, lasciando solo i collegamenti necessari.

Quindi, dati in ingresso 220 V, erogava 5V (e 12V, non utilizzati) in uscita.

I dispositivi alimentati nel progetto sono:

Motore:220V(fase e neutro) poiché posto in parallelo all’alimentatore;

Globo LED Fellet Francesco – Minet Alberto Pagina 10

Alimentatore: 220V (fase e neutro) posto in parallelo al motore;

Circuito:5V e massa.

Sono stati utilizzati due deviatori come interruttori per alimentare il motore e il circuito più agevolmente.

Successivamente, per evitare possibili cortocircuiti, sono stati aggiunti due fusibili da 1A-250V in ingresso

all’alimentatore e al motore; in uscita all’alimentatore e all’ingresso del circuito è stato posto un fusibile da

50mA.

Inizialmente al circuito veniva data una corretta

alimentazione.

Verso la fine dell’anno scolastico però,

l’alimentatore non funzionava più correttamente

dando solo 2.6V al circuito : perciò i registri a

scorrimento non svolgevano il loro compito in modo

corretto.

Quindi, per mancanza di tempo, l’alimentazione del

circuito è stata collegata a un generatore di tensione

datoci in dotazione dalla scuola.

Schema alimentazione

3) Programma

Il programma scritto in linguaggio C, si può suddividere principalmente in quattro parti:

Impostazioni generali del microcontrollore (p. viola) ;

Caricamento dei LED: controllo dei bit di ciascun registro se sono a 1 o 0 (p. rosso);

Caricamento della colonna (p. verde);

Controllo Interrupt: per il funzionamento dell’ IR sensor (p. azzurro);

Caricamento dell’immagine (p. giallo);

Durata dell’immagine (p. blu).

PROGRAMMA IN LINGUAGGIO C

#include "p18f2420.h"

#include "delays.h"

#define LED LATBbits.LATB0

void High_Int (void);

#pragma code high_vector = 0x08 // impostato vettore dell'interrupt

Circuito

(millefori-LED)

Alimentazione

220V dalla rete

Deviatore

(interruttore)

Deviatore

(interruttore)

Fusibile

1A-250V

Fusibile

1A-250V Motore

Alimentatore

del computer

Fusibile

50mA

Globo LED Fellet Francesco – Minet Alberto Pagina 11

#define DATI LATCbits.LATC2 //pin dei dati 13

#define CLK1 LATCbits.LATC0 //pin del clock dati 11

#define CLK2 LATCbits.LATC1 //pin del caricamento finale 12

#define SRCLR LATCbits.LATC4 //pin sempre alto 15

#define G LATCbits.LATC3 //pin sempre alto 14

//#pragma config OSC = HS

#pragma config WDT = OFF

#pragma config LVP = OFF

#pragma config PBADEN = OFF

//OSC = HS Impostato per lavorare ad alta frequenza

//WDT = OFF Disabilito il watchdog timer

//LVP = OFF Disabilito programmazione LVP

//PBADEN = OFF Disabilito gli ingressi analogici

int caricaled (int numero);

int caricacolonna (int n1, int n2, int n3, int n4, int n5, int n6);

int i;

int tempo =249;

int t;

int stato1 = 0 ;

int stato2 = 0 ;

//interrupt

void interrupt (void)

_asm GOTO High_Int _endasm //salta alla funzione dove viene svolto l'interrupt

void main (void)

OSCCON=0X70;

//OSCTUN|=0X40;

// Imposto PORTD tutti ingressi e RD0 come uscita

LATB = 0x00;

TRISB = 0b11111110;

// Imposto PORTC come tutte uscite

LATC = 0x00;

TRISC = 0x00;

// Imposto PORTE tutti ingressi

//LATDbits.LATD0 = 1;

//interrupts settings

RCONbits.IPEN = 1; // abilita priorità dell'interrupt ( priorità alta)

INTCONbits.INT0IE = 0; // disabilita l'interrupt di B0

INTCON2bits.INTEDG1 = 1; // abilita inter. nel fronte di salita

INTCON3bits.INT1IP = 1; // priorità alta

INTCON3bits.INT1IE = 1; // abilita l'interupt di RB1

INTCON3bits.INT1IF = 0; // imposta flag( variabile che va 1 quando c'è int e poi impostare a 0 altrimenti continua a entrare sull'int ) a 0 dell'inter INT1

INTCONbits.GIEH = 1; // abilita tutti interupt (funzione generale)

t =50;

G = 0;

while (1)

//Vuoto

#pragma interrupt High_Int

void High_Int (void)

if (INTCON3bits.INT1IF == 1) //controllo flag se a 1

++stato1; //aumenta stato1 di 1

if (stato1> 150) //per aumentare intervalli di tempo

stato1 = 0;

++stato2; //aumenta stato2 di 1

if (stato2>2) stato2 = 0; // metti il numero di disegni meno 1 (es. 3 disegni, metti "stato2 > 2")

LED=LED^1;

G = 0;

SRCLR = 1;

//Stato 1 (scritta "ITIS" )

switch (stato2)

case 0: //se stato2 = 0

caricacolonna(255,0,0,0,0,255);

Globo LED Fellet Francesco – Minet Alberto Pagina 12

caricacolonna(255,0,255,255,0,255); //Lettera I

caricacolonna(255,0,255,255,0,255);

caricacolonna(255,0,255,255,0,255); //fine lettera I

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,248,0,255); //lettera T

caricacolonna(255,0,0,248,0,255);

caricacolonna(255,0,0,248,0,255);

caricacolonna(255,0,0,248,0,255);

caricacolonna(255,0,255,255,0,255);

caricacolonna(255,0,255,255,0,255);

caricacolonna(255,0,255,255,0,255);

caricacolonna(255,0,0,248,0,255);

caricacolonna(255,0,0,248,0,255);

caricacolonna(255,0,0,248,0,255);

caricacolonna(255,0,0,248,0,255); //fine lettera T

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,255,255,0,255); //Lettera I

caricacolonna(255,0,255,255,0,255);

caricacolonna(255,0,255,255,0,255); //fine lettera I

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,135,255,0,255); //lettera S

caricacolonna(255,0,135,255,0,255);

caricacolonna(255,0,135,225,0,255);

caricacolonna(255,0,135,225,0,255);

caricacolonna(255,0,135,225,0,255);

caricacolonna(255,0,135,225,0,255);

caricacolonna(255,0,135,225,0,255);

caricacolonna(255,0,255,225,0,255);

caricacolonna(255,0,255,225,0,255); //fine lettera S

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

break;

//Stato 2 (scritta "A.T.F")

case 1: //se stato2 = 1

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,0,240,192,7,255)

caricacolonna(255,0,240,192,7,255);

caricacolonna(255,0,240,192,7,255);

caricacolonna(255,0,240,192,7,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,192,0,0,0,255)

caricacolonna(255,224,1,0,0,255);

caricacolonna(255,192,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,192,0,0,0,255);

Globo LED Fellet Francesco – Minet Alberto Pagina 13

caricacolonna(255,224,1,0,0,255);

caricacolonna(255,192,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,224,255,255,7,255);

caricacolonna(255,0,128,195,7,255);

caricacolonna(255,0,128,195,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,192,7,255);

caricacolonna(255,0,0,0,0,255);

caricacolonna(255,0,0,0,0,255);

break;

// Stato 3 (immagine "space invaders")

case 2: //se stato2 = 2

caricacolonna(31,0,0,0,0,248);

caricacolonna(31,0,0,0,0,248);

caricacolonna(31,252,0,0,0,248);

caricacolonna(31,192,3,0,0,248);

caricacolonna(31,192,3,0,0,248);

caricacolonna(31,252,207,0,0,248);

caricacolonna(31,252,207,0,0,248);

caricacolonna(31,243,60,192,0,248);

caricacolonna(31,243,60,192,3,248);

caricacolonna(31,243,15,192,3,248);

caricacolonna(31,240,15,240,15,248);

caricacolonna(31,243,15,240,15,248); //12 RIGA

caricacolonna(31,243,60,252,60,248);

caricacolonna(31,243,60,252,60,248);

caricacolonna(31,252,207,240,63,248);

caricacolonna(31,252,207,240,63,248);

caricacolonna(31,192,3,192,252,248);

caricacolonna(31,192,3,192,252,248); //18 RIGA

caricacolonna(31,252,0,240,255,248);

caricacolonna(31,0,0,240,255,248);

caricacolonna(31,0,0,240,255,248);

caricacolonna(31,0,63,240,255,248);

caricacolonna(31,192,3,192,252,248);

caricacolonna(31,192,3,192,252,248); //24 RIGA

caricacolonna(31,252,207,240,63,248);

caricacolonna(31,252,207,240,63,248);

caricacolonna(31,243,60,252,60,248);

caricacolonna(31,243,60,252,60,248);

caricacolonna(31,243,15,240,15,248);

caricacolonna(31,240,15,192,15,248); //30 RIGA

caricacolonna(31,243,15,192,3,248);

caricacolonna(31,243,60,192,3,248);

caricacolonna(31,243,60,192,0,248);

caricacolonna(31,252,207,0,0,248);

caricacolonna(31,252,207,0,0,248);

caricacolonna(31,192,3,0,0,248);

caricacolonna(31,192,3,0,0,248);

caricacolonna(31,0,63,0,0,248);

caricacolonna(31,0,0,0,0,248);

caricacolonna(31,0,0,0,0,248);

break;

INTCON3bits.INT1IF = 0; //azzero il flag di interrupt

int caricaled ( int numero ) //ciclo per 16 volte se LED acceso o spento

int i;

for (i = 0 ; i < 8 ; i++)

Globo LED Fellet Francesco – Minet Alberto Pagina 14

int temporanea ;

temporanea = numero & 1; // azzera tutti bit del numero tranne primo bit

if (temporanea == 0)

DATI = 0;

else

DATI = 1;

CLK1 = CLK1^1; //SALITA(inizio) CLOCK PER INVIO 1 BIT

CLK1 = CLK1^1; //DISCESA(fine) CLOCK PER INVIO 1 BIT

STATUSbits.C = 0;

numero = numero >> 1; //SPOSTARE DI UNA POSIZIONE BIT

int caricacolonna (int n1, int n2, int n3, int n4, int n5, int n6)

SRCLR = 1;

caricaled(n1);

caricaled(n2);

caricaled(n3);

caricaled(n4);

caricaled(n5);

caricaled(n6);

CLK2 = CLK2^1; //INIZIO INVIO CLOCK DELLA COLONNA

CLK2 = CLK2^1; //FINE INVIO CLOCK DELLA COLONNA

SRCLR = 0;

4) Configurazione immagine

Tramite un foglio di documento Excel, è stata costruita una tabella. Le righe corrispondono ai 48 LED ad

alta luminosità presenti nella semicirconferenza del cerchio. Le colonne invece, corrispondono alle divisioni

di un singolo giro: in questo caso è stato scelto di suddividerlo in 40 parti.

A sinistra (ovale rosso) della tabella sono stati inseriti i valori corrispondenti a ogni singolo LED, se acceso.

Questi valori sono una progressione geometrica di 2 (2N), dove N è compreso tra 0 (2

0 = 1) e 7 (2

7 = 128),

perchè ogni registro a scorrimento (TPIC6595N) è composto da 8 uscite.

Questa serie di numeri è stata inserita per sei volte poiché si ha sei integrati per comporre l’immagine. Il

massimo numero che ogni integrato può dare è 255 (quando tutte e otto le uscite sono a 1); mentre il minimo

valore, quando tutte le uscite sono spente, è 0.

Sotto la tabella (ovale verde), sono state introdotte sei righe corrispondenti ai sei numeri che si dovranno poi

introdurre nel programma per formare una colonna completa ( vedi programma: “carica colonna(n1 , n2 , n3

, n4 , n5 , n6)” )

40 colonne comporteranno 40 serie numeriche per formare l’immagine completa.

Globo LED Fellet Francesco – Minet Alberto Pagina 15

ESEMPIO TABELLA :

Globo LED Fellet Francesco – Minet Alberto Pagina 16

SCHEMA ELETTRICO

D18 LED

D19 LED

D20 LED

Rv

1M

4.5V D21 LED

R1200

R210k

R410k

programmazione e debug?

HEADER 5

1 2 3 4 5

C1100uF

D22 LED

PVN?

PIC18F2420

RC718

VSS8 RB0/INT0

21 RB1/INT122 RB2/INT223 RB324 RB425 RB5/PGM26 RB6/PGC27 RB7/PGD28

MCLR/VPP/RE31

RA02 RA13 RA24 RA35 RA46 RA57

VDD20

VSS19

OSC19

OSC210

RC011RC112RC213RC314RC415RC516RC617

R610K

D0

LED

D23 LED

D24 LED

RL1 330

D25 LED

RL2 330

RL3 330

D26 LED

RL4 330

U4

TPIC6595

SDI3

SRCLR8 G9

RCLK12

SRCLK13

SDO18

DRAIN04

DRAIN15

DRAIN26

DRAIN37

DRAIN414

DRAIN515

DRAIN616

DRAIN717

RL5 330

D27 LED

RL6 330

RL7 330

D28 LED

RL8 330

RL9 330

D29 LED

RL10 330

RL11 330

D30 LED

RL12 330

RL13 330

D31 LED

RL14 330

RL15 330

D32 LED

RL16 330

RL17 330

D33 LEDU2A

74HC14

1 2

RL18 330

RL19 330

D34 LED

RL20 330

RL21 330

D35 LED

RL22 330

N14148

RL23 330

D36 LED

RL24 330

RL25 330

D37 LED

RL26 330

RL27 330

D38 LED

RL28 330

Q1IR sensor

RL29 330

D39 LED

RL30 330

RL31 330

D40 LED

RL32 330

D1 LED

RL33 330

D41 LED

RL34 330

U1

TPIC6595

SDI3

SRCLR8 G9

RCLK12

SRCLK13

SDO18

DRAIN04

DRAIN15

DRAIN26

DRAIN37

DRAIN414

DRAIN515

DRAIN616

DRAIN717

RL35 330

D42 LED

RL36 330

RL37 330

RL38 330

U5

TPIC6595

SDI3

SRCLR8 G9

RCLK12

SRCLK13

SDO18

DRAIN04

DRAIN15

DRAIN26

DRAIN37

DRAIN414

DRAIN515

DRAIN616

DRAIN717

U3

TPIC6595

SDI3

SRCLR8 G9

RCLK12

SRCLK13

SDO18

DRAIN04

DRAIN15

DRAIN26

DRAIN37

DRAIN414

DRAIN515

DRAIN616

DRAIN717

RL39 330

D43 LED

RL40 330

RL41 330

D44 LED

RL42 330

RL43 330

-

+

U1A

TL082

3

21

84

D45 LED

RL44 330

RL45 330

RL46 330

RL47 330

RL48 330

D2 LED

D3 LED

R10 K

D46 LED

D4 LED

D48 LED

D5 LED

D47 LED

D6 LED

D7 LED

D8 LEDU2

TPIC6595

SDI3

SRCLR8 G9

RCLK12

SRCLK13

SDO18

DRAIN04

DRAIN15

DRAIN26

DRAIN37

DRAIN414

DRAIN515

DRAIN616

DRAIN717

10kR3

D9 LED

10kR5

D10 LED

D11 LED

U6

TPIC6595

SDI3

SRCLR8 G9

RCLK12

SRCLK13

SDO18

DRAIN04

DRAIN15

DRAIN26

DRAIN37

DRAIN414

DRAIN515

DRAIN616

DRAIN717

5V

1k

R7

D12 LED

D13 LED

D14 LED

D15 LED

D16 LED

5V

D17 LED

Globo LED Fellet Francesco – Minet Alberto Pagina 17

PROBLEMI E POSSIBILI SOLUZIONI

Circuito e alimentazione:

Problemi incontrati Possibili soluzioni

Cortocircuiti nell’alimentazione. Introduzione di fusibili.

Durante la rotazione,a volte, il jack maschio non fa

contatto con il jack femmina.

Porre un condensatore in modo tale che, in quei

millesimi di secondo il circuito viene comunque

alimentato.

Alimentatore non riesce a alimentare correttamente

il circuito (2.6V).

Alimentazione tramite alimentatore della scuola.

Jack si rompono facilmente. Sostituzione tramite contatti striscianti o bobina.

Programma:

Il microcontrollore è troppo lento a svolgere il programma con l’oscillatore interno di appena 4MHz: per

questo motivo l’immagine non è possibile farla dettagliata. Una soluzione potrebbe essere quella di

aggiungere un oscillatore esterno in modo tale da velocizzare il PIC18F2420 e quindi poter aumentare il

numero di colonne.

LISTA COMPONENTI E STRUMENTI UTILIZZATI

COMPONENTI

Materiale Quantità

Microcontrollore PIC18F2420 1

Led blu ad alta luminosità 49

TPIC6595N 6

Resistenza 100 Ω 48

Resistenza 330 Ω 1

Resistenza 10K Ω 5

Resistenza 1K Ω 1

Potenziometro 1M Ω 1

Condensatore 1µF – 250V(motore) 2

Condensatore 3µF – 450V(motore) 1

Condensatore 100 µF – 63V(circuito) 1

Condensatore 100 nF 9

Diodo N14148 1

Header 2

Push botton (reset circuito) 1

Fotodiodo a infrarossi 1

Foto transistor 1

TL082 1

Globo LED Fellet Francesco – Minet Alberto Pagina 18

74HC14 (NOTtriggerata) 1

Motore 230V– 50Hz– 100W (Classe

B) 1

Alimentatore da PC 1

Fusibile da 1A – 250V 2

Fusibile da 50mA – 250V 1

Deviatore (alimentazione) 2

Strip

STRUMENTI

Alimentatore

PicKit 3

Multimetro

FOTO

(prove per regolare i tempi)

(circuito completo nella millefori) (progetto completo)

Globo LED Fellet Francesco – Minet Alberto Pagina 19

CONCLUSIONE

Durante la realizzazione del progetto si sono riscontarti alcuni problemi causati sia da una struttura non proprio in asse

che provoca un’elevata vibrazione della struttura; sia dall’alimentazione poiché non si utilizza dei veri e propri contatti

striscianti, ma solo un jack. Tutto ciò è dovuto anche a una forte limitazione dei tempi. Comunque il progetto è stato

completato in modo corretto ed è possibile visualizzare una serie di scritte e immagini: “ITIS”, “A.T.F” (iniziali dei

nostri nomi) e un’animazione che corrisponde a un logo di un gioco. Ovviamente è possibile ampliare il progetto

aggiungendo nel programma le serie di combinazioni ricavate dalle tabelle che si creeranno in futuro. Questo periodo

è stato molto proficuo poiché ci ha dato degli insegnamenti importanti anche per i lavori futuri: la collaborazione, il

rispetto reciproco e che, lavorando con determinazione è possibile realizzare i propri sogni.