17
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ó.

Sistema de control

Embed Size (px)

Citation preview

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/