Escolar Documentos
Profissional Documentos
Cultura Documentos
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]
= 12[].
106.16 []
106.16[] + 15 []
= 84.33[]
= .
= 12[].
132.34 []
132.34[] + 15 []
= 104.946[]
curva de acondicionamiento
Salida Acondicionamiento
6
5
4
3
2
1
0
-5
10
15
20
25
-1
GANANCIA
Como deseo tener una salida de 5V procedo a acondionar teniendo una ganancia de:
=
. 3
5
=
=
= 250
.
1 20.016
3
1
= 250;
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
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
VCC
VCC
RL1
5v
29
27
4
ATMEGA164P
Q1
NPN
D2
LED-GREEN
D3
LED-RED
ALEX ROCHA
DIAGRAMA DE FLUJO
Inicio
DIAGRAMA DE FLUJO
Habilito el ADC
Inicio la conversin
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;
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);
}
}
}