Você está na página 1de 5

ESCUELA POLITCNICA NACIONAL

INSTRUMENTACIN INDUSTRIAL
DEBER
NOMBRE: ALEX ROCHA
PARALELO: GR1
FECHA: 13/05/2016
TEMA: DISEO Y ACONDICIONAMIENTO DE UN RTD.
Se tiene un tanque cilndrico con agua en el cul se necesita controlar el calentamiento de la
temperatura, la resistencia consume 10[A], cuando la resistencia est conectada sta calienta a
razn de 1C cada 5 minutos.
A continuacin, se implementar un control ON-OFF con lazo de histresis y la resistencia a tener
en cuenta es un RTD, para la implementacin del lazo de histresis se considera un rango entre
20C a 80C, considerando los 20C debido a que a esa temperatura se encuentra el agua fra, y
los 80C se toma por requerimientos del problema, adems no es conveniente disear en los
lmites sino que se considera un rango de 4% por encima y bajo el nivel especificado, con lo cual
se tiene:
RANGO: 16C a 84C
DATOS: Corriente mxima a la salida del puente es de 1 [mA].
Coeficiente de temperatura del RTD de platino es de: 0.00385 1
DISEO:
12 V

Para [16C]
= (1 + )
= 100(1 + 0.00385 16)
= 106.16 []
RA

Para [84C]

RB

Vb

Va

RT1
RC

E+
S+

= (1 + )
= 100(1 + 0.00385 84)
= 132.34 []

100.00
SE-

TEMPERATURA[C]

16C

84C

RESISTENCIA [ ]

106.16

132.34

Voltaje ab [mV]

0 mV (Puente
Equilibrado )

A Calcular

RTD-PT100

Teniendo:
=
=

12
+

12
106.16
1

= = 11.893[K]
Normalizado
= = 15[K]

Calculando los Valores de Va y Vb a travs de un divisor de voltaje.


= .

= 12[].

106.16 []
106.16[] + 15 []

= 84.33[]

= .

= 12[].

132.34 []
132.34[] + 15 []

= 104.946[]

Entonces mi: = 20.616[]


CURVA CARACTERSTICA PARA ACONCIONAMIENTO

curva de acondicionamiento
Salida Acondicionamiento

6
5
4
3
2
1
0
-5

10

15

20

25

-1

Salida del puente

GANANCIA
Como deseo tener una salida de 5V procedo a acondionar teniendo una ganancia de:
=

. 3
5
=
=
= 250
.
1 20.016
3
1

= 250;

Divido en dos ganancias una de 25 y la otra de 10.


Para la ganancia de 25 realizo un diferencial.
3 = 251

Asumo R1=R4=3.3 []
Finalmente se tiene:
R3=R2=82 []
Para la ganancia de 10 realizo un inversor.
6
= 10
5
Asumo R5=3.3[]
Entonces: R6=33[]
Diseo en proteus
ETAPA DE ACONDICIONAMIENTO
12 V

GANANCIA DE 25

GANANCIA DE 10

R3
R6

82k

RA

RB

15k

15k

33k

RT1

R1
E+
S+

Vb
3.3k

R4
Va

84.00

1
3

R5

U1:B
SALIDA ACONDICIONAMIENTO

6
7

3.3k

3.3k
SE-

106.16

RC

U1:A
11

Vb

U1:A(V+)

LM324

Va

11

mV

+88.8

U1:A(V-)

LM324

RTD-PT100

+88.8
Volts

R2
82k

ALEX ROCHA

DISEO DEL CONTROL DE TEMPERATURA


LCD1
LM016L

RANGO DE TEMPERATURA 0-84[V]

RV1

U3
20
19
18
17
16
15
14
13
12
11

1
2
3
4
5
6
7
8
9
10
LED-BARGRAPH-GRN

19
20
21
22
23
24
25
26
8
7

PA0/ADC0/PCINT0
PA1/ADC1/PCINT1
PA2/ADC2/PCINT2
PA3/ADC3/PCINT3
PA4/ADC4/PCINT4
PA5/ADC5/PCINT5
PA6/ADC6/PCINT6
PA7/ADC7/PCINT7
PC0/SCL/PCINT16
PC1/SDA/PCINT17
PC2/TCK/PCINT18
PC3/TMS/PCINT19
PC4/TDO/PCINT20
PC5/TDI/PCINT21
PC6/TOSC1/PCINT22
PC7/TOSC2/PCINT23
XTAL1
XTAL2

PB0/XCK0/T0/PCINT8
PB1/T1/CLKO/PCINT9
PB2/AIN0/INT2/PCINT10
PB3/AIN1/OC0A/PCINT11
PB4/SS/OC0B/PCINT12
PB5/MOSI/PCINT13
PB6/MISO/PCINT14
PB7/SCK/PCINT15
PD0/RXD0/PCINT24
PD1/TXD0/PCINT25
PD2/INT0/RXD1/PCINT26
PD3/INT1/TXD1/PCINT27
PD4/OC1B/XCK1/PCINT28
PD5/OC1A/PCINT29
PD6/ICP/OC2B/PCINT30
PD7/OC2A/PCINT31
AREF
AVCC
RESET

9
10
11
12
13
14
15
16

D0
D1
D2
D3
D4
D5
D6
D7

RS
RW
E

40
41
42
43
44
1
2
3

7
8
9
10
11
12
13
14

1
2
3

U1
37
36
35
34
33
32
31
30

10k

4
5
6

95%

VSS
VDD
VEE

ENTRADA DEL ACONDICIONAMIENTO

VCC

VCC

RL1
5v

29
27
4

ATMEGA164P

Q1
NPN

D2
LED-GREEN

D3
LED-RED

ALEX ROCHA

SIMULA USO DEL REL ESTADO SLIDO

DIAGRAMA DE FLUJO
Inicio

DIAGRAMA DE FLUJO

Defino la frecuecia del reloj a


8 Mhz
Habiito y seteo el
preescalador
Configuracin de puertos

canal 0 del ADC

Habilito el ADC

Inicio la conversin

Leo Voltaje del PA0

Leo adcl y adch

no

Termin
Conversin?

si
no

no

Temperatura>=20C

Temperatura <=80C

no

Temperatura<20C

Temperatura>80
C
si

si

si

si

Activa Contacto
Rel estado Slido
Nivel Temperatura
Normal

Nivel Critico

ALEX ROCHA

CDIGO IMPLEMENTADO
/*
* Prueba_hist_Alex.c
*
* Created: 15/5/2016 14:27:48
* Author : Alex Rocha
*/
#define F_CPU 8000000UL

#include <avr/io.h>
#include <util/delay.h>
#include <avr/interrupt.h>
#include <compat/deprecated.h>
#include <stdlib.h>
#include "lcd.h"
unsigned char
voltl,volth,temph,templ;

unsigned char numerol,numeroh,numero;


unsigned int auxv,auxt;
double volt;
int temp;
int main(void)
{
//Puertos:
DDRA|=(1<<PA4|1<<PA5);
//Leds MS.
PORTA&=~(1<<PA4|1<<PA5);
DDRB|=(1<<PB3);
PORTB&=~(1<<PB3);
DDRC=0XFF;
//Leds LS.
PORTC=0;
DDRD|=(1<<0);
PORTD&=~(1<<0);
ADMUX=0b01000000;
ADCSRA=0b10000110;
DIDR0=0b00000001;
sei();
lcd_init();
lcd_gotorc(1,6);
lcd_puts("ALEX ROCHA
");
lcd_gotorc(2,4);
lcd_puts("INTRU INDUSTRIAL");
_delay_ms(500);
lcd_clear();
char vector[16];
while(1)
{
//Voltimetro para
verificar Entrada al ADC:POR
COMPROBAR VARIACIN NO NECESARIO
ADCSRA|=(1<<ADSC);
while(ADCSRA&(1<<ADSC));
voltl=ADCL;
volth=ADCH;
auxv=ADC;
PORTC=voltl;

REFERENCIAS
[1] Apuntes en Clase Ing. Ana Rodas
[2] Sotomayor N. Control con Microprocesadores.

PORTA=(volth<<PA4);
volt=(auxv/204.6);
lcd_gotorc(2,1);
lcd_puts("Voltaje: ");
dtostrf(volt,2,1,vector);
lcd_puts(vector);
lcd_puts("V ");
////Termmetro:
_delay_ms(100);
while(ADCSRA&(1<<ADSC));
templ=ADCL;
temph=ADCH;
auxt=ADC;
temp=(auxt/204.6)*16.8;
lcd_gotorc(1,1);
sprintf(vector,"Temper.:
%d",temp);
lcd_puts(vector);
lcd_puts("\337C");
OCR0A=numero;
if
((temp<=20)|(temp>=80))
{
PORTD|=(1<<PIND0);
}
if
((temp>80)|(temp<20))
{
PORTD&=~(1<<PIND0);
}
}
}

Você também pode gostar