Sensor de Temperatura con LM35 y PIC16F877A

MATERIA : DISPOSITIVOS ANALÓGICOS ALUMNOS: DANIEL IBARRA GARRIDO RAYMUNDO REYES GARCIA GIOVANNY VARGAS VIRGEN ANA LÍDIA

Views 225 Downloads 1 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

MATERIA : DISPOSITIVOS ANALÓGICOS ALUMNOS: DANIEL IBARRA GARRIDO RAYMUNDO REYES GARCIA GIOVANNY VARGAS VIRGEN ANA LÍDIA TELLEZ LUNA DENISSE ANALY HERNÁNDEZ MARTINEZ CARRERA: MECATRÓNICA ÁREA AUTOMATIZACIÓN CUARTO CUATRIMESTRE A PROFR: INGENÍERO FERMÍN FLORES VALDERRABANO October 25, 2014

Figure 1: SENSOR DE TEMPERATURA CON LM35 Y ARDUINO

1

1

MARCO TEÓRICO

LOS SENSORES DE TEMPERATURA SON DISPOSITIVOS QUE TRANSFORMAN LOS CAMBIOS DE TEMPERATURA EN CAMBIOS EN SEÑALES ELÉCTRICAS QUE SON PROCESADOS POR EQUIPO ELECTRICO O ELECTRÓNICO. HAY TRES TIPOS DE SENSORES DE TEMPERATURA, LOS TERMISTORES, LOS RTD Y LOS TERMOPARES. EL SENSOR DE TEMPERATURA, TÍPICAMENTE SUELE ESTAR FORMADO POR EL ELEMENTO SENSOR, DE CUALQUIERA DE LOS TIPOS ANTERIORES, LA VAINA QUE LO ENVUELVE Y QUE ESTÁ RELLENA DE UN MATERIAL MUY CONDUCTOR DE LA TEMPERATURA, PARA QUE LOS CAMBIOS SE TRANSMITAN RÁPIDAMENTE AL ELEMENTO SENSOR Y DEL CABLE AL QUE SE CONECTARÁN EL EQUIPO ELECTRÓNICO. EL TERMISTOR ESTÁ BASADO EN QUE EL COMPORTAMIENTO DE LA RESISTENCIA DE LOS SEMICONDUCTORES ES VARIABLE EN FUNCIÓN DE LA TEMPERATURA. EXISTEN LOS TERMISTORES TIPO NTC Y LOS TERMISTORES TIPO PTC. EN LOS PRIMEROS, AL AUMENTAR LA TEMPERATURA, DISMINUYE LA RESISTENCIA. EN LOS PTC, AL AUMENTAR LA TEMPERATURA, AUMENTA LA RESISTENCIA. EL PRINCIPAL PROBLEMA DE LOS TERMISTORES ES QUE NO SON LINEALES SEGÚN LA TEMPERATURA POR LO QUE ES NECESARIO APLICAR FÓRMULAS COMPLEJAS PARA DETERMINAR LA TEMPERATURA SEGÚN LA CORRIENTE QUE CIRCULA Y SON COMPLICADOS DE CALIBRAR.

Figure 2: ELEMENTO ELECTRONICO DE REACCIÓN POR TEMPERATURA

UN RTD ES UN SENSOR DE TEMPERATURA BASADO EN LA VARIACIÓN DE LA RESISTENCIA DE UN CONDUCTOR CON LA TEMPERATURA. LOS METALES EMPLEADOS NORMALMENTE COMO RTD SON PLATINO, COBRE, NIQUEL Y MOLIBDENO. DE ENTRE LOS ANTERIORES, LOS SENSORES DE PLATINO SON LOS MÁS COMUNES POR TENER MEJOR LINEALIDAD, MÁS RAPIDEZ Y MAYOR MARGEN DE TEMPERATURA.

EL TERMOPAR, TAMBIÉN LLAMADO TERMOCUPLA Y QUE RECIBE ESTE NOMBRE POR ESTAR FORMADO POR DOS METALES, ES UN INSTRUMENTO DE MEDIDA CUYO PRINCIPIO DE FUNCIONAMIENTO ES EL EFECTO TERMOELÉCTRICO. UN MATERIAL TERMOELÉCTRICO PERMITE TRANSFORMAR DIRECTAMENTE EL CALOR EN ELECTRICIDAD, O BIEN GENERAR FRÍO CUANDO SE LE APLICA UNA CORRIENTE ELÉCTRICA. EL TERMOPAR GENERA UNA TENSIÓN 2

Figure 3: UTILIZADO PARA LA MEDICIÓN DE LA TEMPERATURA QUE ESTÁ EN FUNCIÓN DE LA TEMPERATURA QUE SE ESTÁ APLICANDO AL SENSOR. MIDIENDO CON UN VOLTÍMETRO LA TENSIÓN GENERADA, CONOCEREMOS LA TEMPERATURA. LOS TERMOPARES TIENEN UN AMPLIO RANGO DE MEDIDA, SON ECONÓMICOS Y ESTÁN MUY EXTENDIDOS EN LA INDUSTRIA. EL PRINCIPAL INCONVENIENTE ESTRIBA EN SU PRECISIÓN, QUE ES PEQUEÑA EN COMPARACIÓN CON SENSORES DE TEMPERATURA RTD O TERMISTORES.

Figure 4: AUXILIAR EN LA MEDICIÓN

EN EL CASO DE ESTE PROYECTO, SE HA PROPUESTO LA REALIZACIÓN DE LOS SENSORES DE TEMPERATURA, INCORPORANDO LOS SIGUIENTES ELEMENTOS, COMO MATERIALES BÁSICOS PARA LA ELABORACIÓN.

3

A CONTINUACIÓN SE DESCRIBEN LAS CARACTERÍSTICAS DE LOS ELEMENTOS QUE SON UTILIZADOS EN LOS CÍRCUITOS, RECORDANDO QUE LA REALIZACIÓN DE ESTE PROYECTO CONSISTIÓ EN DOS PARTES, PROGRAMACIÓN CON ARDUINO UNO, Y PROGRAMACIÓN EN PIC C, PARA EL MICROCONTROLADOR 16F877A.

2

LM 35 SENSOR DE TEMPERATURA

EL LM35 ES UN SENSOR DE TEMPERATURA INTEGRADO DE PRECISIÓN, CUYA TENSIÓN DE SALIDA ES LINEALMENTE PROPORCIONAL A LA TEMPERATURA EN ◦ C (GRADOS CENTÍGRADOS). EL LM35 POR LO TANTO TIENE UNA VENTAJA SOBRE LOS SENSORES DE TEMPERATURA LINEAL CALIBRADA EN GRADOS KELVIN: QUE EL USUARIO NO ESTÁ OBLIGADO A RESTAR UNA GRAN TENSIÓN CONSTANTE PARA OBTENER GRADOS CENTÍGRADOS. EL LM35 NO REQUIERE NINGUNA CALIBRACIÓN EXTERNA O AJUSTE PARA PROPORCIONAR UNA PRECISIÓN TÍPICA DE + o - 1.4 ◦ C A TEMPERATURA AMBIENTE Y + o - 3.4 ◦ C A LO LARGO DE SU RANGO DE TEMPERATURA (DE -55 A 150 ◦ C). EL DISPOSITIVO SE AJUSTA Y CALIBRA DURANTE EL PROCESO DE PRODUCCIÓN. LA BAJA IMPEDANCIA DE SALIDA, LA SALIDA LINEAL Y LA PRECISA CALIBRACIÓN INHERENTE, PERMITEN LA CREACIÓN DE CIRCUITOS DE LECTURA O CONTROL ESPECIALMENTE SENCILLOS. EL LM35 PUEDE FUNCIONAR CON ALIMENTACIÓN SIMPLE O ALIMENTACIÓN DOBLE (+ Y -) REQUIERE SÓLO 60 MICRO.A. PARA ALIMENTARSE, Y BAJO FACTOR DE AUTO - CALENTAMIENTO, MENOS DE 0,1 ◦ C EN AIRE ESTÁTICO. EL LM35 ESTÁ PREPARADO PARA TRABAJAR EN UNA GAMA DE TEMPERATURAS QUE ABARCA DESDE LOS - 55 ◦ C BAJO CERO A 150 ◦ C, MIENTRAS QUE EL LM35C ESTÁ PREPARADO PARA TRABAJAR ENTRE -40 ◦ C Y 110 ◦ C (CON MAYOR PRECISIÓN). ENTRE LAS PRINCIPALES CARACTERÍSTICAS QUE OFRECE EL SENSOR LM35, PODEMOS ENCONTRAR:

1 CALIBRACIÓN DIRECTA EN GRADOS CENTÍGRADOS. 2 FACTOR DE ESCALA LINEAL DE +10mV/◦ C. 3 0.5 ◦ C DE PRECISIÓN A + 25 ◦ C. 4 RANGO DE TRABAJO: -55 ◦ C A +150 ◦ C. 5 APROPIADO PARA APLICACIONES REMOTAS. 6 BAJO COSTO. 7 FUNCIONA CON ALIMENTACIONES DE 4V Y 30V. 8 MENOS DE 60 MICRO. A. DE CONSUMO. 9 BAJO AUTO CALENTAMIENTO (0.08 ◦ C EN AIRE ESTÁTICO). 10 BAJA IMPEDANCIA DE SALIDA, 0.1W PARA CARGAS DE 1mA

4

Figure 5: DIAGRÁMA DE CONEXIÓN PARA EL LM35

3

ARDUINO UNO

ARDUINO UNO ES UNA PLACA ELECTRÓNICA BASADA EN EL MICROCONTROLADOR ATMEGA328. CUENTA CON 14 ENTRADAS/SALIDAS DIGITALES, DE LAS CUALES 6 SE PUEDEN UTILIZAR COMO SALIDAS PWM (MODULACIÓN POR ANCHO DE PULSOS) Y OTRAS 6 SON ENTRADAS ANALÓGICAS. ADEMÁS, INCLUYE UN RESONADOR CERÁMICO DE 16 MHZ, UN CONECTOR USB, UN CONECTOR DE ALIMENTACIÓN, UNA CABECERA ICSP Y UN BOTÓN DE RESETEADO. LA PLACA INCLUYE TODO LO NECESARIO PARA QUE EL MICROCONTROLADOR HAGA SU TRABAJO, BASTA CONECTARLA A UN ORDENADOR CON UN CABLE USB O A LA CORRIENTE ELÉCTRICA A TRAVÉS DE UN TRANSFORMADOR. CON ESTA PLACA, ARDUINO CONMEMORABA EL LANZAMIENTO DE ARDUINO 1.0., CONVIRTIÉNDOSE EN LA VERSIÓN DE REFERENCIA DE ARDUINO. EL ARDUINO UNO PUEDE SER ALIMENTADO A TRAVÉS DE LA CONEXIÓN USB O CON UNA FUENTE DE ALIMENTACIÓN EXTERNA. LA FUENTE DE ALIMENTACIÓN SE SELECCIONA AUTOMÁTICAMENTE. POTENCIA (NO USB) EXTERNO PUEDE VENIR CON UN ADAPTADOR DE CA A CC (PARED-VERRUGA) O LA BATERÍA. EL ADAPTADOR SE PUEDE CONECTAR ENCHUFANDO UN CONECTOR DE 2,1 MM DE CENTRO POSITIVO EN EL CONECTOR DE ALIMENTACIÓN DE LA PLACA. LOS CABLES DESDE UNA BATERÍA SE PUEDEN INSERTAR EN LOS ENCABEZADOS DE PIN GND Y VIN DEL CONECTOR DE ALIMENTACIÓN. LA TARJETA PUEDE FUNCIONAR CON UN SUMINISTRO EXTERNO DE 6 A 20 VOLTIOS. SI SE SUMINISTRA CON MENOS DE 7 V, SIN EMBARGO, EL PIN DE 5V PUEDE SUMINISTRAR MENOS DE CINCO VOLTIOS Y EL TABLERO PUEDE SER INESTABLE. SI SE UTILIZA MÁS DE 12V, EL REGULADOR DE VOLTAJE SE PUEDE SOBRECALENTAR Y DAÑAR LA PLACA. EL RANGO RECOMENDADO ES DE 7 A 12 VOLTIOS. LOS PINES DE ALIMENTACIÓN SON COMO SIGUE:

1. VIN. EL VOLTAJE DE ENTRADA A LA PLACA ARDUINO CUANDO SE TRATA DE UTILIZAR UNA FUENTE DE ALIMENTACIÓN EXTERNA (EN CONTRAPOSICIÓN A 5 VOLTIOS DE LA CONEXIÓN USB O DE OTRA FUENTE DE ALIMENTACIÓN REGULADA). USTED PUEDE SUMINISTRAR TENSIÓN A TRAVÉS DE ESTE PIN, O, SI EL SUMINISTRO DE TENSIÓN A TRAVÉS DE LA TOMA DE PODER, ACCEDER A ÉL A TRAVÉS DE ESTE PIN. 2. 5V. ESTE PIN COMO SALIDA UNA 5V REGULADA DESDE EL REGULADOR EN EL TABLERO. 5

EL TABLERO PUEDE SER ALIMENTADO YA SEA DESDE LA TOMA DE ALIMENTACIÓN DE CC (7 - 12), EL CONECTOR USB (5V), O EL PIN VIN DEL TABLERO (7-12V). EL SUMINISTRO DE TENSIÓN A TRAVÉS DE LOS PINES DE 5V O 3.3V NO PASA POR EL REGULADOR, Y PUEDE DAÑAR SU TABLERO. NO ACONSEJAMOS ELLA. 3. 3V3. UN SUMINISTRO DE 3,3 VOLTIOS GENERADA POR EL REGULADOR DE A BORDO. EL DRENAJE ACTUAL MÁXIMO ES DE 50 MA. 4. GND. PATILLAS DE TIERRA. 5. INSTRUCCIÓN IOREF. ESTE PIN DE LA PLACA ARDUINO PROPORCIONA LA REFERENCIA DE TENSIÓN CON LA QUE OPERA EL MICROCONTROLADOR. UN ESCUDO CONFIGURADO PUEDE LEER EL VOLTAJE PIN INSTRUCCIÓN IOREF Y SELECCIONE LA FUENTE DE ALIMENTACIÓN ADECUADA O HABILITAR TRADUCTORES DE VOLTAJE EN LAS SALIDAS PARA TRABAJAR CON EL 5V O 3.3V. EL ATMEGA328 TIENE 32 KB (CON 0,5 KB UTILIZADOS PARA EL GESTOR DE ARRANQUE). TAMBIÉN TIENE 2 KB DE SRAM Y 1 KB DE EEPROM (QUE PUEDE SER LEÍDO Y ESCRITO CON LA LIBRERÍA EEPROM ) CADA UNO DE LOS 14 PINES DIGITALES EN EL UNO SE PUEDE UTILIZAR COMO UNA ENTRADA O SALIDA, UTILIZANDO PINMODE ( ) ,DIGITALWRITE ( ) , Y DIGITALREAD ( ) FUNCIONES. OPERAN A 5 VOLTIOS. CADA PIN PUEDE PROPORCIONAR O RECIBIR UN MÁXIMO DE 40 MA Y TIENE UNA RESISTENCIA DE PULL-UP (DESCONECTADA POR DEFECTO) DE 20-50 KOHMS. ADEMÁS, ALGUNOS PINES TIENEN FUNCIONES ESPECIALIZADAS: 1. DE SERIE: 0 (RX) Y 1 (TX). UTILIZA PARA RECIBIR (RX) Y TRANSMITIR DATOS EN SERIE (TX) TTL. ESTOS PINES ESTÁN CONECTADOS A LOS PINES CORRESPONDIENTES DEL ATMEGA8U2 USB-TO-TTL CHIPS SERIAL. 2. INTERRUPCIONES EXTERNAS:. 2 Y 3 ESTOS PINES PUEDEN SER CONFIGURADOS PARA ACTIVAR UNA INTERRUPCIÓN EN UN VALOR BAJO, UN FLANCO ASCENDENTE O DESCENDENTE, O UN CAMBIO EN EL VALOR. VER EL ATTACHINTERRUPT () FUNCIÓN PARA MÁS DETALLES. 3. PWM:. 3, 5, 6, 9, 10, Y 11 PARA SALIDAS PWM DE 8 BITS CON EL ANALOGWRITE () FUNCIÓN. 4. SPI:. 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) ESTOS PINES SOPORTAN LA COMUNICACIÓN SPI UTILIZANDO LA LIBRERÍA SPI . 5. LED:. 13 HAY UN BUILT - IN LED CONECTADO AL PIN DIGITAL 13 CUANDO EL PIN ES DE ALTO VALOR, EL LED ESTÁ ENCENDIDO, CUANDO EL PASADOR ES BAJO, ES APAGADO. EL UNO TIENE 6 ENTRADAS ANALÓGICAS, ETIQUETADOS A0 A A5, CADA UNO DE LOS CUALES PROPORCIONAN 10 BITS DE RESOLUCIÓN (ES DECIR, 1024 VALORES DIFERENTES). POR DEFECTO SE MIDEN DESDE EL SUELO A 5 VOLTIOS, AUNQUE ES POSIBLE CAMBIAR EL EXTREMO SUPERIOR DE SU RANGO USANDO EL PIN AREF Y LA ANALOG REFERENCE FUNCIÓN (). ADEMÁS, ALGUNOS PINES TIENEN FUNCIONES ESPECIALIZADAS : 1. TWI: PIN A4 O A5 Y SDA O PIN SCL COMUNICACIÓN APOYO TWI USANDO LA LIBRERÍA WIRE . HAY UN PAR DE OTRAS CLAVIJAS DE LA PLACA: 2. AREF. VOLTAJE DE REFERENCIA PARA LAS ENTRADAS ANALÓGICAS. SE UTILIZA CON ANALOG REFERENCE (). 3. RESTABLECER. TRAIGA ESTA LÍNEA LOW PARA REINICIAR EL MICROCONTROLADOR. NORMALMENTE SE UTILIZA PARA AÑADIR UN BOTÓN DE REINICIO A LOS ESCUDOS QUE BLOQUEAN EL UNO EN EL TABLERO. VER TAMBIÉN EL MAPEO ENTRE LOS PINES DE ARDUINO Y PUERTOS ATMEGA328 . LA ASIGNACIÓN PARA EL ATMEGA8, 168, Y 328 ES IDÉNTICO.

6

Figure 6: TARJETA ARDUINO UNO

4

PIC16F877A

SE DENOMINA MICROCONTROLADOR A UN DISPOSITIVO PROGRAMABLE CAPAZ DE REALIZAR DIFERENTES ACTIVIDADES QUE REQUIERAN DEL PROCESAMIENTO DE DATOS DIGITALES Y DEL CONTROL Y COMUNICACIÓN DIGITAL DE DIFERENTES DISPOSITIVOS. LOS MICROCONTROLADORES POSEEN UNA MEMORIA INTERNA QUE ALMACENA DOS TIPOS DE DATOS; LAS INSTRUCCIONES, QUE CORRESPONDEN AL PROGRAMA QUE SE EJECUTA, Y LOS REGISTROS, ES DECIR, LOS DATOS QUE EL USUARIO MANEJA, ASÍ COMO REGISTROS ESPECIALES PARA EL CONTROL DE LAS DIFERENTES FUNCIONES DEL MICROCONTROLADOR. LOS MICROCONTROLADORES SE PROGRAMAN EN ASSEMBLER Y CADA MICROCONTROLADOR VARÍA SU CONJUNTO DE INSTRUCCIONES DE ACUERDO A SU FABRICANTE Y MODELO. DE ACUERDO AL NÚMERO DE INSTRUCCIONES QUE EL MICROCONTROLADOR MANEJA SE LE DENOMINA DE ARQUITECTURA RISC (REDUCIDO) O CISC (COMPLEJO). LOS MICROCONTROLADORES POSEEN PRINCIPALMENTE UNA ALU (UNIDAD LÓGICO ARITMÉTICA), MEMORIA DEL PROGRAMA, MEMORIA DE REGISTROS, Y PINES I/O (ENTRADA Y/ SALIDA). LA ALU ES LA ENCARGADA DE PROCESAR LOS DATOS DEPENDIENDO DE LAS INSTRUCCIONES QUE SE EJECUTEN (ADD, OR, AND), MIENTRAS QUE LOS PINES SON LOS QUE SE ENCARGAN DE COMUNICAR AL MICROCONTROLADOR CON EL MEDIO EXTERNO; LA FUNCIÓN DE LOS PINES PUEDE SER DE TRANSMISIÓN DE DATOS, ALIMENTACIÓN DE CORRIENTE PARA EL FUNCIONAMIENTO DE ESTE O PINES DE CONTROL ESPECIFICO. EN ESTE PROYECTO SE UTILIZO EL PIC 16F877. ESTE MICROCONTROLADOR ES FABRICADO POR MICROCHIP FAMILIA A LA CUAL SE LE DENOMINA PIC. EL MODELO 16F877 POSEE VARIAS CARACTERÍSTICAS QUE HACEN A ESTE MICROCONTROLADOR UN DISPOSITIVO MUY VERSÁTIL, EFICIENTE Y PRACTICO PARA SER EMPLEADO EN LA APLICACIÓN QUE POSTEORIMENTE SERÁ DETALLADA. ALGUNAS DE ESTAS CARACTERÍSTICAS SE MUESTRAN A CONTINUACIÓN : 1. SOPORTA MODO DE COMUNICACIÓN SERIAL, POSEE DOS PINES PARA ELLO. 2. AMPLIA MEMORIA PARA DATOS Y PROGRAMA. 3. MEMORIA REPROGRAMABLE: LA MEMORIA EN ESTE PIC ES LA QUE SE DENOMINA FLASH; ESTE TIPO DE MEMORIA SE PUEDE BORRAR ELECTRÓNICAMENTE (ESTO CORRESPONDE 7

A LA "F" EN EL MODELO). 4. SET DE INSTRUCCIONES REDUCIDO (TIPO RISC), PERO CON LAS INSTRUCCIONES NECESARIAS PARA FACILITAR SU MANEJO.

Figure 7: CIRCUITO ELECTRONICO CON PIC16F877A

5

SENSOR CON LM35 Y ARDUINO UNO

OBJETIVO DE LA PRÁCTICA: VISUALIZAR E INTERPRETAR LA MEDICIÓN DE LA TEMPERATURA EN UN DISPLAY LCD JHD162A, UTILIZANDO UNA TARJETA ARDUINO Y UN SENSOR LM35 MEDIANTE PROGRAMACIÓN ELABORADA EN EL SOFTWARE DE ARDUINO.

1. TARJETA ARDUINO UNO. 2. DISPLAY LCD JHD162A. 3. SENSOR LM35. 4. BANANAS PARA PROTOBOARD. 5. 1 TABLILLA DE PROTOBOARD. 6. UNA FUENTE DE VOLTAJE DE 5V DE CD. 7. 1 POTENCIOMETRO DE 5K. 8. 1 RESISTENCIA DE 330. 9. 16 PINES.

8

PARA COMENZAR LA PRACTICA, SE PROCEDIO A SOLDAR LOS PINES A LA PANTALLA LCD, DEBIDO A QUE ESTE DISPOSITIVO ELECTRONICO NO PUEDE SER COLOCADO EN LA PROTOBOARD SIN ANTES SOLDAR LOS PINES DE CONEXIÓN, EN ESTE CASO HAREMOS USO DE 16 PINES DE CONEXIÓN PARA CADA UNA DE LAS ENTRADAS. A CONTINUACIÓN SE PUEDE OBSERVAR UNA IMAGEN DE EL DISPLAY LCD CON LOS PINES DE CONEXIÓN COLOCADOS CORRECTAMENTE.

Figure 8: DISPLAY LCD CON PINES DE CONEXIÓN

UNA VEZ QUE SE HA SOLDADO LOS PINES EN LA LCD, SE CORRESPONDE A ENSAMBLAR EN EL PROTOBOARD, EL DIAGRAMA DE CONEXIÓN DE LA PANTALLA LCD, INDICA LA NOMENCLATURA DE LOS PINES.

Figure 9: DIAGRAMA DE CONEXIÓN DE UN DISPLAY LCD EL DIAGRAMA DE CONEXIÓN DEL PRIMER CIRCUITO AQUI MOSTRADO INDICA LAS CONEXIONES PERTINENTES. EL ELEMENTO BASE SERÁ EL LM35, COMO SENSOR DE TEMPERATURA, ASI QUE SE REALIZA SU CONEXIÓN TAL Y COMO LO INDICA SU HOJA DE ESPECIFICACIONES, CON SUS CONEXIONES HACIA TIERRA, VOLTAJE Y LA RESPECTIVA SALIDA ES LA QUE SE ENVIA A LA TARJETA ARDUINO. A SU VEZ, LAS CONEXIONES MAS IMPORTANTES SON LAS DEL LCD, PUESTO QUE EL OBJETIVO DE NUESTRA PRÁCTICA ES REPRESENTAR LOS DATOS EN ELLA, Y SI LAS CONEXIONES SON DEFICIENTES O DE POCA CALIDAD, EL DISPLAY NO ENCIENDE. SE DEBE HACER UN PEQUEÑO AJUSTE PARA EL CONTRASTE DE LA PANTALLA, PUESTO QUE EL TERCER PIN DEL LCD ES EL QUE CONTROLA EL CONTRASTE, PARA HACER ESTE CON9

TROL COLOCAMOS UN POTENCIOMETRO DE 5K, QUE NOS PERMITIRA VARIAR LOS NIVELES DE CONTRASTE DE LA PANTALLA, ASÍ ENTRE MÁS CERCANO ESTE ESE PIN DE LA TIERRA, MAS CONTRASTE MOSTRARA EN LA LCD. EL POTENCIOMETRO A SU VEZ SE CONECTA A VCC Y A GND.

Figure 10: SIMULACIÓN DE CIRCUITO CON ARDUINO Y LM35 PARA LA PARTE DE PROGRAMACIÓN EN LENGUAJE C, PARA ARDUINO, SE UTILIZÓ EL SOFTWARE DE LA MARCA MISMA, EN SU VERSION 1.5.2, Y LA PROGRAMACIÓN SE PUEDE VER DE LA SIGUIENTE FORMA:

Figure 11: PROGRAMACIÓN EN LENGUAJE C DE ARDUINO COMO PUEDE NOTARSE, SE HACE USO DE LA PAQUETERÍA LIQUIDCRYSTAL.H, PUESTO QUE UTILIZAREMOS UN DISPLAY LCD, SI ESTA LIBRERIA NO FUERA AGREGADA AL PROGRAMA NO SE PODRÍA CONTROLAR LA LCD Y NO ESTARIA CUMPLIENDO SU OBJETIVO PRINICPAL, A CONTINCUACIÓN PROCEDEMOS A PROGRAMAR LOS PINES QUE SE VAN A UTILIZAR EN NUESTRA PRÁCTICA, SIENDO ESTOS 12, 11, 5, 4, 3, 2, ENTONCES DECLARAMOS VARIABLES Y SE PROCEDE A REALIZAR LA PROGRAMACIÓN PARA QUE SE MUESTREN LOS GRADOS EN CENTIGRADOS, O CELSIUS. EL VOLTAJE EN mV QUE DA EL LM35, SE ENVIA A UNA ENTRADA ANALÓGA DE LA ARDUINO, LA CUÁL ES PROGRAMADA COMO "DATO" Y ES DE AQUI DESDE DONDE SE PROCEDE A REALIZAR LA FÓRMULA QUE PERMITIRA CALCULAR LA MEDIDA EN ◦ C. UNA VEZ QUE SE PUEDE MANEJAR EL DATO, SE PUEDE REALIZAR TODO TIPO DE FUNCIONES CON AYUDA DE LA FÓRMULA, POR EJEMPLO, SI SE REQUIERE QUE AHORA LA CON10

VERSIÓN SE DE EN GRADOS FAHRENHEIT, EN KELVIN O INCLUSO EN RANKINS, SOLO SE PROCEDERA A CAMBIAR LA FÓRMULA CORRESPONDIENTE A CADA VARIABLE.

Figure 12: PROGRAMACIÓN EN LENGUAJE C DE ARDUINO UNA VEZ QUE EL PROGRAMA SE TERMINE DE ELABORAR, SE PUEDE COMPILAR LA PROGRAMACIÓN PARA DESCARTAR CUALQUIER ERROR REGISTRADO, EN CASO DE ESTAR NORMALMENTE EN LAS CONDICIONES ADECUADAS, SE DA SEGUIMIENTO AL CIRCUITO, EN ESTE CASO SE REALIZÓ TODO ADECUADAMENTE, Y SE PROCEDE A MOSTRAR LAS PRUEBAS PERTINENTES AL PRIMER CIRCUITO.

Figure 13: FUNCIÓN DEL DISPLAY LCD

11

Figure 14: FUNCIÓN DEL DISPLAY LCD

6

SENSOR CON PIC16F877A

PARA LA REALIZACIÓN DE ESTA SEGUNDA PRÁCTICA, SE REQUIERE: 1. 1 PIC 16F877A. 2. DISPLAY LCD JHD162A. 3. SENSOR LM35. 4. BANANAS PARA PROTOBOARD. 5. 1 TABLILLA DE PROTOBOARD. 6. UNA FUENTE DE VOLTAJE DE 5V DE CD. 7. 1 POTENCIOMETRO DE 5K. 8. 1 RESISTENCIA DE 330. 9. 16 PINES. 10. 1 CRISTAL DE CUARZO 4MHz 11. 2 CAPACITORES CERAMICOS DE 22 PICOFARADIOS EL CIRCUITO QUE SE VA A ELABORAR EN ESTA OCASIÓN TIENE UN FUNCIONAMIENTO SIMILAR AL ANTERIOR PUESTO QUE EL PROPOSITO NO CAMBIA, SE DEBE MONITOREAR LA VARIACIÓN DE TEMPERATURA A TRAVÉS DEL DISPLAY LCD, Y CON AYUDA DEL LM35. EN LUGAR DE UTILIZAR EL ARDUINO, SE USARA UN MICROCONTROLADOR 16F877A QUE SE PROGRAMARA EN EL SOFTWARE PIC C, Y POSTERIORMENTE SE PROCEDERA A REALIZAR EL GRABADO DEL PIC Y LA VERIFICACIÓN DEL CORRECTO FUNCIONAMIENTO. COMO PRIMER PUNTO A REALIZAR, SE DEBE ARMAR EL CIRCUITO COMO SE MUESTRA EN LA SIGUIENTE FIGURA: 12

Figure 15: SIMULACIÓN DE SENSOR DE TEMPERATURA CON PIC EL POTENCIOMETRO Y EL SENSOR LM35, SE CONECTAN EXACTAMENTE IGUAL QUE EN LA PRÁCTICA ANTERIOR, SOLO SE AGREGA UN CRISTAL DE CUARZO DE 4MHz, EN CONEXIÓN CON DOS CAPACITORES DE 22 PICO FARADIOS PARA GENERAR UNA SEÑAL OSCILANTE, QUE SE DEBE INTRODUCIR AL MICROCONTROLADOR. SE DEBE CONECTAR EL PIC A ALIMENTACIÓN NEGATIVA Y POSITIVA PARA ASEGURAR SU FUNCIONAMIENTO CORRECTO, PERO EN ESTA OCASIÓN LA LCD SE CONECTA EL PIC EN LA FORMA QUE SE MUESTRA EN EL CIRCUITO, COMO PUEDE OBSERVARSE ES DE FORMA DISTINTA POR LA NOMENCLATURA DE LOS PINES DEL PIC. LA PROGRAMACIÓN EN LENGUAJE C PARA EL MICROCONTROLADOR ES LA SIGUIENTE:

Figure 16: PROGRAMACIÓN EN EL SOFTWARE PIC C AHORA LO SIGUIENTE ES COMPILAR LA PROGRAMACIÓN, EN CASO DE QUE SE MUESTRE ALGUN ERROR SE DEBE ANALIZAR CUIDADOSAMENTE HASTA HALLAR LA FALLA, PERO SI NO EXISTE ERROR ALGUNO, PUEDE PROCEDERSE A GRABAR EL PIC, CUIDADOSAMENTE, SIN TOCAR SUS PINES DIRECTAMENTE CON LAS MANOS, PUESTO QUE EXISTE EL RIESGO DE QUE LA PROGRAMACIÓN SE BORRE PERMANENTEMENTE Y TENGA QUE REPROGRAMARSE DE NUEVO. EL CIRCUITO EN PROTOBOARD HA QUEDADO DE LA SIGUIENTE MANERA: AL ALIMENTAR EL CIRCUITO A 5 VCD, NUESTRO LCD ENCIENDE Y MUESTRA EL MENSAJE DE LA TEMPERATURA CORRECTAMENTE FUNCIONAL, TAL Y COMO SE VE EN LAS IMAGENES DE PRUEBA:

13

Figure 17: FUNCIÓN DE DISPLAY LCD CON PIC

Figure 18: :)

Figure 19: PROTOTIPO FUNCIONAL

7

CONCLUSIÓN

LA PRÁCTICA HA PERMITIDO REAFIRMAR LOS CONOCIMIENTOS PREVIOS DE LOS TEMAS ASOCIADOS, TALES COMO LA PROGRAMACIÓN EN LENGUAJE C, LA CONVERSIÓN ENTRE TEMPERATURA Y VOLTAJE, APRENDIDA EN LA MATERIA DE SENSORES Y ENLAZADA AHORA EN DISPOSITIVOS ANALOGICOS, ADEMAS DE OBTENER CONOCIMIENTOS NUEVOS SOBRE EL MANEJO DEL PIC16F877A Y EL PROCESO CORRESPONDIENTE PARA REALIZAR SU PROGRAMACIÓN FÍSICA, INNOVANDO SIEMPRE EN EL DESARROLLO DE PROYECTOS NUEVOS COMO SE VIENE HACIENDO DESDE EL INICIO DEL CURSO.

14

LM35 Precision Centigrade Temperature Sensors General Description The LM35 series are precision integrated-circuit temperature sensors, whose output voltage is linearly proportional to the Celsius (Centigrade) temperature. The LM35 thus has an advantage over linear temperature sensors calibrated in ˚ Kelvin, as the user is not required to subtract a large constant voltage from its output to obtain convenient Centigrade scaling. The LM35 does not require any external calibration or trimming to provide typical accuracies of ± 1⁄4˚C at room temperature and ± 3⁄4˚C over a full −55 to +150˚C temperature range. Low cost is assured by trimming and calibration at the wafer level. The LM35’s low output impedance, linear output, and precise inherent calibration make interfacing to readout or control circuitry especially easy. It can be used with single power supplies, or with plus and minus supplies. As it draws only 60 µA from its supply, it has very low self-heating, less than 0.1˚C in still air. The LM35 is rated to operate over a −55˚ to +150˚C temperature range, while the LM35C is rated for a −40˚ to +110˚C range (−10˚ with improved accuracy). The LM35 series is available pack-

aged in hermetic TO-46 transistor packages, while the LM35C, LM35CA, and LM35D are also available in the plastic TO-92 transistor package. The LM35D is also available in an 8-lead surface mount small outline package and a plastic TO-220 package.

Features n n n n n n n n n n n

Calibrated directly in ˚ Celsius (Centigrade) Linear + 10.0 mV/˚C scale factor 0.5˚C accuracy guaranteeable (at +25˚C) Rated for full −55˚ to +150˚C range Suitable for remote applications Low cost due to wafer-level trimming Operates from 4 to 30 volts Less than 60 µA current drain Low self-heating, 0.08˚C in still air Nonlinearity only ± 1⁄4˚C typical Low impedance output, 0.1 Ω for 1 mA load

Typical Applications

DS005516-4 DS005516-3

FIGURE 1. Basic Centigrade Temperature Sensor (+2˚C to +150˚C)

Choose R1 = −VS/50 µA V OUT =+1,500 mV at +150˚C = +250 mV at +25˚C = −550 mV at −55˚C

FIGURE 2. Full-Range Centigrade Temperature Sensor

© 2000 National Semiconductor Corporation

DS005516

www.national.com

LM35 Precision Centigrade Temperature Sensors

November 2000

LM35

Connection Diagrams TO-46 Metal Can Package*

SO-8 Small Outline Molded Package

DS005516-1

DS005516-21

*Case is connected to negative pin (GND)

N.C. = No Connection

Order Number LM35H, LM35AH, LM35CH, LM35CAH or LM35DH See NS Package Number H03H

Top View Order Number LM35DM See NS Package Number M08A

TO-92 Plastic Package

TO-220 Plastic Package*

DS005516-2

Order Number LM35CZ, LM35CAZ or LM35DZ See NS Package Number Z03A

DS005516-24

*Tab is connected to the negative pin (GND). Note: The LM35DT pinout is different than the discontinued LM35DP.

Order Number LM35DT See NS Package Number TA03F

www.national.com

2

TO-92 and TO-220 Package, (Soldering, 10 seconds) 260˚C SO Package (Note 12) Vapor Phase (60 seconds) 215˚C Infrared (15 seconds) 220˚C ESD Susceptibility (Note 11) 2500V Specified Operating Temperature Range: TMIN to T MAX (Note 2) LM35, LM35A −55˚C to +150˚C LM35C, LM35CA −40˚C to +110˚C LM35D 0˚C to +100˚C

If Military/Aerospace specified devices are required, please contact the National Semiconductor Sales Office/ Distributors for availability and specifications. Supply Voltage Output Voltage Output Current Storage Temp.; TO-46 Package, TO-92 Package, SO-8 Package, TO-220 Package, Lead Temp.: TO-46 Package, (Soldering, 10 seconds)

+35V to −0.2V +6V to −1.0V 10 mA −60˚C −60˚C −65˚C −65˚C

to to to to

+180˚C +150˚C +150˚C +150˚C

300˚C

Electrical Characteristics (Notes 1, 6) LM35A Parameter

Conditions

Tested Typical

T MIN≤TA≤TMAX

± 0.2 ± 0.3 ± 0.4 ± 0.4 ± 0.18

T MIN≤TA≤TMAX

+10.0

Accuracy

T A =+25˚C

(Note 7)

T A =−10˚C T A =TMAX T A =TMIN

Nonlinearity

LM35CA Design

Limit

Limit

(Note 4)

(Note 5)

± 0.5 ± 1.0 ± 1.0 ± 0.35

Tested Typical

± 0.2 ± 0.3 ± 0.4 ± 0.4 ± 0.15

Design

Units

Limit

Limit

(Max.)

(Note 4)

(Note 5)

± 0.5

˚C

± 1.0 ± 1.0

˚C ˚C

± 1.5 ± 0.3

˚C

+9.9,

mV/˚C

˚C

(Note 8) Sensor Gain (Average Slope)

+9.9,

+10.0

+10.1

Load Regulation

T A =+25˚C

(Note 3) 0≤IL≤1 mA

T MIN≤TA≤TMAX

Line Regulation

T A =+25˚C

(Note 3)

4V≤V S≤30V

± 0.4 ± 0.5 ± 0.01 ± 0.02

Quiescent Current

V S =+5V, +25˚C

56

(Note 9)

V S =+5V

105

V S =+30V, +25˚C

56.2

V S =+30V

105.5

+10.1

± 1.0

± 0.1

± 0.4 ± 0.5 ± 0.01 ± 0.02

131

91

± 3.0 ± 0.05 67

56

68

56.2 133

91.5

± 1.0

mV/mA

± 3.0 ± 0.05

mV/mA mV/V

± 0.1 67

mV/V µA

114

µA

116

µA

68

µA

Change of

4V≤VS≤30V, +25˚C

0.2

Quiescent Current

4V≤V S≤30V

0.5

2.0

0.5

2.0

µA

+0.39

+0.5

+0.39

+0.5

µA/˚C

+1.5

+2.0

+1.5

+2.0

˚C

1.0

0.2

1.0

µA

(Note 3) Temperature Coefficient of Quiescent Current Minimum Temperature

In circuit of

for Rated Accuracy

Figure 1, IL =0

Long Term Stability

T J =TMAX, for

± 0.08

± 0.08

˚C

1000 hours

3

www.national.com

LM35

Absolute Maximum Ratings (Note 10)

PIC16F87X 28/40-Pin 8-Bit CMOS FLASH Microcontrollers

• PIC16F873 • PIC16F874

• PIC16F876 • PIC16F877

Microcontroller Core Features: • High performance RISC CPU • Only 35 single word instructions to learn • All single cycle instructions except for program branches which are two cycle • Operating speed: DC - 20 MHz clock input DC - 200 ns instruction cycle • Up to 8K x 14 words of FLASH Program Memory, Up to 368 x 8 bytes of Data Memory (RAM) Up to 256 x 8 bytes of EEPROM Data Memory • Pinout compatible to the PIC16C73B/74B/76/77 • Interrupt capability (up to 14 sources) • Eight level deep hardware stack • Direct, indirect and relative addressing modes • Power-on Reset (POR) • Power-up Timer (PWRT) and Oscillator Start-up Timer (OST) • Watchdog Timer (WDT) with its own on-chip RC oscillator for reliable operation • Programmable code protection • Power saving SLEEP mode • Selectable oscillator options • Low power, high speed CMOS FLASH/EEPROM technology • Fully static design • In-Circuit Serial Programming (ICSP) via two pins • Single 5V In-Circuit Serial Programming capability • In-Circuit Debugging via two pins • Processor read/write access to program memory • Wide operating voltage range: 2.0V to 5.5V • High Sink/Source Current: 25 mA • Commercial, Industrial and Extended temperature ranges • Low-power consumption: - < 0.6 mA typical @ 3V, 4 MHz - 20 µA typical @ 3V, 32 kHz - < 1 µA typical standby current

 2001 Microchip Technology Inc.

Pin Diagram PDIP MCLR/VPP RA0/AN0

1 2

40 39

RB7/PGD RB6/PGC

RA1/AN1 RA2/AN2/VREF-

3

38

RB5

4

37

RA3/AN3/VREF+

36 35

RB4 RB3/PGM

RA4/T0CKI

5 6

RA5/AN4/SS

7

34

RB1

RE0/RD/AN5

8

33

RB0/INT

RE1/WR/AN6

9 10

32 31

VDD

30 29 28

RD7/PSP7 RD6/PSP6 RD5/PSP5

RE2/CS/AN7 VDD VSS OSC1/CLKIN

11 12 13

PIC16F877/874

Devices Included in this Data Sheet:

RB2

VSS

OSC2/CLKOUT

14

27

RD4/PSP4

RC0/T1OSO/T1CKI

15 16

26 25

RC7/RX/DT

17

24

18

23

19 20

22 21

RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RD0/PSP0 RD1/PSP1

RC6/TX/CK RC5/SDO RC4/SDI/SDA RD3/PSP3 RD2/PSP2

Peripheral Features: • Timer0: 8-bit timer/counter with 8-bit prescaler • Timer1: 16-bit timer/counter with prescaler, can be incremented during SLEEP via external crystal/clock • Timer2: 8-bit timer/counter with 8-bit period register, prescaler and postscaler • Two Capture, Compare, PWM modules - Capture is 16-bit, max. resolution is 12.5 ns - Compare is 16-bit, max. resolution is 200 ns - PWM max. resolution is 10-bit • 10-bit multi-channel Analog-to-Digital converter • Synchronous Serial Port (SSP) with SPI (Master mode) and I2C (Master/Slave) • Universal Synchronous Asynchronous Receiver Transmitter (USART/SCI) with 9-bit address detection • Parallel Slave Port (PSP) 8-bits wide, with external RD, WR and CS controls (40/44-pin only) • Brown-out detection circuitry for Brown-out Reset (BOR)

DS30292C-page 1

PIC16F87X Pin Diagrams

PLCC

PIC16F877 PIC16F874

39 38 37 36 35 34 33 32 31 30 9

RB3/PGM RB2 RB1 RB0/INT VDD VSS RD7/PSP7 RD6/PSP6 RD5/PSP5 RD4/PSP4 RC7/RX/DT

44 43 42 41 40 39 38 37 36 35 34

QFP

7 8 9 10 11 12 13 14 15 16 17

RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RC4/SDI/SDA RC5/SDO RC6/TX/CK NC

RC6/TX/CK RC5/SDO RC4/SDI/SDA RD3/PSP3 RD2/PSP2 RD1/PSP1 RD0/PSP0 RC3/SCK/SCL RC2/CCP1 RC1/T1OSI/CCP2 NC

RA4/T0CKI RA5/AN4/SS RE0/RD/AN5 RE1/WR/AN6 RE2/CS/AN7 VDD VSS OSC1/CLKIN OSC2/CLKOUT RC0/T1OSO/T1CK1 NC

RA3/AN3/VREF+ RA2/AN2/VREFRA1/AN1 RA0/AN0 MCLR/VPP NC RB7/PGD RB6/PGC RB5 RB4 NC

RB7/PGD RB6/PGC RB5 RB4 RB3/PGM RB2 RB1 RB0/INT VDD VSS RC7/RX/DT RC6/TX/CK RC5/SDO RC4/SDI/SDA

6 5 4 3 2 1 44 43 42 41 40

28 27 26 25 24 23 22 21 20 19 18 17 16 15

18 19 20 21 22 23 24 25 26 27 282

1 2 3 4 5 6 7 8 9 10 11 12 13 14

MCLR/VPP RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS VSS OSC1/CLKIN OSC2/CLKOUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RC2/CCP1 RC3/SCK/SCL

PIC16F876/873

PDIP, SOIC

PIC16F877 PIC16F874

33 32 31 30 29 28 27 26 25 24 23

12 13 14 15 16 17 18 19 20 21 22

1 2 3 4 5 6 7 8 9 10 11

NC RC0/T1OSO/T1CKI OSC2/CLKOUT OSC1/CLKIN VSS VDD RE2/AN7/CS RE1/AN6/WR RE0/AN5/RD RA5/AN4/SS RA4/T0CKI

NC NC RB4 RB5 RB6/PGC RB7/PGD MCLR/VPP RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+

RC7/RX/DT RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 VSS VDD RB0/INT RB1 RB2 RB3/PGM

DS30292C-page 2

 2001 Microchip Technology Inc.

PIC16F87X Key Features PICmicro™ Mid-Range Reference Manual (DS33023)

PIC16F873

PIC16F874

PIC16F876

PIC16F877

Operating Frequency

DC - 20 MHz

DC - 20 MHz

DC - 20 MHz

DC - 20 MHz

RESETS (and Delays)

POR, BOR (PWRT, OST)

POR, BOR (PWRT, OST)

POR, BOR (PWRT, OST)

POR, BOR (PWRT, OST)

FLASH Program Memory (14-bit words)

4K

4K

8K

8K

Data Memory (bytes)

192

192

368

368

EEPROM Data Memory

128

128

256

256

Interrupts

13

14

13

14

I/O Ports

Ports A,B,C

Ports A,B,C,D,E

Ports A,B,C

Ports A,B,C,D,E

Timers

3

3

3

3

Capture/Compare/PWM Modules

2

2

2

2

Serial Communications

MSSP, USART

MSSP, USART

MSSP, USART

MSSP, USART

Parallel Communications



PSP



PSP

10-bit Analog-to-Digital Module

5 input channels

8 input channels

5 input channels

8 input channels

Instruction Set

35 instructions

35 instructions

35 instructions

35 instructions

 2001 Microchip Technology Inc.

DS30292C-page 3