1. 4. Sistema de control
4.1 Estudi de mercat del sistema de control
En aquest apartat, s’escull el tipus de controlador. Aquest, serveix per poder adquirir las dades
del sensor, i actuar sobre els actuadors.
Un cop feta la recerca dels diferents sistemes de control al mercat, Escollim els tres que més
s’adapten a l’ aplicació per estudiar-los una mica mes a fons.
• PLC
• Arduino
• Microcontrolador PIC
Els criteris a comparar entre els següents controladors, corresponen a:
• Econòmic
• Quantitat de entrades/sortides
• Facilitat d’instal·lació.
2. 4.1.1 PLC
Controlador lògic programable o PLC (Programable Logic Controller). Són dispositius
electrònics molt utilitzats en l’automatització industrial.
Fig. 4.1. Estructura PLC i programa per diagrama de contactes
Perquè un PLC compleixi amb la seva funció a controlar, es necessari programar-lo tenint en
compte les entrades/sortides i el funcionament desitjat .
AVANTATGES INCONVENIENTS
• Fiabilitat
• Consum
• Preu elevat
• Complexitat de programació
• Dissenyat per a processos industrials
Fig. 4.2. Taula avantatges PLC
Entradas
Sortides
Alimentació
3. 4.1.1 PLC
Controlador lògic programable o PLC (Programable Logic Controller). Són dispositius
electrònics molt utilitzats en l’automatització industrial.
Fig. 4.1. Estructura PLC i programa per diagrama de contactes
Perquè un PLC compleixi amb la seva funció a controlar, es necessari programar-lo tenint en
compte les entrades/sortides i el funcionament desitjat .
AVANTATGES INCONVENIENTS
• Fiabilitat
• Consum
• Preu elevat
• Complexitat de programació
• Dissenyat per a processos industrials
Fig. 4.2. Taula avantatges PLC
Entradas
Sortides
Alimentació
4. 4.1.1 PLC
Controlador lògic programable o PLC (Programable Logic Controller). Són dispositius
electrònics molt utilitzats en l’automatització industrial.
Fig. 4.1. Estructura PLC i programa per diagrama de contactes
Perquè un PLC compleixi amb la seva funció a controlar, es necessari programar-lo tenint en
compte les entrades/sortides i el funcionament desitjat .
AVANTATGES INCONVENIENTS
• Fiabilitat
• Consum
• Preu elevat
• Complexitat de programació
• Dissenyat per a processos industrials
Fig. 4.2. Taula avantatges PLC
Entradas
Sortides
Alimentació
5. 4.1.1 PLC
Controlador lògic programable o PLC (Programable Logic Controller). Són dispositius
electrònics molt utilitzats en l’automatització industrial.
Fig. 4.1. Estructura PLC i programa per diagrama de contactes
Perquè un PLC compleixi amb la seva funció a controlar, es necessari programar-lo tenint en
compte les entrades/sortides i el funcionament desitjat .
AVANTATGES INCONVENIENTS
• Fiabilitat
• Consum
• Preu elevat
• Complexitat de programació
• Dissenyat per a processos industrials
Fig. 4.2. Taula avantatges PLC
Entradas
Sortides
Alimentació
6. 4.3 Valoració
Basant-nos en els criteris de selecció del apartat anterior, s’ observa que la millor opció segons
els requeriments de la instal·lació i els criteris del client. Es realitza el sistema de control
mitjançant arduino.
L’ opció d’ utilitzar un PLC d’entrada sembla molt atractiva degut a la potencia del sistema. Per
cal tenir en compte que aquests dispositius, estan dissenyats principalment per aplicacions
industrials.
L’opció de implementar un sistema de control mitjançant PIC no es mala idea, tal com
s’observa a la taula de ponderació de control. La principal desavantatge es que en el cas de
voler ampliar l’ instal·lació seria més complicat que en qualsevol de les dues opcions, a part s’
hauria de dissenyar una placa per poder fer-ne us
Per tant l’opció més adient es la d’implementar un sistema de control mitjançant Arduino Tot i
no ser l’opció més econòmica, es un dels dispositius programables més barats del mercat.
Degut a que tenim un temps concret a l’hora de realitzar el projecte, Aquesta opció ens
permet estalviar molt de temps ja que es tracta d’ una disposició immediata i no a cal fer
moltes adaptacions.
7. 4.4 Elecció de la placa Genuino Mega 2560Rev3
Per determinar quina placa arduino necessitem, es contempla la demanda del projecte,
començant per les entrades/sortides de la placa.
Entre sensors i actuadors, tal i com s’ observa en l’apartat 4.5.1, necessitem 40 entrades. Entre
altres motius esmentats en l’ altre part del projecte, es per això que es fa servir la placa
Genuino MEGA 2560 Rev3.
Aquesta placa disposa de 50 pins, que es poden assignar com entrades o sortides digitals, dels
quals 15 poden ser utilitzats com a sortides de PWM, 16 com a entrades analògiques. La placa
disposa de port sèrie, connexió USB, Power jack i boto de reset. A traves d’ un ordinador es fa
la transferència del software.
Característiques tècniques de la placa
Microcontrolador ATmega2560
Tensió d’ operació 7-12V
Tensió d’entrada recomanada 7-12V
Tensió d’entrada límit 6-20V
Entrades/Sortides digitals 54 (15 amb sortides PWM)
Pins d’entrades analògiques 16
Pin d’entrada/sortida de corrent 20mA
Pin de corren per 3.3V 50mA
Memòria flash 256KB dels quals 8 s’utilitzen per arrencar
SRAM 8KB
EEPROM 4KB
Velocitat de rellotge 16MHZ
Longitud 101.52mm
Amplada 53.2mm
Pes 37g
Fig. 4.12. Característiques Placa Arduino
8. 4.4.1 Arduino Software (IDE)
La placa del projecte, treballa a través d’ un software anomenat IDE (Integrated Development
Environment).
Aquest Software, s’obté a través de la pagina oficial d’arduino. En aquesta pagina es troba la
descripció pas a pas, sobre com descarregar e instal·lar-lo al PC.
Aquest software conté un editor de text on s’escriu el codi, un àrea de missatges, una consola
de test on veurem les sortides de test inclosos els missatges d’errors i altres dades, una barra
d’eines amb botons per funcions comuns, com comprovar i carregar programes, obrir o
guardar programes.
Fig. 4.13. sketch_jun18a Arduino 1.6.9
Seguidament s’ observen algunes icones amb la seva funció descrita.
Compilació (comprova que no hi hagin errors en el codi).
Carrega (Complia i carrega el codi a la placa).
Crear un nou codi.
/ / Obre / Guarda / Monitor serie.
9. 4.4.2 Programació
Introducció
Tal y com es pot observar a la figura 4.3, l’estructura de programació d’arduino, necessita com
a mínim, dues parts, perquè s’executi el programa.
• set up() la qual, s’ executarà només una vegada al començar el programa.
Aquesta part s’encarrega de la configuració inicial i contindrà la declaració de
variables.
• Loop() tal i com indica la paraula, es tracta d’un bucle. Aquesta part
s’executarà contínuament, encarregant-se de la lectura de les entrades, i de
l’escriptura de les sortides.
Variables
Declarar una variable en Arduino es assignar-li un nom, un tipus i un valor. En el següent
exemple, es crea una variable tel tipus enter, anomenada Tev1 i se l´hi assigna un valor 0
int Tev1 = 0 //Declaració de la variable Tev1 del tipus enter se li asigna un valor 0
La següent taula, recull el tipus, mesura, rang i algunes observacions que ajuden a entendre la
utilitat de les variables.
10. Tipus Byte Rang Observacions
boolean 0.125 Verdader o fals (0 o 1) Nomes te 2 estats
char 1 -128 a 128
Utilitzades per
representar un codi de
caràcter ASCII
byte 1 0 a 255
Emmagatzemar poc
espai
int 2 -32.768 a 32.767
Doble que un byte, pot
emmagatzemar valors
negatius
unsigned int 2 0 a 65.536
Es més precís que un int
però no disposa de
valors negatius
long 4 -2.147483648 a 2.147483647
Per representar
nombres molt grans
unsigned long 4 0 a 4.294967295
Més precisió que l’
anterior però nomes
Abarca valors positius
float 4 -3.4028235E+38 a3.4028235E+38
Emmagatzema valors
amb coma flotant
double 8 El doble que del tipus float
Emmagatzemar valors
molt grans
Fig. 4.13. Taula variables
Funcions
Per dissenyar el programa, s’utilitzen funcions. Les funcions, son blocs de codi, que contenen
un conjunt d’estaments que s’executen, quan el fil del programa passa per aquesta.
Les funcions es declaren associades a un tipus dels mencionats a la taula 4.13. La funció
retornarà un valor del tipus que ha estat assignada. Si es desitja que la funció no retorni ningun
valor, cal posar davant void, “tipus buida”.
Un cop declarat el tipus que es desitja que et retorni la funció, s’ escriu el nom de la funció i
entre parèntesis els paràmetres que s’han de complir per que aquesta s’executi.
Al costat de cara línia de codi, podem adjuntar un comentari posant davant des barres que
impediran que el fil del programa passi a través d’elles.
Seguidament tenim un exemple de l’estructura del codi d’una funció.
type NomDeLaFuncio (Parametres amb condicions) { // nota
Tasca a realitzar
}
En aquesta memòria s’explica les funcions utilitzades al projecte. En el cas que es desitgi
profunditzar en aquest tema, En el següent enllaç trobarem informació gratuïta.
https://www.arduino.cc/en/Tutorial/BuiltInExamples
11. Entrades/sortides Digitals
pinMode (pin,mode)
Pin: S’assigna el número de pin de la placa
Mode: S’ordena si desitgem que treballi com a entrada o com a sortida
(INPUT/OUTPUT).
Seguidament al exemple on s’assigna el pin 4 com entrada.
pinMode (4,INPUT); // Pin nº4 es una entrada
A mesura que vagin sortint, les explico
12. 4.5 Entrades/Sortides Digitals i analògiques
Cadascun dels pins digitals, es poden assignar com a entrada o sortida. Cada pin pot
proporcionar o rebre, un màxim de 40mA. Disposa d’ una resistència de pull-up ( desconnectat
per defecte de 20 a 50Kohm.
En les següents taules es pot apreciar cada una de les entrades/sortides utilitzades en aquesta
part del projecte.
Entrades Sistema de reg
1- Sonda humitat
2- Sonda situada a la part de baix del dipòsit 1
3- Sonda situada a la part de baix del dipòsit 2
4- Sonda situada a la part de baix del dipòsit 3
5- Sonda situada a la part de baix del dipòsit 4
6- Sonda situada a la meitat del dipòsit 1
7- Sonda situada a la meitat del dipòsit 2
8- Sonda situada a la meitat del dipòsit 3
9- Sonda situada a la meitat del dipòsit 4
10- Sonda situada a la part de dal del dipòsit 1
11- Sonda situada a la part de dal del dipòsit 2
12- Sonda situada a la part de dal del dipòsit 3
13- Sonda situada a la part de dal del dipòsit 4
14- Polsador reg manual zona 1
15- Polsador reg manual zona 2
16- Polsador reg manual zona 3
17- Polsador reg manual zona 4
Sortides sistema de reg
18- Electrovàlvula zona 1
19- Electrovàlvula zona 2
20- Electrovàlvula zona 3
21- Electrovàlvula zona 4
22- Indicador verd (dipòsit ple) zona 1
23- Indicador groc (dipòsit a la meitat) zona 1
24- Indicador vermell (dipòsit amb baix nivell) zona 1
25- Indicador verd (dipòsit ple) zona 2
26- Indicador groc (dipòsit a la meitat) zona 2
27- Indicador vermell (dipòsit amb baix nivell) zona 2
28- Indicador verd (dipòsit ple) zona 3
29- Indicador groc (dipòsit a la meitat) zona 3
30- Indicador vermell (dipòsit amb baix nivell) zona 3
31- Indicador verd (dipòsit ple) zona 4
32- Indicador groc (dipòsit a la meitat) zona 4
33- Indicador vermell (dipòsit amb baix nivell) zona 4
Fig. 4.14. Taula Entrades/Sortides Sistema de reg
13. Entrades Sistema d’alarma
34- Sensor infraroig 1
35- Sensor infraroig 2
36- Sirena
Fig. 4.15. Taula Entrades/Sortides Sistema d’alarma
4.6 Desenvolupament del software
En aquesta part, es troba el codi del programa realitzat per el sistema d’alarma i el sistema de
reg.
Abans de començar a llegir el desenvolupament del software a la part 4.4.2, si no es disposen
de coneixements de programació en arruïno es aconsellable
Anexes
En la seguent imatge es veu com es distribueixen els pins.
14. Seguidament es troba la taula de mapeig dels pins i les característiques de la placa
Número de pin Nom del pin Nom del pin mapejat
1 PG5 ( OC0B ) Digital pin 4 (PWM)
2 PE0 ( RXD0/PCINT8 ) Digital pin 0 (RX0)
3 PE1 ( TXD0 ) Digital pin 1 (TX0)
4 PE2 ( XCK0/AIN0 )
5 PE3 ( OC3A/AIN1 ) Digital pin 5 (PWM)
6 PE4 ( OC3B/INT4 ) Digital pin 2 (PWM)
7 PE5 ( OC3C/INT5 ) Digital pin 3 (PWM)