Entrenadora para los pics 16F877A y 18F4550

Para saber mas sobre esta entrenadora visita el enlace.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

lunes, 26 de septiembre de 2011

Convertidor - Digital Análogo -

 Otro modulo mas para la Multiboard-Pic Trainer, es un modulo DAC, convertidor Analógico a Digital.

El modulito es bastante sencillo, el Integrado a usar es el DAC0808 y un pequeño Opam el famoso 741.






Lista de Materiales:

  • DAC0808.
  • LM741.
  • 2 Resistencias 4.7 K.
  • 1 Resistencia 330.
  • 1 Trimmer 10 k.
  • 1 Capacitor 15pF.
  • Tira de pines Dobles y simples.
  • 1 Led.
Esquemático:




Ubicación de los componentes:





Descarga:

domingo, 28 de agosto de 2011

Reparando Tablero Jetta A3

El tablero de mi Jetta A3 no servia, no marcaba ni las R.P.M ni los Km/h, mucho menos aumentaba el kilometraje, tampoco el indicador de temperatura, unicamente servia el reloj y el indicador del tanque. Busque en la red y están un poco caros.. Y ya que no me puedo quedar con las ganas de destapar algo lo hice e intente repararlo.

Les dejo unas fotos:


Pues empezamos a destapar el tablero, demasiada electrónica junta me emociona.


Este es el indicador de temperatura, es una resistencia debe marcar un valor de 56 ohms aproximadamente. 


En estas fotos ya quite el indicador, para retirarlo únicamente ay que tirar de el hacia arriba.

Esta es la parte posterior del tablero.


En la esquina superior derecha se ve como están calcinadas un par de resistencias, 


Actualización:

Subiré un par de fotos mas, conseguí otro tablero que no funciona, es que no encontré el diagrama del tablero, y la verdad desmontar el mio sería un rollo.


De izquierda a derecha tenemos:

  • Dos capacitores electrolíticos: 220 uF a 16V
  • 1 capacitor de 47nF (El verde)
  • 1 Diodo 1N4005
  • 1 Resistencia de 681 Ohms
  • 1 Capacitor de 25pF
  • 1 Diodo 1n4148
  • 1 Resistencia de 681 ohms
  • 1 Resistencia de 12 ohms
  • 1 capacitor de 100nF
  • Donde puse una linea roja use una resistencia de 1K
  • 1 Diodo 1N4005




jueves, 4 de agosto de 2011

Taller de Trabajo

Les muestro mi lugar de trabajo ese lugar donde la mayoría del tiempo pienso que hacer pero realmente no las hago, jaja, que mas quisiera tener muchas horas y poder dedicarlas a lo que mas me gusta, la electrónica.

(No hagan caso del tiradero.)
En la siguiente foto a la derecha esta el gabinete donde duermen los integrados, capacitores, resistencias, herramientas y demás cachibaches, todos debidamente ordenados para que no existan conflictos.
Se puede ver la plancha ya jubilada, la concentida del taller es la enmicadora
Una foto de antaño, cuando estaba terminando la Multiboard Pic Trainer, con mi palm, la fuente de poder, y el quemador de Pics.


Una fotografia para el recuerdo, Mis plaquetas y mi AcerAspireOne juntas, y como paisaje la mesa de trabajo ordenada como nunca.
No duro mas de 1 dia de esa forma!!
La siguiente foto no es de mi taller propio es del lugar donde trabajo, ¡¡Como quisiera tener esos juguetes en mi casa!!
Cuando tome la foto, había logrado comunicar mi desarrollo con el Software de mi  compañero.

Actualización 29/03/2013
Nuevas tomas al taller:

Adquirí dos cajoneras grandes para guardar cables, y demás cacharros que voy juntando, y una organizador con pequeños cajones para tener los componentes separados y a la mano.


Dentro del casillero, sigo guardando mis herramientas y otras cosas, al cerrarlo no se ve tanto desorden.



Realmente le caben bastantes cosas.


Ya todo se ve con mas orden. Aun le falta bastante para ser un buen taller/lab de electrónica, poco a poco.

¿Tu también tienes algún espacio de trabajo? Muestralo!!

Saludos!!!

domingo, 26 de junio de 2011

Modulo RTC -Real Time Clock-

Este es el modulo de RTC (Real Time Clock) o Reloj de Tiempo Real.
Lo hice para trabajar junto a mi Entrenadora, ya que eso de usar el protoboard no es para mi..


El diseño del circuito es bastante simple, la estrella de este modulo es el integrado DS1307 un integrado de tan solo 8 pines y para que no quedara tan simplona le e agregado tambien una memoria EEPROM, ya que ambos trabajan con el protocolo I2C.

Lista de Materiales

  • DS1307
  • Xtal 32.768 Khz
  • Base para batería CR-2032
  • Memoria EEPROM 24C04
  • Transistor BC548
  • Led
  • Resistor de 10k, 220, 470 y 2 de 4.7k.
  • Capacitor de 100nF
Esquematico

Ubicación de los componentes:



Descarga



Saludos!!



martes, 19 de abril de 2011

PCB con Enmicadora

El domingo pasado e adquirido un nuevo cacharro para mi taller, una Enmicadora (También conocida como Plastificadora o Laminadora) las mismas que tienen en las oficinas o papelerías y te plastifican tus credenciales. Y no es que me halla decidido a poner una papelería o algo así, la utilizo para dejar a un lado la plancha e intentar hacer diseños cada ves mas compactos y con pistas mas finas y con una terminación mas profesional.

El proceso de Fabricacion es el mismo que utilizo con el metodo de la plancha, incluso es el mismo papel y la misma impresora unicamente lo que hago es en lugar de planchar meter la baquelita en la enmicadora y darle algunas pasadas (Si algunas eso es lo malo, no calienta demasiado). La laminadora es una Scotch TL901

Los resultados son observablemente mayores:


El integrado es un TQFP100 y las pistas son T8 (Ares).. 

Este es otra obra que hize con mi Enmicadora.

Saludos!!!

jueves, 3 de marzo de 2011

Servomotor y Pic

Controlando un Servomotor con un pic16f877, por medio de la interrupción del timer0.
Código que realice para entender el funcionamiento del servomotor, aclaro que no es la única forma de realizarlo, y no conozco cual sea la mejor, esta es la primera aplicación que realizo para controlar uno.Si crees que un poco de teoría no te vendrá mal te recomiendo este link: [Servomotor]Bueno si ya conoces la teoría, o eres de los que creen que aquí ay que arriesgar, manos a la obra. 


Estoy usando el pic16f877a, 3 botones, 1 lcd, y por su puesto un Servo.

Como ya sabemos la forma de controlar el servo es por medio de PWM, osea un tiempo en alto y otro en bajo, a una frecuencia de 50hz -Osea todo el ciclo completo cada 20mS-, mi servo es el de la imagen, usado en aeromodelismo, no cuenta con datasheet, -no tiene marca- y no hace un giro exacto de 180º, Su tiempo de operación ronda de los 0.7mS para 0º y 2.7mS para hacer un giro de -casi- 180º.



[Código]
#include <16f877a.h>
#use delay(clock=20000000)
#fuses HS, NOWDT, NOLVP, NOPROTECT
#define LCD_E     PIN_d0
#define LCD_CK    PIN_d1
#define LCD_DAT   PIN_d2
#define LCD_LED   PIN_d3
#include <3pins.c>
#use fast_io(B)

int cont=0;
int pos=16;

#int_timer0                 
 void Pwm()
  {
   set_timer0(150);
   cont++;

   if(cont>=200)
      {
       cont=0;
      }
   if(cont<pos)
    {
      output_high(PIN_B0);
    }
   if(cont=pos)
    {
      output_low(PIN_B0);
    }
  }
void main()
 {
  lcd_init();
  set_tris_b(0b11111110);                   // Pin B0 como salida,
  setup_timer_0(RTCC_INTERNAL|RTCC_DIV_4); // Preescaler de 4
  EXT_INT_EDGE(l_TO_H);                   // se desborda de Alto a bajo
  enable_interrupts(INT_timer0);         // Activar timer0
  enable_interrupts(global);            // Activar Interrupciones Globales
  set_timer0(150);

   while(1)
    {
    lcd_gotoxy(1,1);
    printf(lcd_putc,"Posicion: ");

    if(Input(Pin_b4))
      delay_ms(100);
    if(Input(Pin_b4))
     {
      pos=7;
      lcd_gotoxy(1,2);
      printf(lcd_putc,"     0 Grados  ");
     }

    if(Input(Pin_b5))
      delay_ms(100);
    if(Input(Pin_b5))
     {
      pos=15;
      lcd_gotoxy(1,2);
      printf(lcd_putc,"     90 Grados  ");
     }

    if(input(pin_b6))
      delay_ms(100);
    if(Input(Pin_b6))
     {
      pos=27;
      lcd_gotoxy(1,2);
      printf(lcd_putc,"     180 Grados  ");
     }
    }
}

[Descripción del código]

El objetivo del código es que al presionar un botón conectado al pin_B4 ponga en alto por 0.7mS el pin_B0 del pic y transcurrido ese tiempo mantenga ese pulso en bajo por 17.3mS, y repetir este proceso indefinidamente, asegurando el ciclo de trabajo por 20mS. -De similar forma para 90º y 180º con sus respectivos tiempos-.
La forma en la que logro esto es usando el timer0, el cual usando el oscilador de 20Mhz, iniciando el timer0 con un valor de 150 y con un preescaler de 4 obtengo que cada 100uS  -0.1 mS- el timer0 desvordara y atenderá la interrupción llamada #int_timer0, dentro de esta interrupción ay una variable llamada cont, la cual contara las veces que desborda el timer0, dentro de esta misma función ay 3 condiciones, la primera reviza si el contador no a sobrepasado los 200 desvordamientos para no superar los 20mS (200 * 0.1mS = 20mS), una ves que sobrepase el contador se reinicia a 0, la otra condición es para poner el servo en la posición indicada por los botones, (B4, B5, B6). Por ejemplo si queremos ponerlo en 90º presionamos el boton B5, el cual tiene un valor de 15 en la variable pos la cual es checada en la segunda condición, la cual compara el valor cont con el valor pos y si cont es menor a pos pone en alto el pin_B0, y la tercera es cuando los dos valores son idénticos apaga esta señal por los 18.5mS restantes (185 desbordamientos).

[Vídeo]




Aquí la representación visual de todo lo dicho.