termometro con micro control ad or
TRANSCRIPT
![Page 1: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/1.jpg)
1
Sistemas de Control II - Laboratorio
SISTEMAS DE CONTROL II
TERMÓMETRO CON MICROCONTROLADOR
CONTENIDO
I. INTRODUCCIÓN
1. OBJETIVOS
1.1. OBJETIVO GENERAL
1.2. OBJETIVOS ESPECÍFICOS
II. ASPECTOS TEÓRICOS
1. SOLUCIÓN MATEMÁTICA DEL PROBLEMA
2. SENSOR DE TEMPERATURA LM35
III. ASPECTOS PRÁCTICOS
1. SOFTWARE EMPLEADO
2. HARDWARE EMPLEADO
3. METODOLOGÍA
4. LAYOUT
5. PROGRAMA
6. SIMULACIÓN
\
I. INTRODUCCIÓN
1. OBJETIVOS.-
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
![Page 2: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/2.jpg)
2
Sistemas de Control II - Laboratorio
1. 1 OBJETIVO GENERAL:
Diseñar e implementar un termómetro digital mediante un
microcontrolador, que despliegue en un LCD los valores
proporcionados por un sensor LM35 en un rango de temperatura de
-50 a 150 grados centígrados.
1. 2 OBJETIVOS ESPECÍFICOS:
Estudiar cada componente en forma individual
Diseñar el circuito para que el microcontrolador interprete los valores
proporcionados por el sensor LM35
Convertir mediante artificios matemáticos los valores ingresados como
variaciones de tensión en valores decimales.
Desplegar los valores decimales en un LCD
Proponer soluciones alternativas
II. ASPECTOS TEÓRICOS
1. SOLUCIÓN MATEMÁTICA DEL PROBLEMA.-
Haciendo uso del ADC de un PIC16f877, convertimos un valor analógico en unvalor digital. Posteriormente, es necesario convertir la cifra hexadecimal en decimal
El convertidor analógico digital lo configuraremos para que mida de 5 mili voltios en 5 mili voltios.
La cifra obtenida será un número hexadecimal equivalente al nº de saltos dados.
Así, si tengo 24 (hexadecimal) saltos y cada salto es de 5 mili voltios tendré un valor de B4 (hexadecimal) voltios.Mediante un pequeño artificio matemático la convertimos al código decimal, obteniendo el nº 180(decimal), en otras palabras, 180 mili voltios.
El sensor nos dice el fabricante da 10 mili voltios por cada grado centígrado. Esos 180 mili voltios los dividimos entre diez y obtenemos 18,0 ºC
2. SENSOR DE TEMPERATURA LM35
Este sensor posee 3 patas, dos de ellas para alimentarlo y la tercera nos entrega un valor de tensión proporcional a la temperatura medida por el dispositivo, no necesita calibración externa.
La salida es lineal y entrega 10mV/ºC Rango de utilización: -55ºC < T < +150ºCRango de alimentación 4 a 30 voltios Consumo: 60 µA (en reposo)
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
![Page 3: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/3.jpg)
3
Sistemas de Control II - Laboratorio
III. ASPECTOS PRÁCTICOS
El circuito se basa en 2 componentes principales el sensor de temperatura LM35 y el PIC 16F877A.
El LM35 es un sensor de temperatura con una precisión calibrada de 1ºC y un rango que abarca desde -55º a +150ºC.
Lo que quiere decir que por cada 1ºC en la variacion de la temperatura, el sensor en su salida obtendra una variacion
de 10 mV.
Por ejemplo si la temperatura es de -55ºC podemos obtener -550mV y si fuera de 150ºC la salida seria 1500mV. Este
voltaje es el que se inserta al PIC 16F877A el cual a traves de su conversor A/D mostrara los datos en el LCD.
1. SOFTWARE EMPLEADO.-
El softwareempleado se detalla a continuación:
Isis Proteus, librerías
MicroCode Studio v5.0
PICBASIC v2.6
MIKROC – MIKROELECTRONIKA
Visual Basic 6.0 – MICROSOFT
2. HARDWARE EMPLEADO.-
El equipo empleado se detalla a continuación:
Sensor de Temperatura LM35
PIC 16F877A
XTal=4MHz
R=100 Ohms
R=10K Ohms
C=0.1uF
LCD=16x2
3. METODOLOGÍA.-
Se procede de la siguiente manera:
Determinar el tipo de sensor a utilizar
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
![Page 4: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/4.jpg)
4
Sistemas de Control II - Laboratorio
Determinar los valores proporcionados por el sensor
Adecuar los valores leídos por el conversor análogo-digital a un sistema que sea
más interpretable.
Generar los datos de salida en función del medio, siendo este: pantalla LCD,
Interfaz Serial y/o Bcd’s de 7 segmentos.
Simular el circuito
Implementar el circuito
4. LAYOUT.-
CIRCUITO 1
SENS
SENS
D4
D7
D5
D6
D7
D4
D5
D6
RS
RS
E
E
RW
RW
69.0
3
1
VOUT2
U2
LM35
R1100R
C20.1u
RA0/AN0
2RA1/AN1
3RA2/AN2/VREF-/CVREF
4
RA4/T0CKI/C1OUT
6RA5/AN4/SS/C2OUT
7
RE0/AN5/RD
8RE1/AN6/WR
9RE2/AN7/CS
10
OSC1/CLKIN
13OSC2/CLKOUT
14
RC1/T1OSI/CCP2
16RC2/CCP1
17RC3/SCK/SCL
18
RD0/PSP0
19RD1/PSP1
20
RB7/PGD
40
RB6/PGC
39
RB5
38
RB4
37
RB3/PGM
36
RB2
35
RB1
34
RB0/INT
33
RD7/PSP7
30
RD6/PSP6
29
RD5/PSP5
28
RD4/PSP4
27
RD3/PSP3
22
RD2/PSP2
21
RC7/RX/DT
26
RC6/TX/CK
25
RC5/SDO
24
RC4/SDI/SDA
23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI
15
MCLR/Vpp/THV
1
U1PIC16F877A
R210K
D7
14D6
13D5
12D4
11D3
10D2
9D1
8D0
7
E6
RW
5RS
4
VSS
1
VDD
2
VEE
3
LCD1LM016L
X1CRYSTAL
LABORATORIO 3 - SISTEMAS DE CONTROL II
TERMOMETRO DIGITAL BÁSICO
PIC16F877
LCD LM016L
LM35
CIRCUITO 2
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
![Page 5: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/5.jpg)
5
Sistemas de Control II - Laboratorio
RA0RA1RA2RA3
RB3
RA4
X3
X0X1X2
X0
X
X
RA3
RA0
RB3 RA2
RA1
RA4
X1X2
X3
OSC1/CLKIN16
RB0/INT 6
RB1 7
RB2 8
RB3 9
RB4 10
RB5 11
RB6 12
RB7 13
RA0 17
RA1 18
RA2 1
RA3 2
RA4/T0CKI 3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
R11k
+5vX1
4MHz
D7
14D6
13D5
12D4
11D3
10D2
9D1
8D0
7
E6
RW
5RS
4
VSS
1
VDD
2
VEE
3
LCD1LM016L
+5V
R2
10k
+5V
CS 1
VIN(+) 2
VIN(-) 3
GND 4
VCC8
CLK7VREF5
DO6
U2
ADC0831
CS
CS
RXD RXD
RTS
TXD
CTS
CLK
CLK
D0
D0
A0
RXDA0
X0 13
X1 14
X2 15
X3 12
X4 1
X5 5
X6 2
X7 4
A 11
B 10
C 9
INH 6
X3
U3
4051
65%
RVA
1k
+10V
TATB
TATB
R4
1k
R51k
POT TERMISTOR NTC LM35 TERMOCUPLA
CONTROL DE TEMPERATURA PIC16F84 - 4 SENSORES
T1IN11
R1OUT12
T2IN10
R2OUT9
T1OUT 14
R1IN 13
T2OUT 7
R2IN 8
C2+
4
C2-
5
C1+
1
C1-
3
VS+ 2
VS- 6
U4
MAX232
C3
1uF
C4
1uF
C61uF
+5v
C51uF
62%
RV1
10k
+5V
170.00
+
-
CJ
TC1TCJ
TC1(CJ)
-tc
RT1
4k
ENTRADAS : TERMOCUPLA - LM35 - TERMISTOR NTC - POT
SALIDAS : LCD LM016L, RS232
40.0
3
1
VOUT2
U5LM35
+10VU5(+VS)
R31k
X1X0
MULTIPLEXOR
ADC SERIAL
LCD - LM016LRS-232
PIC16F84A
SISTEMAS DE CONTROL II - LABORATORIO No. 3
X2
X3
CIRCUITO 3
RB0RB1RB2RB3RB4RB5RB6RB7
RB0RB1RB2RB3
SEN
SEN
RB4
RB7
RB5RB6
OSC1/CLKIN16
RB0/INT6
RB17
RB28
RB39
RB410
RB511
RB612
RB713
RA017
RA118
RA21
RA32
RA4/T0CKI3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
X1
4MHz
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
U2
7447
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
U3
7447
+5v
+5v
PA0PA1PA2PA3PA4PA5PA6
QA0
QA2QA1
QA3QA4QA5QA6
PA0PA1PA2PA3PA4PA5PA6
QA0
QA2QA1
QA3QA4QA5QA6
A0
RXD
RTS
TXD
CTS
RA0RA1RA2RA3RA4RA5RA6
SA0SA1SA2SA3SA4SA5SA6
+5V+5V
RA0RA1RA2RA3RA4RA5RA6
SA0SA1SA2SA3SA4SA5SA6
CLK
CS1
VIN(+)2
VIN(-)3
GND4
VCC8
CLK7
VREF5
DO6
U4
ADC0831
+5V
81%
RV3
1k
+5V
CS
CLKDO
DO
CSA0
POT
T1IN11
R1OUT12
T2IN10
R2OUT9
T1OUT14
R1IN13
T2OUT7
R2IN8
C2+
4
C2-
5
C1+
1
C1-
3
VS+2
VS-6
U5
MAX232
C3
1uF
C4
1uF
C61uF
+5v
C51uF
+5V
R11k
+5v
110
110
330330
330 330
CONTROL DE TEMPERATURA PIC16F84 - 4 BCD'SENTRADA : POT
SALIDAS : 4 BCD'S, RS232
SISTEMAS DE CONTROL II - LABORATORIO No. 3
DRIVERS BCD
ADC SERIAL
PIC16F84RS232
CIRCUITO 4
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
![Page 6: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/6.jpg)
6
Sistemas de Control II - Laboratorio
D4D5D6D7
D4D5D6D7
EN
EN AN0
RS
RS
AN0RA0/AN0
2
RA1/AN13
RA2/AN2/VREF-/CVREF4
RA4/T0CKI/C1OUT6
RA5/AN4/SS/C2OUT7
RE0/AN5/RD8
RE1/AN6/WR9
RE2/AN7/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP216
RC2/CCP117
RC3/SCK/SCL18
RD0/PSP019
RD1/PSP120
RB7/PGD40
RB6/PGC39
RB538
RB437
RB3/PGM36
RB235
RB134
RB0/INT33
RD7/PSP730
RD6/PSP629
RD5/PSP528
RD4/PSP427
RD3/PSP322
RD2/PSP221
RC7/RX/DT26
RC6/TX/CK25
RC5/SDO24
RC4/SDI/SDA23
RA3/AN3/VREF+5
RC0/T1OSO/T1CKI15
MCLR/Vpp/THV1
U1
PIC16F877A
X1
CRYSTAL20MHz
D7
14D6
13D5
12D4
11D3
10D2
9D1
8D0
7
E6
RW
5RS
4
VSS
1
VDD
2
VEE
3
LCD1LM032L
+5V
RXD
RTS
TXD
CTS
RC6
47.0
3
1
VOUT2
U3
LM35
+5V
RC6
A7
QA13
B1
QB12
C2
QC11
D6
QD10
BI/RBO4
QE9
RBI5
QF15
LT3
QG14
U2
7447
CEN1
DEC1
UNI1
+5v
UNIDECCEN
R4100
C70.1u T1IN
11
R1OUT12
T2IN10
R2OUT9
T1OUT14
R1IN13
T2OUT7
R2IN8
C2+
4
C2-
5
C1+
1
C1-
3
VS+2
VS-6
U4
MAX232
C3
1uF
C4
1uF
C61uF
+5v
C51uF
50%
RV1
10k
+5V
ABCD
ABCD
110
R11k
+5V
CONTROL DE TEMPERATURA PIC16F877 - 3 SALIDAS - VISUAL BASICENTRADA : LM35
SALIDAS : LCD LM016L, RS232, 7SEG - 4 DIG
SISTEMAS DE CONTROL II - LABORATORIO No. 3
RS-232
PIC16F877A
BCD 7 SEGMENTOS - 4 DIGITOS
LM35
LM032L
DRIVER BCD
ERROR
TXD3
RXD2
CTS8
RTS7
DSR6
DTR4
DCD1
RI9
P1
COMPIM
U9
NOT
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
![Page 7: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/7.jpg)
7
Sistemas de Control II - Laboratorio
5. PROGRAMA.-
CIRCUITO 1
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
unsigned char ch; unsigned int adc_rd; char *text,*text1; long tlong; int i,j;void main() { INTCON = 0; Lcd_Config(&PORTB, 4, 5, 6, 3, 2, 1, 0); LCD_Cmd(LCD_CURSOR_OFF); LCD_Cmd(LCD_CLEAR); for(i=0;i<5;i++){ LCD_Cmd(LCD_CLEAR);text = "S. DE CONTROL II "; LCD_Out(1,i,text); Delay_ms(100); } text1 = "LABORATORIO 3"; LCD_Out(2,3,text1);ADCON1 = 0x82; TRISA = 0xFF; Delay_ms(1000);LCD_Cmd(LCD_CLEAR);
text = "Temperatura:"; for(j=16;j>0;j--){ LCD_Cmd(LCD_CLEAR); LCD_Out(1,j,text); Delay_ms(100); }
while (1) { adc_rd = ADC_read(2);tlong = ((long)adc_rd * 5000 )- 30; // EL VALOR DE 30 HAYQ MODIFICAR PARA Q TENGA MAS PRECISIONtlong = tlong / 1024 ; ch = tlong / 1000; if(ch==0) LCD_Chr(2,6,' '); else LCD_Chr(2,6,48+ch); ch = (tlong / 100) % 10; LCD_Chr_CP(48+ch); ch = (tlong / 10) % 10; LCD_Chr_CP(48+ch); LCD_Chr_CP('.');
ch = tlong % 10; LCD_Chr_CP(48+ch); LCD_Chr_CP('C'); Delay_ms(200);}}
![Page 8: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/8.jpg)
8
Sistemas de Control II - Laboratorio
CIRCUITO 2
CIRCUITO 3
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
TRISB.0=0TRISB.1=0Inicio:
For Variable = 0 TO 3 PORTB.0 = TA PORTB.1 = TB Low CS ShiftIn DO,CLK,2,[Adc\9] High CS Adc = Adc*100/255 SerOut2 PORTB.4,813,[" TEMPERATURA ",DEC Variable," = ",DEC3 Adc," C ",10,13]
LCDOut $FE,1," TEMPERATURA ",DEC Variable LCDOut $FE,$C0," ",DEC3 Adc," C " Pause 2000 Next VariableGoTo Inicio
TRISB = 0Inicio: Low CS ShiftIn DO,CLK,2,[Adc\9] High CS Adc=Adc*99/255 Decena = Adc/10 Unidad = Adc - Decena*10
IF Adc <= 25 Then SerOut2 PORTA.3,813,[" T "," = ",DEC2 Adc," C "," TEMPERATURA BAJA ",10,13] Else IF Adc <= 40 Then SerOut2 PORTA.3,813,[" T "," = ",DEC2 Adc," C "," TEMPERATURA MEDIA ",10,13] Else IF Adc <= 70 Then SerOut2 PORTA.3,813,[" T "," = ",DEC2 Adc," C "," TEMPERATURA ALTA ",10,13]
![Page 9: Termometro Con Micro Control Ad Or](https://reader034.vdocuments.net/reader034/viewer/2022042813/544e07b3af7959ec178b508e/html5/thumbnails/9.jpg)
9
Sistemas de Control II - Laboratorio
CIRCUITO 4
INGENIERÍA EN SISTEMAS ELECTRÓNICOS
TRISB = 0Inicio: Low CS ShiftIn DO,CLK,2,[Adc\9] High CS Adc=Adc*99/255 Decena = Adc/10 Unidad = Adc - Decena*10
IF Adc <= 25 Then SerOut2 PORTA.3,813,[" T "," = ",DEC2 Adc," C "," TEMPERATURA BAJA ",10,13] Else IF Adc <= 40 Then SerOut2 PORTA.3,813,[" T "," = ",DEC2 Adc," C "," TEMPERATURA MEDIA ",10,13] Else IF Adc <= 70 Then SerOut2 PORTA.3,813,[" T "," = ",DEC2 Adc," C "," TEMPERATURA ALTA ",10,13]
Adc VAR BYTETemp VAR WORDunid VAR BYTEdece VAR BYTEcent VAR BYTE
TRISA = %11111111TRISB = %00000000TRISC = %00000001TRISE = %00000000
ADCON1 = %0000010
Inicio: ADCIN 0,Adc
Temp = Adc*150/77
unid = Temp DIG 0
PORTB = unid + 224 Pause 5 dece = Temp DIG 1 PORTB = dece + 208 Pause 5 cent = Temp DIG 2 PORTB = cent + 176 Pause 5
SerOut2 PORTC.6,813,["a",DEC Temp,10,13]
LCDOut $FE,1,"TEMPERATURA"
LCDOut $FE,$C0,DEC Temp, " C "