sistema de control
TRANSCRIPT
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ó.
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.1.2 Arduino
Arduino és una plataforma de hardware lliure, que consisteix en una placa amb
microcontrolador Atmel i AVR i un entorn de desenvolupament que implementa el llenguatge
de programació Prcocessing/Wiring i el carregador d’ arrencada (boot loader) que corra a la
placa, dissenyat per facilitar l’ us de l’ electrònica en projectes multidisciplinaris.
Es ideal per utilitzar en projectes basats en la educació degut al seu baix preu. Hi ha diferents
tipus de plaques arduino, Es diferencien en el nombre i tipus d’ entrades/sortides, en la
memòria, en la freqüència de treball, en la potencia i en el preu .
Fig.4.3. Arduino UNO i Arduino MEGA
AVANTATGES INCONVENIENTS
• Baix cost
• Compatibilitat d’ entorns
• Consum
• Codi obert
• Poc fiable
• Complexitat de programació
Fig.4.4. Taula avantatges Arduino
4.1.3 Microcontrolador PIC Els PIC ( Peripheral Interface Controller) són una família de microcontroladores de tipus RISC
fabricats per Microchip Technology Inc., originalment desenvolupats per a la divisió de
microelectrònica de General Instrument.
Es consideren petits ordinadors, en un sol circuit que inclouen, una CPU, una memòria RAM,
una memòria ROM i una quantitat d’ entrades/sortides.
Fig. 4.5. Microcontrolador PIC18F4550 i estructura interna
Aquests microcontroladors, es troben a molts de dispositius electrònics, tant domèstics com
industrials. Podem trobar diferents tipus de chips, des de 8 pins fins a més de 100. La funció de
cada pin es diferent i aquesta ve relaxada en el data sheet del dispositiu.
La programació en aquest cas, es molt variada. Pot ser des de llenguatge ensamblador fins a C.
AVANTATGES INCONVENIENTS
• Baix cost
• Compatibilitat d’ entorns
• Consum
• Codi obert
• Poc fiable
• Complexitat de programació
Fig.4.6. Taula avantatges Arduino
4.2 Criteris de selecció Per realitzar la comparació d’ alternatives per la implementació del sistema de control,
utilitzarem un estudi multi criteri amb mitges ponderades.
CRITERIS DEL CLIENT PES PERCENTATGE
Cost 45 %
Consum 10%
Complexitat 15 %
Temps disseny, muntatge i programació 10 %
Nombre entrades/sortides 20%
Fig. 4.7. Taula criteris sistema de control
En la següent taula s’ avaluarà amb una puntuació del 0 al 10, cada una de les tres opcions. Cal
destacar que en les 3 opcions podem arribar a tenir el nombre d’entrades desitjat. Degut a que
El PLC te mòduls d’ampliació entrades/sortides, els pins del PIC varien en funció del model , i
de la mateix manera l’ arduino en funció del que s’adquireixi, es disposen de més o menys
entrades. Els altres criteris d’ avaluació estan explicats en l’ apartat 2.3.
OPCIÓ/ CRITERI Cost CONSUM Complexitat TEMPS Num.
Entrades/s
ortides
PLC 3 9 5 6 10
Arduino 8 9 7 6 10
Microcontrolador
PIC 9 9 3 6 10
Fig. 4.8. Taula criteris opcions control
La següent taula ens mostra el resultat final aplicant la ponderació de cada criteri a cada opció
per tal de determinar la opció més adequada.
OPCIÓ PUNTUACIÓ PONDERADA
PLC 5.6
Arduino 8.15
Microcontrolador PIC 8
Fig. 4.11. taula ponderació control
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.
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
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.
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.
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
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
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
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.
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)
8 PE6 ( T3/INT6 )
9 PE7 ( CLKO/ICP3/INT7 )
10 VCC VCC
11 GND GND
12 PH0 ( RXD2 ) Digital pin 17 (RX2)
13 PH1 ( TXD2 ) Digital pin 16 (TX2)
14 PH2 ( XCK2 )
15 PH3 ( OC4A ) Digital pin 6 (PWM)
16 PH4 ( OC4B ) Digital pin 7 (PWM)
17 PH5 ( OC4C ) Digital pin 8 (PWM)
18 PH6 ( OC2B ) Digital pin 9 (PWM)
19 PB0 ( SS/PCINT0 ) Digital pin 53 (SS)
20 PB1 ( SCK/PCINT1 ) Digital pin 52 (SCK)
21 PB2 ( MOSI/PCINT2 ) Digital pin 51 (MOSI)
22 PB3 ( MISO/PCINT3 ) Digital pin 50 (MISO)
23 PB4 ( OC2A/PCINT4 ) Digital pin 10 (PWM)
24 PB5 ( OC1A/PCINT5 ) Digital pin 11 (PWM)
25 PB6 ( OC1B/PCINT6 ) Digital pin 12 (PWM)
26 PB7 ( OC0A/OC1C/PCINT7 ) Digital pin 13 (PWM)
27 PH7 ( T4 )
28 PG3 ( TOSC2 )
29 PG4 ( TOSC1 )
30 RESET RESET
31 VCC VCC
32 GND GND
33 XTAL2 XTAL2
34 XTAL1 XTAL1
35 PL0 ( ICP4 ) Digital pin 49
36 PL1 ( ICP5 ) Digital pin 48
37 PL2 ( T5 ) Digital pin 47
38 PL3 ( OC5A ) Digital pin 46 (PWM)
39 PL4 ( OC5B ) Digital pin 45 (PWM)
40 PL5 ( OC5C ) Digital pin 44 (PWM)
41 PL6 Digital pin 43
42 PL7 Digital pin 42
43 PD0 ( SCL/INT0 ) Digital pin 21 (SCL)
44 PD1 ( SDA/INT1 ) Digital pin 20 (SDA)
45 PD2 ( RXDI/INT2 ) Digital pin 19 (RX1)
46 PD3 ( TXD1/INT3 ) Digital pin 18 (TX1)
47 PD4 ( ICP1 )
48 PD5 ( XCK1 )
49 PD6 ( T1 )
50 PD7 ( T0 ) Digital pin 38
51 PG0 ( WR ) Digital pin 41
52 PG1 ( RD ) Digital pin 40
53 PC0 ( A8 ) Digital pin 37
54 PC1 ( A9 ) Digital pin 36
55 PC2 ( A10 ) Digital pin 35
56 PC3 ( A11 ) Digital pin 34
57 PC4 ( A12 ) Digital pin 33
58 PC5 ( A13 ) Digital pin 32
59 PC6 ( A14 ) Digital pin 31
60 PC7 ( A15 ) Digital pin 30
61 VCC VCC
62 GND GND
63 PJ0 ( RXD3/PCINT9 ) Digital pin 15 (RX3)
64 PJ1 ( TXD3/PCINT10 ) Digital pin 14 (TX3)
65 PJ2 ( XCK3/PCINT11 )
66 PJ3 ( PCINT12 )
67 PJ4 ( PCINT13 )
68 PJ5 ( PCINT14 )
69 PJ6 ( PCINT 15 )
70 PG2 ( ALE ) Digital pin 39
71 PA7 ( AD7 ) Digital pin 29
72 PA6 ( AD6 ) Digital pin 28
73 PA5 ( AD5 ) Digital pin 27
74 PA4 ( AD4 ) Digital pin 26
75 PA3 ( AD3 ) Digital pin 25
76 PA2 ( AD2 ) Digital pin 24
77 PA1 ( AD1 ) Digital pin 23
78 PA0 ( AD0 ) Digital pin 22
79 PJ7
80 VCC VCC
81 GND GND
82 PK7 ( ADC15/PCINT23 ) Analog pin 15
83 PK6 ( ADC14/PCINT22 ) Analog pin 14
84 PK5 ( ADC13/PCINT21 ) Analog pin 13
85 PK4 ( ADC12/PCINT20 ) Analog pin 12
86 PK3 ( ADC11/PCINT19 ) Analog pin 11
87 PK2 ( ADC10/PCINT18 ) Analog pin 10
88 PK1 ( ADC9/PCINT17 ) Analog pin 9
89 PK0 ( ADC8/PCINT16 ) Analog pin 8
90 PF7 ( ADC7 ) Analog pin 7
91 PF6 ( ADC6 ) Analog pin 6
92 PF5 ( ADC5/TMS ) Analog pin 5
93 PF4 ( ADC4/TMK ) Analog pin 4
94 PF3 ( ADC3 ) Analog pin 3
95 PF2 ( ADC2 ) Analog pin 2
96 PF1 ( ADC1 ) Analog pin 1
97 PF0 ( ADC0 ) Analog pin 0
98 AREF Analog Reference
99 GND GND
100 AVCC VCC
https://ramaucsa.wordpress.com/2011/01/31/concepto-plc-controlador-logico-programable/
http://tecnologiarobotica.com/post/microcontroladores/