SI NO FUNCIONA EN LA PRACTICA, NO ES VALIDO EN TEORIA

22/10/15

ENTRENADOR PARA PIC - MODULO SWITCHES / LEDS

Siguiendo en nuestro Entrenador para Microcontrolador PIC16F873A, a continuación el Módulo de Switches, Pulsadores y Leds, con el que se podrán iniciar en este interesante mundo, implementando programas sencillos.

El esquema adjunto representa el módulo de periféricos el cual consta de:
a)      Ocho (8) Pulsadores de tipo normalmente abierto (N.O.).
b)      Ocho (8) Interruptores de tipo SPST.
c)      Ocho (8) LEDS ROJOS Indicadores.

Energización de la Placa:

Para energizar dicho módulo se requiere simplemente interconectarlo al Módulo Principal PIC, ya que el mismo es el encargado de suministrar la alimentación a todos los módulos opcionales de periféricos. Esta conexión puede ser desde JP1 o JP2 a cualquier HEADER de Puertos en el Módulo Principal PIC.

Conector de LEDS JP1:

Para el funcionamiento de los (8) LEDS se debe interconectar el HEADER JP1 con cualquiera de los HEADERS asociados del Módulo Principal PIC, dependiendo de cuál Puerto va a manejar dichos LEDS. Eso obviamente queda a tu criterio dependiendo de tu programa.

Conector de SWITCHES / PULSADORES:

A fin de poder enviar a cualquiera de los Puertos del Módulo Principal PIC, niveles lógicos de manera momentánea (vía pulsadores) o permanente (vía interruptores), he utilizado el arreglo de (8) pulsadores y (8) interruptores. La interconexión se efectúa mediante el HEADER JP2. Nuevamente queda a tu criterio, y dependiendo de tu programa a dónde vas a conectar los interruptores y pulsadores al PIC.
Los interruptores son de tipo normalmente abiertos, y la configuración utilizada se denomina PULL-UP, lo que significa que en estado de reposo (OFF) el interruptor envía un nivel lógico “1”. Cuando el interruptor es activado (ON), éste envía un nivel lógico (0).
De igual manera. Los pulsadores son de tipo normalmente abiertos, y la configuración utilizada se denomina PULL-UP, lo que significa que en estado de reposo (OFF) el pulsador envía un nivel lógico “1”. Cuando el pulsador es activado (ON), éste envía un nivel lógico (0).

Las resistencias en serie de 200 Ω conectadas, tanto a los interruptores, como a los pulsadores, forman un divisor de tensión al momentos en los dispositivos son activados. Esto previene daños a las entradas del microcontrolador, evitando que los pines de los puertos sean conectados directamente a GND.


Entrenador de PIC - Módulo LED’s / Switches Revised: Wednesday, October 21, 2015
ME 13/05/2011.SCH - Guillermo Hernández          Revision: 1.0

Guillermo Hernández - Asesoría en Electrónica

Bill Of Materials        October 21,2015      16:40:20  Page1

Item     Qty    Reference               Part
______________________________________________

1          1        C1                               Capacitor de 0,1 µF
2          8        D1, D2, D3, D4,          LED ROJO (emisión difusa preferiblemente)
                     D5, D6, D7, D8
3          2        JP1, JP2                       HEADER 5 X 2 (MACHO RECTO)
4          8        R1, R2, R4, R6,           Resistencia de 220 Ω ¼ watt
                     R9, R11, R13, R16
5          16      R3, R5, R7, R8,           Resistencia de 200 Ω ¼ watt
                     R10, R12, R14, R15,
                     R18, R19, R20, R21,
                     R22, R23, R24, R25
6          1        R17                             Resistencia de 10 KΩ ¼ watt
7          8        S1, S2, S3, S4,             Interruptor SW SPST
                     S5, S6, S7, S8
8          8        S9, S10, S11, S12,       Pulsador Miniatura N.O.
                     S13, S14, S15, S16
9          1        U1                               Integrado TTL 74LS540
10        1                                           Base 20 DIP (Torneada)

IMPORTANTE:    Las cantidades de los componentes están especificados en la segunda columna de la lista.

21/10/15

ENTRENADOR PARA PIC - MODULO PRINCIPAL PIC16F873A / PIC16F873

El esquema adjunto representa el módulo principal del entrenador de microcontrolador basado en el PIC16F873A o el PIC16F873, el cual está identificado como U1. Es recomendable que el PIC quede montado sobre una base torneada de 28 DIP, a fin de facilitar su montaje o desmontaje cuando así se requiera.

Energización de la Placa:

Para energizar dicho módulo se requiere aplicar una tensión DC de +5 V en los bornes del conector de 2 elementos (J6). Recuerde respetar la polaridad respectiva a fin de evitar daños en el circuito. Esta tensión está disponible en fuentes de alimentación conmutadas o también la puedes obtener de tu PC (usando los cables de alimentación provenientes de la fuente de alimentación principal que estén libres dentro del PC).

Puertos de Comunicación:

Todos los pines de los puertos A, B y C están conectados cada uno a cada Header de 5 x 2 respectivamente (JP4 para el Puerto “A”, JP3 para el Puerto “B” y JP5 para el Puerto “C”), de manera que se facilite la interconexión de cada puerto a los otros módulos respectivos.

Conector de Programación:

Adicionalmente he implementado un Header de 6 pines para la conexión del programador PICKIT3 o PICKIT2 a fin de que la programación del microcontrolador sea bastante fácil.

Circuito Oscilador:

He colocado un Oscilador de 4 MHz como circuito base XT, ya que es el más común en la implementación de circuitos y pruebas, además de su excelente estabilidad.

Circuito de Reinicialización:

Para que puedas efectuar una reinicialización manual del PIC, he añadido un circuito sencillo de RESET (pulsador S1), el cual, si deseas utilizarlo, debes colocar un puente de conexión en JP2, o simplemente no usarlo. Eso queda a tu criterio.




Entrenador de PIC – Módulo PIC16F873A  Revised: Tuesday, October 20, 2015
ME 13/05/2011.SCH - Guillermo Hernández          Revisión: 1.0

Guillermo Hernández - Asesoría en Electrónica

Bill Of Materials        October 21,2015      11:44:09  Page1

Item     Qty    Reference        Part
______________________________________________

1          2        C1, C2             Capacitor 20 pf
2          1        C3                   Capacitor 10 µF / 25 V (*)
3          1        C4                   Capacitor de 0,1 µF
4          1        D1                   Diodo 1N4148
5          1        JP1                  HEADER MACHO RECTO 6 PINES
6          1        JP2                  HEADER MACHO RECTO 2 PINES
7          3        JP3, JP4, JP5   HEADER MACHO 5 X 2
8          1        J6                    TERMINAL BLOCK 2 ELEMENTOS
9          1        R1                   Resistencia de 1 KΩ ¼ watt
10        1        R2                   Resistencia de 470 Ω ¼ watt
11        1        S1                    PULSADOR PARA BAQUELITA N.O.
12        1        U1                   PIC16F873A
13        1        Y1                   CRISTAL 4 MHz
14        1                               Base de 28 DIP (Torneada)
                                 
NOTA (*): Los valores de tensión de los capacitores pueden ser mayores a los especificados al más cercano posible.


IMPORTANTE:    Las cantidades de los componentes están especificados en la segunda columna de la lista.

26/7/15

¿Cuales son los Periféricos Básicos que debo tener para ir Implementando mis Ejercicios con Microcontroladores?

Al momento de plantearse una aplicación con un microcontrolador, se debe tener claro los dispositivos asociados a dicha aplicación, desde lo que efectivamente se desea controlar, hasta los "adornos" o circuitos secundarios que se utilizarán.

Es por ello, que debemos tener una serie de circuitos periféricos, ya ensamblados y listos, para poder ser utilizados posteriormente y adaptarlos al control que deseamos. Es entonces donde se parte de la idea de "módulos" que acompañan a las tarjetas principales, en donde se aloja el microcontrolador, y es a éste al cual se le interconectan dichos módulos, en función a la aplicación a implementar.
Entonces nacen los entrenadores, que no es mas que módulos, los cuales se interconectan a la tarjeta principal de control.

Ahora bien,

¿Que es lo que debo hacer?

En principio, construir dichos módulos, partiendo de una base, es decir, módulos sencillos, los cuales podrán irse perfeccionando a medida que se vaya adquiriendo experiencia en la programación y uso de los microcontroladores.

¿Cuales son esos módulos básicos principales?
  1. Un módulo de entrada que contenga una serie de pulsadores e interruptores de manera de poder enviar al microcontrolador niveles lógicos desde un panel o botonera.
  2. Un módulo de salida que me permita visualizar resultados. Esté puede estar implementado con visualizadores a 7 segmentos, en los cuales se pueda representar todos los símbolos del código BCD y hexadecimal.
  3. Un módulo de salida que permita la energización de un conjunto de relés a fin de poder controlar cargas a través de contactos secos (contactos de los relés). Con ello podremos energizar a través de los contactos asociados, diferentes cargas.
¿Cual es el siguiente paso?

Una vez que hayamos definido, la cantidad de pulsadores e interruptores de nuestro módulo de entrada, se procede al diseño de dicho circuito.


Ahora procederemos a implementar un Módulo de Visualización, compuesto de 6 visualizadores o Display de 7-segmentos de tipo ánodo común.


Ahora nuestro Módulo para energización de cargas a través de contactos de Reles. Muy útil debido a que siempre deseamos, "prender" o "apagar" algún dispositivo.


Ya con estos tres módulos, podemos empezar a implementar nuestros programas, visualizando resultados en los displays, activando cargas, y enviando ordenes a través de los pulsadores.

Recuerden que aunque estos módulos son básicos, requieren de un conjunto de instrucciones para operar.

En una próxima entrega, les daré el conjunto de instrucciones de uno de ellos. Por los momentos, deben ir adquiriendo los componentes e ir los armandolos en su protoboard o baquelita.

Los quiero mucho!! Mis queridos alumnos!!

1/9/13

TEMPORIZADOR REGRESIVO (99 a 00 Segundos)

ME130901

Saludos queridos amantes de la electrónica :-D

Nuevamente les presento otro interesante proyecto para implementar. 
Esta vez se trata de un contador BCD (regresivo) de 2 dígitos, desarrollado con el popular SN74LS192 (Up / Down BCD Counter with Load).
Se trata de utilizar el contador BCD (compuesto por los dos integrados 74LS192: U1 y U2) como temporizador, con ajuste del tiempo establecido mediante el pulsador PLS1. El interruptor SW1 se utiliza para MARCHA / PARO del temporizador.
La señal de reloj aplicada al contador se toma de la red de 60 Hz a traves del secundario del transformador, pasando por un conformador de señal compuesto por R1, D1, D2 y el Schmitt Trigger 74LS14 (U8:A). La función de los diodos D1 y D2 son la recortar la tensión proveniente del transformador (D1 hasta 5V + 0,7V y D2 hasta 0V - 0,7V) y; la función del disparador de Schmitt es la de corregir la forma de onda de la señal proveniente del recortador a una señal cuadrada.
Los 60 Hz (ya en nivel TTL), se aplican a un divisor de frecuencia o prescaler 1:60, el cual está conformado por los integrados U6 y U7 (74LS90), que no son mas que un par del ya conocido contador BCD 7490 :-D.
El primer contador es de Módulo 6 y el segundo contador de Módulo 10, con lo que se consigue a la salida del U7:Pin 11 la frecuencia de 1 Hz, la cual se aplica al contador regresivo.

El interruptor SW1 permite seleccionar la frecuencia de 1 Hz, o la generada por el pulsador PLS1, el cual se utiliza para ajustar del tiempo estrablecido.
Las compuertas U9A y U9B conforman un Flip-Flop RS, controlado por el pulsador PLS1 y, en cunjunto con las compertas U9C y U9D, forman el selector de dirección de cuenta y de frecuencia de nuestro temporizador.
El ajuste del tiempo establecido se realiza de manera ascendente, por cada pulsación del boton PLS1.
Una vez finalizada la cuenta del temporizador (es decir, cuando llega a 00), los visualizadores parpadean a razón a 1 segundo. Esto se debe a que estamos utilizando la entrada BI de los descodificadores.
Quise utilizar visualizadores a 7-segmentos de tipo ánodo común. Es por ello que debes utilizar el descodificador 74LS247. :-D
Todo el circuito está simulado en Proteus. Si deseas el archivo en dicho formato, escribeme a mi correo y con gusto te lo envío.

14/7/13

Matriz de LEDS - 5 x 8 - 1ra Parte

ME130602A

A mis queridos alumnos: 

Una Matriz de Leds es un circuito integrado conformado por leds, conectados de forma tal, que para poder encenderlos se utiliza un sistema de coordenadas (Columna x Fila).
Generalmente estos visualizadores alfanuméricos vienen en arreglos de 5 columnas por 8 filas (5 x 8), o arreglos de 5 columnas por 7 filas (5 x7).


http://www.sunled.com/manager/upload/pdf/MUR60C(V4).pdf
Como puedes observar en la figura, las filas (Row) están etiquetadas desde R1 (Fila 1) hasta R8 (Fila 8); y las columnas (Column) están etiquetadas desde C1 (Columna 1) hasta C8 (Columna 8).
La matriz que estamos usando de ejemplo, está configurada con las filas en ánodo común cada una; y las columnas en cátodo común. Un ejemplo puede ser el visualizador MUR60C de la empresa SUNLED.COM.


El procedimiento para poder encender un led en una matriz, es polarizar dicho diodo utilizando un sistema de coordenadas (fila x columa). Por ejemplo, para encender el LED D1 de la figura arriba mostrada hay que polarizarlo a través de los pines R1 y C1 (R1 x C1). Para ello, se aplica tensión de manera que el diodo LED (D1) quede polarizado correctamente, esto es,  toda la Columna 1 a tierra (C1 a 0V); y la Fila 1 a potencial positivo (R1 a VCC - Recuerda colocar una resistencia en serie a cada fila.)

Por lo tanto, si deseas encender todos los LED's de la Columna 1: Unicamente C1 a tierra (C1 a 0V); y todas las Filas (R1 a R8) a potencial positivo (Recuerda colocar una resistencia en serie a cada fila.)
Si deseas encender todos los LED's de la Columna 2: Unicamente C2 a tierra (C2 a 0V); y todas las Filas (R1 a R8) a potencial positivo (Recuerda colocar una resistencia en serie a cada fila.)
Si deseas encender todos los LED's de la Columna 3: Unicamente C3 a tierra (C3 a 0V); y todas las Filas (R1 a R8) a potencial positivo (Recuerda colocar una resistencia en serie a cada fila.)
Si deseas encender todos los LED's de la Columna 4: Unicamente C4 a tierra (C4 a 0V); y todas las Filas (R1 a R8) a potencial positivo (Recuerda colocar una resistencia en serie a cada fila.)
Si deseas encender todos los LED's de la Columna 5: Unicamente C5 a tierra (C5 a 0V); y todas las Filas (R1 a R8) a potencial positivo (Recuerda colocar una resistencia en serie a cada fila.)
Ya te has dado cuenta que no debes encender todos los leds de todas las columnas al mismo tiempo. Se debe encender una sola columna a la vez.
Para poder practicar un poco, he diseñado un circuito, el cual puedes simular en el Proteus. El mismo está disponible en mi grupo FACETRONICS en el Facebook (recuerda solicitar tu amistad para poder ser aceptado en el Grupo).
La función del SW1 es seleccionar de manera secuencial la columna respectiva (comenzando desde C1), habilitándola luego con el SW2.
Los 8 micro-interruptorres del DSW1 te permirten polarizar los diodos que desees encender en la columna previamente seleccionada.

Ejemplo:
¿Como representaría una letra "A" mayúscula en el visualizador alfanumérico?
Muy sencillo. Primero dibuja la matriz representando cada LED con un circulo. Luego rellena los circulos respectivos para representar la letra o símbolo que desees (en nuestro ejemplo la letra "A").

Generalmente los para representar los números, letra y símbolos en una matriz se utilizan 7 LED's de cada columna (5 x 7), es por ello que observas que todos los LED's de la útlima fila están apagados.
Luego, usando los dip-switches, colocas la combinación correspondiente a la primera columna 01111110. Luego seleccionas la primera columna (primera de la izquierda) con el interruptor rotatorio. Por último, cierras en interruptor SW2 y verás como se ilumina la primera columna de la matriz. Luego desactivas el SW2. La columna se apaga.
Repites el procedimiento para las demás columnas 2, 3, 4 y 5. Ten en cuenta que debes cambiar la coombinación en lops dip-switches y realizar la selección de la columna respectiva.
Este procedimiento es 100% manual, y si logras hacerlo a una velocidad de unas 40 veces por segundo :-P, entonces verás la letra "A" de manera fija. Es simplemente una "ilusión" que se le crea al ojo humano, por el procedimiento es por barrido de columnas (columns swept) a una velocidad alta.
Obviamente hay circuitos mucho mas adecuados que hacen todo el procedimiento anterior de manera automática.





21/4/13

Otro punto de vista de las Compuertas

ME130421

Además de utilizar las compuertas como elementos para implementar circuito de control ya sean combinacionales o secuenciales, las compuertas pueden ser utilizadas como inhibidores de señales. Esto es, permitir o no permitir el paso de una señal digital hacia otras etapas. A esto se le denomina Inhibidor de Señales. Aqui les muestro algunos ejemplos y repaso de las funciones lógicas. El circuito tambien está disponible en archivo .dsn en Proteus.
Con la compuerta EX-OR se puede o no, invertir una señal lógica. Una aplicación bastante utilizada en la polarización de pantallas LCD y desfasadores de señales.
Los Tri-States puedes utilizarse como Multiplexores sencillos o Selectores de señales sencillos.
Ya para circuitos de mayor complejidad, existen los dedicados, que como usteden saben son descodificadores, codificadores, Multiplexores, Demultiplexores, comparadores, entre otros.

5/3/13

ECM / BODYCONTROL - BASICO

ME130228

Un circuito bastante sencillo el cual puede ser instalado en un Automóvil. Su funcionamiento permite:

  1. Detectar la apertura de puertas.
  2. Monitorear la temperatura del motor.
  3. Detectar la distancia minima para aparcado en retroceso.

La detección de puertas se realiza mediante la instalación de interruptores magnéticos. Al activar cualquiera de ellos, se activa una alarma sonora y se indica la puerta abierta en la pantalla LCD.
La temperatura del motor es detectada por un sensor de temperatura, el cual entrega una señal analógica, la cual es procesada por el microcontrolador y cuyo valor se muestra de manera periódica en la pantalla LCD. Cuando el valor de temperatura excede el máximo establecido, se enciende un indicador LED.
Para detectar la distanciá mínima se utiliza un sensor infrarrojo, el cual, ubicado en la parte trasera del vehículo, detecta la distancia mínima que debe estar el vehículo al momento de dar marcha hacia atrás. una vez detectada dicha distancia, se activa una señal auditiva y visual en la pantalla LCD.

El microcontrolador es el PIC16F877A.

Un proyecto interesante, el cual forma parte de las asesorias a mis estimados seguidores.

Circuitos colocados hasta ahora: