martes, 26 de junio de 2012

Descarga del bootloader en pinguino


Encontre este otro video que muestran como se descarga el bootloader al microcontrolador pic, ya sea el 18f4550 o el 18f2550.
El bootloader es un programa que de descarga en el microcontrolador para que este sea un pinguino.

Vídeo de instalación de pinguino en windows 7


Aquí dejo un vídeo de ejemplo de la instalación de pinguino en windows 7 de 32 bits, sobre 64 no he tenido buenos resultados.
Como no soy usuario del sistema operativo windows no he podido hacer bien los pertinentes procesos de instalación y sobre todo para hacer un instalador.

También encontré este otro vídeo en winxp





domingo, 20 de mayo de 2012

xrect en scilab



Este es un tutorial básico de scilab explicando el uso de la función de graficación xrect

miércoles, 16 de mayo de 2012

Como instalar driver de Pinguino para windows 7


Pinguino necesita LibUsb para comunicarse con el PC. En windows 7 si LibUsb es mal instalado deshabilita los puertos USB del computador.
La mas reciente guía de instalación de pinguino describe el procedimiento para la instalación de los archivos necesarios para la cumunicacion.
En la guía recomiendan descargar la version 1.2.1, pero ya hay una mas actual que es la 1.2.6.
Estos son los enlaces de descarga.
Version 1.2.1
http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.1.0/libusb-win32-bin-1.2.1.0.zip/download
Version 1.2.6
http://sourceforge.net/projects/libusb-win32/files/libusb-win32-releases/1.2.6.0/libusb-win32-bin-1.2.6.0.zip/downloadguia

Procedimiento:
  1. Descomprimir el archivo libusb-win32-bin-1.2.1.0.zip
  2. Desconectar la tarjeta Pinguino.
  3. Verificar si su sistema operativo es de 32 o 64 bits
  4. Si es de 32 bits, hacemos lo siguiente:
    • Ir a la carpeta libusb-win32-bin-1.2.1.0\bin\x86
    • Renombrar el archivo libusb0_x86.dll con el nombre de libusb0.dll
    • Copiar el archivo renombrado en la carpeta c:\Windows\system32\ 
    • Copiar el archivo libusb0.sys en la carpeta c:\Windows\system32\drivers\ 
    5.  Descargar el driver de la tarjeta pinguino desde el siguiente enlace
    6. Descomprimir y copiar los archivos en la carpeta examples de libusb-win32-bin-1.2.1.0
    7.  Conectar la tarjeta e ir a panel de control, sistema, administrador de dispositivos
    8.  Aparece una advertencia indicando que la tarjeta no es reconocida 
    9.  Dar click derecho en el dispositivo y dar click en propiedades
    10. Instalar el driver dando click en actualizar driver y buscamos la carpeta donde dejamos los drivers.
    11  Damos click para seleccionar el driver.
    12 Pinguino debe aparecer como dispositivo reconocido

Para mas información de como instalarlo en sistemas de 64 bits, recomiendo leer esta guía.




miércoles, 28 de marzo de 2012

Introducción a SCILAB segunda parte


Este es el enlace de un vídeo introductorio muy bueno de SCILAB
Aquí hay otros vídeo interesantes
Como calcular la derivada de una función http://www.youtube.com/watch?v=GvoNzep77jQ&feature=related/watch?v=GvoNzep77jQ&feature=related
Interfaz de usuario en SCILAB aquí hay un ejemplo  http://www.frsn.utn.edu.ar/tl/
Este es de como se utiliza el GUI Builder para hacer interfaces de usuario
http://www.youtube.com/watch?v=A6bMURCVfb0&feature=related

sábado, 17 de marzo de 2012

Introducción al editor de Scilab


Introducción al editor de Scilab, como cargar y ejecutar archivos

Montaje De Sistemas Secuenciales Empleando Memorias

SISTEMAS SECUENCIALES DIGITALES

Una de las tantas formas de implementar un sistema digital, es por medio de una memoria tipo EEPROM o FLASH para allí hacer la parte lógica combinatoria. La parte digital secuencial es manejada por flip flop tipo D, que como se observara en el diagrama esquemático realimenta el circuito.

EJEMPLO DE  UN SISTEMA SECUENCIAL

Problema

Hacer un contador cíclico de 1 a 4. El sistema operara de la siguiente manera:
Contara con dos pulsadores que generaran las estradas digitales al sistema tal como se muestra en la tabla. sean P0 y P1 los pulsadores.
Entradas del sistema
Contara con 3 bits de salida para indicar los números de la cuenta en formato bcd (binario codificado decimal).
Salidas digitales

Diagrama De Estados

El contador propuesto es un contado cíclico, es decir que cuenta de 1 a 4 y nuevamente inicia en uno si la cuenta es de uno en uno.
Según como se propone en la primer tabla donde están las entras y la acción a realizar, se tiene el siguiente diagrama de estados.
Diagrama de estados

Asignación Binaria A Los Estados

Cada estado tendrá un valor binario único para distinguirlo de los demás.En este ejemplo tenemos 4 estados.

Tabla De Estados

La tabla de estados es una síntesis del diagrama de estados, la tabla tal como se representa en este ejemplo esta dada para se llevada  a la memoria.

Tabla de estados

Mapa De Memoria

El mapa de memoria corresponde a los datos binarios que serán guardados, estos corresponden a la tabla de estados. El mapa de memoria es una transcripción de la tabla de estados para representar la parte combinatoria del sistema.

Mapa de memoria

Diagrama Esquemático

En el montaje real las entradas no utilizadas se conectan a tierra, no pueden quedar flotantes.
Diagrama esquemático

Montaje


Este es el esquema de montaje para implementar un sistema secuencial digital, empleando una memoria como dispositivo lógico programable y un flip flop D, para la realimentación de estados. En este circuito por el momento el ADC no cumple función alguna, pues no esta conectado a la memoria.
Recientemente un estudiante me dijo que el 74LS379 no es fácil de conseguir, así que le sugerí reemplazarlo por el 74LS175.

martes, 13 de marzo de 2012

Control de sentido de giro y velocidad para un motor DC



En este esquema utilizamos la entrada análoga 13 para leer el valor entregado por el potenciometro y así asignar este valor a la salida PWM del terminal 11.
Se lee el estado del pulsador en el terminal 21 configurado como entrada.
Con las salidas 0 y 1 controlamos el sentido de giro del motor.
Se utiliza para este ejemplo el puente H  L298.


#define PIC18F4550
int velocidad;
void setup(){
   pinMode(21,INPUT);
   pinMode(0,OUTPUT);
   pinMode(1,OUTPUT);
}
void loop(){
   velocidad=analogRead(13);
   if(digitalRead(21)){
      digitalWrite(0,LOW);
      digitalWrite(1,HIGH);
      analogWrite(11,velocidad);
   }else{
      digitalWrite(0,HIGH);
      digitalWrite(1,LOW);
      analogWrite(11,velocidad);
   }   
}

viernes, 2 de marzo de 2012

Pinguino Bot


Pinguino Bot
Este es un robot sencillo solo utiliza dos puentes H para manejar cada uno de los motores, se utilizo el LM386 para la obstrucción del puente H aqui esta el enlace de como hacerlo http://micropinguino.blogspot.com/2011/04/puente-h-con-el-lm386.html
Solo utilizo cuatro terminales configurados como salidas digitales.
Modo de operación
Este es el vídeo que corresponde al código de ejemplo
Aquí esta el código utilizado:

//Prototipos de las funciones utilizadas
void adelante();
void atras();
void parar();
void giroDerecha();
void giroIzquierda();
//Configuracion
void setup(void){
   pinMode(0,OUTPUT);   
   pinMode(1,OUTPUT); 
   pinMode(2,OUTPUT);   
   pinMode(3,OUTPUT);   
}
//prueba de los diferentes movimientos
void loop(void){
   adelante();
   delay(5000);
   giroDerecha();
   delay(3000);
   adelante();
   delay(3000);
   giroIzquierda();
   delay(3000);
   atras();
   delay(3000);
   parar();
   delay(5000);
}
//funciones utilizadas
void adelante(){
   digitalWrite(0,LOW);
   digitalWrite(1,HIGH);
   digitalWrite(2,HIGH);
   digitalWrite(3,LOW);
}
void atras(){
   digitalWrite(0,HIGH);
   digitalWrite(1,LOW);
   digitalWrite(2,LOW);
   digitalWrite(3,HIGH);
}
void parar(){
   digitalWrite(0,LOW);
   digitalWrite(1,LOW);
   digitalWrite(2,LOW);
   digitalWrite(3,LOW);
}
void giroDerecha(){
   digitalWrite(0,LOW);
   digitalWrite(1,HIGH);
   digitalWrite(2,LOW);
   digitalWrite(3,HIGH);
}
void giroIzquierda(){
   digitalWrite(0,HIGH);
   digitalWrite(1,LOW);
   digitalWrite(2,HIGH);
   digitalWrite(3,LOW);
}