Actividad 1 - Herramientas de Diseño - KICAD

Introducción
El objetivo de esta primer actividad es aprender a usar una herramienta de diseño de circuitos impresos electrónicos.


Desarrollo
Esta primer actividad se basa en la resolución de un caso que tiene por finalidad el diseño y fabricación de un circuito impreso. Se parte del esquemático de un circuito ya probado. La elección del caso se basa en su complejidad. Para servir como un proceso de aprendizaje de la herramienta, la cantidad máxima de componentes se ajusta a unos 25. Por otra parte la única restricción mecánica que posee el diseño del PCB es el tamaño del circuito impreso final. 

Caso elegido para ser resuelto este año:

Programador para microcontroladores PIC - PICKIT2 (clon) - Interfase USB

Esquemático:
Cliquear aquí para bajar en formato pdf.

El esquemático a ser realizado es una versión simplificada (de ahi el nombre de clon) de su original PICKIT2, comercializado a través de sus distribuidores por la firma Microchip. El manual y su circuito original se pueden obtener aqui o desde el mismo sitio de Microchip.

Temas desarrollados en clase
Se enseñan los lineamientos básicos que poseen en común todos los programas de diseño asistido para la realización de circuitos impresos electrónicos (PCB printed circuit board). EAGLE - ORCAD - PCBWizard - KICAD - ALTIUM. Se particulariza el uso del programa KICAD y se exponen los siguientes temas teóricos:


A) LA IDE o entorno integrado del programa. Sistema de archivos. Protecciones. Tipos de archivos.

B) El esquemático.
Su estética: elección de tamaño de hoja, centrado del esquema en la hoja, rótulo, ubicación de las etiquetas de los componentes, simplicidad y claridad en el conexionado, distribución del esquema en la hoja.
Su coherencia eléctrica: conexionado; nodos cables y buses; etiquetas de conexionado. Librerías para el esquemático. Generación de un nuevo componente para el esquemático y como se añade a la nueva librería. Herramientas visuales y herramientas eléctricas. Pines de componentes y sus diferentes clasificaciones. Generación de una librería del proyecto. Vinculación con la apariencia real del dispositivo (footprints landscapes, o modelos). Anotación manual y automática de cada componente. Reglas de chequeo eléctrico - Matriz (ERC). Directiva de bloqueo de regla. Reporte de errores su ubicación y solución. Generación automatizada de la lista de materiales. Listado de conexionado de los distintos componentes del circuito (netlist). Su interpretación y posterior uso. Impresión del esquemático.

C) El circuito impreso

Consideraciones eléctricas mecánicas y estéticas acerca de la ubicación de los componentes dentro en un espacio tridimensional limitado. Librerías de circuito impreso (footprints o modelos). Su vinculación con el esquemático dibujado a través del archivo que lista el conexionado de los componentes del circuito. Explicación de Pads, Vias y Tracks. Medidas mils y mm. Conveniencia en el uso de cada una de ellas. Grillas y ajuste del puntero del mouse. Capas o layers. Capa de ruteo de una sola cara Bottom layer y para ruteo de dos caras Top layer. La capa Silkscreen Front ó Top overlay como dibujo mecánico del componente. La capa del contorno de placa como delimitadora de las medidas mecánicas de la placa. La capa usada para pads y vias. Medida de agujeros en pads y vias y su relación con el área de cobre. Ruteo manual y auto ruteo. Sus reglas (Medidas, capas, topologías). Leyendas o Strings. Ubicación de las mismas. Señalizaciones en la capa Silkscreen Front ó TopOverlay de entradas-salidas importantes. Configuración del plano de tierra (polygon plane o zone). Impresión del PCB: Orden de las capas. Espejados. Impresión en impresora virtual PDF para su portabilidad. Ajustes de impresión Zoom. Impresión lado cobre (una cara) lado componentes. Consejos.

D) Fabricación del circuito impreso

Normas de seguridad. Reseña de pasos a seguir para la fabricación de un PCB: limpieza del pcb - Impresión en láser del diseño en hoja especial (tipo de hojas) - Transferencia al cobre (Temperaturas usadas) - Ataque con ácido - Mecanizado (perforado y corte) - Protección del cobre con barniz protector. Señalización del lado componentes (Silkscreen Front).

Actividades que realizan los alumnos
 

- Diseñan un circuito impreso.
- Fabrican el circuito impreso diseñado por ellos mismos.
- Arman el circuito con los componentes adecuados.

- Ensamblan el conjunto en una caja plástica.
- Prueban y ponen en funcionamiento el construido.  
- Redactan un informe con todos los pasos realizados para llegar al construido y lo publican en el blog del grupo adjuntando fotografias y videos.



Plazos estimados 
Dos semanas completas para la enseñanza y el diseño de las placas, incluyendo el informe de lo realizado en el blog. Dos semanas para la fabricación y armado de la placa.

Materiales e insumos necesarios
- PC - Sistema Operativo Windows con conectividad a Internet.
- Programa KICAD.
- Componentes electrónicos.
- Placa de cobre FR4 (epoxi) simple faz (1,6mm de espesor 35um de cobre) o en su defecto placa de cobre FR2 (resina fenólica) simple faz.
- Impresora Láser.
- Máquina fotográfica digital con posibilidad de grabar video.
- Pendrive de 1GB.
- Hojas para imprimir el diseño: Papel fotográfico tipo glossy de 150 gr brillante para impresora a tinta.

- Regla y escuadra.
- Calibre.
- Papel de diario y hojas blancas A4 75 gr.- Marcadores negros indelebles de punta fina (.3mm) para retoque de la transferencia del tóner a la placa.
- Tijeras.
- Plancha.
- Rollo de cinta de enmascarar (papel) de 15 mm de espesor (aprox.) para cubrir los bordes de la placa.
- Cloruro Férrico.
- Batea de vidrio o plástico para realizar el ataque del cobre con el cloruro férrico.
- Agua limpia en una batea para limpieza del PCB.
- Elementos de limpieza del PCB - lana fina de acero - polvo limpiador (tipo Puloil - ODEX) - Alcohol.
- Elementos de seguridad básicos: Anteojos de protección  Guantes de látex.
- Agujereadora de banco.
- Mechas (0,8mm - 1 mm - 1,2mm - 1,5 mm - 1,75mm - 2 mm y 3.25mm).

- Tela esmeril de grano medio y lima plana para acabado de bordes de la placa.
- Barniz protector (Contacflux http://www.edelta.com.ar).
- Torno manual (tipo Dremel) para desbaste, corte y perforado, con sus accesorios.

- Soldador tipo lápiz de 30/40W.
- Rollo de estaño de Sn/Pb 60/40 de 0,5 ó 0,8 mm de diámetro.
- Disponibilidad de un espacio para el desarrollo de estas operaciones (Taller y aula de proyectos).

Actividad 2 - Mediciones con captura de datos usando el osciloscopio.

Introducción
En la actualidad el osciloscopio sigue siendo la herramienta privilegiada en un laboratorio para medir señales de todo tipo. Su función  principal es la medición de la diferencia de potencial entre dos nodos de un circuito pero a diferencia del multímetro no lo hace de manera estática sino que nos muestra cómo esa magnitud va cambiando o no en el tiempo a través de una pantalla. Asimismo el osciloscopio digital tiene la posibilidad de capturar eventos, guardarlos en memoria y mostrarlos en su display como si fuese una fotografía. Estos eventos que a veces se manifiestan de manera asincrónica eran, hasta hace poco, difíciles de analizar con tanta precisión como la que hoy día contamos. Por ello resulta indispensable que el técnico sepa usar esta invalorable herramienta.
El objetivo de esta actividad será entonces conocer las distintas posibilidades que nos brinda el osciloscopio como instrumento de medición y captura de datos.

Conocimientos previos para la correcta resolución de la actividad
Si bien el objetivo al que apunta esta actividad se basa en el uso del osciloscopio como herramienta de medición, para la resolución de estos casos se requerirá un mínimo conocimientos acerca de:
Transmisión de datos serie. Protocolo serie RS-232. Conector DB9. Configuración del programa Hyperterminal para la generación de señales serie por el puerto RS-232. Protocolo RC5 y SIRC. Uso de un fototransistor como elemento detector de señales infrarrojas. Circuitos integrados que demodulan la señal emitida por infrarrojos.   

Desarrollo
Esta actividad se basa en la resolución de dos casos.

Primer caso:
El puerto serie RS232 ha sido y hasta el día de hoy sigue siendo una forma de comunicación sumamente utilizada en numerosos dispositivos electrónicos. Actualmente esta interfaz va siendo reemplazada por la conexión USB, pero la complejidad de esta última nos fuerza a estudiarla y analizarla en otra oportunidad. 
Una manera cómoda y sencilla de ingresarle datos desde sensores externos a una PC es a través de este puerto de comunicaciones.
Se necesita entonces poder registrar y almacenar la señal generada por el puerto serie RS232 (terminal TX) de la PC, para realizar a posteriori un análisis de la trama que genera.
Consultar más información en: http://es.wikipedia.org/wiki/RS-232

Pasos básicos a seguir:
1) Armar el cable con el conector DB9 hembra en un extremo usando los terminales RX TX y GND (2 3 y 5 respectivamente) En el otro extremo conectar los tres cables a un poste de pines e identificarlos. Usar un protoboard para realizar la medición.



2) Abrir y configurar el programa Hyperterminal en 9600 bps N-8-1 (sin paridad, ocho bits, un bit de stop).


3) Medir cuidadosamente a fin de no generar cortocircuitos involuntarios con el osciloscopio la señal generada por la PC en el terminal TX (pin 3 del conector DB9), al presionar la tecla A (mayúscula). Recomendación: Ajustar la sensibilidad del canal a 5V/div. La escala de tiempos a 200 us/div. El trigger en flanco ascendente barrido único para capturar la imagen

4) Capturar el byte y almacenarlo en memoria.

5) Responder las siguientes preguntas basándose exclusivamente en las mediciones almacenadas en memoria:
   a) En estado de reposo (sin presionar tecla alguna) ¿qué tensión se mide en la linea?
   b) El bit de start marca el comienzo de transmisión. ¿Cuánto tiempo dura y qué valor de tensión se mide? ¿Que valor de tensión tiene un uno lógico y un cero lógico?
   c) ¿De qué manera a partir de lo medido se puede inferir que el dato transmitido es la tecla A?
   d) ¿Se puede observar el bit de STOP? Si, no porque?
   e) Cuanto tiempo tarda en transmitirse un byte a la velocidad establecida.

6) Repetir el punto tres a fin de consolidar los datos medidos y capturados presionando otras teclas en el teclado de la PC y verificar el resultado de la medición, justificando la observación.

7) Verificar lo medido cambiando la velocidad de transmisión.

Segundo caso:
Existen distintos tipos de protocolos de comunicación serie ya establecidos para la generación de señales emitidas por controles remotos que usan señales infrarrojas. Todos ellos los encontramos en una larga lista de dispositivos hogareños e industriales: televisores, equipos de audio, conversores de TV Digital, aire acondicionados etc.
Se necesita poder registrar y almacenar la señal generada por un control remoto, para realizar a posteriori un análisis de la trama que genera.

Para más información consultar:

Pasos básicos a seguir:

1) Identificar el control remoto por el tipo de control (TV - Audio - VCR - DVD - AA - etc) y su marca en caso de ser posible. Dejar constancia en el trabajo.

2) Armar el siguiente circuito.


Encontralo en el datasheet del IRM8602

3) Apuntar con el control remoto al sensor y presionar una tecla del mismo.
Consejos iniciales: Acoplar el canal del osciloscopio en continua y ajustar la sensibilidad a 2 V/div con un barrido de 5 ms aproximadamente. Una vez que se observa la señal ajustar los controles de amplitud y frecuencia del osciloscopio con el fin de capturar la mejor imagen.

4) Registrar y almacenar en memoria la señal capturada.

5) Basándose en la inforamción leida y analizada previamente y en las imágenes capturadas responder las siguientes preguntas:


   a) ¿Cómo se diferencia el uno y el cero?
   b) ¿Cuántos bits en total se transmiten?
   c) ¿Cómo está compuesta la trama?
   d) ¿Con qué perioricidad se repite la trama en el tiempo?

   e) ¿Para qué se modula la señal IR?


6) Repetir los puntos 3 y 4 tantas veces como sea necesario a fin de poder capturar todas las imágenes necesarias para responder con presición las preguntas. Por lo menos capturar señales generadas por tres teclas del control remoto a fin de contrastar la información. 

7) Análisis de datos. Confrontar los datos obtenidos con la teoría, e identificar el control remoto analizado con alguno de los protocolos estándar usados en el mercado.

8) Esbozar una conclusión de la experiencia.

Actividades que realizan los alumnos

- Arman los circuitos.
- Miden, capturan y almacenan señales complejas.
- Analizan y comparan las mediciones realizadas.
- Redactan un informe ordenado con los pasos realizados para resolver los dos casos y lo publican en el blog del grupo adjuntando fotografias y videos.

Plazos estimados
Dos semanas para la enseñanza y la resolución de los dos casos propuestos en la actividad, incluyendo el informe de lo realizado en el blog.

Materiales e insumos necesarios
- PC - Sistema Operativo Windows con conectividad a Internet.
- Programa Hyperterminal.
- Osciloscopio RIGOL DS1102E.
- Punta para medición del osciloscopio.
- Pendrive cuya capacidad no exceda los 2 GB formateado en FAT16 o 32  (máximo soportado por el osciloscopio) para almacenar las mediciones realizadas.
- Cable DB9 con terminales para inserción en protoboard.
- IRM8602 o similar (CI Receptor de señales infrarrojas) similar.
- Resistores y capacitores.
- Control remoto.

Entrenador PIC16F84A

El siguiente circuito será útil para el desarrollo de las prácticas de programación del uC.

Características:
Para ver mejor hace click en la figura
  • PIC16F84A con clock a cristal externo de 4 MHz.
  • Circuito de reset.
  • Cinco llaves de entrada ubicadas en el PORTA y un pulsado en paralelo sobre RA4.
  • Ocho leds o un display siete segmentos seleccionable mediante jumper conectados al PORTB.
  • Programación "IN CIRUIT".
  • Fuente de 5V regulada obtenida del puerto USB de la PC.
 

Actividad 3 - Programación de un microcontrolador de 8 bits

Introducción
Esta actividad está pensada para que puedan aprender a realizar todos los pasos necesarios para programar un sencillo microcontrolador de 8 bits, como es el PIC16F84A.
En numerosos lenguajes de programación, para PC, se emplea el programa que muestra por consola "Hola Mundo" como el primer programa básico  e introductorio al lenguaje a ser estudiado. En el mundo de los sistemas embebidos (uC), también tenemos un "Hola Mundo" pero en este caso se lleva a la práctica encendiendo y apagando un led, de manera alternada.

Conocimientos previos
Para poder resolver esta actividad es necesario conocer: El pin out del uC. El Master Clear (reset) y el reloj del sistema (Clock). Conexionado. Características eléctricas de los puertos. Conexionado de distintos periféricos externos. Herramientas de desarrollo. Uso del PICKIT2. Arquitectura del uC PIC16F84A. Registros SFR y GPR. Registro de configuración. Instrucciones y Directivas. Primeros pasos en C. Funciones. Funciones de I/O discretas, de temporización en C. Sentencias.

Desarrollo
Para esta actividad vamos a realizar un primer programa usando dos lenguajes de programación, ensamblador y C.

Programa a resolver:
En un microcontrolador PIC16F84A vamos a conectar un led al pin RB7. El programa deberá encender y apagar ese led cada 200ms aproximadamente (+/- 5%), usando un clock a cristal de 4MHz.

Se pide:

  • Dibujar el esquemático en el KICAD.
  • Armar el circuito en el protoboard.
  • Programar en lenguaje ensamblador al uC con el MPLAB, resolviendo el programa solicitado.
  • Programar en lenguaje C al uC con el CCS, resolviendo el programa solicitado.
  • Verificar el correcto funcionamiento, usando el MPSIM y el PROTEUS.
  • Redactar minuciosamente todos los pasos realizados para realizar el trabajo solicitado y publicarlo en el blog.
 
Objetivos para esta actividad
  • Armar un circuito en el protoboard.
  • Programar el microcontrolador en lenguaje ensamblador.
  • Programar el microcontrolador en lenguaje C.
  • Verificar el funcionamiento del programa usando el simulador integrado en el MPLAB y el programa PROTEUS.
  • Verificar el funcionamiento final del conjunto hardware y software programando el microcontrolador, usando para ello el programador PICKIT2.
  • Medir la forma de onda con el osciloscopio, capturarla mostrando el periodo/frecuencia de la señal mediante los cursores. 

Actividad 4 - Amplificadores Operacionales

Introducción
Los Amplificadores Operacionales (AO) son circuitos integrados que contienen varias etapas transistorizadas acopladas todas ellas en continua con el objetivo de lograr una altísima ganancia de tensión.
Por su gran versatilidad, quizás éstos sean los circuitos integrados analógicos de baja señal más usados hoy dia como interfases de entrada al mundo digital.
Es muy abundante la bibliografía que explica su funcionamiento y se detallan aplicaciones, pero para empezar, un apretado resúmen de las características y usos que poseen los AO las pueden leer de Wikipedia.

Algunos items para tener en cuenta:
- Se los suele alimentar con una fuente de alimentación simétrica.
- Si no se los realimenta (se toma parte de la señal de salida y se reinyecta en la entrada normalmente con redes pasivas) los circuitos que se logran son alineales. El ejemplo típico es el comparador a lazo abierto que funciona entragando dos tensiones bien definidas a su salida en función del valor de tensiones a la entrada.
- En el caso de realimentarlos, puede suceder que la realimentación sea negativa. En este caso lo que se persigue es tener un amplificador lineal cuya ganancia de tensión dependa casi exclusivamente de la red pasiva externa utilizada. Si en cambio la realimentación es positiva entonces lo que se persigue es un circuito inestable. Esta situación se da en circuitos osciladores o también en comparadores con histéresis.


En esta actividad vamos a evaluar el comportamiento del amplificador operacional realimentado negativamente usado para amplificar señales continuas o alternas. Se realizarán experiencias relacionadas con su funcionamiento, buscando fijar los conceptos que subyacen al emplearlos en distintas situaciones.

Conocimientos previos

Se requiere conocer las características que  posee un amplificador operacional ideal y contrastarlas con el real. Conceptos sobre realimentación negativa y obtención de la ganancia de tensión del amplificador inversor, no inversor y buffer. Estructura de un programa hecho en C. Sintaxis. Instrucciones. Sentencias. El comparador interno del uC.

Objetivos de esta experiencia
  • Usar un amplificador operacional realimentado negativamente, en configuración inversor.
  • Medir tensiones de entrada y salida con multímetro y osciloscopio. Con este último tomar muestras de las señales medidas.
  • Medir el comportamiento del amplificador inversor con tensiones continuas y alternas en su entrada.
  • Calcular la ganancia del amplificador dentro de la zona lineal. Expresar su valor en veces y en dB.
  • Graficar la función transferencia (Vo en función de Vs).
  • Reconocer las zonas de saturación y de amplificación lineal.
  • Medir la tensión residual de salida (offset).
  • Apreciar las limitaciones de la ganancia en función de la frecuencia para dos tipos distntos de amplificadores operacionales.

Desarrollo
Esta experiencia está muy guiada. Antes de proceder a la realización de esta actividad, se recomienda:
  • Leer completamente la actividad.
  • Relevar de cada figura todos los componentes electrónicos necesarios.
  • Obtener la hoja de datos de los amplificadores operacionales utilizados. Indagar el valor de tensión de alimentación máximo, que pueden tolerar los circuitos integrados usados, con el fin de conocer sus limitaciones y no destruirlos.
  • Redactar brevemente, según corresponda en cada paso, las observaciones efectuadas con el objetivo de ordenar las mediciones realizadas y sus conclusiones.
Experiencia 1:
Amplificador Inversor 

1 - Armar prolijo el circuito del amplificador inversor, mostrado en la siguiente figura:
 
En el armado del circuito prestar especial atención:
a) No invertir la polaridad de la fuente de alimentación, pues se quema inmediatamente el amplificador operacional.
b) Observar y respetar la correcta polaridad de los capacitores electrolíticos usados como filtros en la fuente de alimentación. Se usan en conjunto con los cerámicos, para filtrar la tensión continua que nos entrega la fuente de alimentación (Los capacitores de 100nF en paralelo se usan para reducir la impedancia de la fuente de alimentación en altas frecuencias. De no colocarlos se pueden evidenciar deformaciones de las señales amplificadas).
c) Los leds se han conectado para indicar en todo momento que el circuito está recibiendo alimentación de la fuente. Si bien se puede prescindir de ellos es recomendable su utilización.


2 - Dibujar el circuito esquemático en KICAD. En J1 ubicar un Jumper.

Parte A - Comportamiento en continua
3 - Retirar del circuito el puente J1 y medir con el multímetro en el punto medio del PRESET (Va) los valores máximos y mínimos que entrega el divisor resistivo construido. Registrar y verificar los valores hallados contrastando en una tabla tanto los valores medidos y como los calculados.
4 - Antes de realizar más mediciones, conectar el nodo marcado como Vs, a GND y verificar que la tensión de salida Vo es muy cercana a los cero volts. De no ser asi volver a verificar el correcto conexionado. Si aún persistiera la situación y si la tensión de salida fuese cercana a los +12 V ó  -12V es probable que el amplificador operacional esté quemado.
5 - Conectar ahora el puente J1.
6 - Con el fin de realizar un gráfico, realizar 11 mediciones, variando de un extremo a otro el cursor del preset, registrar nuevamente el valor máximo y mínimo medido en Va ¿Varió significativamente respecto de la medición realizada en el punto 3?. Cinco de esas mediciones deben ser valores de tensión Vs positivas, las otras cinco negativas; la restante se debe desconectar nuevamente J1 y conectar la entrada Vs a tierra (GND). Para esta última medición leer cuidadosamente el valor de tensión de salida. (Esa tensión se conoce como tensión residual de salida u offset). Tratar de tomar valores de tensión a intervalos regulares.
7 - Volcar los valores medidos en una tabla similar a la mostrada.
8 - Usando un programa graficador (elegir cualquiera: excel, mathcad etc...) dibujar la función transferencia del circuito (Vo en función de Vs). A partir de las mediciones realizadas, ¿dentro de qué rango de valores el circuito se comporta linealmente? ¿porqué el circuito dice ser un inversor?

Desafio: Observar en el osciloscopio el mismo gráfico realizado en el punto anterior. Capturar la imagen y explicar la manera que se realizó la medición.
Ayuda: Usar el osciloscopio en modo X - Y. Colocar un generador de señales en la entrada Vs. Ajustar su salida con los siguientes parámetros: Triangular, Vpp = 2V, f = 1 KHz.

9 - Contestar las siguientes preguntas y redactar los resultados del ensayo. (Para contestarlas quizás deba hacer algunas mediciones extras en el circuito).
  • Dentro de la zona lineal ¿cuánto vale la ganancia de tensión del circuito? Exprese esa ganancia en veces y en dB.
  • Si varía la tensión de alimentación, ¿cambia su ganancia? (no sobrepase el 75 % los valores máximos admisibles).
  • Disminuir el valor de la tensión de alimentación. Observar en que momento deja de funcionar el circuito. Anotar la tensión mínima de alimentación que permite que el circuito funcione.
  • Si aumenta el valor de R2 llevándola a 220KOhms, ¿aumenta o disminuye la ganancia de tensión?
  • Si disminuye el valor de R1 a 5600 Ohms, ¿aumenta o disminuye la ganancia de tensión?
  • Si desconecta la resistencia de carga RL ¿cambia la ganancia?
  • Si en vez de conectar el terminal 4 (pin 4) a Vee = -12 V, lo desconecto de -12 V y lo conecto a tierra, ¿funciona de la misma manera el circuito? ¿qué cambios observa?
  • Si disminuyo el valor R1 a 390 Ohms y R2 a 5600 Ohms, tratando de mantener la ganancia similar a los valores originales medir la nueva tensión Vs.
Parte B - Comportamiento en alterna
10 - Desconectar el puente J1 e inyectarle en Vs, con el generador de funciones, una señal senoidal a la entrada de 1 KHz, menor a  400 mV pico a pico. Capturar la imagen donde se muestre la tensión de salida y la de entrada de manera simultánea. Se debe mostrar el valor de tensión pico a pico de salida y el valor del período, usando los cursores.
11 - Aumentar la tensión de entrada usada en el punto anterior hasta que a la salida se observe un recorte de la señal. Llevar al límite la tensión de entrada, antes que se observe el recorte a la salida. Registrar ese valor y publicarlo. Explicar que sucede si aumento o disminuyo la tensión de alimentación, dentro de los regímenes máximos y mínimos operativos del amplificador operacional usado.
12 - Ensayar ahora el amplificador aumentando la frecuencia del generador hasta 1 MHz. Verificar que la ganancia de tensión deja de responder al cociente entre R2 y R1. (Nota: Los efectos del funcionamiento del amplificador con la frecuencia se verá en otra actividad)
13 - Reemplazar el amplificador operacional LM741 por el TL081. Comentar si existe alguna variación en el funcionamiento del circuito, fundamentalmente en lo que respecta al punto anterior.¿Este amplificador operacional mantiene la ganancia |-R2/R1|  a una frecuencia de 1MHz? ¿Depende o no la ganancia de tensión en función de la frecuencia, con el tipo de amplificador operacional usado?
14 - Diseñar el PCB (No hacer) de tal manera que reuna dos requisitos: 1) sea de dimensiones inferiores a 60 mm x 60 mm y 2) que tanto las conexiones de alimentación como la entrada Vs y la salida Vo, coincidan perfectamente para su inserción en el protoboard mediante pines rectos.
15 - Redactar todo lo realizado, sin nombrar los números de los pasos hechos y publicar en el blog, obteniendo conclusiones de los experimentos. Incluir también la teoria que demuestra que la ganancia de tensión del circuito es función de los resistores R1 y R2. 

Experiencia 2
Amplificador No Inversor y Buffer
1 - Armar el siguiente circuito.
2 - A partir de distintos ensayos capturar mediciones hechas con el osciloscopio inyectándole en la entrada Vs distintas amplitudes de señal senoidal a 1KHz. A través de esas imágenes se debe verificar su comportamiento como amplificador no inversor. Llevarlo al límite del recorte y consignar ese valor. Hallar por cálculo la ganancia y compararla con las mediciones efectuadas.
3 - Se dice que el amplificador no inversor a diferencia del anterior posee una impedancia de entrada (o resistencia de entrada) muchas veces superior. ¿Qué mediciones harían para refutar o aseverar lo dicho? Explicar el procedimiento realizado.
4 - Si retiramos el resistor R1 y hacemos un cortocircuito entre los terminales del resistor R2 convertimos el mismo en un amplificador con ganancia unitaria o buffer. Verificar su funcionamiento tomando una medición con el osciloscopio, y contestar: ¿Para qué puede servir este circuito? Dar un ejemplo.
5 - Diseñar el PCB (No hacer) de tal manera que reuna dos requisitos: 1) sea de dimensiones inferiores a 60 mm x 60 mm y 2) que tanto las conexiones de alimentación como la entrada Vs y la salida Vo, coincidan perfectamente para su inserción en el protoboard mediante pines rectos.
6 - Redactar todo lo realizado, sin nombrar los números de los pasos hechos y publicar en el blog, obteniendo conclusiones de los experimentos. Incluir también la teoria que demuestra que la ganancia de tensión del circuito es función de los resistores R1 y R2.

Esta experiencia no será realizada en el año 2013.
Experiencia 3 (Opcional)
AO como comparador dentro de un uC

Algunos microcontroladores poseen amplificadores operacionales integrados. Estos amplificadores son usados a lazo abierto, esto es sin realimentación. Este periférico nos permite, sin necesidad de agregar hardware externo, realizar comparaciones entre un valor de tensión analógica externa contra otra generada internamente. La salida de esa comparación nos permitirá "disparar" un evento.

1 - Armar el siguiente circuito.
2 - Programar al microcontrolador usando el comparador interno, de tal manera que si la tensión analógica de entrada es menor a 2,5 volts y superior a 0V, y la misma se mantiene entre esos valores por más de 5 segundos, entonces se encenderá un led a la salida. Este led solamente se apagará si se desconecta la alimentación. 

Tips:
- El CVREF (comparator voltage reference) ajustarlo asi: VRR =  0 (high range),  VR <3:0> = 1000 (8 decimal)  (ver ecuación 8-1 de la hoja de datos).
- CM bits <2:0> = 100. Cin- entrada de comparación.
- En C CCS ajustar según:      VREF_HIGH for VDD*VALUE/32 + VDD/4
   setup_comparator(A1_VR_OUT_ON_A2);
   setup_vref(VREF_LOW | 12) 

3 - Simular el circuito en el ISIS - PROTEUS. Una vez que se esté funcionando en el simulador proceder a grabarlo y verificar su correcto funcionamiento.
4 - Dar dos ejemplos de posibles usos del sistema ensayado.

Desafio: Diseñar el sistema anterior para que responda de la misma forma sin emplear microcontroladores. Dibujar el circuito. Simular su funcionamiento en el ISIS - PROTEUS.

6 - Redactar todo lo realizado, sin nombrar los números de los pasos hechos y publicar en el blog, obteniendo conclusiones de los experimentos.


Actividades que desarrollan los alumnos
  • Toman apuntes en las clases teórico / prácticas.
  • Calculan y estiman valores de tensión y resistores, usando fórmulas.
  • Miden con distintos instrumentos señales producidas por los circuitos ensayados.
  • Programan en C usando el compilador CCS. 
  • Depuran errores de software.
  • Graban un microcontrolador.
  • Ordenan la información.
  • Redactan lo realizado en la actividad.
  • Publican en el blog toda la experiencia.
Tiempo estimado para la realización de esta actividad
Dos semanas y media.

Materiales e insumos necesarios
 
- PC - Sistema Operativo Windows con conectividad a Internet.
- Programas: PROTEUS 7.4 o superior - MPLAB 8.3 o superior - PROTEL 99 SP6 - Compilador CCS V4.104 o superior.
- Osciloscopio RIGOL DS1102E con sus puntas de medición.
- Fuente de alimentación doble, regulada y regulable de 0 a 30 V y 0 a 3 A.
- Generador de funciones GW Instek. Cable BNC - cocodrilo.
- Programador PICSTART PLUS con su fuente de 9V 1A y su cable de conexión a RS232.
- Protoboard.
- Alambre para protoboard.
- Componentes electrónicos varios: LM741 - TL081 - PIC12F683 - Resistores - Capacitores.
- Cables banana cocodrilo.
- Herramientas: destornillador perillero, alicate, pinza de punta, bruselas.

Actividad 5 - Programación Elemental

Introducción
Los sistemas embebidos son dispositivos electrónicos que resuelven una o varias tareas específicas. Cuentan con entradas y salidas, y las acciones que realizan se pueden programar. Los lenguajes de programación más empleados son el ensamblador o assembler y el C.


Objetivo de la actividad

  • Conocer el repertorio de instrucciones del microcontrolador.
  • Aprender a programar en lenguaje ensamblador.
  • Aprender a programar en lenguaje C.

Desarrollo
  • Resolver los siguientes problemas en los dos lenguajes ASM y C .
  • Simular su funcionamiento usando el simulador del MPLAB y usando el simulador ISIS de PROTEUS.
  • Armar el circuito y probar el funcionamiento real.
  • Publicar en el blog los programas fuente.
  • Archivo del simulador ISIS.
  • Fotografia del circuito armado.
  • Video de corta duración donde se resuelve el ejercicio 19.

Manejo de PORTS
Ejercicio 1
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A al que está conectado un array de interruptores. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx11001" (el valor de las tres líneas superiores no importa).

Funciones Matemáticas
Ejercicio 2
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A, al que está conectado un array de interruptores, sumándole el valor de una constante, por ejemplo 74.
Es decir: (PORTB)=(PORTA)+Constante
 

Ejercicio 3
Por el Puerto B se obtiene el dato del Puerto A multiplicado por 2.
Es decir: (PORTB)=2(PORTA)=(PORTA)+(PORT A).

Máscaras
Ejercicio 4
Por el Puerto B obtiene el dato del Puerto A, pero en la salida los bits pares se fijan siempre a "1". El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los pares el b6, b4, b2 y el b0.
Por ejemplo, si por el Puerto A se introduce el dato b'---01100', por el Puerto B se visualiza  b'01011101'. Observar que los bits pares están a "1" (efectivamente: Puerto B = b'x1x1x1x1') y los impares permanecen con el dato del puerto de entrada (efectivamente: Puerto A = b'---x1x0x' y Puerto B = b'xxxx1x0x').

Ejercicio 5 
Por el Puerto B obtiene el dato del Puerto A, pero en las salida los bits impares se fijan siempre a "0". El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los impares el b7, b5, b3 y b1.
Por ejemplo si por el Puerto A se introduce el dato b'---01100', por el Puerto B se visualiza  b'00000100'. Observar que los bits impares están a "0" (efectivamente: Puerto B = b'0x0x0x0x') y los pares permanecen con el dato del puerto de entrada (efectivamente: Puerto A = b'---0x1x0' y Puerto B = b'---0x1x0').

Ejercicio 6
Por el Puerto B se obtiene el dato del Puerto A invirtiendo los bits pares. Los impares se dejan como en la entrada. El orden de los bits será "b7 b6 b5 b4 b3 b2 b1 b0", siendo los pares el b6, b4, b2 y el b0.
Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx01100".  Observar que los bits pares están invertidos (efectivamente: Puerto A = "---1x0x1" y Puerto B = "xxxx0x1x0") y en los impares permanece el dato del puerto de entrada (efectivamente: Puerto A = "---x1x0x' y Puerto B = b'xxxx1x0x').
Ayuda: Utiliza la función XOR y la máscara b'01010101'

Funciones lógicas
Ejercicio 7
Por el Puerto B se obtiene el dato del Puerto A invertidos los unos y ceros. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx00110" (no importa el estado de los tres bits superiores del Puerto B).

Ejercicio 8
Por el Puerto B obtiene el dato del Puerto A intercambiando los nibbles alto y bajo. Por ejemplo, si por el Puerto A se introduce "---11001" por el Puerto B aparecerá "1001xxx1".

Ejercicio 9
Por el Puerto B obtiene el dato del Puerto A desplazando un bit hacia la izquierda, por la derecha entrará un "1". Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xx110011" (no importa el estado de los dos bits superiores del Puerto B).

Ejercicio 10
Por el Puerto B se obtiene el dato del Puerto A desplazando un bit hacia la derecha, por
la izquierda entrará un "0". Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "0xxx1100".

Funciones especiales

Ejercicio 11
Por el Puerto B se obtiene el dato de las cinco líneas del Puerto A al que están conectado un array de interruptores. Por ejemplo, si por el Puerto A se introduce "---11001", por el Puerto B aparecerá "xxx11001" (el valor de las tres líneas superiores no importa).
Esta operación la realizará una única vez. Después el programa entrará en modo "Standby" o de bajo consumo del cual no podrá salir después.

Comparaciones
Ejercicio 12
Compara el dato del puerto de entrada PORTA con un "Numero". Tres posibilidades:
  - Si (PORTA) = Numero se encienden todos los LEDs de salida.
  - Si (PORTA) > Numero se activan los LEDs pares de salida.
  - Si (PORTA) < Numero se encienden los LEDs del nibble alto y se apagan los del bajo.
Hay que destacar que al no haber instrucciones de comparación, estas se realizan mediante restas.

BCD
Ejercicio 13
Un número binario de 8 bits es convertido a BCD. El resultado se guarda en tres posiciones de memorias llamadas Centenas, Decenas y Unidades. Además al final las unidades estarán en el nibble bajo del registro W y las decenas en el nibble alto. En los diodos LEDs conectados al puerto de salida se visualizarán las decenas y las unidades.
El máximo número a convertir será el 255 que es el máximo valor que puede adquirir el número binario de entrada de 8 bits.
El procedimiento utilizado es mediante restas de 10 tal como se explica en el siguiente ejemplo que trata de la conversión del número 124 a BCD:


(Centenas)    (Decenas)    (Unidades)    ¿(Unidades)<10?     ¿(Decenas)=10?
----------    ---------    ----------    --------------    -------------------------
       0               0              124          NO, resta 10       Incrementa (Decenas).
       0               1              114          NO, resta 10       NO. Incrementa (Decenas).
       0               2              104          NO, resta 10       NO. Incrementa (Decenas).
       0               3              94           NO, resta 10        NO. Incrementa (Decenas).
       0               4              84           NO, resta 10        NO. Incrementa (Decenas).
       0               5              74           NO, resta 10        NO. Incrementa (Decenas).
       0               6              64           NO, resta 10        NO. Incrementa (Decenas).
       0               7              54           NO, resta 10        NO. Incrementa (Decenas).
       0               8              44           NO, resta 10        NO. Incrementa (Decenas).
       0               9              34           NO, resta 10        NO. Incrementa (Decenas).
       1               0              24           NO, resta 10        Sí. (Decenas)=0, y además
                                                                               incrementa (Centenas)
       1               1              14           NO, resta 10        NO. Incrementa (Decenas)
       1               2              4             SÍ, se acabó.
El número a convertir será la constante "Numero".

Salto Indexado
Ejercicio 14
Controla el nivel de un depósito de líquido. Utiliza (entre paréntesis las líneas del microcontrolador a la que se han conectado): 

  • Tres sondas detectoras: SV, Sonda de Vacío (RA0); SLL, Sonda de LLenado (RA1); SR, Sonda de Rebose (RA2).
  • Dos bombas de agua: B1 (RB5), B2 (RB6). 
  • Cinco indicadores: Vacio (RB0), Llenandose (RB1), Lleno (RB2), Rebose (RB3), Alarma (RB4).
Su funcionamiento:
  • Cuando ninguna de las sondas está mojada se entiende que el depósito está vacío y se accionarán las dos bombas. El indicador "Vacio" se iluminará.
  • Cuando el nivel del líquido toque la sonda de vacío "SV" seguirá llenándose el depósito con las dos bombas. El indicador "Llenandose" se ilumina.
    Cuando el nivel del líquido toca la sonda de llenado "SLL", para la bomba B2, quedando B1 activada en modo mantenimiento. El indicador "Lleno" se ilumina. 
  • Si el nivel del líquido moja la sonda de rebose "SR" se apaga también la bomba B1, quedando las dos bombas fuera de servicio. El indicador "Rebose" se enciende. 
  • Cuando se produce un fallo o mal funcionamiento en las sondas de entrada (por ejemplo que se active la sonda de rebose y no active la de vacío) se paran las dos bombas. El indicador "Alarma" se ilumina.

Según el enunciado del problema, teniendo en cuenta las conexiones citadas y poniendo la salida no utilizada (RB7) siempre a cero, la tabla de verdad resultante es:

 RA2.. RA0 | RB7 ...                   ... RB0
 ----------|------------------------------------------------------------------
  0   0   0  |  0   1   1   0   0   0   0   1    (Configuración 0. Estado "Vacio").
  0   0   1  |  0   1   1   0   0   0   1   0    (Configuración 1.Estado "Llenandose").

  0   1   0  |  0   0   0   1   0   0   0   0    (Configuración 2. Estado "Alarma").
  0   1   1  |  0   0   1   0   0   1   0   0    (Configuración 3. Estado "Lleno").
  1   0   0  |  0   0   0   1   0   0   0   0    (Configuración 4. Estado "Alarma").
  1   0   1  |  0   0   0   1   0   0   0   0    (Configuración 5. Estado "Alarma").
  1   1   0  |  0   0   0   1   0   0   0   0    (Configuración 6. Estado "Alarma").
  1   1   1  |  0   0   0   0   1   0   0   0    (Configuración 7. Estado "Rebose").
 


Tablas
Ejercicio 15
Por el display de 7 segmentos conectado al Puerto B se visualiza una de las 26 letras del alfabeto internacional: de la "A" a la "Z". La letra a visualizar lo determina el orden leído por el Puerto A. Así por ejemplo:

  • Si por el Puerto A se lee "---0000"  (cero) la letra visualizada será la "A" que es la que está en el orden cero.
  • Si por el Puerto A se lee "---1101" (veinticinco) la letra visualizada será la "Z" que es la que está en el orden veinticinco.

Por ahora no se contempla la posibilidad que el número de entrada sea mayor de 25.

Retardos
Ejercicio 16

Los diodos pares conectados al puerto de salida se encienden durante 0,5 segundos y los impares permanecen apagados. Después al contrario durante el mismo tiempo.

Ejercicio 17
Por la barra de diodos leds conectada al puerto de salida, un led encendido rota a la izquierda 0,3 s en cada posición. Cuando llega al final se apagan todos los leds y repite de nuevo la operación.

Ejercicio 18
Por la barra de LEDs conectada al puerto de salida un LED encendido rota a la izquierda durante 0.5 s en cada posición empezando por la línea RB0. El número de posiciones a desplazar lo fija el valor de las tres primeras líneas del Puerto A entrada.
Así por ejemplo, si (PORTA)=b'---00011' (3 decimal), la secuencia de salida sería:
00000000, 00000001, 00000010, 00000100, 00000000, 00000001, 00000010,... ( y repite)

Ejercicio 19
Por la barra de diodos LEDs conectada al puerto de salida se visualizará un juegos de luces que al lector le resulte divertido. Hay que utilizar una tabla de datos.

Ejercicio 20
Si la línea RA0 del Puerto A es "0", por el display se visualiza un contador descendente (9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 9, ..) con una cadencia de 0,5 segundos.
Si la línea RA0 del Puerto A es "1", por el display se visualizará un contador ascendente (0, 1, 2, 3, 5, 6, 7, 8, 9, 0, 1, 2, ..) con una cadencia de 0,5 s.