INSEGUITORE SOLARE CON ARDUINO

Slides:



Advertisements
Presentazioni simili
INGRESSI E USCITE.
Advertisements

Ingressi ADC 8 canali con ADC a 10-bit I/O pins dal 13 al 20
Caratteristiche del controllo a catena aperta: un esempio
Fotometro a fotoresistenza
Hard disk.
Realizzazione di un robot mobile controllato mediante comandi labiali
UNIVERSITA’ DEGLI STUDI DI TRIESTE FACOLTA’ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA ELETTRONICA A.A / 2005 Tesi di Laurea Triennale SVILUPPO.
Tipologie di Controlli in Ambito Industriale
Esercizio 1 Un condensatore piano di area A=40 cm2 e distanza tra i piatti d=0.1 mm, e` stato caricato collegandolo temporaneamente ad un generatore di.
CONDIZIONAMENTO ANALOGICO
Motori Elettrici: i fondamenti
Corso di Fisica B – C.S. Chimica
Esperienza n. 7 Partitore di tensione in cc: dipendenza del rapporto di partizione dal carico. Misura della resistenza interna di un generatore fem Un.
Velocità media Abbiamo definito la velocità vettoriale media.
Dipartimento di Informatica e Sistemistica Alessandro DE CARLI Anno Accademico MOVIMENTAZIONE CONTROLLATA MOTORI A PASSO.
Introduzione ai PLC.
L’accelerazione riferita alla traiettoria
L’accelerazione riferita alla traiettoria
Induzione Legge di Faraday E dS B x x x x x x x x x x E R B 1 E E.
L. Servoli - Corso Fisica dei Dispositivi Elettronici 1 Uno scheduler deve avere implementate almeno le seguenti funzionalità: 1) Inizializzatore: preparazione.
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
I File.
Parte I (I Sensori) I sensori di movimento
Lezione VIII Laboratorio di Programmazione. Streams formattati In C è sfruttata linformazione riguardo al tipo di un certo dato per impostare la formattazione.
Scienze per l'ingegneria
Daniele Mazzei. Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione.
Parametri di un motore passo-passo
IL MONDO DEI ROBOT I robot realizzati dagli studenti
ENERGIA SOLARE.
IL MONDO DEI ROBOT I robot realizzati dagli studenti
Il Calcolatore Elettronico
Motori passo-passo a riluttanza variabile e ibrido
Area di progetto: Gruppo n°4 5^BE A.S. 2012/13
TRASMISSIONE DATI CON MODEM
Istituto Tecnico Industriale Statale P. Hensemberger
Potenziometri I trasduttori lineari di posizione serie PL sono potenziometri estremamente robusti per applicazioni industriali. Le loro caratteristiche.
Sono usati come servomotori
Cenni teorici. La corrente elettrica dal punto di vista microscopico
Programma di Informatica Classi Prime
STRUTTURA DI UN COMPUTER
INGRESSI E USCITE.
ARDUINO Arduino è una piattaforma hardware low-cost programmabile, con cui è possibile creare circuiti "quasi" di ogni tipo per molte applicazioni, soprattutto.
TAG e CSS Ricalcare la grgilia di impaginazione. UNA STRUTTURA PER I CONTENUTI Oltre a caratterizzare i contenuti (titoli, paragrafi, liste, collegamenti),
PRINCIPI DI FUNZIONAMENTO
Per questo organizza un corso di Arduino per tutti i soci Amon e GMS.
Workshop Teachers For Teachers 23 – 24 settembre 2013
LABVIEW Sommario Che cosa è uno strumento virtuale (VI) creato con LABVIEW Parti di un VI: pannello frontale diagramma a blocchi Confronto tra il principio.
Per questo organizza un corso di Arduino per tutti i soci Amon e GMS.
Linguaggio Arduino: Struttura di un programma
ARDUINO Duemilanove Parte_1 Caratteristiche
Arduino: introduzione alla programmazione
Fabio Garufi - TAADF Tecniche automatiche di acquisizione dati Sensori Prima parte.
ADC – SCHEMA GENERALE I convertitori AD sono disponibili come circuiti integrati in diversi modelli, che differiscono fra loro per prezzo, prestazioni.
Gestione dei dispositivi di I/O:
Legge di Faraday-Neumann-Lenz
dispositivi ohmici e non ohmici
Daniele Mazzei. Obbiettivi del progetto Realizzazione di un minirobot utilizzando componenti elettronici di base. Apprendere i sistemi di programmazione.
DAC A RESISTORI PESATI.
UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA UNIVERSITÀ DI BERGAMO FACOLTÀ DI INGEGNERIA Dispositivi per il.
Internetworking V anno.
SENSORI OTTICI - FOTORESISTENZE
Hardware necessario Una board Intel galileo Un alimentatore Dc 7-15 v
Presentazione Trasduttori
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Hands-On Arduino Come collegare i sensori ad Arduino P. Perego- Politecnico di Milano AA 2010/2011 Facoltà del Design - Politecnico di Milano 3.o anno.
Corrente elettrica Cariche in movimento e legge di Ohm.
PROGRAMMA: «IL FUTURO» BONIFAZI CAMILLA. BLOCKY Blocky è un linguaggio informatico visuale che, a differenza delle tradizionali programmazioni che utilizzano.
Encoder Ing. G. Cisci 2016.
ISTITUTO TECNICO – SETTORE TECNOLOGICO
INSEGUITORE SOLARE CON ARDUINO
Transcript della presentazione:

INSEGUITORE SOLARE CON ARDUINO Dispositivo che insegue il movimento solare realizzato con: Arduino 2 fotoresistenze 1 servomotore

PRINCIPIO DI FUNZIONAMENTO Le due fotoresistenze devono essere posizionate in modo da risultare a 90° l’una rispetto all’altra in modo che quando l’illuminazione è verticale presentino lo stesso valore di resistenza, mentre i valori di resistenza si sbilanciano allo spostamento della fonte di luce.

PRINCIPIO DI FUNZIONAMENTO Quando la fonte di luce si muove e di conseguenza il valore delle fotoresistenze varia, Arduino deve rilevare il cambiamento rispetto alla condizione iniziale e far muovere il servo nella direzione della resistenza che riceve più luce, finché la luminosità rilevata non sarà ancora circa uguale.

IL CIRCUITO

STRUTTURA DEL PROGRAMMA Attivazione della libreria #include <Servo.h> Dichiarazione delle variabili variabile di tipo integer a cui assegnare il pin a cui sono collegati i sensori variabile di tipo integer a cui assegnare il pin a cui è collegato il servomotore variabile di tipo integer a cui si assegnerà il valore letto dai sensori variabile di tipo integer per indicare la posizione, in gradi, del servo, allo start (90°) variabile di tipo integer a cui assegniare una tolleranza entro la quale il servo non deve ruotare anche se il sensore rileva variazioni dal valore centrale Inizializzare l’oggetto Servo assegnandolo all’istanza myservo Servo myservo;

STRUTTURA DEL PROGRAMMA void setup() { Impostare il pin a cui è connesso il sensore in modalità INPUT Usando attach(pin) per l’oggetto myservo indicare a quale pin è collegato il servomotore Usando write(grad) impostare i gradi a cui il servo deve posizionarsi allo start

STRUTTURA DEL PROGRAMMA void loop() { Assegnare alla variabile che indica il sensore, il valore letto sul corrispondente pin SE Valore letto < di 512 – la tolleranza  incrementare la posizione in gradi del servo nel senso opportuno, un grado alla volta , controllando di non superare il limite estremo (se) Valore letto >di 512 +la tolleranza  incrementare la posizione in gradi del servo nel senso opposto al precedente un grado alla volta senza superare l’altro limite estremo Con write( gradi ) applicare al servo lo spostamento determinato Inserire un ritardo di 100 ms

LIBRERIA SERVO.h Per l’azionamento di un servo si deve far riferimento alla libreria standard Servo.h, che si compone delle seguenti istruzioni. Attach() Associa la variabile servo ad uno specifico pin. Sintassi servo.attach(pin) Parametri servo: variabile di tipo Servo. Pin: numero del pin hardware utilizzato Detach() Dissocia la variabile servo al pin specificato. Sintassi: servo.detach(). Parametrri: servo= variabile di tipo servo.

LIBRERIA SERVO.h Read() Legge l'attuale posizione del servo corrispondente all'ultima posizione passata con l'istruzione write(). Sintassi: servo.read(). Parametri servo: variabile di tipo servo. Ritorno: l'angolo del servo da 0 a 180 gradi. Write() Invia il valore in gradi relativo alla posizione del perno del servo. Un valore 0 corrisponde alla massima rotazione a sinistra, mentre 180 equivale alla massima rotazione a destra; il valore 90 indica la posizione centrale. Sintassi: servo.write(angle). Parametri servo: variabile di tipo servo. Angle: valore corrispondente alla rotazione in gradi. Writemicroseconds() Imposta la posizione del servo come valore relativo alla durata dell'impulso espressa in microsecondi. Normalmente un valore 1000 corrisponde alla massima rotazione a sinistra, 2000 alla massima rotazione a destra ed il valore 1500 corrisponde alla posizione centrale (neutro) Sintassi writeMicroseconds(µS) Parametri servo: variabile di tipo servo. µS: valore in microsecondi relativo alla posizione del servo.

SERVOMOTORI Un servomotore è costituito da un piccolo motore in corrente continua che, mediante un sistema di ingranaggi, fa ruotare un perno sul quale è calettato un piccolo potenziometro: la lettura del valore resistivo di questo potenziometro fornisce la posizione esatta del perno. Un circuito elettronico realizzato in tecnologia SMD (surface mounting device) provvede al controllo bidirezionale del motore ed al corretto posizionamento del perno in relazione al segnale elettrico di comando. Tale posizionamento avviene confrontando il valore in tensione fornito dal potenziometro con quello ricavato dal segnale di ingresso e ruotando di conseguenza il motore sino a quando questi due valori non coincidono perfettamente. In questo modo si ottiene un controllo di posizione molto veloce e preciso, comandabile con segnali elettrici.

SERVOMOTORI Il cavetto di collegamento è composto da un filo di riferimento (GND), un filo per l'alimentazione (da 4,8 a 6 volt) ed un filo per il segnale di comando. La rotazione del perno è di ±90 gradi rispetto alla posizione centrale.

SERVOMOTORI Il segnale di controllo è di tipo PWM (Pulse Wide Modulation) formato da impulsi ad onda rettangolare ripetuti ogni 20 ms, la cui "larghezza" permette di impostare la posizione del perno del servo. La posizione centrale si ottiene quando gli impulsi hanno una durata di 1.5 ms. Questo tipo di segnale digitale si presta benissimo ad essere generato da una logica programmabile, quindi i servo possono essere comodamente gestiti dai microcontrollori.