Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Tesina - Premio maturità 2009
Titolo: I Microcontrollori
Autore: Celiberti Luca
Descrizione: presentazione in power point che parla dei microcontrollori in generale e di un progetto scolastico su di un robot: il formula flowcode della matrix.
Materie trattate: Sistemi, Elettronica
Area: tecnologica
I PICmicro chips
PIC
Il nome (Peripheral Controllore della
Interface Controller=
Interfaccia della periferica) si riferisce ad una piccola branca
del gruppo dei Microcontrollori.
Un Microcontrollore è un piccolo dispositivo che controlla altri
dispositivi elettronici.
Questo dispositivo è composto da 4 fondamentali parti:
CPU ( = unità centrale di processo)
Central Processing unit
- Memoria
- Porte di ingresso
- Porte di uscita
- Menù Avanti
Il Microcontrollore
Questo è lo schema a blocchi di un generico
Microcontrollore:
Memoria Memoria
Dati programmi
Porte Porte
CPU
di ingresso di uscita
Clock
Dispositivi di Dispositivi di
Ingresso Uscita
Torna Avanti
all’inizio
Segnali digitali e segnali analogici
DATI ANALOGICI DATI DIGITALI
Questo tipo di segnali possono Questo tipo di segnale può
assumere infiniti valori all’in- assumere solo determinati
terno di un possibile range valori all’interno di un range
di valori. di valori.
I segnali analogici sono forniti I segnali digitali invece ci
per esempio da trasduttori, vengono forniti da circuiti
elettronici digitali, dai computer,
generatori etc… dai modem digitali etc...
Menù
Al centro di tutta la struttura c’è il “cervello”, ovvero la CPU, il quale
elabora segnali digitali, esegue operazioni logiche, calcoli
matematici, etc…
Come fa la CPU a sapere cosa eseguire?
Essa è “monitorato” da una seria di istruzioni sotto forma di
programmi. Questi ultimi sono memorizzati nella memoria dei
programmi (Program Memory).
Per eseguire i programmi però la CPU a volte ha bisogno di dati, i quali
sono salvati nella memoria dei dati (Data Memory).
Ogni attività svolta dalla CPU è scandita dal ritmo del Clock, una
sequenza di impulsi di tensione. Una buona CPU lavora alla velocità
di clock di circa 20 MHz.
Per comunicare con il mondo esterno la CPU si serve di “porte” distinte
in porte di Input e porte di Output.
Le prime servono per ricevere informazioni e dati dai dispositivi
provenienti dal mondo esterno.
Le seconde invece servono per inviare ai dispositivi collegati alla CPU
istruzioni, dati o informazioni.
Entrambe possono ricevere/mandare informazioni sia di tipo digitale
che analogico. Torna
all’inizio
Ingressi e uscite del PIC
Come già detto il PIC può
ricevere/inviare dati sia analogici che
digitali.
Il programmatore può decidere se alcuni
pin del PICmicro dovrebbero essere
utilizzati come ingressi analogici,
ingressi digitali o uscite digitali.
Ad esempio nel chip 16F877A(mostrato
affianco) il pin 2 è contrassegnato
come 'RA0/AN0'.
Ciò significa che il pin 2 può essere
usato come bit 0 della porta A
(Registro A bit 0) o come ingresso
analogico 0. Menù Avanti
La funzione di ogni pin viene determinata definendo il contenuto dei registri interni del
PIC.
Il PIC 16F877A è dotato di 5 porte per collegarsi con il mondo esterno, esse sono
denominate come A,B,C,D,E.
Il porto A presenta 6 pin, i porti B,C,D ne presentano 8, ed infine il porto E ne ha solo 3.
I segnali analogici acquisibili dai vari pin delle porte devono avere valori compresi tra
V e V (tra 5V e massa).
DD SS
La maggior parte dei pin hanno funzioni molteplici, cioè possono avere più funzionalità,
diverse tra loro, contemporaneamente.
Per poter utilizzare i pin di una porta come uscite bisogna pianificare il modo in cui
devono essere collegati i dispositivi a tali pin.
Ci sono dei limiti di corrente da tener conto: infatti il PIC micro può gestire, in uscita, al
massimo 25 mA per pin, ma la corrente massima per l’intera porta è di 100 mA.
Si deduce che non tutti i pin possono gestire contemporaneamente 25 mA l’uno: Per poter
funzionare tutti i pin, entro il limite di 100 mA; Ogni pin può avere al massimo una
corrente di 12,5 mA. Torna Menù
all’inizio
Memoria ROM
Le memorie ROM sono di sola lettura
e si dividono in:
PROM
- EPROM
- EEPROM
-
Memoria PROM (Programmable ROM):
Memoria su cui l’utente può scrivere ma una sola volta! Infatti non si può
più cancellare il contenuto una volta scritto.
Memoria EPROM (Erase Programmable ROM):
A differenza della prima una volta scritti i dati, l’utente può cancellarli e
riscriverci nuovamente. Questo grazie ad una finestra sul chip, il quale
se irradiato con raggi ultravioletti, cancella il contenuto della memoria.
Memoria EEPROM ( Electically Eraseble Programmable ROM):
Simile alla EEPROM, ma la cancellazione dei dati avviene tramite una
sequenza di impulsi elettrici su determinati pin.
Torna
all’inizio La memoria
Il microcontrollore per eseguire programmi ha bisogno di istruzioni e di dati....
Questi ultimi vengono memorizzati nella memoria interna del PIC.
capacità di un dispositivo di memorizzare
Quindi con memoria intendiamo la
dati.
La memoria è formata da un certo numero di locazioni, dove in ognuna di essa
viene memorizzato un dato che servirà poi alla CPU per lavorare.
Ogni locazione presenta un indirizzo univoco, ovvero un numero che identifica
la sua posizione nella memoria.
Un buon microcontrollore presenta anche una elevata memoria, nella quale ogni
locazione può contenere perfino 32 bit!
Ci sono diversi tipi di memorie, che possono essere distinte in:
Menù Memoria RAM
La Memoria RAM (Random Access Memory) è una
memoria volatile!
Infatti se non è più alimentata, i dati contenuti in essa
vengono persi.
Una eccezione di questa famiglia di memorie è la
NVRAM (Non Volatile RAM), in cui al suo interno ci
può essere una batteria che mantiene i dati salvati.
A volte può contenere anche una EEPROM che mantiene
i dati nel caso di perdita di potenza.
Torna
all’inizio
Come è organizzata la memoria?
Per farci un’idea di come è
organizzata la memoria in un Program Memory
microcontrollore, prenderemo come Memoria Flash:
esempio il PIC 16F84 a 16 pin. Memoria programmi
con 1024 locazioni
La Memoria Programmi (EEPROM) è
quasi sempre di tipo FLASH, cioè
può essere programmato e
cancellato molte volte. Data Memory
Memoria Memoria
La Memoria Dati, in parte usa la RAM: EEPROM:
RAM ed in parte la EEPROM. 68 locazioni di 64 locazioni di
La seconda ci consente di mantenere memoria dei memoria dei
salvati i dati importanti anche dati dati
quando l’alimentazione è spenta. Menù
Cos’è il Formula Flow Code?
Questo è il
Il Formula Flowcode è un Formula Flowcode
su cui sto
microcontrollore ( in questo svolgendo il
caso può anche essere definito progetto.
Cliccare
robot) capace di eseguire l’immagine per le
svariate azioni. caratteristiche
principali
Per esempio è capace di seguire la
luce, reagire ai suoni, seguire un
percorso (cioè una linea), e
molto altro ancora.
Questo grazie ai sui sensori che
vengono poi gestiti dalla CPU
dello stesso.
Il Microchip montato su di esso è
il PIC18F4455-I/P Visione dall’alto del Formula Flowcode.
Per vedere meglio i componenti cliccare
sull’immagine
Menù Avanti
Caratteristiche del PIC F184455
Tipo di Memoria: Flash
Memoria di Programma: 24 KByte
Velocità della CPU: 12 MIPS (Milioni di Istruzioni Per
Secondo)
Memoria della Ram: 2048 Byte
Memoria della EEPROM: 256 Byte
Temporizzazione: 1* 8 bit, 3*16 bit
Caratteristiche dell’ADC e bit di lavoro: 13 canali 10 bit
Numero di comparatori: 2
Temperatura di lavoro: -40° ÷ 85°
Tensioni di lavoro: 2V ÷ 5,5 V
Numero di pin: 40
Porte USB: 1, Full Speed, USB 2.0
Pinout
Torna Menù F184455
all’inizio Altoparlante Sensore di distanza
PIC 18F4455: la CPU Diodi LED
Connettore
USB per PC Pulsante di reset
della memoria
Interruttore per Programmi
l’alimentazione Microfono
Interruttore per l’esecuzione
dei programmi
CLOSE Sensore di luminosità
Pinout del PIC F184455
CLOSE
Caratteristiche del Formula Flowcode
Per quanto riguarda il Formula Flowcode in se
per sé, esso presenta le seguenti caratteristiche:
- Velocità massima di movimento: 20cm/s
- Dimensioni: 130 x 80 x 37 cm
- Motore: MRM-GM03 con cambio
- Alimentazione: 4 pile alcaline AA da 1,5V
Nella confezione fornitomi dal docente di
sistemi vi erano contenute queste cose:
Formula Flowcode già montato;
- CD-ROM contenente il driver per
-
l’installazione;
Manuale riguardante gli “e-blocks”;
- Un foglio con disegnata una pista che il
-
robot dovrà seguire (con l’utilizzo
dell’apposito programma). CLOSE
Il linguaggio dei flowcode….
Molti microcontrollori vengono programmati dall’uomo
utilizzando il linguaggio dei FlowCode (Diagrammi di
Flusso o logica a blocchi), al posto di usare il linguaggio
Assembly o C++ e via dicendo.
Questo tipo di linguaggio utilizza una serie di blocchi,
collegati l’un l’altro, che descrivono le azioni che il
microcontrollore deve eseguire.
Naturalmente quando viene poi salvato nel
microcontrollore , esso viene convertito
automaticamente in linguaggio macchina.
Menù Avanti
Vediamo nel dettaglio come è fatto il
linguaggio dei Flow-Code
Un programma che viene scritto con l’uso dei flowcode, non è
nient’altro che una serie di blocchi elementari
opportunamente collegati tra loro per realizzare un
determinato lavoro.
Vi sono 5 blocchi elementari con cui costruire un programma e
sono:
Blocco di inizio
Blocco di lettura/scrittura Cliccare su uno
Blocco di azione dei link per la
Blocco di controllo spiegazione.
Blocco di fine
Torna Menù
all’inizio
BLOCCO DI INIZIO
Questo è un blocco essenziale
per lo svolgimento di un
programma. INIZIO
SEMPRE!
Deve esserci
Indica l’inizio del programma
che si sta realizzando. CLOSE
BLOCCO DI LETTURA/SCRITTURA
Questo è un blocco di
lettura o scrittura. LETTURA/
Consente di mandare SCRITTURA
dati su una periferica
o riceverne da
quest’ultima. CLOSE
BLOCCO DI AZIONE
Questo blocco rappresenta
un azione che il
microcontrollore o il
sistema deve eseguire. AZIONE
Solitamente serve per
richiamare una macro ad
un componente, cioè per
far svolgere ad esso una
determinata cosa. CLOSE
BLOCCO DI CONTROLLO
Questo blocco serve per dare
una condizione ( es. è attivo
il sensore di luminosità?)
Se tale condizione risulta
essere vera allora il CONDI- FALSA
programma esegue ZIONE
determinate azioni (es: segui
la luce rilevata) VERA
Altrimenti il programma
esegue altre azioni (es:
accendi i sensori) CLOSE
BLOCCO DI FINE
Questo blocco, assieme a quello
di inizio, è essenziale per lo
svolgimento di un programma.
Anch’esso deve esserci FINE
SEMPRE!
Indica la fine del programma
che si sta realizzando. CLOSE
Il programma: Flowcode V3
Il Software che ci consente di
creare i programmi e poi di
trasferirli sul Formula Flow
Code si chiama:
Flowcode V3.
All’inizio può sembrare al quanto
complicato, ma lavorandoci un
po’ si è capaci di realizzare
subito semplici programmi.
Menù Avanti
Una volta aperto il programma la
schermata ci appare come si
può vedere dall’immagine
affianco.
A Sinistra abbiamo tutte le icone,
come per esempio quelle per
inserire blocchi nel flowchart, o
quello per visualizzare il
componente.
Sopra ci sono pulsanti utilissimi.
Primo tra tutti quello per
compilare il programma nel
formula flowcode. Menù Avanti CLOSE
Le principali icone in dettaglio...
Inserisce un blocco di lettura da una periferica;
Inserisce un blocco di scrittura su una periferica;
Inserisce un blocco che esegue un ciclo che si ferma solo
se si verifica una certa condizione;
Inserisce un blocco che dà un ritardo;
Inserisce un blocco di decisione ( o di controllo);
Inserisce un blocco che esegue un calcolo;
Inserisce un blocco di gestione di una stringa;
Inserisce un blocco di interrupt;
Inserisce un blocco che richiama una macro;
Inserisce un blocco di richiamo macro ad un componente;
Ci fa visualizzare il Formula Flow-Code Menù
Programmare il Formula Flowcode
Per programmare il Formula Flowcode bisogna
fare quanto segue:
Creare il Flowchart del programma voluto;
Una volta finito salvare;
Questo video mostra come passare
il programma creato con
Cliccare su Componente;
Flowcode V3 sul robot. Per
semplificare le cose ho deciso di
Cliccare su Compila nel Componente;
utilizzare un programma già
realizzato.
Si aprirà una finestra, e quando compare un
Per vedere il video cliccare il
messaggio, connettere il robot con il cavo pulsante sotto.
USB al PC, accenderlo e premere il pulsante
di reset;
Una volta finito di inviare il programma,
spegnere il robot e scollegarlo;