jueves, 6 de octubre de 2011

Proyecto Final

Proyecto:                                     "Robot Grua"


Este proyecto, surge como iniciativa en que en un futuro, sea una muestra de enseñanza para chicos que no entienden mucho de electronica. El proyecto tiene que ser interesante para poder atrapar la atención del espectador y de ahí poder explicarle como funciona.
Aparte de que el espectador puede aprender o ver más claro el panorama sobre  la electronica, mi compañero Santiago y yo podemos aplicar lo que hemos aprendido en la asignatura de Laboratorio. Me refiero a como programar un micro controlador, diseñar una plaqueta  y cuando se presente problemas, tener iniciativa en resolverlo.


Para que sirve:

Como el titulo lo explica el robot cumplira el mecanismo de una grua, se movera en linea recta. La función que debe cumplir es llevar una pelota desde el punto "FC1" al "FC2". 
                     
                          FC1   0                 --          FC2
                          |-----------------------------------|     (FC es Final de Carrera)

Luego repitira la función. Para saber cuantas veces lo hace, tendremos un diplay que nos mostrara la cantidad de veces que repite la operación cada vez que llegue al punto "FC2".

Hardware:

Teniendo en cuenta de que sabemos cual va a ser nuestro proyecto, tenemos que pensar como realizar el hardware. Diremos que FC1 y FC2 son finales de carreras que nos avisara en que punto se encuentra. Tendremos un Motor de DC que lo tendremos que contralar mediante la informacion que reciba de los pulsadores para que no siga de largo y no se me rompa el Final de Carrera a este motor se lo protegera con Diodos para que no se queme.Luego tendre que Manejar mediante dos display de "7 segmentos" la cantidad de veces que llega al punto FC2, para controlar la Unidad y las Decenas sin que se interpongan la información que le llega a cada Display. La solución esta en usar transistores BC337 simultaneamente, esto seria multiplexar los display. Para la activacion del brazo se usara una bobina de 12V que activa un pulso mecanico que serviria para atrapar la pelota entonces le daremos un "1" al transistor BC337 para activar el BRAZO.



La primera plaqueta se manejara con un PIC16F84A, de aqui controlaremos la activación del Brazo, el conteo del Display de 7 segmentos, y la información de los estados de los finales de carreras que sera enviada a la otra plaqueta que controla el "Motor". Para alimentar un microcontrolador necesitaremos 5V y al motor 12V. La solucion esta en usar el LM7805, lo que hace es reducir la tension de entrada a unos 5V. Con una llave deslizable manejaremos el encendido y apagado de la plaqueta.

En la segunda plaqueta utilizaremos el PIC12F683, al recibir la información que me envia la primera plaqueta controlare con el L293B el sentido de giro del motor DC. Para proteger al motor se necesita cuatro diodos en la salida del L293B:


El L293B tiene la funcion de un puente H, las ventajas que una tiene protección contra sobretemperaturas, una alta inmunidad al ruido, la
alimentación separada de las cargas y la capacidad de proporcionar una corriente de salida de 1A por canal. Si se quiere se puede controlar dos motores.

En el brazo tendremos una mini plaqueta de 2cm x 3cm. Aquí alimentaremos a la bobina con 12V y un diodo para protegerlo y una conexión directa a uno de los pines del PIC de la primera plaqueta.

Imagen del brazo.

También tendremos otra plaqueta para ver los dos Display de 7 segmentos que se conectara a la primera plaqueta mediante un CON 20 y un cable canal.
Para encender un numero, solo tenemos que saber que LED prender.

Las herramientas para llevar un proyecto son:
-Soldador
-Augereadora
-Mechas (3.25mm y 8 mm)
-Protoboard (para hacer el ensayo)

Programas:
-MPLAB IDE 8.4,para programar el microcontrolador. Link de Software.


-PROTEL SE 99, para el diseño de las plaquetas. Link del Hardaware

-PROTEUS, para la simulación de los circuitos hechos. Link de la simulación de los circuitos


Componentes:

    Primera plaqueta:
             -LM7805.
             -PIC16F84A.
             -Zocalo de 18 pines.
             -CON 20, macho y hembra.
             -Borneras de 2 pines(3).
             -Bornera de 3 pines.
             -Molex de 2 y 3 pines.
             -Llave deslizable de 2cm.
             -Oscilador de 4 Mhz.
             -Transistores BC337 (2).
             -Resistencias de 10K (2), 4.7K (2), 330 Ohm (14), 7K2, 1K2.
             -LED azul y verde.
             -Capacitores de 1000uF, 100uF, 22nF (2), 104 nF (2).
             -Diodo 1N4007.
             -Tornillos de 3.25mm (4).
             -Soporte de los tornillos (4).
    Segunda plaqueta:
             -L293B.
             -PIC12F683.
             -Zocalo de 8 y 16.
             -Molex de 2 y 3 pines (1).
             -Borneras de 2 pines.
             -Diodos 1N4007 (4).
             -Resistencias de 100 ohm y de 7K2.
     Plaqueta bobina:
             -Transistor BC337.
             -Bornera de 2 pines.
             -Molex de 3 pines.
             -Diodo 1N4007.
             -3 cables que vayan a la primera plaqueta.
    Plaqueta Display:
             -Display de 7 Segmentos (2).
             -CON 20, macho y hembra.
             -Cable canal (1mt), que vaya conectado a la primera plaqueta.
-Percloruro
-Estaño
-Envase plastico
-Plaquetas epoxi:
        -10 x 10
        -5 x 10
        -5 x 5 (2)
Papel fotografico, para el planchado del circuito.

Programación o software:

Para el PIC12F683:
                               Tengo que pensar que al microcontrolador le llega una información (SECU) de un "1" y un "0"logico de la primera plaqueta. Con esa información tiene que controlar el estado del motor, en que sentido tiene que girar el motor.
Diremos que ni bien incia el programa tiene que arrancar para la Izquierda y espera la información de SECU.
Cuando SECU se encuentre en "1" significa que FC1 (Final de carrera 1) esta activado entonces el motor se parara por 2 seg y luego cambiara el sentido de giro, irá hacia la derecha.
Cuando SECU se encuentre en "0" significa que FC2 (Final de carrera 2) esta activado entonces el motor se parara por 3 seg y luego cambiara el sentido de giro, irá hacia la izquierda.
Esto se repitira infinitamente.


Para el PIC16F84A:
                                Se hara mediante los pulsadores o Finales de carreras. Cuando se activa el primer final de carrera (FC1), activo el BRAZO y envío la información mediante SECU. Cuando se active el segundo final de carrera (FC2) se desactivara el BRAZO que tiene la pelota, le enviara la información mediante SECU, y mostrara en el Display de 7 segmentos un conteo de las veces que llegue a este final de carrera.

Fotos









jueves, 14 de julio de 2011

Amplificador Operacional

Amplificador Inversor:

Se llama así este montaje porque la señal de salida es inversa al  de la entrada, en polaridad, aunque puede ser mayor, igual o menor, dependiendo esto de la ganancia que le demos al amplificador en lazo cerrado, ya que esto se debe a que amplifica el valor de la salida.

Armado en el protoboard:





En la foto vemos que el amplificador hecho en el protoboard esta alimentado con 12v (cable rojo) y -12v ( cable negro), el verde es masa. Los Led's sirven para identificar que esta bien la conección del cable rojo y negro para este circuito utilizaremos un LM 741 como amplificador.

Usando el tester para medir el valor del divisor resistivo (donde se encuentra el preset de 1 k), obtuvimos como valor minimo - 1.5v y un valor maximo de 1.5v.
Poniendo vs en GND, tengo un valor de 5.1 mv en el offset.

Con el puente J, si se varia el valor del reset tendremos valores de la entrada y de la salida como lo muestra el siguiente cuadro de mediciones:

jueves, 9 de junio de 2011

Prueba de el Dado Electronico


Ya hemos diseñado el Dado Electronico en el Protel y ahora veremos su funcionamiento. Como ya estaba dicho el PIC 16F683 hace que los LED´S se prendan aleatoriamente.





Aca es cuando le damos una tension de 5v aprox. para que el PIC no se queme.

El cable celeste es la masa y el marron es VDD.

jueves, 19 de mayo de 2011

Astable y Monoestable

Esta actividad consiste en función del astable y un monoestable la cual se las caracteriza por la señal cuadrada.
En electronica, un astable es un multivibrador que no tiene ningún estado estable, lo que significa que posee dos estados "cuasi-estables" entre los que conmuta, permaneciendo en cada uno de ellos un tiempo determinado. La frecuencia de conmutación depende, en general, de la carga y descarga de condensadores.
Entre sus múltiples aplicaciones se cuentan la generación de ondas periódicas (generador de reloj) y de trenes de impulsos.
El monoestable es un circuito multivibrador que realiza una función secuencial consistente en que al recibir una excitación exterior, cambia de estado y se mantiene en él durante un periodo que viene determinado por una constante de tiempo. Transcurrido dicho período, la salida del monoestable vuelve a su estado original. Por tanto, tiene un estado estable (de aquí su nombre) y un estado casi estable.
Hoy en dia se usa mucho un circuito integrado, el "555" en funcion de un astable o monoestable, no es el unico ejemplar pero es de lo mas reconocido segun como se programe hara diferentes funciones.

Circuito astable:

 El circuito integrado 555;  esta imagen esta hecha mediante el programa Proteus. Este programa es de simulación y esquematizado (podre dibujar el circuito). Tengo una libreria que me facilita el uso de los componentes electronicos como el caso de los resistores y los capacitores. En este caso usare un osciloscopio para poder medir la señal que emite el 555 y  un "counter timer".


  Para hacer este circuito primero coloco los componentes que voy a utilizar, para este circuito se va a utilizar resistores de 68k 39k y dos capacitores de 10nf, el circuito integrado 555, un puesto a tierra y el simbolo de la fuente (VCC = 5v). Tambien necesitare un "counter timer y el oscilloscope".


Haciendo click derecho  al ingresar a place tendre varias opciones. En compponent- "librery", tendre el ingreso a los simbolos de los componentes electronicos. En generador tendre la opcion "ground"(masa) y en terminal la opcion "power". En virtual instrument encontrare el "counter timer" y el "oscilloscope".
Para buscar los resistores, capacitores y el 555, en "Keywords" especifico lo que busco. Eligire un capacitor ceramico y cuando elijo el resistor en la parte "sub-category" marco "generic".










Para volcar el simbolo solo hago click en la pantalla y me fijo donde ubicarla. Luego conecto todos lo componentes como lo muestra la imagen ya hecha. Una vez ya hecha es el momento de probar lo que mide el osciloscopio, primero presiono en la barra de abajo PLAY luego hago click derecho en el osciloscopio y selecciono "digital oscilloscope". Entonces podre ver la señal de que emite el circuito.


Medicion de la señal:

Para capturar bien la señal es necesario que se ponga el osciloscopio en "pausa/stop". En lo señalado "channel" es donde de fija la escal de la señal y en "horizontal" es la escala del tiempo. En TRIGGER selecciono "cursors" que me mostrara el tiempo y la tensión segun donde marque el cursor dentro de la señal.


En esta señal el periodo es de  1ms, empieza de el tiempo de estado "alto"asta el "bajo" (de la linea punteada hasta la 2° linea). Este tiempo de estado alto tarda 750us y el tiempo de estado bajo tarda unos 250us. La frecuencia que tiene esta señal es de 1000Khz,(F = 1/T, el periodo es de 0.001s). Si me fijo en la tensión min. es de  -330.11mv y la max. es de 4.57v (en la simulación es de 5v).
En la señal azul podre ver que el capacitor se carga y se descarga, cuando el tiempo de estado  "alto" el capacitor se esta cargando, y en el el tiempo de estado bajo el capacitor se descarga.
Si quiero obtener una frecuencia diferente, tengo que usar esta  formula; T= 0.7 x (R1+(2 x R2) x C1
La cuestion es que necesito una frecuencia de 40 Khz, sabiendo que  F = 1/ T(periodo), depejo para hallar el periodo y luego hacer la equivalencia con la ecuación.  Los valores obtenidos son un capacitor de 10nf, resistencias de 1.2k, esto se aproxima al periodo que es 25us.





Este es el circuito del 555 con los distintos valores de los componentes para obtener una frecuencia de 40Khz, en el podremos hacer la simulacion para saber si la teoria es igual a la practica.


Esto es en la simulación pero ahora lo llevamos al Protoboard. Para entender el 555, hay que saber como se llaman los pines, nos fijamos en la siguiente imagen:



Acá las fotos de el armado en el Protoboard y el circuito:





Una vez armado el astable en el protoboard. Haremos la medicion con el osciloscopio, mediremos la tensión de salida y  tambien su frecuencia.

En el canal A y B la frecuencia medida es de 39.68 khz y queria obtener 40khz. Si llega haber ruido en la señal, lo que hay que hacer es poner el positivo y masa en paralelo con un capacitor caramico.

En esta imagen se ve el ruido, es ese defecto de la señal, seria en la señal 1.








Foto del Astable hecho en Protel:



Circuito monastable: 



Teniendo el circuito hecho,afectuo la simulación para ver su correcto funcionamiento y poder medir el tiempo del estado en alto con el counter timer y el osciloscopio virtual.



En la medicion con el Osciloscopio virtual el tiempo de estado en alto es de 1.1 segundos, con el counter timer tengo un valor de 0.84s y otro de 0.94s.
La tension de salida maxima es de 5.06 v y la minima es de 57.1 mv.
Capacitor, carga y descarga en relacion con el estado en alto :

Para que el tiempo de la luz sea de 5s, tengo que usar esta formula de la hoja de dato del 555.
"1.1 * R * C = T". Entonces para obtener 5s cambio el valor de la resistencia por 47 k y sigo usando el capacitor de 10 uf, esto teoricamente me da un periodo de 5.17s. 

Armado en el protoboard:




Con el puente RLC medimos las resistencias y capacitores:

-Resistencia de 3.3K= 0.3246k
                        47K= 46.54k
                        10K= 9.903k
-Capacitor de 10 uf// 16v = 87617nf

Las mediciones hechas con el osciloscopio nos dio que el tiempo de estado en alto es de 5.48s. La tensión en el canal 1 es de 4.39v y en el canal 2 es de 3.27v.


Tiempo del encendido del LED:

Tensión de la pulsación (canal 1):


Tensión del encendido de el LED (canal 2):



Foto hecho en Protel del monoastable




ASTABLE Y MONOASTBLE: 

En esta practica veremos como funciona un PIC 12F683 en un circuito Astable y Monoastable, el PIC reemplaza en las practicas anteriores al 555.

PIC 12F683 en el circuito Astable:

El tiempo es de 24.8 us



La tesión del astable es de 5.84 v

                                             
PIC 12F683 en el circuito del monoastable:

El tiempo es de 5.04 s


La tensión del monoastable es de 5.76 v
 

 Vemos que el PIC puede reemplazar al 555 en este tipo de circuitos porque al PIC medianamente se lo programa con el  MPLAB 8.3 para llegar a ensamblar el PIC utilizamos el archivo .hex, luego de programarlo ya tendriamos el PIC 12F683 con la función de un ASTABLE y MONOASTABLE ( link de archivos .hex de los circuitos realizados).















































































miércoles, 27 de abril de 2011

Medición con "El osciloscopio"

Actividad 1:

Con el osciloscopio mediremos señales, enviadas desde la computadora. Con el programa Hyperterminal al configurarlo, seleccionando cualquier tecla el osciloscopio mostrara la imagen de la señal (el Hyperterminal lo que hace es enviar y recibir datos) . Para comprender la señal generada desde la PC por el terminal TX usaremos los numeros Binarios, para esto se utiliza la Tabla ASCII(http://es.wikipedia.org/wiki/ASCII). EL RS232 es el protocolo y el DB9 sera el conector.


Osciloscopio DE 1052E:
                                                                                                                                                           




                                                                                                                                                                                                                                                                                               
Conector DB9. RS232 (Recommended Standard 232, también conocido como Electronic Industries Alliance RS-232C) es una interfaz que designa una norma (protocolo) para el intercambio serie de datos binarios entre un DTE (Equipo terminal de datos) y un DCE ( Equipo de Comunicación de datos), aunque existen otras en las que también se utiliza la interfaz RS-232.







Para el 1° caso:

Armaremos el DB9 en los extremos tendra dos fichas macho y una ficha hembra par utilizar los pines RTX (pin 2), TX (pin 3) y el GND (pin 5), los marcaremos para poder identificarlos.
Luego utilizaremos el Protoboard  para establecer una medición y empezar a enviar señales al osciloscopio desde la computadora con el programa hyperterminal.
Placa de pruebas (Protoboard).


Ahora hay que configurar el hyperterminal en 9600 bps N-8-1 (sin paridad, 8 bits, 1 bit de stop). Para luego comenzar a ver la señal capturada en el osciloscopio.



Esquema de el funcionamiento de el DB9.



En la foto se ve una practica con el DB9 conectado al osciloscopio. El cable rojo va al osciloscopio y el negro es masa.


Como instalar el hyperterminal:


Al configurar el hyperterminal nos saldra una ventana pidiendo informacion de la ubicacion del pais y codigo de la ciudad.

      En esta ventana hay que poner la opcion aceptar ya que esta dicha la informacion de la ubicacion.
En esta nueva ventana pondremos el dato de como se llamara  el acceso al hyperterminal(ejemplo:datos).
Para esta ventana donde dice " conectar usando" eligiremos la opcion " COM2 ".
En esta ventana en la opcion" bits por segundo" pondremos 9600, en " bits de datos" pondremos 8 bit, en "paridad"  pondremos ninguno,en "bits de parada" pondremos 1 y en " control de flujo" pondremos hardware.
una vez aceptado tendremos instalado la configuracion del hyperterminal asi podremos enviar datos que el osciloscopio lo vera en señales.

Ahora:

-Presionamos la tecla A (mayuscula) y con el osciloscopio capturamos la señal.
En este mismo osciloscopio se esta viendo la señal emitida al haber presionado la tecla "A". En la esquina inferior de la foto se ve el DB9.
                                    Para leer esta señal se vera de atras hacia delante.
                                          Esta imagen es parte de la tabla ASCII.
Preguntas:
  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.

Respuesta:
 a)Se registran -12V
b)La señal dura 104 us y se mide una tension de 12V.Un 1 logico tiene un valor de -12V y un 0 logico tiene un valor de 12V.


Un ejemplo es esta imagen capturada pulsando la tecla "I".Aca se ve que el bit de start es de 104 us.

c) A partir del numero binario que se encuentra en la tabla ASCII.

d) No, porque el bit de stop se representa en codigo binario con un 1, igual al estado de reposo, por
lo tanto no se lo percibe en el osciloscopio.
e) El tiempo que tarda en transmitir 8 byte es de 832us.En este caso lo vemos con la letra "I".


Diferentes imagenes con distintas letras:

Esta señal es con la letra J en numeros binarios seria 0100 1010.

Esta señal es con la letra P en numeros binarios seria 0101 0000.



Esta señal es con la letra T en numeros binarios seria 0101 0100.

Cambiando la velocidad de transmision, los bits por segundo se reducen a la mitad (4800 bps).

Actividad 2:


Para el 2º caso: 

La manera mas barata de controlar remotamente un dispositivo dentro de un rango visible es a traves de la luz infrarroja. Casi todos los equipos de audio y video pueden ser controlados de esta manera hoy en dia. En la actualidad muchos dispositivos o electrodomesticos usan infrarrojos, como el televisor o el aire acondicionado,etc. Distintos protocolos existen de cómo se emite la señal infrarroja a traves de un control remoto, una vez obtenida analizaremos su trama.
1) Identificar el control que se usara. En este caso se usara un SONY  RM- SC50, su protocolo es SIRC.

Este protocolo que tiene SONY, "SIRC" (info)utiliza una codificación de ancho de pulso de los bits. El pulso que representa un "1 logico" es una explosión de 1.2ms, mientras que la anchura de la explosión para un "0 lógico" es 0.6ms de largo. Todas las explosiones están separados por un intervalo de espacio a largo 0.6ms. El deber recomienda portador del ciclo es de 1 / 4 o 1 / 3.














                                                                   
2) Armar el siguiente circuito.

Preguntas:
   a) ¿En qué frecuencia emite la señal infrarroja portadora de los datos?
   b) ¿Cómo se diferencia el uno y el cero?
   c) ¿Cuántos bits en total se transmiten?
   d) ¿Cómo está compuesta la trama?
   e) ¿Con qué perioricidad se repite la trama en el tiempo?



Ya al emitir una señal con el control Sony RM- SC50, el osciloscopio mostrara la señal. Viendo el circuito los componentes electronicos que se utilizaran sera un fototransistor y una resistencia de 10k. 
Determino que boton usar para que cuando emita la señal (on-off) sepa su codigo binario segun el protocolo SIRC.
El protocolo SIRC tiene una tabla donde nos podra decir el mensaje que envia el control remoto dentro de los 12 bits.
                                        Comandos:


Con el control remoto presionando el boton "power" (on-off), empiezo a ver una señal. En esta imagen gracias a la medicion realizada, tengo la informacion de cuanto es la frecuencia de la señal portadora, esta frecuencia es de 40.3kHz siendo que en el protocolo SIRC es de 40kHz.
 La experiencia que se tuvo fue ¿si se puede variar la señal? Esto sucede segun como este el transistor, si esta a la luz o en la oscuridad. En la oscuridad el transistor logra tener una señal estable pero si llegara a entrar luz se notara que la señal se ditorsiona y paralelamente tendremos diferentes valores ya sea su frecuencia o la señal.
                                                                                  
Diferentes señales:

 






La señal capturada en la siguiente imagen, se mide el tiempo que tarda en la trama, un "0" logico y el "1" logico.
Ya con el protocolo SIRC sabemos que el "0" logico tarda 600us y que el "1" logico tiene un tiempo de 1.2ms al igual que la medicion lo muestra.
Esta trama tiene una cantidad de 12 bits. Empieza con un estallido inicial de 2.4ms (bit de start)  a continuacion tiene 7 bits que son los comandos y 5 bits de la direccion del dispositivo.





Si bien en esta imagen a la izquierda se muestra como esta compuesta la trama. Hay que saber que esto se repite cada 45ms segun el protocolo SIRC. En la medicion manteniendo el boton "power" podre ver repetitivamente la señal cada unos 45.2ms.


                                        
Experiencia:
                    Si bien en estas actividad se aprendio de como es la señal que se transmite por un control remoto y la funcion de un foto transistor para captarla. El uso de el protocolo que tiene cada control remoto. Se uso Sony-SIRC o RC5 que maneja una cantidad de 12, 15 y 20 bits. Asi como este protocolo existen mas para las distintas empresas como Philips, ElG, etc. El Protocolo sirve para saber como se lee el mensaje de la trama. Y cual seria su funcion, su comando y la direccion.
    


Señales con boton "volumen +":

                                             
Señal con "volumen -":