24
ISTITUTO TECNICO TECNOLOGICO STATALE “SILVANO FEDI-ENRICOFERMI” _________________________________________________________________________ Via Panconi 39-51100-Pistoia(ITALIA) Tel +39 057337211 FAX +39 0573372121 Cod.Fis.:80007710470 Cod Mec.: PTTF01000R Web:www.itisfedi.pts.it E-Mail: [email protected] CANDIDATI Martini Filippo & Scancarello Simone CLASSE E SEZIONE V KB ANNO SCOLASTICO 2011/2012 CORSO DI TDP(Tecnologia disegno e progettazione) 1 PROGETTO DI UN PANNELLO SOLARE E CONTROLLO ONLINE IL PROGETTO: Controllo di un pannello solare tramite web server; Controllo manuale del movimento con descrizione dei metodi e dei circuiti elettronici da noi utilizzati;

tesina di maturità

Embed Size (px)

DESCRIPTION

controllo online di un pannello solare

Citation preview

Page 1: tesina di maturità

ISTITUTO TECNICO TECNOLOGICO STATALE“SILVANO FEDI-ENRICOFERMI”

_________________________________________________________________________Via Panconi 39-51100-Pistoia(ITALIA) Tel +39 057337211 FAX +39 0573372121

Cod.Fis.:80007710470 Cod Mec.: PTTF01000R Web:www.itisfedi.pts.it E-Mail: [email protected]

CANDIDATI Martini Filippo & Scancarello Simone CLASSE E SEZIONE V KB

ANNO SCOLASTICO 2011/2012

CORSO DI

TDP(Tecnologia disegno e progettazione)

1

PRO

GET

TO D

I UN

PA

NN

ELLO

SO

LAR

E E

CO

NTR

OLL

O O

NLI

NE

IL PROGETTO:Controllo di un pannello solare tramite web server;

Controllo manuale del movimento con descrizione dei metodi e dei circuiti elettronici da noi utilizzati;

Page 2: tesina di maturità

- INTRODUZIONE Pag. 3

- SCHEMA A BLOCCHI DEL PROGETTO

- CIRCUITI DI FUNZIONAMENTO- Gestione dei movimenti e componenti utilizzati- Modulo L298- Sensori di prossimità- Siteplayer- Circuito connessioni

- SVILUPPO SOFTWARE Pag. 14-23- Programma in C- Pagina Html e relative funzioni- File di definizione per la siteplayer

INDICE

Pag. 4

Pag. 5-13

Foto del nostro progetto:

- SOFTWARE UTILIZZATI E FONTI Pag. 24

Pag. 2

Page 3: tesina di maturità

INTRODUZIONELa Tesina

Al termine del corso di studi presso l'Istituto tecnico industriale S.Fedi di Pistoia, abbiamo pensato di realizzare un progetto che mette in atto le conoscenze da noi assimilate durante i tre anni di specializzazione. L'argomento della tesina è la realizzazione di un pannello solare, controllato e gestito tramite una pagina web.

Il progetto è costituito da:-Un pannello solare;-Un supporto metallico;-Due motorini passo-passo a quattro fasi;-Un modulo siteplayer;-Un circuito che smista le varie connessioni alle schede utilizzate;-Due driver L298 per la gestione dei motorini passo-passo;

Il pannello da noi realizzato può svolgere diverse funzioni quali:-Rilevamento della potenza e tensione erogata;-Spostamento automatico seguendo l'ora del giorno ( dall'alba al tramonto);-Spostamento manuale da remoto;

Per la gestione da remoto abbiamo pensato ad un controllo online mediante una pagina web scritta in html. Dove grazie al modulo siteplayer siamo in grado di creare un piccolo web server con una dimensione di 64Kb.Ecco un'immagine di anteprima della nostra pagina web, che poi andremo a spiegare in dettaglio più avanti.

Pag. 3

Page 4: tesina di maturità

SCHEMA A BLOCCHI DEL SISTEMA

Pannello Solare

GestioneDei

Movimenti

ModuloSitePlayer

Sensore diRilevamento (°C)

Invio dati a

Server

Sensore Effetto- Hall

Motoripasso-passo

Pagina Html e

Comandi di gestione

Pag. 4

Page 5: tesina di maturità

CIRCUITI PER IL FUNZIONAMENTOPer il movimento del pannello, sia in modo orizzontale che per l'angolo di azimut, ho utilizzato due motori passo passo.Il primo motore (posizione orizzontale) è stato collegato per necessità a un motoriduttore con riduzione 1:720 così che, 720 giri del passo passo corrispondano a una rotazione completa del pannello, questo perchè, utilizzando la riduzione ottengo spostamenti più lenti e precisi.Parlerò adesso delle specifiche di questi motori.

Motore Passo-PassoI motori passo passo, sono dei motori elettrici in grado di produrre spostamenti angolari di precisione. Sono particolarmente utilizzati nei posizionamenti angolari dell'albero. Esso ruota di un angolo fisso, detto passo, a ogni commutazione dei segnali digitali che controllano il motore.A differenza dei comuni motori in CC per muovere un motore passo passo occorre inviare serie di impulsi di corrente secondo un'opportuna sequenza in modo tale da far spostare la posizione angolare di equilibrio.E' così possibile far ruotare l'albero nella posizione e alla velocità voluta semplicemente contando gli impulsi ed impostando la loro frequenza, visto che le posizioni di equilibrio dell'albero sono determinate meccanicamente con precisione.Una passo è un passaggio controllato di corrente nelle bobine motori. Quando una bobina è accesa, il flusso di corrente attraversa l'avvolgimento e questo diventa un elettromagnete. Viene poi magnetizzata la bobina seguente e si crea la rotazione.Il numero dei passi che un motore compie nell'unità di tempo sono direttamente proporzionali alla frequenza f dei segnali.Il numero dei passi è definito dalla seguente formula:

S è espressa dalla seguente relazione : ed indica il numero di passi al giro.

I motori passo-passo possono essere principalmente di tipo unipolare e bipolare.Quelli utilizzati per il movimento del pannello sono di tipo bipolare.

Motore bipolarePer il controllo del motore, si utilizza un circuito denominato ponte ad H.I motori bipolari si chiamano così perché, per far ruotare l'albero, occorre invertire la polarità d’alimentazione delle loro bobine secondo determinata sequenza.I motori bipolari sono più diffusi perché a parità di potenza hanno dimensioni minori rispetto agli unipolari, quindi nelle apparecchiature in cui vi sono problemi di spazio si preferisce i bipolari anziché gli unipolari.Questi motori si riconoscono perché dal loro corpo escono sempre e solo 4 fili, perché le coppie delle bobine sono sprovviste di presa centrale.

n=60fS

S=360 °γ

Pag. 5

Page 6: tesina di maturità

Parametri tipici:I valori più comuni di rotazione dei motori sono 1.8° , 3.6° , 7.5°.In questo grafico sono riportate le caratteristiche di coppia del motore in funzione della frequenza di passo. La curva A indica l'andamento della massima coppia di carico che può essere applicata al motore senza che perda il passo; La curva B vale nella fase di avviamento del motore.Nella zona compresa fra l due curve , detta slew range, il motore non perde il passo a patto che la velocità non vari bruscamente.

Parametri rilevanti:- Induttanza L e resistenza R di fase (induttanza e resistenza degli avvolgimenti)- Angolo di passo (angolo di rotazione dell'albero a ogni commutazione delle fasi)- Passi per giro (numero di passi per compiere 360°)- Coppia di tenuta (massima coppia applicabile a motore alimentato ma fermo senza che esso ruoti)- Coppia residua (massima coppia applicabile a motore spento senza che esso ruoti)- Pull out rate: (massima frequenza di rotazione senza perdere passi)- Pull out torque: (massima coppia applicabile a una data frequenza)- Pull in rate: (massima frequenza a cui un motore con un dato carico può partire)- Pull in torque: (massima coppia con cui un motore può partire)- Overshoot: è la sovraoscillazione che il rotore compie dopo ogni passo intorno alla sua posizione finale. Un eccessivo overshoot alla basse frequenza tende a logorare le ruote dentate.

Determinare le coppie di poli di un motore bipolare:Per determinare le coppie di poli del motore passo passo e decidere quindi con quale sequenza inviare gli impulsi ho agito come segue:Quello che occorre è un multimetro per procedere alla misura della resistenza dei cavi.Nel nostro caso il colore dei cavi è: rosso, giallo, blu, arancio.Facendo misurazione ho notato che in alcuni casi la resistenza è infinita, ciò significa che le due bobine non sono connesse tra loro, mentre capisco che sono connesse quando la resistenza rilevata è di pochi ohm.Alla fine delle misurazioni si ricavano le seguenti coppie:

Pag. 6

Page 7: tesina di maturità

AzionamentiSono possibili tre tipo di azionamenti:

Azionamento a una fase per volta chiamato anche wave driver, prevede l'attivazione di un avvolgimento alla volta.(caso a Figura sottostante)Inizialmente viene attivata la fase AB; si crea un campo magnetico di statore diretto verticalmente, il rotore per effetto di questo campo si posiziona anch'esso verticalmente. Successivamente attivando la fase CD il rotore compie una rotazione di 90° in senso orario allineandosi al campo magnetico di statore . (il passo di attivazione è 90°)

Azionamento a due fasi alla volta chiamato anche a passo intero (tipicamente il più utilizzato. Figura b)L'attivazione avviene nel modo seguente:I campi magnetici di statore risultanti dall'attivazione contemporanea di due fasi permettono al rotore di posizionarsi obliquamente. Il passo è ancora di 90° ma la coppia risulta più elevata essendo prodotta contemporaneamente da due fasi.

Azionamento a mezzo passo (utilizzato per una maggiore precisione. Figura c)La sequenza è composta ora da otto fasi e il passo di rotazione risulta 45°.La coppia fornita non è sempre la stessa poiché le fasi attivate per polarità non sempre sono due.

a) Una fase alla volta

c) Mezzo passo

b) Due fasi alla volta

Pag. 7

Page 8: tesina di maturità

Modulo L298 per controllo dei motori passo passo

Il modulo L298 è un circuito integrato inserito normalmentein un contenitore multiwatt (per l'applicazione di un evenutale dissipatore termico)costituito da una coppia di circuiti di pilotaggio a ponte H che di seguito illusterò. Il driver è provvisto di ingressi adattati ai livelli logici TTL standard e di uscite in grado di pilotare carichi come motori DC o motori passo-passo. Questi integrati sono normalmente provvisti sia di protezione termica sia di limitazione di corrente.La corrente in uscita raggiunge 4 Ampere.Il funzionamento dell'L298 è basato sul principio di funzionamento di un ponte H, all'interno vi sono 2 ponte, ognuno di essi ha due ingressi e due uscite

Principio di funzionamento L298 e ponti HPrendo in analisi uno dei ponti:Quando un ingresso è alto, anche l'uscita corrispondente è pure alta, ossia risulta collegata tramite il transistor superiore al terminale di alimentazione Vss.Quando invece l'ingresso è basso, la sua uscita si trova collegata attraverso il transistor inferiore al terminale SENSE (massa).Ciascuno dei due ponti è provvisto di un ingresso di abilitazione EN che nello stato basso interdice tutti i transistori del ponte. La tensione di alimentazione della parte logica è di 5 V mentre quella di potenza arriva a 46V.

Pag. 8

Page 9: tesina di maturità

Pag. 9

Page 10: tesina di maturità

Sensori di prossimitàPer il controllo della posizione del pannello e come sensori di fine corsa ho utilizzato due sensori uguali ad effetto hall.I sensori da me utilizzati sono due UGN 3503LT (E13)Questi sensori sono dispositivi che rilevano la presenza di un campo magnetico fornendo in uscita un segnale in tensione. Il loro funzionamento è basato su quello degli interruttori di prossimità ad effetto hall che spiego brevemente:Se una barretta di metallo o di semiconduttore nel quale fluisce una corrente I è immersa in un campo magnetico trasversale di induzione B, sui portatori di carica che danno luogo alla corrente si origina una forza che tende a spostarli perpendicolarmente sia al campo di induzione che alla corrente.

Caratteristiche principali:- Tensione di alimentazione da 4.5 a 6V- Densità flusso magnetico: illimitata- Range di temperatura in funzione: -20°C a +85°C- Range di temperatura a riposo: -65°C a +150°C

Questi sensori sono conosciuti per essere estremamente sensibili, per avere una lunga durata poiché le superfici non si deteriorano e perché non essendoci organi meccanici in movimento i tempi di risposta sono estremamente veloci

Circuito per la connessione del sensore e schema interno di funzionamento

Pag. 10

Page 11: tesina di maturità

SITEPLAYERIl Netmedia SitePlayer SP1 è progettato in modo semplice ed economico e consente a qualsiasi dispositivo basato su microprocessore di interagirci. In poco più di un pollice quadrato il SitePlayer include:- un server web- il10baseT Ethernet controller- flash web pagina di memoria- processore oggetto grafico- un dispositivo seriale

La SitePlayer gestisce i protocolli web e i pacchetti Ethernet indipendentemente dal processore utilizzato.Il traffico web non influisce sul funzionamento del processore del dispositivo, ma da una maggiore sicurezza. La comunicazione tra la SitePlayer e il dispositivo si realizza attraverso gli oggetti inviati tramite uno standard a due fili della porta seriale. Non viene utilizzato nessun protocollo TCP / IP .

Pag. 11

Page 12: tesina di maturità

Ecco le specifiche della siteplayer:

Per far funzionare la Siteplayer, abbiamo bisogno di vari file, tra i quali il piu importante è il file di definizione.

Questo file viene utilizzato per guidare il compilatore alla produzione delcodice oggetto da caricare nel modulo siteplayer.Il file specifica:- un nome da dare al dispositivo

- un indirizzo statico o dinamico al modulo ( nel nostro caso è stato assegnato un indirizzo statico )

- se generare un breve impulso di interrupt nel pin 11 collegato al pin RB0 del PIC.(Più avanti vedremo il nostro file di definizione)

- una password per accedere al modulo

- l’indirizzo statico da memorizzare nel modulo.Nel nostro caso si è assegnato l’indirizzo privato di classe C "192.168.1.250" ampiamente utilizzato nelle reti locali di piccole dimensioni. Questo indirizzo dovrà essere fornito al linker per poter caricare nel modulo il programma. Per default questo è anche l’indirizzo fornito dal costruttore da utilizzare la prima volta che si programma il modulo.Pag. 12

Page 13: tesina di maturità

SCHEMA DELLE CONNESIONI

Questo schema rappresenta le connessioni effettuate per interconnettere i diversi dispositivi da noi utilizzati tra i quali:- Il motore di elevazione- Il motore azimut- La PORTB e la PORTC del PIC16F876- Il sensore ad effetto hall

Per la connessione dei sensori ad effetto hall abbiamo utilizzato un cavo schermato quindi protetto da interferenze esterne, mentre per le altre connessioni è stato utilizzato un flat cable.

Dopo aver saldato i connettori e connesso le schede, il tutto è stato inserito in un leggero contenitore di alluminio, è stato inoltre previsto un sistema di raffreddamento ad aria attraverso una ventola da 12V 0.15A.Per far funzionare l'intero sistema è necessario un alimentatore DC stabilizzato da 12 volt e con corrente max fino a 2A.

Pag. 13

Case con sistema di raffreddamento contenente le schede per il funzionamento:

- Alimentazione 10V - 12V DC 2A

Page 14: tesina di maturità

PROGRAMMA IN C/*Inseguitore solare Programma TEST motore PP e finecorsa * * Schema utilizzazione porte: * Motore Azimut * RB0: * RB1: * RB2: * RB3: * * Motore Alevazione * RC0: * RC1: * RC2: * RC3: * Scancarello Martini*/

#include <stdio.h>#include <stdlib.h>#include "siteplayer.h"#include "usart.h"#include <htc.h>

__CONFIG(FOSC_XT & WDTE_OFF & PWRTE_ON & CP_OFF & CPD_OFF & BOREN_OFF & LVP_OFF & WRT_OFF & DEBUG_ON);

#define _XTAL_FREQ 4000000#define STPObjectStato 0x05#define UDPHeaderBase 0x02d0#define STEPS_NUMBER 0x04

//Vettore delle fasi//Mezzo Passo: scansione completa//Passo intero unica fase: scansione solo pari//Passo intero doppia fase: scansione solo dispari/* * PHA PHB IN1 IN2 IN3 IN4 * 0 + 0 1 0 0 0 * 1 + + 1 0 1 0 * 2 0 + 0 0 1 0 * 3 - + 0 1 1 0 * 4 - 0 0 1 0 0 * 5 - - 0 1 0 1 * 6 0 - 0 0 0 1 * 7 + - 1 0 0 1 **/

Pag. 14

Page 15: tesina di maturità

//unsigned char steps[] = {0b1000, 0b1010, 0b0010, 0b0110, 0b0100, 0b0101, 0b0001, 0b1001};const unsigned char steps[] = {0b1010, 0b0110, 0b0101, 0b1001};unsigned char i_steps,finecorsa_az, finecorsa_el,stato,inputc;unsigned int posizione_az, posizione_alt,i;/*Scrive un byte nella memoria SitePlayer ad un indirizzo maggiore di 0xff*/void WriteXByteSitePlayer(unsigned int address, unsigned char data) { unsigned char byte; putch(0x90); byte = address & 0x00ff; __delay_ms(50); putch(byte); byte = (address & 0xff00) >> 8; __delay_ms(50); putch(byte); __delay_ms(50); putch(data); __delay_ms(50);

}/* Routine di inizializzazione */void inizializzazione(void){ INTCON = 0x00;

TRISC=0b11110000; TRISB=0b11110000; //Macro che inizializza la seriale.... init_comms(); /* inizializzazione TIMER0, clock 128 us*/

OPTION_REG=0b10000110; //dipende dalla versione di compilatore// OPTION = 0b10000110;// TMR0 = 178; TMR0 = 50; GIE = 1;

i_steps=0;/*SitePlayer initializazion sequenze START//Serve ad inizializzare il microcontrollore del SitePlayer//TRasmette via seriale una serie di 20 comandi NOP, seguiti dal//comando di RESET */

for(i=0; i<20; i++)putch(Stp_Cmd_Nop);

putch(Stp_Cmd_Reset);__delay_ms(100);

//SitePlayer initializazion sequenze ENDPag. 15

Page 16: tesina di maturità

//Imposto il pacchetto UDP BEACON per il riconoscimento del sistema //Destination MAC address WriteXByteSitePlayer(UDPHeaderBase, 0xff); WriteXByteSitePlayer(UDPHeaderBase+1, 0xff); WriteXByteSitePlayer(UDPHeaderBase+2, 0xff); WriteXByteSitePlayer(UDPHeaderBase+3, 0xff); WriteXByteSitePlayer(UDPHeaderBase+4, 0xff); WriteXByteSitePlayer(UDPHeaderBase+5, 0xff); //Destination IP address WriteXByteSitePlayer(UDPHeaderBase+0x06, 0xff); WriteXByteSitePlayer(UDPHeaderBase+0x07, 0xff); WriteXByteSitePlayer(UDPHeaderBase+0x08, 0xff); WriteXByteSitePlayer(UDPHeaderBase+0x09, 0xff); //Destination PORT WriteXByteSitePlayer(UDPHeaderBase+0x0a, 0x00); WriteXByteSitePlayer(UDPHeaderBase+0x0b, 0x10); //Object to send start address WriteXByteSitePlayer(UDPHeaderBase+0x0c, 0x00); WriteXByteSitePlayer(UDPHeaderBase+0x0d, 0x00); //Nummer of bytes to send WriteXByteSitePlayer(UDPHeaderBase+0x0e, 0x00); WriteXByteSitePlayer(UDPHeaderBase+0x0f, 0x01);

/*Invio 5 segmenti UDP*/for(i=0; i<5; i++) {

putch(0x50); __delay_ms(50); __delay_ms(50); }continua: ;}//inizializzazione

/*Posiziona i motori nelle posizioni di riferimento segnate dai finecorsa*/void reset_posizione() {

i_steps = 0; while (finecorsa_el) { PORTC = steps[i_steps]; i_steps++; i_steps++; i_steps = i_steps % STEPS_NUMBER; // modulare, sostituisce la funzione di if(i==4){i=0;}

__delay_ms(10); } posizione_alt = 0;

}Pag. 16

Page 17: tesina di maturità

/*Routine che serve a testare i motori*/void test_motori(){ /*100 giri in un senso*/ for(i=0; i<1000; i++) { i_steps = i & (STEPS_NUMBER-1); PORTC &= 0xf0; PORTC |= steps[i_steps]; PORTB &= 0xf0; PORTB |= steps[i_steps]; __delay_ms(10); } /*100 giri nell'altro*/ for(i=1000; i > 0; i--) { i_steps = i & (STEPS_NUMBER-1); PORTC &= 0xf0; PORTC |= steps[i_steps]; PORTB &= 0xf0; PORTB |= steps[i_steps]; __delay_ms(10); } PORTC &= 0xf0; PORTB &= 0xf0;}//test_motori()//tramite uno switch case decido i valori da dare ai pulsanti della pagina web per far funzionare il pannellovoid interrupt isr(void) { if( T0IE && T0IF) { switch (stato) { case 0: PORTC &= 0xf0; PORTB &= 0xf0; i_steps = 0; break; case 1: PORTC &= 0xf0; PORTC |= steps[i_steps]; i_steps ++; i_steps &= (STEPS_NUMBER -1); break; case 2: PORTB &= 0xf0; PORTB |= steps[i_steps]; i_steps ++; i_steps &= (STEPS_NUMBER -1); break; case 3: PORTC &= 0xf0; PORTC |= steps[i_steps]; i_steps --; i_steps &= (STEPS_NUMBER -1); break; case 4: PORTB &= 0xf0; PORTB |= steps[i_steps]; i_steps --; i_steps &= (STEPS_NUMBER -1); break; default: break;

Pag. 17

Page 18: tesina di maturità

} TMR0 = 178; //10ms T0IF = 0; return; } }

//Serve a scaricare la FIFO della USART, necessario altrimenti può creare problemivoid ClearUsartBuffer (void){unsigned char dump;dump = RCREG;dump = RCREG;//Resetto la logica del ticevitore USARTCREN = 0;CREN = 1;}

/*************************************** MAIN *********************************/void main(void){//TMR0 = 0x10; // OPTION_REG=0b10000000; inizializzazione();// reset_posizione();// test_motori(); T0IE = 1;

while(1){ //Leggo lo stato dal STP __delay_ms(10); ClearUsartBuffer(); putch(Stp_Cmd_Read);//Comando: lettura primo Byte comando motori putch(STPObjectStato); //Indirizzo lettura, è l'indirizzo dell'oggetto definito nel file .SPD stato = getch(); }}

/* FUNZIONI LOCALI*/

Pag. 18

Page 19: tesina di maturità

PAGINA HTML

La pagina utilizzata per la gestione e il controllo del pannello solare online è la seguente:

Come potete vedere è composta principalmente da tre funzioni fondamentali:- Il movimento del pannello in una delle direzioni desiderate.- L'arresto del pannello.- Il reset del sistema, serve a riportare il pannello solare nella posizione di default.

Poi presenta altre parti:- Azimut, serve a leggere il valore del motorino passo-passo che compie la rotazione oraria o antioraria.- Elevazione, serve a leggere il valore del motorino passo-passo che compie il movimento verticale.-Infine cliccando sul pulsante Foto Gallery potrete visualizzare online le foto del progetto.

Pag. 19

Page 20: tesina di maturità

Codice della pagina html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Home Page</title></head><style>#ru{

margin-top:30px;}#itis{

margin-top:-96px;margin-right:10px;margin-bottom:15px;}

#ministero{margin-top:-95px;margin-left:10px;margin-bottom:10px;}

#frecciadestra{margin-left:35px;margin-top:10px;}

#frecciasinistra{margin-left:0px;margin-top:10px;}

#frecciagiu{margin-left:43px;margin-top:10px;}

#accensione{margin-left:580px;margin-top:-10px;}

#frecciasu{margin-left:43px;margin-top:-5px;}

#pulstop{margin-left:170px;margin-top:0px;}

Questa parte della pagina serve per dare le corrette posizioni ai vari pulsanti presenti nella pagina, il tutto utilizzando un tag <style> che serve per impostare i giusti margini del foglio.

#nome questa funzione serve per richiamare il proprio tasto dalla zona <body>

Pag. 20

Page 21: tesina di maturità

#automaticopan{margin-left:38px;margin-top:0px;}

#gallery{ margin-left:490px;

margin-top:150px;}

</style><body><table width="700" border="3" align="center" id="ru" ><tr><td colspan="2" style="background-color:#FFA500;" align="center"><h1><i>Controllo online<br />Pannello solare</i></h1>

<a target="_blank" href="http://www.itisfedi.pt.it/"><img src="http://www.progettiesame.altervista.org/pannello/logofedifermi.jpg" height="100" width="105" align="right" border="1" id="itis"/></a><a target="_blank" href="http://www.miur.it/"><img src="http://www.progettiesame.altervista.org/pannello/ministero.gif" height="100" width="105" align="left" id="ministero"/></a></td></tr><tr valign="top"><form action="StpInseguitoreSolare.spi" method="get" name="form">

<td style="background-color:#eeeeee;height:400px;width:400px;text-align:top;"> <p style="margin-left:5px" size="2" ><b>Muovi il pannello in una delle seguenti direzioni:</b></p> <p style="margin-left:20px;margin-top:10px" </p><button name="CmdByte" type="submit" value="4" id="frecciasu" style="margin-left:30px"><img src="http://www.progettiesame.altervista.org/pannello/freccinasu.png" height="32" width="32"></button><p style="margin-left:5px; margin-top:-12px"</p><button name="CmdByte" type="submit" value="1" id="frecciasinistra"><img src="http://www.progettiesame.altervista.org/pannello/freccinasx.png" height="32" width="32"></button>

<button name="CmdByte" type="submit" value="3" id="frecciadestra"><img src="http://www.progettiesame.altervista.org/pannello/freccina.png" height="32" width="32"></button>

<p style="margin-left:160px; margin-top:-90px" size="2"><b> Ferma il pannello</b></p><button name="CmdByte" tipe="submit" value="0" id="pulstop" title="FERMA IL PANNELLO"><img src="http://www.progettiesame.altervista.org/pannello/stop_button.png" height="40" width="40" ></button><br />

La nostra pagina principalmente è una tabella, dove in html si scrive con i tag <table> dandogli i vari parametri quali larghezza, altezza e allineamento.Il tag <button> serve per definire i tasti presenti nella nostra pagina.

Il tag <form action> serve per inserire un file fondamentale della siteplayer.

Pag. 21

Page 22: tesina di maturità

<p style="margin-left:-119px; margin-top:-1px"</p>

<button name="CmdByte" tipe="submit" value="2" id="pulstop"><img src="http://www.progettiesame.altervista.org/pannello/freccinagiu.png" height="32" width="32" ></button><br />

<p style="margin-left:550px; margin-top:-180px" size="2"><b> Reset del sistema</b></p><button name="CmdByte" tipe="submit" value="5" id="accensione"><img src="http://www.progettiesame.altervista.org/pannello/rs.png" height="49" width="49" ></button><button type="button" id="gallery" onclick="top.location.href = 'http://progettiesame.altervista.org/gallery'"><img src="http://www.progettiesame.altervista.org/pannello/Foto-Gallery.gif" height="50" width="160" ></button></td></tr><DIV STYLE="position:absolute; top:410px; left:340px">

<img src="http://www.progettiesame.altervista.org/pannello/azimut.jpg" height="42" width="48">&nbsp<b>Azimut: ^Azimut</DIV><DIV STYLE="position:absolute; top:450px; left:340px">

<br><img src="http://www.progettiesame.altervista.org/pannello/elv.jpg" height="42" width="48">&nbspElevazione: ^Elevazione</b></DIV>

<tr><td colspan="2" style="background-color:#FFA500;text-align:center;"><b>Copyright © Martini F. , Scancarello S. & Prof.Gabbani a.s.2011/2012</b></td></tr></table></ru><body bgcolor="#1E90FF"></body></html>

Nel tag button abbiamo inserito CmdByte e value per assegnare ai bottoni le funzioni presenti nello switch case del programma in c

Pag. 22

Page 23: tesina di maturità

FILE DI DEFINIZIONE;; DEFINITIONS ; Versione 7/6/2012

;$Devicename sets the name or description of the device$Devicename "ITIS Fedi Test Inseguitore Solare"

;$DHCP on sets SitePlayer to find its IP address from a DHCP server$DHCP off

;$DownloadPassword sets password for downloading web pages and firmware$DownloadPassword ""

;$SitePassword sets password for browsing web pages$SitePassword ""

;$InitialIP sets SitePlayers IP address to use if no DHCP server is available;$InitialIP "192.168.1.250"$InitialIP "10.12.10.10"

;$PostIRQ on sets SitePlayer to generate a low level IRQ on pin 11;$PostIRQ on

;$Sitefile sets the binary image filename that will be created$Sitefile "StpInseguitoreSolare.spb"

;$Sitepath sets the root path of the web pages for this project$Sitepath "html"

;; Memory OBJECTS;

org 5CmdByte db 0 ;0x05Azimut dw 0 ;0x06Elevazione dw 0 ;0x08

Pag. 23

Page 24: tesina di maturità

Elenco software utilizzati per la realizzazione

MPLAB Progettazione software microcontrollore PIC16F877

KICAD Progettazione circuiti e schemi di connessione dei connettori

Adobe Photoshop Grafica per sito web; gestione e personalizzazioneimmagini e foto allegate alla tesina

Blocco note Scrittura e modifica pagina web in linguaggio HTML

Scancarello Simone

MPLAB Progettazione software microcontrollore PIC16F876

Martini Filippo

Fonti:Testi:“TDP tecnologia disegno e progettazione” II edizione Volume 3 Cenuberti; De Lucchi; Galluzzo“Elettronica. Dispositivi e sistemi analogici programmabili” Volume 3 Cenuberti; De Lucchi; Galluzzo

Datasheet:- Allegro microsystem- STMicroelectronics- SitePlayer datasheet

Consulto di pagine web: nutchip.com; wikipedia.it; html.it; siteplayer.com

Sito web per la visualizzazione della tesina online: progettiesame.altervista.org

Pag. 24