lab karina practicas

34
Microcontroladores (CS00002) Grupo 02 Horario: 13 – 15 Mi Salón: LE-03 Campus Ciudad de México División de Ingeniería y Arquitectura Departamento de Ingeniería Eléctrica y Electrónica Karina Y. Sosa González [email protected] Oficinas I 1er. Piso. OBJETIVO GENERAL DE LA MATERIA El alumno aprenderá a diseñar sistemas digitales de aplicaciones específicas, tanto desde el punto de vista de hardware, como de software, basados en microcontroladores; siempre con la convicción de que la simulación es un buen inicio cuando se desea implementar una aplicación. OBJETIVOS ESPECIFICOS DEL CURSO Conocer las características generales de los sistemas de microcontroladores en cuanto a su clasificación, arquitectura, conexión de periféricos, etc. Conocer la arquitectura y funcionamiento de los microcontroladores de la familia MCS51 de Intel. Desarrollar habilidades en la programación en lenguaje ensamblador de los microcontroladores de la familia MCS51. Desarrollar habilidades en el manejo de simuladores para microcontroladores. CALENDARIO DE LABORATORIO Semana Fechas Tema 1 10 al 16 de Agosto Introducción al laboratorio, políticas, evaluación, instalación de los software: Proteus y Proview. Práctica No. 1: Reporte introductoria del programa. 2 17 al 22 de Agosto Práctica No. 2: Manejo de motores de CD. 3 24 al 29 de Agosto Práctica No. 3: Manejo de motores a pasos 4 31 de Agosto – 5 de Septiembre Práctica No. 4: Convertidor de datos, luces y Buzzer. 5 7 al 12 de Septiembre Práctica No. 5:Sistema mínimo del MCS-51 6 14 al 19 de Septiembre Asueto 7 21 al 26 de Septiembre Práctica No. 6:Introducción a PROVIEW 8 28 de Septiembre al 3 de Octubre Práctica No. 7: Programación para display a siete segmentos en paralelo. 9 5 al 10 de Octubre Práctica No. 8: adquisición de datos. 10 12 al 17 de Octubre Práctica No. 9: Conexión de una pantalla de LCD 11 19 al 24 de Octubre Práctica No. 10: Control de Motores 1 12 26 al 31 de Octubre Práctica No. 11: Control de Motores 2 Entrega de Propuesta de Proyecto Final. 13 2 al 7 de Noviembre Proyecto final 14 9 al 13 de Noviembre Práctica No. 12: Comunicación serial y LCD. 15 Proyecto Final 16 16 al 21 de Noviembre Entrega de Proyecto Final POLÍTICAS GENERALES Sobre la asistencia a clases y puntualidad a) La asistencia al curso es obligatoria. El profesor comenzará a tomar lista de asistencia cinco minutos después de la hora de inicio establecida. b) Al alumno que llegue después de cinco minutos de la hora de inicio establecida, no se le permitirá la entrada al salón de clases y tendrá falta de asistencia.

Upload: daniel-cortes-mora

Post on 01-Jul-2015

548 views

Category:

Documents


0 download

TRANSCRIPT

Microcontroladores (CS00002) Grupo 02 Horario: 13 – 15 Mi

Salón: LE-03

Campus Ciudad de México División de Ingeniería y Arquitectura

Departamento de Ingeniería Eléctrica y Electrónica

Karina Y. Sosa González [email protected]

Oficinas I 1er. Piso.

OBJETIVO GENERAL DE LA MATERIA El alumno aprenderá a diseñar sistemas digitales de aplicaciones específicas, tanto desde el punto de vista de hardware, como de software, basados en microcontroladores; siempre con la convicción de que la simulación es un buen inicio cuando se desea implementar una aplicación. OBJETIVOS ESPECIFICOS DEL CURSO Conocer las características generales de los sistemas de microcontroladores en cuanto a su clasificación, arquitectura, conexión de periféricos, etc. Conocer la arquitectura y funcionamiento de los microcontroladores de la familia MCS51 de Intel. Desarrollar habilidades en la programación en lenguaje ensamblador de los microcontroladores de la familia MCS51. Desarrollar habilidades en el manejo de simuladores para microcontroladores. CALENDARIO DE LABORATORIO Semana Fechas Tema

1 10 al 16 de Agosto Introducción al laboratorio, políticas, evaluación, instalación de los software: Proteus y Proview. Práctica No. 1: Reporte introductoria del programa.

2 17 al 22 de Agosto Práctica No. 2: Manejo de motores de CD. 3 24 al 29 de Agosto Práctica No. 3: Manejo de motores a pasos

4 31 de Agosto – 5 de Septiembre Práctica No. 4: Convertidor de datos, luces y Buzzer.

5 7 al 12 de Septiembre Práctica No. 5:Sistema mínimo del MCS-51 6 14 al 19 de Septiembre Asueto 7 21 al 26 de Septiembre Práctica No. 6:Introducción a PROVIEW

8 28 de Septiembre al 3 de Octubre

Práctica No. 7: Programación para display a siete segmentos en paralelo.

9 5 al 10 de Octubre Práctica No. 8: adquisición de datos. 10 12 al 17 de Octubre Práctica No. 9: Conexión de una pantalla de LCD 11 19 al 24 de Octubre Práctica No. 10: Control de Motores 1

12 26 al 31 de Octubre Práctica No. 11: Control de Motores 2 Entrega de Propuesta de Proyecto Final.

13 2 al 7 de Noviembre Proyecto final 14 9 al 13 de Noviembre Práctica No. 12: Comunicación serial y LCD. 15 Proyecto Final 16 16 al 21 de Noviembre Entrega de Proyecto Final

POLÍTICAS GENERALES Sobre la asistencia a clases y puntualidad a) La asistencia al curso es obligatoria. El profesor comenzará a tomar lista de asistencia cinco minutos después de la hora de inicio establecida. b) Al alumno que llegue después de cinco minutos de la hora de inicio establecida, no se le permitirá la entrada al salón de clases y tendrá falta de asistencia.

c) Ninguna falta de asistencia es justificable. d) Si un alumno es expulsado del salón de clase por su profesor, tendrá falta en esa sesión. e) De acuerdo al Reglamento Académico de las Carreras Profesionales1

vigente, para tener derecho a presentar examen final se requiere que el alumno tenga un mínimo de 88% de asistencias en el curso. Tiene también el derecho a presentar el examen final, el alumno que tenga menos del 88% de asistencias y un mínimo del 82% siempre que tenga promedio de calificaciones parciales igual o superior a 83. Para los efectos de dicho reglamento, se considera que un 6% de asistencias equivale al número de clases por semana. Sobre la disciplina en el salón de clases Las disposiciones generales sobre la disciplina en el salón de clases se encuentran detalladas en el Reglamento General de Alumnos2

vigente. En sus líneas generales, dicho reglamento establece que: a) Los alumnos deben mantener una actitud respetuosa hacia el profesor, el resto de los alumnos y expositores invitados en el salón de clase. b) Queda estrictamente prohibido ingerir todo tipo de bebidas y/o alimentos dentro del salón de clases. c) No se permite el uso de teléfonos celulares dentro de la clase. El profesor puede sacar de clase al alumno, poniéndole falta en esa sesión. d) Debe evitarse el maltrato a las sillas. Si el profesor solicita a los alumnos moverlas de sitio, éstos deberán dejarlas en la posición regular al finalizar la clase. Sobre la deshonestidad académica La copia parcial o total o el plagio de tareas y trabajos de investigación serán fuertemente penalizados. El artículo 63 del Reglamento Académico de las Carreras Profesionales menciona las sanciones a se hace acreedor el alumno al incurrir en una falta de este tipo. Éstas pueden ser: asignar una calificación de 10 en una actividad determinada, asignar una calificación de 10 en un examen parcial o final, y la separación del Instituto. Sobre la entrega de pre-reportes y reportes a) Los reportes y pre-reportes de cada práctica se deberán entregar durante los primeros quince

minutos de la clase correspondiente. Si el(los) alumno(s) no entrega(n) su trabajo dentro de este periodo, no tendrá(n) derecho a calificación sobre el mismo.

b) Los pre-reportes se entregarán por equipos y constará de la simulación de la práctica en Proview y Proteus y en lo pedido en la investigación previa, NO SE ENTREGA, SOLO SE REVISA Y SE ANEXA PARA EL REPORTE.

c) Los alumnos deberán traer su práctica armada al menos en un 30%, para aprovechar el tiempo asignado en el laboratorio a hacerle pruebas y dejarla en funcionamiento. Si un equipo no completa las actividades asignadas, deberán entregarla durante los primeros quince minutos de la siguiente sesión, con una penalización en la calificación de esa práctica.

Rubro Porcentaje Pre-reportes 20 %

Trabajo en Laboratorio 60 % Reportes 20 %

Total calificación por parcial 15% Proyecto Final 10 %

Libros de consulta MacKenzie, Scott. “The 8051 Microcontroller”. New York. Prentice Hall, 1999. Proview32, Ver. 3.3, Franklin Software Inc, 1995-1996. http://www.intel.com http://www.nsc.com http://www.atmel.com http://www.microcontroller.com http://www.8052.com http://www.ti.com

1 http://www.rsmx.itesm.mx/archivos/regpro/reglamentos.html 2 http://www.itesm.mx/dae/rga/

Práctica No. 1 Reporte Introductorio del Software.

OBJETIVOS

Al término de la presente práctica, el alumno será capaz de manejar el software de simulación Proteus, mismo que le ayudará durante todo el curso a verificar el correcto funcionamiento tanto de la programación requerida, como del hardware.

INTRODUCCIÓN El programa PROTEUS es una aplicación CAD que se compone de tres módulos básicos:

► ISIS (Intelligent Schematic Input System) que es el modulo de captura de esquemas. ► VSM (Virtual System Modelling) es el modulo de simulación, incluyendo PROSPICE. ► ARES (Advanced Routing Modelling) es el modulo para realización de circuitos impresos (PCB)

El modulo ISIS es un programa que nos permite dibujar sobre un área de trabajo un circuito que posteriormente podremos simular. Las utilidades que posee este software son entre otras: 1) conexiones automáticas entre dos puntos del esquema, 2) librerías de componentes, 3) Netlist compatible con la mayoría de los programas de PCB, 4) enumeración automática de componentes, entre otros. Otro de los componentes que trae esta aplicación es VSM, el cual es utilizado para efectuar análisis, aunque lo primero es realizar el diseño de un circuito y en dicho circuito especificar cuales son las propiedades de los elementos en él incluidos. Además, debemos de disponer de generadores de señal que se aplicaran al circuito y de sondas de prueba que permitan medir las tensiones y corrientes a analizar, graficas sobre las cuales representar los resultados del análisis, etc. Una vez que se han indicado para analizar cualquier circuito se hace preciso excitarlo con señales, es decir, se hace necesario el concurso de generadores o inyectores de señal, para así obtener graficas analógicas o digitales según sea el caso. Por ultimo, podemos transladar todos lo que hemos realizado a un circuito PCB, mismo que nos ayudara a pasar los circuitos a prueba física de forma casi transparente. Ahora bien, si alguno de los dispositivos que estamos utilizando no se encuentran dentro de las librerías, también puede ser creado directamente en la hoja de trabajo, a través de simples pasos que van desde dibujar el componente dentro de la hoja de trabajo, establecer el cuerpo del componente y darle las características necesarias que se establecen para su buen funcionamiento. INVESTIGACION PREVIA

1. ¿Qué sentido tiene realizar simulaciones dentro de la carrera? 2. ¿Cómo se utilizan las hojas de datos? Es decir, describa el correcto funcionamiento de la hoja que incluya

tanto la colocación de dispositivos, como la conexión y simulación de parámetros.

3. Describa el procedimiento para que una vez que se ha simulado el circuito, y verificado que funcione, se pueda transformar en la base de tablilla para un PCB.

4. Por ultimo, diseñe un pequeño manual de operaciones que conteste las preguntas 2 y 3 de forma satisfactoria, dando énfasis principalmente a los componentes que mayormente se utilizaran dentro del semestre.

MATERIAL Y EQUIPO

Equipo: 1 computadora Latop Software de simulación Proteus

Componentes No requerido

DESARROLLO

1. Dibuje un circuito analógico y realice su análisis. Como mínimo debe de integrar cuatro componentes sin considerar las fuentes de alimentación y tierra.

2. Elabore un circuito digital de prueba con mínimo cinco dispositivos y realice su simulación. 3. Por ultimo, integre un circuito analógico-digital y simule.

Práctica No. 2 Manejo de Motores CD.

OBJETIVOS

Al término de esta práctica el alumno comprenderá el principio de operación de los motores a pasos y será capaz de implementar aplicaciones donde se requiera del posicionamiento preciso de una pieza utilizando motores a pasos.

Al término de esta práctica el alumno comprenderá el principio de operación de los puentes H. INTRODUCCIÓN Un puente H es un circuito con cuatro transistores (MOSFETs, BJTs, IGBTs) que permiten controlar el sentido de la corriente entre dos terminales activando y desactivando al mismo tiempo dos de sus transistores con lo cual se puede cambiar la polarización de la carga.

Figura 1. Puente H.

En la figura 1a se puede observar que al activar SW1 y SW2 mientras se desactiva SW3 y SW4 la carga es polarizada en un sentido y en la figura 1b se puede observa que al invertir la activación de los interruptores el sentido de la corriente cambia. INVESTIGACION PREVIA

1. Realice una investigación exhaustiva del funcionamiento general de los transistores NPN y PNP, así como la conexión de ellos para formar un puente H.

2. Investigue las ventajas y desventajas de utilizar circuitos de motores H (tales como el L293) en lugar de los arreglos de transistores.

3. Baje las hojas de especificaciones de los transistores TIP 41 y 42, así como la hoja de especificaciones del CI L293.

4. ¿Qué tipo de transistores son? ¿Cuál es su rango de corriente que soportan tanto el CI como los transistores? 5. ¿Cómo se encuentra formado interiormente un motor DC? 6. ¿Cuánta potencia consume un motor?

7. ¿La potencia suministrada por el circuito es suficiente para hacerlo funcionar? Haga un análisis del funcionamiento del circuito utilizando transistores y el CI L293.

MATERIAL Y EQUIPO

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 4 Cables Banana-Caimán 1 BNC-Caimán

Componentes 1 Motor DC. (8) Resistencias de 1Kohm 4 Transistores TIP41 4 Transistores TIP42 1 CI L293 (8) diodos rectificadores

DESARROLLO 1. A continuación se muestran los circuitos de las figuras 4 y 5, que constituyen puentes H con arreglos de

transistores NPN o PNP. a. Investigue la conexión de los transistores para que el motor gire a la derecha o a la izquierda. b. Una vez hecho lo anterior, arme el circuito (soldado en un modulo) y pruebe su funcionamiento

(recuerde dejar las entradas necesarias para manipular el circuito - cuatro: alimentación Vcc, GND, y la activación del sentido del motor (A y B) con headers)

c. Con el circuito del inciso anterior manteniendo la señal de tierra cambia la señal de activación por un tren de pulsos de 5V(TTL). Incrementa la frecuencia de la señal partiendo de 10Hz hasta que observes que el motor adquiere su velocidad máxima, a partir de este punto modifica el ciclo de trabajo de la señal de 0.9 a 0.1 sin modificar la frecuencia. Indique los resultados considerando la forma de onda de entrada como punto de referencia.

Figura 4: Puente H con transistores NPN. Figura 5: Puente H con transistores PNP.

Práctica No. 3 Manejo de Motores a Pasos.

OBJETIVOS:

Al término de esta práctica el alumno comprenderá el principio de operación de los motores a pasos y será capaz de implementar aplicaciones donde se requiera del posicionamiento preciso de una pieza utilizando motores a pasos.

INTRODUCCION: Los motores a pasos cubren un campo muy específico en el área control de motores y son utilizados para la medición y control. Algunas de sus aplicaciones más importantes se pueden encontrar en las impresoras de inyección de tinta, en las maquinas de control numérico y en las bombas volumétricas. Existen algunas características específicas de los motores a pasos que los hacen idóneos para este tipo de aplicaciones:

Posicionamiento en lazo abierto, el motor gira en incrementos fijos de modo que se puede saber la posición sin necesidad de una retroalimentación de la posición.

Libres de mantenimiento, los motores a pasos no cuentan con carbones y escobillas con lo que no se requiere realizarles mantenimiento además de hacerlos más confiables ya que estos no generan un arco cosa que es deseable en algunos ambientes de trabajo.

Independencia de la carga, el motor gira a incrementos fijos sin importar la carga mientras no se rebase la especificación de torque del motor.

Sostenimiento del torque, el motor puede mantener la carga en una posición específica sin necesidad de un mecanismo de retroalimentación.

Excelente respuesta, el motor comienza a girar con mucha facilidad, tiene una buena respuesta al paro y la inversión de giro.

Existen tres tipos de motores a pasos: de imán permanente, reluctancia variable e híbridos. El motor a pasos de imán permanente tiene un rotor magnetizado radialmente, el motor de reluctancia variable consiste de un rotor y estator con un número diferente de dientes, el motor de pasos híbrido cuenta con estator dentado y un rotor de tres partes que contiene dos piezas de polos separados por un magneto permanente magnetizado.

FIGURA 1: Motor a Pasos Bipolar.

En esta práctica nos enfocaremos en el funcionamiento de los motores a pasos de imán permanente de los cuales existen dos tipos: Unipolares y Bipolares. Los motores a pasos unipolares están constituidos por dos bobinas cada una con un tap central como se muestra en la figura 1. El motor externamente puede tener de 5 a 6 cables ya que puede tener los dos cables de tap central o solo uno ya que internamente pueden estar unidos. Existen tres tipos de secuencia para la activación de cada una de las bobinas. Básicamente consiste en ir activando una a una las bobinas secuencialmente de forma que el rotor vaya girando ya sea por la atracción u oposición del campo magnético del rotor de acuerdo a la polarización del tap central (Ver figura 2). En la tabla 1 se muestra la secuencia de paso único la cual consiste en ir activando una a la vez cada una las bobinas. Esta secuencia es la más simple sin embargo no se logra un buen torque ya que una sola bobina arrastra y sujeta al rotor.

TABLA 1: Secuencia Única. TABLA 2: Paso Doble

En la tabla 2 se muestra la secuencia de paso doble la cual activa dos bobinas a la vez con lo que genera un campo magnético más potente con lo que genera una atracción más fuerte al rotor con lo que atraerá y mantendrá al rotor con más fuerza, sin embargo los cambios serán más bruscos.

TABLA 3: Secuencia de Medio Paso.

En la tabla 3 se muestra la secuencia de medio paso la cual combina las dos secuencias anteriores con la cual se logra un paso más fino en comparación a la secuencia de paso doble. Los motores de pasos bipolares cuentan con dos embobinados independientes (figura 2) sin tap central con lo que la corriente fluye por toda la bobina produciendo más torque que un motor unipolar del mismo tamaño, sin embargo se requiere de un circuito de control más complejo ya que se tiene que cambiar el sentido de la corriente en las bobinas para que el rotor se vaya girando en un sentido.

FIGURA 2: Motor a Pasos Bipolar.

La corriente a través de la bobina es bidireccional por lo que se requiere realizar un cambio de polaridad en cada una de las bobinas. En la figura 2 el flujo de corriente es en un sentido cuando A es positivo y B es negativo para invertir el giro se necesitará de invertir la polaridad por lo que se necesita utilizar un puente H para realizar este cambio. En la tabla 4 se muestra una secuencia de 12 pasos donde + y – indica la polarización y 0 indica que no se energiza. La secuencia de la tabla 4 optimiza el consumo de energía al energizar únicamente una bobina a la vez y la tabla 5 optimiza el torque energizando dos bobinas al mismo tiempo.

TABLA 4: Secuencia Para un Motor Bipolar.

TABLA 5: Secuencia para un Motor Bipolar.

INVESTIGACION PREVIA: 1. Una vez que ha conseguido el motor a pasos, investigue cual es la tabla de movimiento en contra y con las

manecillas del reloj. 2. Investigue las hojas de especificaciones del circuito MC3479. 3. Desarrolle la configuración para que por medio de un dip switch se pueda cambiar la polaridad del giro. 4. ¿Cómo hacemos para tener pasos completos y medios pasos? 5. ¿para que sirve el zener dentro de la configuración marcada abajo? 6. ¿Es mejor utilizar controlador de motor a pasos o utilizar las líneas de control del motor? 7. describa como se puede utilizar el controlador de motor a pasos con el puente H utilizando tanto los transistores

como el CI L293. MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 1 Osciloscopio 4 Cables Banana-Caimán 1 BNC-Caimán 1 Punta de prueba para el osciloscopio

Componentes 1 MC3479 (8) Resistencias de 1Kohm (1) Resistencia de 47Kohm 1 Diodo zener de 3V 4 Transistores TIP41 4 Transistores TIP42

DESARROLLO:

1. Utilizando como base el circuito mostrado en la figura 3, arme un modulo soldado para poder controlar un motor a pasos considerando que debe de utilizar headers para el futuro control de las salidas CLK, CW/CCW, HALF/FULL, OIC (No es necesario que se utilice este modelo, pero si es necesario que podamos controlar los puntos anteriores, al igual que como puente H se puede intercambiar los transistores por un CI de su elección).

2. Una vez armado el modulo, conecta a tierra las terminales CW/CCW(10) y OIC(8). Aliméntala con un tren de pulsos de 5V (TTL) la terminal CLK(7).

a. Varia la frecuencia de 0.1Hz a 50Khz lentamente, con un taquímetro toma mediciones de la velocidad de giro de la flecha a distintas frecuencias al mismo tiempo observa con ayuda del osciloscopio la frecuencia de la señal de salida PHA(11). Observa y reporta que pasa con el giro de la flecha del motor. ¿Para que sirve la terminal PHA(11)?

b. Nuevamente varía la frecuencia Terminal de entrada CLK(7) pero con una carga. Para ello con la frecuencia más baja a la que gira la flecha del motor aplica con tus dedos presión en la flecha sin que esta deje de girar. Aumenta la frecuencia y observa que pasa con el torque del motor.

3. El circuito integrado MC3471 puede trabajar con las secuencias de las tablas 4 y 5. a. Conecta F/HS(9) a 5Volts y repite el procedimiento del paso 2b. Observa y reporta b. Conecta OIC(8) a 5Volta y repite el procedimiento del paso 2b. Observa y reporta

FIGURA 3: Diagrama Eléctrico.

Práctica No. 4 Convertidor de Datos.

OBJETIVOS

El alumno comprenderá y armará un kit de adquisición de datos. INTRODUCCIÓN La adquisición de datos, consiste en la toma de muestras del mundo real (sistema analógico) para generar datos que puedan ser manipulados por un ordenador (sistema digital). Consiste, en tomar un conjunto de variables físicas, convertirlas en tensiones eléctricas y digitalizarlas de manera que se puedan procesar en una computadora o PAC. Se requiere una etapa de acondicionamiento, que adecua la señal a niveles compatibles con el elemento que hace la transformación a señal digital. El elemento que hace dicha transformación es el módulo o tarjeta de Adquisición de Datos (DAQ). La adquisición de datos se inicia con el fenómeno físico o la propiedad física de un objeto (objeto de la investigación) que se desea medir. Esta propiedad física o fenómeno podría ser el cambio de temperatura o la temperatura de una habitación, la intensidad o intensidad del cambio de una fuente de luz, la presión dentro de una cámara, la fuerza aplicada a un objeto, o muchas otras cosas. Un eficaz sistema de adquisición de datos puede medir todas estas diferentes propiedades o fenómenos. Un transductor es un dispositivo que convierte una propiedad física o fenómeno en una señal eléctrica correspondiente medible, tal como tensión, corriente, el cambio en los valores de resistencia o condensador, etc. La capacidad de un sistema de adquisición de datos para medir los distintos fenómenos depende de los transductores para convertir las señales de los fenómenos físicos mensurables en la adquisición de datos por hardware. Transductores son sinónimo de sensores en sistemas de DAQ. Hay transductores específicos para diferentes aplicaciones, como la medición de la temperatura, la presión, o flujo de fluidos. DAQ también despliega diversas técnicas de acondicionamiento de Señales para modificar adecuadamente diferentes señales eléctricas en tensión, que luego pueden ser digitalizados usando CED. Las señales pueden ser digitales (también llamada señales de la lógica) o analógicas en función del transductor utilizado. El acondicionamiento de señales suele ser necesario si la señal desde el transductor no es adecuado para la DAQ hardware que se utiliza. La señal puede ser amplificada o desamplificada, o puede requerir de filtrado, o un cierre patronal, en el amplificador se incluye para realizar demodulación. Varios otros ejemplos de acondicionamiento de señales podría ser el puente de conclusión, la prestación actual de tensión o excitación al sensor, el aislamiento, linealización, etc. Este pretratamiento del señal normalmente lo realiza un pequeño módulo acoplado al transductor. A veces el sistema de adquisición es parte de un sistema de control, y por tanto la información recibida se procesa para obtener una serie de señales de control. En este diagrama (figura 1) podemos ver los bloques que componen nuestro sistema de adquisición de datos. El transductor es un elemento que convierte la magnitud física que vamos a medir en una señal de salida (normalmente tensión o corriente) que puede ser procesada por nuestro sistema. Salvo que la señal de entrada sea

eléctrica, podemos decir que el transductor es un elemento que convierte energía de un tipo en otro. Por tanto, el transductor debe tomar poca energía del sistema bajo observación, para no alterar la medida.

Figura 1: Sistema de adquisición de datos.

El acondicionamiento de señal es la etapa encargada de filtrar y adaptar la señal proveniente del transductor a la entrada del convertidor analógico / digital. Esta adaptación suele ser doble y se encarga de: Adaptar el rango de salida del transductor al rango de entrada del convertidor.(Normalmente en tensión), acoplar la impedancia de salida de uno con la impedancia de entrada del otro. La adaptación entre los rangos de salida del convertidor y el de entrada del convertidor tiene como objetivo el aprovechar el margen dinámico del convertidor, de modo que la máxima señal de entrada debe coincidir con la máxima que el convertidor (pero no con la máxima tensión admisible, ya que para ésta entran en funcionamiento las redes de protección que el convertidor lleva integrada). Por otro lado, la adaptación de impedancias es imprescindible ya que los transductores presentan una salida de alta impedancia, que normalmente no puede excitar la entrada de un convertidor, cuya impedancia típica suele estar entre 1 y 10 k. El convertidor analógico/digital es un sistema que presenta en su salida una señal digital a partir de una señal analógica de entrada, (normalmente de tensión) realizando las funciones de cuantificación y codificación. La cuantificación implica la división del rango continuo de entrada en una serie de pasos, de modo que para infinitos valores de la entrada la salida sólo puede presentar una serie determinada de valores. Por tanto la cuantificación implica una pérdida de información que no podemos olvidar. La codificación es el paso por el cual la señal digital se ofrece según un determinado código binario, de modo que las etapas posteriores al convertidor puedan leer estos datos adecuadamente. Este paso hay que tenerlo siempre en cuenta, ya que puede hacer que obtengamos datos erróneos, sobre todo cuando el sistema admite señales positivas y negativas con respecto a masa, momento en el cual la salida binaria del convertidor nos da tanto la magnitud como el signo de la tensión que ha sido medida. La etapa de salida es el conjunto de elementos que permiten conectar el s.a.d con el resto del equipo, y puede ser desde una serie de buffers digitales incluidos en el circuito convertidor, hasta un interfaz RS-232, RS-485 o Ethernet para conectar a un ordenador o estación de trabajo, en el caso de sistemas de adquisición de datos comerciales INVESTIGACION PREVIA

1. Elabore un diagrama interno de un convertidor analógico digital y explique su funcionamiento (puede tomar el convertidor de tipo Rampa, Sample & Hold, o cualquier otro.

2. Explique para que sirven los voltajes de referencia dentro del circuito integrado, y su iteración con los voltajes de alimentación máximos y mínimos.

3. ¿Qué representa la resolución en un sistema? ¿Cómo se calcula? ¿En que parte del sistema debe ser considerada?

4. Investigue la hoja de especificaciones del ADC0804 y explique cada uno de sus entradas y salidas.

MATERIAL Y EQUIPO

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 4 Cables Banana-Caimán 1 BNC-Caimán

Componentes 1 ADC0804. (8) Resistencias de 330 ohm (8) Leds Capacitores Otros

DESARROLLO

1. En la figura 2, se muestra la forma de conexión de un convertidor analógico-digital en forma de TTL Tester. a. ¿Qué ventajas tiene esta forma de conexión? b. ¿Cuál es el rango de operación? c. ¿Cómo puedo hacer para que la resolución de mi sistema cambie a 10mV/paso?

2. En la figura 3, se muestra el esquema con el cual, un microcontrolador puede indicarle al ADC el momento en el que desea la conversión.

a. ¿Cómo funciona esto? b. Explique el diagrama de sincronizacion detalladamente. c. Describa entonces para que sirven las patas INTR, RD, CS.

3. Elabore un modulo con el ADC soldado, donde a través de Headers, podamos manipular las entradas CS, INTR, RD, Vin(+), Vin(-), Valim(+), Valim(-) y Vref conectado a un potenciómetro de 10k para poder manipular la resolución.

Figura 2: ADC en configuración TTl Tester. Figura 3: Configuración para controlador.

Práctica No. 5 Elaboración de un Sistema Mínimo.

OBJETIVOS:

Al término de esta práctica el alumno podrá entender el funcionamiento principal del microcontrolador MCS51 y sus características, así como integrar un sistema mínimo para realizar sus prácticas en un futuro.

INTRODUCCION: Un microcontrolador es un circuito integrado o chip que incluye en su interior las tres unidades funcionales de una computadora: CPU, Memoria y Unidades de E/S. Son diseñados para disminuir el costo económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit y de uno o más Códec de señal digital (audio y/o vídeo). El control de un sistema de frenos ABS (Antilock Brake System) se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor en un automóvil.

Figura 1: Diagrama a bloques de un microcontrolador.

Los microcontroladores representan la inmensa mayoría de los chips de computadoras vendidos, sobre un 50% son controladores "simples" y el restante corresponde a DSPs más especializados. Mientras se pueden tener uno o dos microprocesadores de propósito general en casa (vd. está usando uno para esto), usted tiene distribuidos seguramente entre los electrodomésticos de su hogar una o dos docenas de microcontroladores. Pueden encontrarse en casi cualquier dispositivo electrónico como automóviles, lavadoras, hornos microondas, teléfonos, etc.

Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. La idea es que el chip se coloque en el dispositivo, enganchado a la fuente de energía y de información que necesite, y eso es todo. Un microprocesador tradicional no le permitirá hacer esto, ya que espera que todas estas tareas sean manejadas por otros chips. Hay que agregarle los módulos de entrada/salida (puertos) y la memoria para almacenamiento de información. Por ejemplo, un microcontrolador típico tendrá un generador de reloj integrado y una pequeña cantidad de memoria RAM y ROM/EPROM/EEPROM/FLASH, significando que para hacerlo funcionar, todo lo que se necesita son unos pocos programas de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada/salida, como convertidores de analógico a digital, temporizadores, UARTs y buses de interfaz serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación integrado, como el BASIC que se utiliza bastante con este propósito. Los microcontroladores negocian la velocidad y la flexibilidad para facilitar su uso. Debido a que se utiliza bastante sitio en el chip para incluir funcionalidad, como los dispositivos de entrada/salida o la memoria que incluye el microcontrolador, se ha de prescindir de cualquier otra circuitería. En esta figura, vemos al microcontrolador metido dentro de un encapsulado de circuito integrado, con su procesador (CPU), buses, memoria, periféricos y puertos de entrada salida. Fuera del encapsulado se ubican otros circuitos para completar periféricos internos y dispositivos que pueden conectarse a los pines de entrada/salida. También se conectarán a los pines del encapsulado la alimentación, masa, circuito de completamiento del oscilador y otros circuitos necesarios para que el microcontrolador pueda trabajar. Antes de que nos introduzcamos en el complicado mundo de la simulación y creación de programas para el microcontrolador, es importante analizar cada uno de sus componentes y entender de forma general los procesos básicos de este circuito y la forma correcta de conectarlo. Por principio de cuentas, es importante determinar un circuito de reinicio que logre tener la estabilidad requerida para que los procesos internos puedan ejecutarse. La segunda condición importante es activar la memoria interna del circuito para que el programa guardado dentro pueda iniciar su ejecución. El cristal de oscilación cobra vital importancia cuando hacemos referencia a la velocidad en la cual se comportara el circuito, es determinante que el cristal funcione de forma correcta, o el microcontrolador no iniciara los procesos grabados en su interior. Por ultimo, pero no menos importante, necesitamos tener la certeza de que el circuito ha sido alimentado correctamente (una alimentación inversa provocara que el circuito se queme). . INVESTIGACION PREVIA:

1. Investigue diversas formas de conectar el PUSH BOTTON sin tener rebotes en forma PULL UP. 2. ¿Para que sirve la pata ALE/PROG? ¿Qué obtenemos a la salida? 3. ¿Qué se obtiene en la pata PSEN cuando se conecta el reloj y el micro? 4. Explique la función principal de EA/VPP y que debe de conectarse ahí para el correcto funcionamiento. 5. Describa las funciones de las patas restantes del microcontrolador.

MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Osciloscopio 1 Punta de Osciloscopio 2 Cables Banana-Caimán Par de pinzas Programador Universal Multímetro

Componentes 1 AT89S51 1 Resistencias de 1K ohm 1 Cristal de 11.059MHz 2 Capacitores de 33pF 1 Capacitor de 100pF 1 Push Botton NA 1 BD9 Hembra para proto 1 MAX 232 4 Capacitores 1uF

DESARROLLO:

1. En una tablilla, solde un sistema mínimo con las siguientes características: 1. Un reloj del sistema como se muestra en la Figura 2 2. Un sistema de reseteo como se muestra en la Figura 3, acondicionando la señal de EA a voltaje

(recuerde que de otra forma, el circuito funcionara como un microprocesador en lugar de microcontrolador).

Figura 2: Conexión del cristal. Figura 3: Conexión del reset.

3. Por ultimo, conecte las salidas RxD y TxD al max232 para poder tener una comunicación serial.

Figura 4: Conexión del puerto serial.

NOTA: Considera que el pataje del circuito es el siguiente (figura 5) no olvide conectar Headers en todos los puertos para poder facilitar el uso del sistema mínimo con los módulos anteriormente realizados.

FIGURA 5: Patigrama del microcontrolador AT89C51.

Práctica No. 6 Introducción a Proview

OBJETIVOS:

Al término de esta práctica el alumno será capaz de detectar errores más comunes cuando se ensambla un programa, conocerá el ambiente de trabajo y los comandos más comunes en un Debbugger para microcontroladores.

INTRODUCCION: Existen en el mercado una gran variedad de programas para la simulación y emulación de diferentes dispositivos electrónicos que varían en precio y prestaciones, en el caso de los microcontroladores hay programas como “Proview” que además nos permite ensamblar y generar programas en lenguaje “C”. El simulador es una herramienta muy útil para los diseñadores ya que este permite analizar posibles fallas en la estructura de programas que no se podrían ver en la operación normal del microcontrolador. El software que se utilizará en el laboratorio para ensamblar y simular el código con el que se programará al microcontrolador es el Franklin Proview – 32. Este software incluye una interfase grafica con un editor multifuncional y un administrador de proyectos que facilitan el ensamblaje del código y la depuración. El uso del programa es muy sencillo ya que sus comandos se pueden acceder fácilmente mediante menús de tipo pull-down. Los menús que existen son: File, Edit, Search, Tool, View, Debug, Options, Windows y Help. Éstos se pueden acceder fácilmente mediante el uso del ratón o el teclado de la computadora. En el simulador se puede ver el contenido de los registros de control, la memoria RAM y se puede simular la entrada y salida de datos, además permite modificar en tiempo simulación los datos contenidos en la memoria del microcontrolador. INVESTIGACION PREVIA:

1. ¿Cuál es la forma de instalar el PROVIEW? 2. Investigue diversas formas de conectar el PUSH BOTTON sin tener rebotes. 3. ¿Para que sirve la pata ALE/PROG? 4. ¿Qué se obtiene en la pata PSEN cuando se conecta el reloj y el micro? 5. Explique la función principal de EA/VPP y que debe de conectarse ahí para el correcto funcionamiento. 6. ¿Cómo debe de simularse un programa en pasos? 7. ¿Es importante el debuggeo? Explique. 8. ¿Por qué es necesario usar un simulador en lugar de conectar directamente el microcontrolador y

programarlo?

MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Osciloscopio 1 Punta de Osciloscopio

Componentes 1 AT89C51 1 Resistencias de 100 ohms 1 Resistencias de 1K ohm

2 Cables Banana-Caimán Par de pinzas Programador Universal Multímetro

1 Cristal de 6MHz 2 Capacitores de 33pF 1 Capacitor de 100pF 1 Push Botton NA

DESARROLLO:

1. Inicia el programa Proview32, genera un nuevo programa en la opción File => New =>Assembler Files 2. En el cuadro de texto escribe el siguiente programa:

reset: Otra: espera: Abc: End.

CSEG ORG 0000h JMP reset ORG 0030h Mov A, #01h Mov P1, A Rl A Acall espera Jmp Otra Mov R0, #0FFh Mov R1, #0FFh Djnz R0, Abc Mov R0, #0FFh Djnz R1, Abc Ret

FIGURA 1: Diseño de programa para encender un conjunto de leds.

3. Una vez que tengas el programa, guárdalo con el nombre de practica5, en el menú File => Save as. Este programa por omisión lo salva con extensión .ASM, todos los programas realizados en lenguaje ensamblador llevan esta extensión.

FIGURA 2: Pantalla del compilador. 4. Ensambla el programa, en el menú: Projec=>Translate

Si el programa no tiene ningún error aparecerá una pantalla de la figura 2. Si en el cuadro “Message” aparece algún mensaje de error con varias líneas, presiona en la línea de error dos veces el botón izquierdo del mouse y el programa activara la ventana de texto y te señalara la línea que contiene el error con las letras en rojo y un sombreado gris. Repite el paso 4 hasta que el programa no tenga ningún error.

5. Si no tienes errores, deberás obtener un archivo .LST con tu programa comentado, junto con su presentación en código de máquina, y además un archivo .HEX que podrás utilizar como entrada para el simulador y el programador universal.

6. Una vez que hayas compilado el programa, simúlalo con el programa Proview. Para carga el archivo .HEX en el menú Debug->Start. Te debe aparecer una pantalla como la de la figura 3.

FIGURA 3: Menú de opciones del compilador cuando simula.

NOTA: Los diferentes comandos de este programa se verán en la sesión de laboratorio.

7. Arma el sistema mínimo similar al de la practica No. 4 y prueba el programa que acabas de crear. 8. Ahora, reconstruye el programa para que corra hacia el otro lado. Compruébalo con una simulación y bájalo

al microcontrolador.

Práctica No. 7 Programación Básica del 8051.

OBJETIVOS:

Los alumnos podrán explicar la manera en que funciona un display de siete segmentos de ánodo común y de cátodo común en forma paralela.

Los alumnos simularán su propio programa usando el programa PROVIEW 32 y Proteus. INTRODUCCION: Un display de siete segmentos sirve para desplegar un dígito decimal o en algunos casos hexadecimal. Está compuesto por 7 diodos emisores de luz (LED) que, al conducir una corriente eléctrica, emiten luz. En la Figura 1 se muestra uno de estos dispositivos y la manera en que se escriben los dígitos decimales.

FIGURA 1: Display de 7 segmentos y representación de números decimales

Se dice que el display es de cátodo común si los diodos emisores de luz están unidos por el cátodo. Esta unión se conecta a tierra. Si se desea iluminar cualquiera de los segmentos, es necesario conectar la terminal correspondiente a VCC a través de una resistencia de 330 Ù para limitar la corriente que pasa por el mismo. Si el display es de ánodo común, los diodos emisores de luz están unidos por el ánodo. Esta unión se conecta a VCC. Si se desea iluminar cualquiera de los segmentos es necesario conectar la terminal correspondiente a tierra a través de una resistencia de 330 Ù para limitar la corriente que pase por el mismo. Para poder mostrar un número BCD en el display de 7 segmentos se debe utilizar un decodificador que mande a cada segmento la señal de voltaje (1 lógico) o tierra (o lógico) que en su conjunto formará el número deseado. La Figura 2 muestra un ejemplo del funcionamiento de este decodificador. Afortunadamente, nosotros podemos suplir también el no introducir ningún decodificador BCD proponiendo de forma directa los leds que deben encenderse en cada ocasión. Utilizar un decodificador como éste es muy útil cuando se dispone de las 4 señales A, B, C y D. Sin embargo, se requiere de un circuito adicional si se desean añadir varios displays para representar números de dos o más dígitos. Se puede emplear el 8051 para realizar las mismas funciones del decodificador conectando al puerto 1 los 7 segmentos del display y mandando al puerto la combinación apropiada que desplegará un dígito decimal en un instante determinado. Así, si se deseara por ejemplo mostrar una cuenta ascendente de segundos (de 0 a 9 segundos) se tendría que mandar al puerto 1 el dato apropiado y mantenerlo ahí por 1 segundo para posteriormente colocar el siguiente dato en el puerto y así sucesivamente.

FIGURA 2. Decodificador de BCD a 7 segmentos

La ventaja de utilizar un microcontrolador para realizar esta función es más perceptible al requerir más de un dígito. Para lograr esto, se debe hacer un “barrido” de los displays. Esto es, se manda un dato por el puerto 1 que corresponderá a lo que debe desplegarse en el dígito menos significativo. Para habilitar este Display, se manda un “1” al pin común del Display si se trata de ánodo común o un “0” si se trata de cátodo común. Inmediatamente se cambia el dato en el puerto 1 (en caso de ser necesario) al mismo tiempo que se deshabilita el Display menos significativo y se habilita el más significativo. Posteriormente se reinicia el proceso ahora deshabilitando el más significativo y habilitando el menos significativo, colocando al mismo tiempo en el puerto 1 el dato adecuado. Cabe mencionar que para poder hacer esto, cada pin común de los displays debe conectarse a un bit de un puerto disponible (pines diferentes). Ahora bien, la forma en la cual se resolverá el problema (llamado paralelismo) propone que nosotros no utilicemos componentes externos (tales como el decodificador) y conectemos cualquier cantidad de displays en paralelo a través de un solo puerto. INVESTIGACION PREVIA:

1. Investigue las especificaciones técnicas de los displays a siete segmentos considerando el tiempo de respuesta del circuito, intensidad de corriente necesaria y voltaje de alimentación mínimo.

2. ¿Cuáles son las diferencias significativas entre un display de ánodo común contra uno de cátodo? Explique su respuesta en cuanto a voltaje y corriente.

3. ¿De que forma se verifican los bits dentro de un puerto? 4. Diseñe un programa que tome los datos del puerto y nos ayude a determinar a través de un bit si el conteo

debe de comenzar o no, si reinicia o se detiene, y si es ascendente o descendente según el pin de entrada como se muestra en la siguiente tabla. Recuerde que el conteo debe de ir de 0 a 99 con un tiempo de espera razonable para que pueda verse.

Pin de entrada Proceso Px.0 On/Off Px.1 Hold/Reset Px.2 Ascendente/Descendente

Tabla 1: Códigos necesarios.

5. Indique las tablas de códigos hexadecimales que utilizará en el programa y recuerde que el conteo es decimal.

6. Simule el anterior programa en Proview y en Proteus. MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 1 Osciloscopio 4 Cables Banana-Caimán 1 BNC-Caimán 1 Punta de prueba para el osciloscopio

Componentes 1 Microcontrolador AT89C51 1 Cristal de 12MHz 2 Capacitores de 33pF 1 Push Botton NA Resistencias varias 1 Diodo 4148 1 Switch de 4 interruptores 2 Displays a siete segmentos

DESARROLLO:

1. Conecten los pines de los dos displays de 7 segmentos al puerto 1 y 3 como se muestra en la Tabla 1. Esta es la actividad previa de la práctica.

2. Conecten un dip-switch de 4 polos al nibble bajo del Puerto 2. No olviden conectar las resistencias de “pull-up”.

3. Genere el programa del inciso 4 de la investigación previa e impleméntelo usando también la Tabla 3

TABLA 2: Conexiones de los displays con el 8051

4. Verifiquen que se despliegan correctamente los números para cualquier combinación de entrada.

NOTA: En la tabla previa, donde dice ‘ánodo’ en realidad hay que tomar en cuenta que es ‘común’, dado que aun no sabemos si el display que utilizara es ánodo o cátodo común.

Práctica No. 8 Adquisición de Datos (Sismógrafo).

OBJETIVOS:

Al término de esta práctica el alumno estará capacitado para procesar señales analógicas en un sistema digital, conocerá la forma de trabajar con convertidores analógicos-digitales y podrá realizar algoritmos sencillos de conversión.

INTRODUCCION: La mayoría de las señales de interés práctico, señales de voz, biológicas, sísmicas, radar, sonar y de distintos tipos de comunicación, como las señales de audio y vídeo, son analógicas. Para procesar señales analógicas por medios digitales es necesario convertirlas a formato digital, esto es, transformarlas en una secuencia de números de precisión finita. Este procedimiento se denomina conversión analógico-digital (A/D) y los dispositivos correspondientes conversores ADC. Conceptualmente el proceso de conversión A/D se puede ver como un proceso de cuatro pasos: muestreo, retención, cuantificación y codificación. La conversión consiste en tomar una muestra discreta de la señal analógica [x(n)], retenerla un tiempo suficiente para que se pueda realizar el proceso de conversión, luego se pasa por un sistema no lineal(cuantificador) cuyo propósito es transformar la muestra x[n] en un valor de conjunto finito de valores preestablecidos Q(x[n]) y por último se etiquetan este conjunto de números utilizando por lo general un código binario que permite realizar operaciones aritméticas utilizando palabras de código como representaciones escaladas de las muestras cuantificadas(forma binaria ponderada). El procesamiento digital ofrece ventajas distintas cuando se compara con el procesamiento analógico. En general los circuitos digitales son más estables y predecibles. No requieren ajustes ni sintonización durante el proceso de producción o al trabajar en línea, además de que su tamaño es mucho menor a su contraparte analógica. INVESTIGACION PREVIA:

1. En una practica anterior, usted vio el funcionamiento general de un convertidor analógico digital y creo un modulo, que ahora se reutilizara. Tiene la opción de usarlo como TTL Tester o como controlado por el microcontrolador, de acuerdo a la configuración que utilizo anteriormente. Por tanto, simplemente desarrolle el siguiente programa.

Para poder asignar un valor a la magnitud de un temblor, en los años 30, el Dr. Charles Richter desarrolló una escala de magnitud para terremotos. Esta magnitud representa la energía sísmica liberada en cada terremoto y se basa en el registro sismográfico. La escala de Richter no crece de manera lineal, sino más bien exponencial, por lo que un aumento de un punto en la escala puede representar un aumento de 100 veces en la energía liberada. A continuación se muestra la escala de Richter (tabla 1):

Magnitud en Escala Richter Efectos del terremoto 0 a 3.5 Generalmente no se siente

3.6 a 5.4 A menudo se siente, sólo causa daños menores 5.5 a 6.0 Ocasiona daños ligeros a edificios 6.1 a 6.9 Puede ocasionar daños severos en áreas muy pobladas 7.0 a 7.9 Terremoto mayor. Causa graves daños

8.0 a 12.0 Gran Terremoto. Destrucción total a comunidades cercanas Tabla 1: Escala de Richter.

Por lo tanto, dentro de la tabla de magnitudes de la Escala Richter, es necesario indicar una alarma, dependiendo de la gravedad de la situación, para lo cual utilizaremos la tabla 2.

Magnitud en Escala Richter Alarma 0 a 3.5 F (falsa alarma)

3.6 a 5.4 B (la situación es controlable) 5.5 a 6.0 D (daños ligeros) 6.1 a 6.9 C (crisis pequeña) 7.0 a 7.9 E (evacuación forzosa) 8.0 a 9.9 A (Apocalipsis)

Tabla 2: Situación de alarma. El Centro de Información Nacional de Terremotos (NEIC – National Earthquake Information Center), cuya labor es detectar el origen y tamaño de los terremotos, ha decidido contratar a un equipo de IME/IMD del Tecnológico de Monterrey, para poder implementar un sistema que le permita medir la intensidad de un terremoto, así como activar la alarma correspondiente. Diseñe un sistema que cumpla con las siguientes condiciones:

Convertidor Analógico a Digital: mediante este dispositivo, se podrá manejar la señal de un sismógrafo (que en este caso será simulada con un potenciómetro de 10 kohms) y convertirla a formato digital para su manipulación.

Microcontrolador: El cual se encargara de procesar la información necesaria para saber la magnitud y gravedad de la situación; es decir, nos dirá en que grado se encuentra el terremoto en la escala de Richter y la situación de alarma que tendremos.

MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 1 Osciloscopio 4 Cables Banana-Caimán 1 BNC-Caimán 1 Punta de prueba para el osciloscopio

Componentes 1 sistemas mínimo 1 ADC0804 2 Displays a siete segmentos Transistores de amplificación Potenciómetros varios.

DESARROLLO:

1. Con los módulos que ya tiene hechos, pre-arme el siguiente sistema utilizando cable plano o similar. Arma un circuito el circuito mostrado en la figura 1.

2. Calcula el valor del voltaje de referencia (Vref/2) y ajusta el valor de la resistencia R5 para que la resolución el ADC sea la adecuada.

3. Mide el voltaje entregado por el potenciómetro a la entrada, que simule ser el sensor de movimiento con el multímetro, en Excel crea una tabla de correspondencia y verifica que este bien calibrado con lo que te esta proporcionando a la salida.

4. Presenta en tu circuito de exhibición las mediciones que han sido tomadas:

a) Diseña una rutina de decodificado.- El convertidor A/D compara la entrada analógica a un voltaje de referencia fijo, y a continuación proporciona una salida binaria igual a:

Donde N es un entero igual al número de bits en la palabra de salida binaria.

b) Diseña una rutina para manejar el despliegue y muestreo del convertidor A/D c) Integra las dos rutinas del inciso a y b de tal forma que se despliegue la temperatura ambiente

de manera continua en las pantallas de 7 segmentos. d) Recuerde que el programa debe ser capaz de desplegar el rango completo de la tabla 1, lo cual

incluye que puede desplegar hasta aquellas que serian mortales en una situación real. e) Conecte un motor y cuando la situación este en crisis pequeña, prenda hacia la derecha, así

como prendera hacia la izquierda cuando nos encontremos en daños ligeros, mientras esto no ocurra, el motor se encontrara parado.

Figura 1: Sistema Mínimo de adquisición de datos.

Práctica No. 9 Display LCD

OBJETIVOS:

Al término de esta práctica el alumno conocerá la forma de integrar periféricos externos para el intercambio visual de información entre el usuario y el hardware.

INTRODUCCION: Es posible clasificar las pantallas de cristal líquido (LCD) en dos tipos: básicos e inteligentes. Los LCD básicos necesitan que se generen señales analógicas apropiadas para encenderlos y de rutinas de refrescamiento, aunque es posible hacerlo con un microcontrolador, se requiere demasiado tiempo de procesamiento y un programa algo extenso. Todos los LCD alfa -numéricos inteligentes cuentan con un procesador y una memoria integrados los cuales se encargan de manejar los aspectos analógicos del display permitiendo un uso mas eficiente de estos, lo cual reduce la complejidad de los programas contenidos en los dispositivos de hardware que los controlan ya que su procesador interno cuenta con una serie de instrucciones ya programadas las cuales permiten presentar datos en la pantalla sin rutinas de refrescamiento o de direccionamiento. La mayor parte de los LCD inteligentes utilizan el mismo circuito controlador, por lo que el protocolo de comunicación es el mismo sin importar el fabricante del display. La comunicación se realiza en forma paralela de 8bits o 4bits y algunos utilizan microwire (serie síncrono) para la comunicación. La complejidad de manejar un display de LCD esta en la rutina de inicialización la cual tiene ciertos comandos con tiempos específicos, una vez que el display es inicializado el manejo de este se reduce simplemente a enviar datos a través de un puerto. INVESTIGACION PREVIA:

1. Baje la hoja de especificaciones del display LCD con 16 caracteres por dos líneas que adquirió. 2. investigue la secuencia de instrucciones que deben de ser usadas para que un display LCD pueda

desplegar cualquier cantidad de datos en su pantalla. 3. ¿Para que sirve BUSY en el LCD? ¿Qué es mejor, utilizar la bandera BUSY o temporizadores? 4. Desarrolle un algoritmo que permita inicializar su display LCD. 5. ¿Una vez que el microcontrolador ha logrado desplegar un mensaje, este desaparece cuando se

reinicia el programa? MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple.

Componentes 1 Microcontrolador

1 Generador de Funciones. 1 Osciloscopio 4 Cables Banana-Caimán 1 BNC-Caimán 1 Punta de prueba para el osciloscopio 1 Cautín Soldadura

AT89C51 1 Cristal de 12MHz 2 Capacitores de 33pF 1 Push Botton NA Resistencias varias 1 LCD de 16 caracteres por dos líneas

DESARROLLO:

1. Desarrollar un programa que despliegue en la pantalla LCD el mensaje estático “YO ESTUDIO

EN EL ITESM CCM”. 2. Ahora modifique su programa para que el mismo letrero vaya rotando dentro del display.

Los comandos son los siguientes:

Figura 1. Pines del display LCD genérico.

Práctica No. 10 Control de Motores Parte 1

OBJETIVOS:

Al término de esta práctica el alumno comprenderá el principio de operación de los motores a pasos y será capaz de implementar aplicaciones donde se requiera del posicionamiento preciso de una pieza utilizando motores a pasos.

Al término de esta práctica el alumno será capaz de implementar aplicaciones con un microcontrolador donde se requiera generar señales de PWM.

INTRODUCCION: Señal PWM (Pulse-width modulation) señal de modulación por ancho de pulso.

Figura 1: Ciclo de un periodo.

Donde: - PW (Pulse Width) o ancho de pulso, representa al ancho (en tiempo) del pulso. - period/length (periodo), o ciclo , es el tiempo total que dura la señal. La frecuencia se define como la cantidad de pulsos (estado on/off)por segundo y su expresión matemática es la inversa del periodo, como muestra la siguiente ecuación.

El periodo es medido en segundos, de este modo la unidad en la cual se mide la frecuencia (hertz) es la inversa a la unidad de tiempo (segundos). Existe otro parámetro asociado o que define a la señal PWM, denominado "Duty cycle", el cual determina el porcentaje de tiempo que el pulso (o voltaje aplicado) esta en estado activo (on) durante un ciclo.

Por ejemplo, si una señal tiene un periodo de 10 ms y sus pulsos son de ancho (PW) 2ms, dicha señal tiene un duty cycle de 20% (20% on y 80% off). El siguiente grafico muestra tres señales PWM con diferentes "duty cycles". La señal PWM se utiliza como técnica para controlar circuitos analógicos. El periodo y la frecuencia del tren de pulsos pueden determinar la potencia entregada a dicho circuito. Si, por ejemplo, tenemos un voltaje de 9v y lo modulamos con un duty cycle del 10%, obtenemos 0.9V de señal analógica de salida. Las señales PWM son comúnmente usadas para el control de motores DC (si decrementos la frecuencia, la inercia del motor es mas pequeña y el motor se mueve más lentamente), ajustar la intensidad de brillo de un LED, etc. En Arduino la señal de salida PWM (pines 9,10) es una señal de frecuencia constante (30769 Hz) y que solo nos permite cambiar el "duty cycle" o el tiempo que el pulso esta activo (on) o inactivo (off). Otra forma de generar señales PWM es utilizando la capacidad del microprocesador. La señal de salida obtenida de un microprocesador es una señal digital de 0 voltios (LOW) y de 5 voltios (HIGH). INVESTIGACION PREVIA:

1. Utilizando los módulos que anteriormente crearon de motores de CD y el de sistema mínimo, realice las siguientes conexiones: conecte a través de un puerto las señales A y B que controlan el motor de CD, conecte también un dip-switch de 6 polos en forma pull-up y un display de siete segmentos a la salida de otro puerto.

2. Realice los cálculos para generar ciclos de trabajo 90-10, 80-20, 70-30, 60-40, 50-50, con los temporizadores.

3. Diseñe un programa que contenga 6 entradas, una para prender o apagar el motor, y los otros cinco para escoger el ciclo de trabajo que tendrá el motor (varia desde 90-10 a 50-50). Si existen dos push botons activados, que no realice ninguna función, solo cuando se encuentra uno y solo una de las velocidades se encuentre activada (es decir, si tenemos activado el ciclo de 80-20 y el de 50-50, que no realice ninguna actividad, hasta que cualquiera de los dos, sea puesto en cero). Adicionalmente, la velocidad seleccionada se mostrara en un Display de siete segmentos (colocando A para 90-10, B para 80-20, y así sucesivamente).

MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 1 Osciloscopio 4 Cables Banana-Caimán 1 BNC-Caimán 1 Punta de prueba para el osciloscopio

Componentes 1 sistema mínimo Resistencias varias 4 Transistores TIP41 4 Transistores TIP42 Capacitores varios

DESARROLLO:

1. Pruebe el sistema diseñado en la investigación previa simulado en Proteus. 2. Realice las pruebas necesarias en su sistema mínimo ya integrado y reporte sus resultados.

Práctica No. 10 Control de Motores Parte 2

OBJETIVOS:

Al término de esta practica, el alumno será capaz de manipular las interrupciones externas contenidas dentro del microcontrolador, aplicándolas a situaciones reales.

INTRODUCCION: Como es sabido el microcontrolador 8051 es el elemento a partir del cual se han desarrollado todos los miembros de la familia MCS-51 de INTEL, así como las de otros fabricantes. Respecto a las interrupciones ocurre exactamente lo mismo que en lo relativo a la gestión de memoria, es decir, el microcontrolador 8xC552 posee las mismas interrupciones que el elemento base de la familia, el 8051, más aquellas que son específicas de los periféricos que añade. La información relativa a las interrupciones se encuentra dispersa por los diversos manuales disponibles de modo que este documento trata de concentrar esta información y hacer un resumen de la misma para facilitar la comprensión por parte del estudiante. Sin embargo, no debe considerarse, en ningún caso, un elemento sustitutorio de los manuales de referencia ya que este documento es un resumen y no contiene una información tan amplia como los anteriores. Antes de describir las fuentes de interrupción y el modo en que se programan es necesario comentar el tipo de interrupciones que posee el microcontrolador y el modo en que estas se gestionan. Lo primero que hay que comentar es que las interrupciones son enmascarables. Esto quiere decir que cuando alguna de las fuentes de interrupción realiza una petición el proceso que se desencadena es el siguiente:

1. Se comprueba si la fuente de interrupción está habilitada y las interrupciones del microcontrolador permitidas.

2. Se finaliza la ejecución de la instrucción en curso. 3. Se almacena en la pila el contador de programa actual y se modifica el registro de habilitación de las

interrupciones (posteriormente se indicará en que sentido). 4. Se salta a una dirección fija de memoria que depende de la fuente de interrupción. 5. Al finalizar la rutina de interrupción se ejecuta la instrucción de retorno de interrupción (RETI) que

recupera el contador de programa y el valor del registro de habilitación de interrupciones. Por tanto, y si somos estrictos, no podemos hablar de interrupciones sectorizadas sino de interrupciones con dirección fija de salto. Sin embargo, si consultamos el manual, en numerosas ocasiones se habla de interrupciones vectorizadas. ¿A qué se debe esta discrepancia? La discrepancia se basa en que si miramos la dirección a la que salta cada una de las interrupciones observamos lo que se muestra en la siguiente figura. Lo que se puede apreciar de los vectores de interrupción que se vieron en clase teórica, es que si se produce la interrupción 1 se salta a la dirección 000Bh con lo que el microcontrolador comenzaría a ejecutar las instrucciones que se encuentran en esa dirección. Lo que ocurre es que las instrucciones de esta rutina estarían colocadas en direcciones crecientes por lo que “invadirían” las direcciones de la rutina de atención a la interrupción 2 (dirección

0013h), posteriormente las de la 3 (dirección 001Bh) y así sucesivamente. Esto de debe a que cada rutina “solo” tiene 8 direcciones para su programa. Esto es evidentemente insuficiente para la mayor parte de los casos por lo que hay que buscar una solución. Esta solución se basa en colocar en la dirección de salto una instrucción de salto incondicional a la dirección en la que realmente se encuentra la rutina de atención. Dicho de otro modo, si la rutina se encuentra en la dirección 1000h, en la dirección 000Bh habrá una instrucción de salto incondicional a la dirección 1000h. Este es el motivo por lo que se habla de interrupciones vectorizadas ya que es “como” si en la dirección de salto hubiera un vector de la “dirección real” de la rutina de atención. Desde el punto de vista funcional es igual que una interrupción vectorizada pero desde el punto de vista del programador no es exactamente igual puesto que debe de colocar en la dirección correspondiente la instrucción de salto a la dirección real. Afortunadamente, y como se mostrará más adelante, esta es una tarea que el compilador realiza automáticamente cuando se trabaja desde C, sin embargo, si la programación se realiza en ensamblador, sí debe incluirse esta instrucción de salto. INVESTIGACION PREVIA:

1. Utilizando los módulos que anteriormente crearon de motores a pasos y el de sistema mínimo, realice las siguientes conexiones: conecte a través de un puerto las señales CLK, CW/CCW, HALF/FULL que controlan el motor a pasos, conecte un LCD y sus señales de control en otro puerto, y tres push bottons de modo pull down en tres interrupciones (puede ser INT0, INT1 y T0, o cualquiera).

2. Diseñe un programa en donde por cada .vez que se ejecute una interrupción, dependiendo de cual es la que se produjo, realice las siguientes acciones:

a. INT0 – Prender o apagar el motor, indicando a través del display LCD si el motor se ha apagado o se ha prendido.

b. INT1 – Cambiar el sentido de la dirección, utilizando el LCD para decir si el motor esta girando a la derecha o a la izquierda.

c. T0 – Realizar secuencia de medio paso o paso completo, indicando también por medio del LCD si el paso es completo o medio paso.

NOTA. La sugerencia del diseño para la identificación de mensajes que se desplegaran dentro del cristal liquido seria colocar pequeñas banderas internas para identificar el tipo de mensaje.

MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 1 Osciloscopio 4 Cables Banana-Caimán 1 BNC-Caimán 1 Punta de prueba para el osciloscopio

Componentes 1 sistema mínimo Resistencias varias 4 Transistores TIP41 4 Transistores TIP42 Capacitores varios

DESARROLLO:

3. Pruebe el sistema diseñado en la investigación previa simulado en Proteus. 4. Realice las pruebas necesarias en su sistema mínimo ya integrado y reporte sus resultados.

Práctica No. 12 Comunicación Serial.

OBJETIVOS:

Al termino de esta práctica el alumno será capaz utilizar la capacidad del microcontrolador AT89C51 para llevar a cabo una comunicación serial asíncrona.

Comprenderá e implementara la parte eléctrica del Standard RS232 y podrá comunicar un circuito electrónico con una computadora PC.

INTRODUCCION: El microcontrolador AT89C51 cuenta con una sección conocida como UART (Universal Assyncronous Receiver and Transmitter - receptor y transmisor universal asíncrono), encargado de la comunicación serial. El UART del microcontrolador permite escribir un dato en un registro y este se encargará de agregar el bit de inicio y de paro, y de enviar uno a uno los bits por un pin. El programa puede continuar realizando otras funciones hasta que el UART avise por medio de una bandera ó interrupción. La recepción es similar, el UART detecta el inicio, captura los bits y después guarda el dato en un registro a la vez que activa una bandera o una interrupción para avisarte. Si dos dispositivos seriales completamente diferentes respetan las mismas reglas de comunicación y tienen las mismas características de señal serán fáciles de intercomunicar. Si se requiere comunicar dos circuitos digitales de tu fabricación, tienes la opción de utilizar cualquier modo de transmisión. Pero cuando uno de los dos circuitos fue fabricado por otra persona (por ejemplo, una impresora serial o una computadora), es necesario que te apegues al Standard “universal” que te asegura que podrás comunicarte, sin importar con qué. El standard RS232 especifica las características funcionales, eléctricas y mecánicas de una interfase serial punto a punto. Las características eléctricas de la interfase son las siguientes: para el estado MARK (1 lógico) se utiliza un nivel de voltaje entre -15 y -3V; para el estado SPACE (0 lógico) se utilizan entre 3 y 15V. El nivel entre -3 y 3 volts está indefinido. Como el microcontrolador trabaja con señales lógicas de 0 y 5V es necesario utilizar un transiver como el max232 para acoplar estos dos tipos de señales. Para la conexión con la PC se utiliza un conector DB9 (9 terminales) la asignación de las señales que utilizaremos se presenta en la siguiente tabla 1.

TABLA 1: Asignación de señales del conector DB9.

INVESTIGACION PREVIA:

1. Identifique todos los pines de la conexión serial. 2. Explique la forma en la cual se calculan los tiempos para generar la comunicación serial dependiendo del

cristal. 3. Describa la prioridad de las interrupciones y como podemos indicarlo. 4. Escriba como se desarrolla el proceso de comunicación serial para la recepción. 5. Describa como se desarrolla el proceso de comunicación serial para la transmisión.

MATERIAL Y EQUIPO:

Equipo: 1 Fuente de voltaje de CD triple. 1 Generador de Funciones. 1 Osciloscopio 4 Cables Banana-Caimán 1 BNC-Caimán 1 Punta de prueba para el osciloscopio

Componentes 1 sistema mínimo 1 cable serial – USB 1 computadora Laptop.

DESARROLLO:

Recepción serial

Realiza un programa para el microcontrolador AT89C51 que habilite la comunicación serial de modo que el microcontrolador sea capaz de recibir por la terminal Rx una trama de 8bits el código ASCII de un carácter y lo presente en una pantalla de LCD.

Observa con el osciloscopio las señales a la salida del microcontrolador (TXD) y después de cambiar el nivel a RS232.

Transmisión serial

Realiza un programa para el microcontrolador AT89C51 que habilite la comunicación serial de modo que el microcontrolador sea capaz de transmitir por la Terminal Tx una trama de 8 bits de código ASCII de un carácter que previamente puesto dentro de la memoria ROM. El programa transmitirá una letra del abecedario cada 5 segundo, y terminara de transmitir cuando llegue a la Z (considere que son 26 letras).

Proyecto Final Elección del estudiante.

REGLAS:

El alumno tendrá que entregar un preproyecto finalizado el segundo parcial. Una vez que elija lo que desarrollara como proyecto final, ya no podrá cambiarlo. La calificación del proyecto será de forma individual, aunque la elaboración del mismo es por equipos. La evaluación del proyecto contempla dos bases: el circuito funcionando y la documentación del mismo

(misma que deberá entregarse impresa a la hora de revisión) DOCUMENTACION:

Una vez que el proyecto físico se encuentra funcionando, se deberá entregar documentación que tenga al menos los siguientes puntos:

1. Objetivos generales del proyecto. 2. Descripción del proyecto. 3. Breve introducción teórica descriptiva de los elementos que se utilizaron en su elaboración (motores,

teclado, LCD, etc.). 4. Desarrollo general de la solución del problema (explique cada una de las siguientes partes exhaustivamente)

a. Diagrama general de la solución del problema a bloques. b. Diagrama de flujo o algoritmo de solución del programa. c. Código.

5. De la misma forma, se deben incluir TODOS los circuitos esquemáticos que se utilizaron en la elaboración del proyecto

6. Esquema del proyecto general incluyendo el microcontrolador. 7. Dentro del desarrollo se pueden describir los problemas que se enfrentaron en el trayecto y la forma en la

cual se dio solución a cada uno. 8. Conclusión.

FORMA DE ENTREGA: El alumno deberá entrega al final del curso un video de su proyecto funcionando junto con la documentación completa en una memoria FLASH para que pueda ser agrupada como memorias del curso.