Esercitazione Controllo di un motore DC mediante Arduino YUN



Documenti analoghi
Esercitazione Monitoraggio temperatura via WEB mediante Arduino YUN

Caratteristiche HW. Clock Speed 16 MHz

8^ parte : Motor shield FE e motore passo-passo bipolare. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Arduino e l Internet delle cose

Arduino: Programmazione

6^ parte : Acquisizione della temperatura con LM35. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

8^ parte : Pilotare Motori passo-passo bipolari usando l integrato L298N. Author: Ing. Sebastiano Giannitto (ITIS M.

Progetti reali con ARDUINO

CONTASECONDI CON DISPLAY A 7 SEGMENTI ARDUINO LIKE

Università degli studi di Roma LA SAPIENZA

Relazione Tecnica Sensore di Temperatura con interfacciamento microcontroller Arduino 1.3

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Corso di programmazione Arduino DI MALVEZZI DAVIDE

Corso Base Arduino ed Elettronica

Arduino UNO. Single board microcontroller

Telecontrollo escavatore LEGO con board Arduino

Automobile Bluetooth

Arduino. Laboratorio Arduino Base. HackLab Terni. Laboratorio aperto a tutti di elettronica, scienza e arte. hacklabterni.

12 - timer da cucina display a 4 cifre

ARDUINO. Ing. Francesco Giurlanda

Gestione dei segnali analogici nei sistemi di automazione industriale con PLC.

BARRIERE FOTOELETTRICHE PER MISURA AUTOMAZIONE CONTROLLO

CORSO ARDUINO. Giulio Fieramosca Stefano Panichi. Corsi GOLEM 2014

SCHEDA SPERIMENTALE ARDUINO UNO

Arduino: domotica open source

Prof. Capuzzimati Mario - ITIS Magistri Cumacini - Como MICROCONTROLLORE

PIANO DI LAVORO DEI DOCENTI

REGOLATORI STANDARD PID

Progetti reali con ARDUINO

TUTORIAL: COME USARE UN LM35 PER MISURARE UNA TEMPERATURA SU TUTTA LA SCALA CENTIGRADA

Laureando: Damiano Vittor. Relatore: Dott. Ing. Massimiliano Nolich

SENSORI OTTICI - FOTORESISTENZE

Kartè VISION Il Digital signage cambia volto

KEYSTONE. OM8 - EPI 2 Modulo interfaccia AS-i Manuale di istruzione. Indice 1 Modulo Opzionale OM8: Interfaccia AS-i 1

INDICE BOBINATRICI BOBINATRICE MATASSATRICE MANUALE COLONNA PORTAROCCHE CON TENDIFILO BOBINATRICE PER MOTORI E TRASFORMATORI

Unità di telelettura per contatori

11^ parte : Come gestire i servomotori con Arduino. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Introduzione alla programmazione in C

REGOLATORI STANDARD PID

Modello generale di trasduttore Come leggere la scheda tecnica di un trasduttore

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA ANNO SCOLASTICO 2015/2016

ISTITUTO D ISTRUZIONE SUPERIORE "L. EINAUDI" ALBA

DL 2105A SET DI DIAPOSITIVE 4 DL 2105 KIT PER IL MONTAGGIO DI UN MOTORE ASINCRONO 4

Raspberry Pi: Hardware Programming. Rossi Pietro Alberto

ROBOTICA Syllabus Versione 1.0

PD51B POLMONE PER BOBINATORE DOPPIO MANUALE ISTRUZIONI

Esercizi in MATLAB-SIMULINK

SISTEMI E DISPOSITIVI EMBEDDED

9^ parte : Come pilotare motori dc utilizzando il motor shield. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Il notebook HP 630 è basato sul microprocessore Intel Celeron Dual Core B800 con frequenza di clock a 1,50 GHz e 2 MB di cache L3.

l notebook ACER AS G64Mnkk è basato sul microprocessore Intel Core i3-2310m con frequenza di clock a 2,10 GHz e 3 MB di cache L3.

ESERCIZI - SERIE N.1

ISTITUTO DI ISTRUZIONE SUPERIORE Cigna Baruffi Garelli

IIS ENZO FERRARI SUSA Anno scolastico: 2013/2014. Tonco Daniel. Classe V EA - Periti in Elettronica e Telecomunicazioni

NOTE PER L INSTALLAZIONE DI DISPOSITIVI APICE

Unità intelligenti serie DAT9000

NTC E MISURA DELLA TEMPERATURA CON ARDUINO

Chi sono i padri di Arduino

MT2 e MT3: Schede e sistemi di controllo motori passo passo

Compito di Fondamenti di Informatica

Programmazione di Base Variabili Array Funzioni Strutture di controllo. Author: Ing. Sebastiano Giannitto (ITIS M.BARTOLO PACHINO)

Si compone di: SI-Prog supporta: Le tre principali famiglie di..

Autoware Ladder Tool (per Arduino ) Basic Tutorial

IL PLC 1/9. permanente, la memoria volatile e i pin di I/O, oltre ad eventuali altri blocchi specializzati.

LABORATORIO DI SISTEMI

Alma Mater Studiorum Università di Bologna. IOT Robots. S. Golovchenko (UNIBO) INGEGNERIA DEI SISTEMI SOFTWARE / 24

CONTROLLER PER STAMPANTE 3DRAG

Remote Terminal Unit B-200 Pag. 1 Descrizione

E1. IMPLEMENTAZIONE in MATLAB-SIMULINK del MODELLO e del CONTROLLO di un MOTORE ELETTRICO a CORRENTE CONTINUA

Controllori PID, metodi di taratura e problemi d implementazione

Relazione Release Alpha 2.0

Progetto Esami Di Stato Anno 2014/2015

Indice generale. Introduzione...xiii. Breve storia di Raspberry Pi...1. Fuori dalla scatola...5

Laboratorio di Ingegneria del software Sistema di controllo di un ascensore Requisisti preliminari

Gamma BRUSHLESS CROUZET

M272 - ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE

CORSO ARDUINO. Corso ASEV Giulio Fieramosca Stefano Panichi. Stefano Panichi e Giulio Fieramosca

ELETTRONICA Tema di Sistemi elettronici automatici Soluzione

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

I.T.I. LEONARDO DA VINCI

Corso Tecnologie dei Sistemi di Controllo. Tecniche di taratura di un PID

Universal Gateway for ALL

Firenze A. Colzani - L. Rota. 01/12/2013 Servizio Acquisti

Manuale per modulo di espansione

CORSO ARDUINO. Jacopo Belli Giulio Fieramosca Luca Mattii GOLEM Jacopo Belli Giulio Fieramosca Luca Mattii

Indice. 1 Introduzione 1

ISTITUTO DI ISTRUZIONE SUPERIORE J.C. MAXWELL Data: 12 /09 /2015 Pag. 1 di 4. PROGRAMMAZIONE ANNUALE A.S / 16 MANUTENZIONE e ASSISTENZA TECNICA

Schede di gestione di ingressi e uscite digitali e/o analogiche mediante interfaccia USB, Ethernet, WiFi, CAN o RS232

INFORMATICA 1 L. Mezzalira

Gestione dei File in C

La nostra Azienda. Politica aziendale

Famiglia PB2200. Nuova famiglia di fanless Box PCs con piattaforma Intel Bay Trail

Progetto di Domotica

L idea alla base del PID èdi avere un architettura standard per il controllo di processo

FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA. Presentazione

MST_K12_INV. Regolatore di velocita per motori in CC con comando esterno della inversione della rotazione. Manuale d uso e d installazione

ACCENDERE E SPEGNERE UN DIODO LED

CONTROLLI AUTOMATICI Ingegneria della Gestione Industriale CONTROLLO IN RETROAZIONE

Corso di Sistemi di Elaborazione A.A. 2008/2009

Transcript:

Percorsi Abilitanti Speciali A.A. 2013/2014 classe abilitazione C320 LABORATORIO MECCANICO TECNOLOGICO Esercitazione Controllo di un motore DC mediante Arduino YUN

Pag. 2 SOMMARIO Presentazione delle caratteristiche di Arduino YUN... 3 Descrizione del sistema... 5 Descrizione delle prove... 6 Prova 1 Controllo ad anello aperto... 6 Prova 2 Controllo proporzionale... 7 Prova 3 Controllo Proporzionale e Integrale (PI)... 7 Sketch arduino... 7

Pag. 3 Presentazione delle caratteristiche di Arduino YUN L Arduino Yún unisce alle caratteristiche dell Arduino Leonardo (Atmega32U4) il SoC (System on a Chip) Atheros AR9331 con preinstallata una distribuzione Linux (Linino) derivata da OpenWRT. La nuova Arduino Yún (Yún in cinese significa nuvola o meglio in linguaggio informatico Cloud ) è già dotata di connessione WiFi ed una porta USB Host (Standard-A) oltre allo slot per la microsd.

Pag. 4 Sul sito ufficiale arcuino.cc puoi trovare la scheda tecnica con le principali caratteristiche della Arduino Yún tra cui le principali sono: ATmega32u4 SoC Atheros AR9331 WiFi IEEE 802.11 b/g/n Ethernet IEEE 802.10 10/100Mbit/s USB Type-A 2.0 MicroSD Card reader 64Mb di RAM DDR2 16Mb di Flash 14 input/output digitali di cui 7 utilizzabili come PWM 12 input analogici a 10Bit ( 0-1023 valori ) e integra sia la parte Arduino sia quella Linux based senza la necessità di cablaggi esterni o di adattare il segnale della porta seriale tra l ATmega32u4 e il Soc AR9331.

Pag. 5 Descrizione del sistema Il sistema consiste in: un motore DC collegato ad una dinamo tachimetrica per la misura della velocità una scheda di comando motore (POLOLU 18V7) Collegato al motore secondo il seguente schema

Pag. 6 Lo schema complessivo è il seguente: Pot. ADC Algoritmo controllo PWM out Ponte H Motore DC Dinamo Yùn ADC Interfaccia elettrica Descrizione delle prove Prova 1 Controllo ad anello aperto Il controllo ad anello aperto è effettuato calcolando la variabile di controllo (Tensione del motore) proporzionale al segnale di riferimento. Si può notare che dopo opportuna taratura la velocità finale segue bene il riferimento e il transitorio è quello tipico del motore. La sensibilità del sistema di controllo ai disturbi è eccessiva. Il sistema di controllo non reagisce ai disturbi di coppia applicata all albero dall esterno.

Pag. 7 Prova 2 Controllo proporzionale Benché il sistema di controllo presenti un errore finale non nullo (circa k/(1+k) dove k è il guadagno d anello), il sistema di controllo reagisce ai disturbi di coppia applicata all albero dall esterno riducendo l errore rispetto al caso precedente. Prova 3 Controllo Proporzionale e Integrale (PI) Il sistema di controllo presenta un errore finale nullo e, inoltre, reagisce ai disturbi di coppia applicata all albero dall esterno riportando l errore a zero. Commento finale: provare ad utilizzare metodi misti (anello aperto e chiuso) Sketch arduino /* luglio 2014 Percorsi Abilitanti Speciali A.A. 2013/2014 AUTOMAZIONE E CONTROLLO DI DISPOSITIVI BASATI SU MICROCONTROLLORE classe abilitazione C320 LABORATORIO MECCANICO TECNOLOGICO Esercitazione Controllo di un motore DC mediante Arduino YUN */ int ref = 0; int refpin=a0; int out = 0; // value read from the pot // value output to the PWM (analog out)

Pag. 8 int outpin = 10; int vel = 0; int velpin = A4; int SInPin = 8; int SOutPin = 9; // pin lettura wait() //pin scrittura wait() int inte=0; unsigned long t2 = micros(); unsigned long t1 = 0; void setup() Serial.begin(115200); pinmode(a1, OUTPUT); pinmode(a2, OUTPUT); pinmode(soutpin, OUTPUT); // sets the pin SoutPin as output analogwrite(soutpin, 150); pinmode(sinpin, INPUT); // sets the pin SinPin as input digitalwrite(a1, HIGH); digitalwrite(a2, LOW); void wait(void) do while (!digitalread(sinpin)); do while (digitalread(sinpin));

Pag. 9 int controllo(int ref, int vel) int contr; int err; int cout; int k1 = 5; int k2 = 1; int ki = 1; err = ref - vel; cout = k1 *err + k2 * ref + ki * inte; inte += err; cout = sat(cout,0,1023); contr = map(cout, 0, 1023, 126, 253); return contr; int sat(int in, int m, int M) int out; if (in > M) out=m; else if (in < m) out=m; else out=in; return out; void loop() wait(); t1=t2;

Pag. 10 t2=micros(); ref = analogread(refpin); ref=map(ref,2,1022,0,1024); vel = analogread(velpin); vel = vel * 2; out=controllo(ref,vel); analogwrite(outpin, out); // print the results to the serial monitor: Serial.print("ref = " ); Serial.print(ref); Serial.print("\t\t vel = "); Serial.print(vel); Serial.print("\t\t err = "); Serial.print((int) (ref-vel)); Serial.print("\t\t integrale = "); Serial.print(inte); Serial.print("\t\t out = "); Serial.print(out); Serial.print("\t\t dt = "); Serial.println((int)(t2-t1));