domingo, 21 de septiembre de 2014

Montaje pinguino 4550 PCB

MONTAJE PINGUINO 18F4550 PCB 

PCB Pinguino y entrenador PIC

FUENTES PARA REALIZAR EL MONTAJE


GUÍA DE MONTAJE PINGUINO ENTRENADOR PIC
PCB pinguino 4550

La tarjeta esta diseñada para soportar microcontroladores PIC de 40 terminales y puede emplearse como entrenador PIC y o como tarjeta Pinguino.

COMPONENTES

RESISTENCIAS
Las resistencias se recomiendan a un cuarto de vatio.
  • 3- Resistencias de 470 ohm .
  • 1- Resistencia de 10 kohm.
CAPACITORES
Los capacitores electrolíticos están marcados con + para indicar el ánodo. El ánodo en un capacitor electrolítico nuevo es el terminal mas largo.
  • 3- capacitores de 100 nf (104).
  • 2- capacitores de 20pf (pueden ser otros en el rango de 15 a 30 pf).
  • 3- capacitores de 47uf (pueden ser también de 10uf).
  • 1- capacitor de 220nf (224) Puede reemplazarse por uno de valor similar.
LEDS
Se recomienda leds sencillos rojo y verde.
  • 1- Led rojo 3mm (Led de ON) el ánodo del led esta indicado con +.
  • 1- Led verde 3mm (Led de RUN) el ánodo del led esta indicado con +.
REGULADORES
Los reguladores se emplean si el dispositivo se alimenta con fuente externa, aunque se recomienda una alimentación externa de 12 voltios, puede ser cualquier otra con un voltaje cercano (7v a 15v).
  • 1-Regulador 7833 de 3.3 voltios . Se consigue también como LD33V
  • 1-Regulador 7805 de 5 voltios.
CONECTORES
  • 2- Regletas header hembra (Como las de Arduino).
  • 1- Regleta header macho para las conexiones SELP y 5v GND.
  • 1- Regleta header macho en L para la conexión PICKIT.
  • 1- Conector USB hembra.
  • 1- Plug hembra para alimentación con adaptador de voltaje.
OTROS
  • 1- Pulsador de 4 terminales.
  • 1- Diodo 1n4148.
  • 1- Cristal de cuarzo de 20 Mhz, para la tarjeta Pinguino es obligatorio este valor.
  • 1- Cable USB macho – macho.
CONFIGURACIÓNES

CONFIGURACIÓN SIN FUENTE EXTERNA DE ALIMENTACIÓN
Sin fuente de alimentación externa

Esta configuración es la que tiene solo los componentes necesarios para que la tarjeta opere desde la alimentación suministrad por el computador.
Selección de alimentación por USB

El Jumper SELP de selección de alimentación se coloca como indica el gráfico para seleccionar alimentación desde USB.
Esta selección por Jumper previene que dos fuentes de alimentación estén simultáneamente alimentando el microcontrolador.
La tierra GND si es común para los dos circuitos posibles de alimentación.
En el modo USB los terminales 12V y 5V de los conectores EXT SUPPLY no operan. Solo el terminal de 3.3 esta en operación para alimentación de dispositivos o sensores que operen en este rango

CONFIGURACIÓN CON FUENTE EXTERNA DE ALIMENTACIÓN

Alimentación externa


En esta configuración se cuenta con dos opciones de alimentación desde fuente externa o USB por medio de la selección con el Jumper SELP.
Selección alimentación externa
El Jumper SELP de selección de alimentación se coloca como indica el gráfico para seleccionar alimentación externa.
Esta selección por Jumper previene que dos fuentes de alimentación estén simultáneamente alimentando el microcontrolador.
La tierra GND si es común para los dos circuitos posibles de alimentación.
El adaptador recomendado para alimentación externa recomendado es de 12 voltios donde el exterior del plug es tierra (GND) y el interior es alimentación 12 voltios.
El diodo previene el caso de que adaptador conectado tenga polaridad invertida con respecto al circuito.


Terminales para tomar alimentación


Con la alimentación externa se tiene salidas de de 3.3 Voltios, 5 Voltios y 12 Voltios en los conectores indicados como EXT SUPPLY.


DIAGRAMA ESQUEMÁTICO



Diagrama esquemático


Montaje Pinguino 18F4550 Protoboard

GUÍA DE MONTAJE EN PROTOBOARD PINGUINO 18F4550

DIAGRAMA ESQUEMÁTICO
Digrama tomado de http://wiki.pinguino.cc/index.php/PIC18F4550_Pinguino#Board_overview

Este es el diagrama esquemático base que se puede encontrar en la Wiki de pinguino CC

  1. Los capacitores del cristal también puedes ser de valores en el rango de 15pf a 30pf
  2. El capacitor de 220nf puede ser electrolítico, cerámico o de poliester. Se puede reemplazar incluso por el capacitor electrolítico de 1uf.
  3. El capacitor de 10uf es opcional y esta conectado entre los terminales de fuente.
  4. La alimentación la provee el puerto USB, así que hay ser cuidadosos de no hacer un corto circuito en el montaje.
  5. En este montaje el conector USB es hembra del tipo B
ESQUEMA DE MONTAJE


Esquema de montaje Pinguino 18F4550
  1. En el esquema el capacitor indicado 224 (codigo 101) es el capacitor de 220nf o 0.22uf que puede reemplazarse por un valor similar incluso por uno electrolítico de 1uf
  2. Se recomienda diferenciar el cableado con colores para evitar un posible corto por malas conexiones. En el esquema el cable Rojo indica 5 Voltios y el cable Negro Tierra.
  3. Verificar que el Led este bien conectado, el ánodo o pata mas larga de un Led nuevo estara conectada a la resistencia.
  4. El conector que aparece en el montaje es un conector tipo hembra que necesita una extensión macho - macho para conectar al computador. (TENER CUIDADO SI SE EMPLEA UN CONECTOR MACHO, LAS POLARIDADES DE ALIMENTACIÓN SON CONTRARIAS AL CONECTOR HEMBRA)
Componentes Pinguino 18F4550
LISTADO DE COMPONENTES BÁSICOS
  • PIC 18F4550
  • Cristal de 20Mhz
  • LED Rojo
  • Una resistencia de 470 Ohm
  • Una resistencia de 10K Ohm
  • Dos capacitores de 22 pf
  • Un capacitor de 220 nf
  • Un pulsador de dos terminales
  • Un conector USB hembra
  • Una extensión USB macho - macho

MONTAJE EN EL PROTOBOARD
Montaje en Protoboard Pinguino 18F4550


Pinguino 18F4550 en protoboard
  1. Verifique que el microcontrolador no este invertido, el terminal uno esta marcado con un punto ademas de tener una musca en media luna que indica la posición correcta del microcontrolador. Conectarlo en forma invertida puede ocasionar que dispositivo se queme.
  2. Verifique con el multimetro que haya corto entre los terminales de alimentación y tierra.
  3. Verificar polaridad del LED.
  4. Si el pulsador es de 4 terminales, identifique con el multimetro cuales son los extremos.
  5. Soldar cables de extensión al conector USB hembra.
  6. Antes de conectar la el dispositivo USB hembra verifique el voltaje entre terminales con un multimetro. Una mala conexión ocasionaría un corto circuito en el computador.
PROBLEMAS COMUNES EN EL MONTAJE
  1. El microcontrolador esta sin programar con el bootloader de pinguino. Para esto se emplea el programador PicKit y el archivo bootloader.
  2. El microcontrolador esta invertido.
  3. El LED esta invertido.
  4. Se empleo un conector macho, por lo que la polaridad de alimentación esta invertida.
  5. El cristal esta defectuoso.

Montaje Pinguino 4550 Wiki


MONTAJE PINGUINO 1845F50 ENCONTRADO EN LA PAGINA WIKI.PINGUINO.CC

TARJETAS DE 8 BITS
En la pagina wiki del proyecto pinguino se encuentran varios esquemas y montajes para la tarjeta pinguino con el PIC 18F4550. En esta publicación pretendo dar una mejor explicación de estos montajes.
Montaje
Este montaje tiene como característica que tiene conexión a un programador de PIC como el PicKit asi que puede emplearse como tarjeta base para microcontroladores PIC de 40 terminales como el popular 16F877a
La fuente de de este montaje se puede encontrar en el siguiente enlace:
Diagrama esquemático
Esquema tomado de http://wiki.pinguino.cc/index.php/File:Esquematico.png
  1. En el diagrama esquemático se observa que tiene protección contra inversión de voltaje en la fuente de externa de alimentación  y un regulador de 5V, así que la tarjeta pude ser alimentado externamente con 12V o más sin exceder la capacidad del regulador.
  2. Tiene un Jumper JP1 para seleccionar si la tarjeta se alimenta con fuente externa o desde el computador por el puerto USB.
  3. Tiene un interruptor S1 para encender y apagar la tarjeta.
Circuito Impreso PCB

Circuito tomado de http://wiki.pinguino.cc/index.php/File:PCB.png
  1. Entre el conector USB y el interruptor de encendido y apagado se puede observar los tres puntos de conexión del Jumper de selección fuente de alimentación  Para USB el Jumper se conecta entre el punto central y el punto cercano al conector USB, para alimentación externa sera entre el central y el punto cercano al interruptor.
  2. Tiene conexión para programador de PIC indicado con un triangulo blanco en el terminal VPP, en caso de emplear el PicKiT se recomiendo que los terminales de este conector sean en angulo.
Guía de componentes
Listado tomado de http://wiki.pinguino.cc/index.php/Pinguino_Base


  1. Los valores de los capacitores de 22pf pueden ser reemplazados por capacitores en el rango de 15pf a 30pf.
  2. El capacitor que aparece como de 0.33uf puede reemplazarse por uno de valor similar como de 1uf.
  3. El voltaje soportado por los capacitores electrolíticos puede ser menor a 50 V, por ejemplo a 25V o incluso hasta 16V, esto depende de la fuente externa de alimentación que vaya a emplearse.
  4. El capacitor de VUSB  ue aparece como de 0.22uf puede reemplazarse por uno de valor similar como de 1uf. También puede emplearse capacitores cerámicos o de poliester.
  5. En el listado falta el conector Jumper

Artes listas para imprimir
Las artes para la realización del circuito impreso se pueden descargar de los siguientes enlaces. Como los archivos comprimidos estan con extension tar.gz los usuarios del sistema operativo windows pueden emplear 7-zip para descomprimirlos



viernes, 25 de julio de 2014

Control remoto RF 315Mhz


Modulo Control Remoto RF a 315Mhz

Este modulo consta de un transmisor con 4 botones y un receptor con 4 terminales de salida y uno de indicación de que hay recepción de un dato.
Se puede emplear con Pinguino o cualquier aplicación electrónica digital con flip flop o latch para retener los datos.

Características

  • Chip: SC2262
  • Frecuencia de operación: 315MHz/433MHz (250MHz-450MHz)
  • Recepción de sensibilidad: > -85dBm
  • Tasa de transferencia: <5Kbps
  • Formato de decodificación: PT2272, HS2272, AX5327
  • Número de canales: 4
  • Cobertura: 40 metros~60 metros
  • Voltaje de operación RX: 5V
  • Corriente de operación: 10mA
  • Modulación: ASK
  • Longitud de antena: 24cm( 315MHz)/18cm( 433.92MHz)
  • Tamaño RX: 4.0cm x 2.3cm x 0.5cm

Diagrama De Terminales


  • GND corresponde al terminal de tierra.
  • 5V terminal de alimentación.
  • D0 Bit 0 es activado cuando se presiona el botón A
  • D1 Bit 1 es activado cuando se presiona el botón B
  • D2 Bit 2 es activado cuando se presiona el botón C
  • D3 Bit 3 es activado cuando se presiona el botón D
  • VT terminal de salida que indica que hay un nuevo dato
Pruebas Realizadas


Circuito de pruebas


  • El circuito se alimento con 3.7 voltios y opero de manera correcta. La antena que trae hay que desenrollarse , es de aproximadamente 30 cm y hay que hacerlo para su buen funcionamiento.
  • El terminal de salida VT se puede emplear como flanco de subida para un flip flop o señal de habilitación en un lacht. Esto mismo es valido para la tarjeta pinguino o un microcontrolador en general.








jueves, 3 de julio de 2014

Lego con App Inventor

Control De Robots Lego Desde App Inventor

App Inventor es un entorno de programación para la realización de aplicaciones en dispositivos con el sistema operativo Android. El entorno de programación de App inventor se ejecuta en un navegador Web y el despliegue de la aplicación se realiza en el teléfono, tableta o simulador Android.
Por ser un servicio basado en la nube las la generación del programa ejecutable para el dispositivo Android no se realiza en el computador del usuario.

Enlaces De Interés sobre App Inventor

Primer Programa En APP Inventor ( Hola Ronronea)

Antes de hacer una aplicación como la de manejo de robots lego como introducción se tiene como ejemplo la realización de una aplicación básica. 
Vídeo tutorial de hola ronronea
En caso de no tener MIT AI2 Companion instalado el dispositivo móvil, en la opción build se selecciona save .apk to my computer. Teniendo el apk descargado, se procede a la instalación manual en el dispositivo móvil.

Programa Ejemplo Lego

App Inventor tiene las herramientas para la realización directa de aplicaciones con robots lego NTX
El siguiente video es una guía básica para la elaboración de la aplicación.


Aquí se muestra un programa de ejemplo de manejo del robot por medio de botones
En los enlaces de interés esta el archivo .aia que contiene la aplicación que pude ser cargada con la opción import project (.aia) from my computer que esta la pestaña Projects

Interfaz de usuario
Programa de bloques

sábado, 7 de junio de 2014

Curso online de Processing

Curso de Creative Coding

Para el que gusta de la programación en processing, aquí hay un curso online

Entre los los requisitos del curso esta el de mostrar los trabajos, así que usara esta publicación para mostrar las tareas del curso.
Aquí se puede descargar los ejemplos de todo el curso que esta bajo licencia GPL3

Ejercicios del curso

tarea uno semana uno

tarea dos semana uno
tarea dos semana uno

tarea tres semana uno
tarea uno semana dos

tarea dos semana dos
tarea tres semana dos

jueves, 1 de mayo de 2014

Guía de montaje tarjeta impresa pinguino 2550

TARJETA PINGUINO UNIAJC

Guía de componentes
En naranja están los componentes mínimos que se necesitan para que la tarjeta pinguino funciones, en rojo están los componentes adicionales que en su mayoría son para las fuentes de alimentación de 3.3 voltios y 5 voltios externas.
Con componentes mínimos
Montaje completo

Selección de la fuente de alimentación

Esta tarjeta tiene dos formas de alimentación  por USB y externa, para selección tiene un jumper como se muestra en el gráfico.
Selección para alimentación desde USB

Programación desde PICKit

La tarjeta tiene un conector para poder conectar el Pickit y descargar el bootloader
Conexión pinguino pickit




martes, 18 de marzo de 2014

Processing con Pinguino X4

Processing con Pinguino X4

En el blog tengo publicaciones previas de como interactuar con la tarjeta Pinguino desde Processing, pero el código correspondiente a la tarjeta Pinguino, ya no es compatible con el nuevo IDE X4, por lo cual al compilarlo generara errores.
La librería correspondiente a Processig sigue siendo la misma y sigue operando bien para la versión actual de Processing.

USB Processing Código Para Pinguino X4

Este código corresponde al modo de operación de comunicación modo Bulk tal como esta para la nueva versión del IDE de programación del la tarjeta Pinguino que tiene instrucciones diferentes para la lectura y escritura.
El siguiente código se probo con un microcontrolador 18f4550 con el bootloader versión 2.12
La conexión la probé desde GNU/Linux con Ubuntu



//Por: Julio Fabio De La Cruz G. 2014
//http://micropinguino.blogspot.com 
//Adaptacion a pinguino X4 para emplear la libreria usbprocessing
//Basado en el trabajo de Stéphane Cousot, Jean-Pierre Mandon y Douglas Edric Stanley.
int i;
int temp;
u8 receivedbyte;
char rbuffer[64];
char sbuffer[2];
void setup(){
    TRISB=0;
    for(i=8;i<=12;i++)
        pinMode(i,INPUT);  
    for(i=21;i<=28;i++)
        pinMode(i,INPUT);
}
void loop(){
    receivedbyte=0;
    if(BULK.available()) 
        do {
            receivedbyte = BULK.read(rbuffer);
        } while (receivedbyte == 0);
    rbuffer[receivedbyte] = 0;
    if (receivedbyte > 0){
      if(rbuffer[0]=='+'){
        if (rbuffer[1]=='C')
            PORTB=0;
        if(rbuffer[1]=='W'){
            if(rbuffer[2]=='D')
                digitalWrite(rbuffer[3],rbuffer[4]);
            if(rbuffer[2]=='A'){
                temp=rbuffer[4]+(rbuffer[5]*256);
                analogWrite(rbuffer[3], temp );
            }
        }
        if(rbuffer[1]=='R'){
            if(rbuffer[2]=='D'){
                sbuffer[0]=digitalRead(rbuffer[3]);
                BULK.write(sbuffer[0], 1);
            }
            if(rbuffer[2]=='A'){
                temp=analogRead(rbuffer[3]);
                sbuffer[0]=temp;
                sbuffer[1]=temp/256;
                BULK.write(sbuffer, 2);
            }
        }
      }
    }
}

martes, 11 de marzo de 2014

Entradas y salidas digitales con la DAQ 6009


Montaje guía para la practica con la daq 6009
El montaje mostrado se empleara para la realización de una practica de electrónica digital con la tarjeta de adquisición de datos de National DAQ 6009.

Materiales

  • 1 DAQ 6009
  • 4 pulsadores
  • 4 Resistencias de 10 Kohm
  • Display de 7 segmentos de cátodo común
  • 15 resistencias de 330 ohm
  • 74LS138
  • 8 LED rojos comunes

Consideraciones en el montaje

  • La alimentación la suministra la tarjeta el cable negro indica tierra y el rojo 5V
  • Los pulsadores están en configuración de Pull Up
  • Los valores de las resistencias no son críticos y pueden sustituirse por valores próximos
  • Tener en cuenta la conexión de los LED dado que el 74LS138 tiene salidas activas bajas, por eso en el esquema el ánodo del LED esta a 5 V. Esto se hace para hacer una configuración en modo de dreno de corriente y encienda el LED cuando la salida en el 74LS138 es baja.

Guías e Información

Prueba básica de entradas y salidas digitales con la daq 6009


viernes, 7 de marzo de 2014

Control de un circuito desde la pantalla con Processing


Activación de una Foto Resistencia o LDR desde Processing.

Para los que recién empiezan a programar y montar pequeños circuitos, se les dificulta hacer aplicaciones de hardware que puedan ser controladas desde un dispositivo móvil o el computador.
Lo que se propone a continuación es el emplear la pantalla del computador y una foto resistencia para activar un LED y un motor, este ejemplo sirve como base para ampliase y controlar más de un circuito.

Circuito Básico

LDR transistor
El circuito básicamente consiste en un divisor de voltaje conformado por una resistencia fija y una foto resistencia. El transistor actúa como un interruptor según la intensidad de luz recibida por la foto resistencia.
Para lograr un ajuste de sensibilidad la resistencia fija del divisor se puede reemplazar por un potenciómetro.
Montaje LDR protoboard
Para el montaje físico se empleo un cable largo para la conexión de la foto resistencia o LDR que es el termino en ingles.



Vídeo que muestra la aplicación

Código en Processing

void setup() {
  size(600, 400);
}
void draw() {
  if (mousePressed) {
    background(255);
  }
  else {
    background(0);
  }
}