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.

miércoles, 2 de marzo de 2011

Servomotor DC

A mi parecer unos de los elementos mas interesantes en la construcción de los Robots son los Servomotores, y ya que mi carrera esta enfocada a la Robotica es imprescindible hacer uso de ellos. ¿Pero que son? Bueno intentare explicarlos a continuación.                             
Si ya estas empapado de información y mucha teoría acerca de que son y como esta conformados y lo que realmente quieres es hacer mover un servomotor, te recomiendo visites este enlace: Servomotor [CCS]





[Introducción]
       Un servomotor -también llamado servo- es un dispositivo similares a los motores de corriente continua, y lo que  lo caracteriza es que puede ubicarse en cierta posicion dentro de su rango de operación -la cual varia en cada servo- y mantenerse estable en dicha posición.
         Su componente principal es un motor de corriente continua, básicamente al aplicar un voltaje al motor girara en un sentido a una velocidad considerable pero con un torque muy bajo, para aumentar el torque de este se usa una caja reductora, la cual transforma la velocidad de giro del motor en torsión.


[Componentes]
Los componentes básicos del servomotor son los siguientes:
  • 1) Motor de CC: Es el actuador del servomotor es el dispositivo que genera el movimiento.
  • 2) Tren de engranajes: Son los encargados de darle al servomotor una de sus mejores características, un buen torque.
  • 3) Potenciometro: Es el elemento que conectado a la circuiteria nos indica en que posición se encuentra el servomotor.
  • 4) Circuito de control: Es toda la circuiteria interna que procesa la señal PWM, genera el cambio de giro del motor y procesa la lectura del potenciometro para indicarnos en que angulo se encuentra.

[Funcionamiento]
La modulación por ancho de pulsos o PWM (power width modulation), es el sistema mas empleado para el control de servomotores, ¿Como funciona esto? Básicamente se le tiene que estar aplicando un pulso periódico, para que el servomotor se posicione en un punto especifico, ¿Y si dejo de aplicarle dicho pulso? Si al servo se le deja de aplicar este pulso dejara de ejercer una fuerza y cualquier fuerza externa podrá hacer girar el eje del motor aunque este conectado a la alimentación. Así que para mantener al servo en la misma posición   y no quede expuesto a perderla, se necesita mandarle el mismo pulso repetidas veces.
Cada servomotor tiene condiciones distintas de operación tanto en su alimentación que varia de 4 a 8 volts, el giro maximo que pueden realizar -Normalmente de 0 a 180º- así como la duración del pulso que varia entre 1mS y 3 mS, normalmente la frecuencia a la que se operan es a 50hz quiere decir que todo el ciclo de operación (Tiempo en alto y bajo del pulso) se ejecutara cada 20 mS, aunque en ciertos casos el ciclo de operación puede rondar entre 10 y 30 mS sin ningún problema. 
Haciendo cuentas, si operamos el servomotor a 50Hz, y queremos posicionar nuestro servomotor en 180º, mandamos un pulso en alto con una duración de 3mS (o depende del servo) luego ese pulso se detendra (Mantener en bajo dicho pulso) 17mS  y se repetirá este ciclo indefinidamente y así poder asegurar que el motor no quedara expuesto a fuerzas externas que muevan el eje.


[Conexiones]
Los servomotores tienen 3 terminales, 2 corresponden a la conexión eléctrica y el 3ro por donde inyectaremos nuestra señal, esta terminal la podemos conectar directamente a cualquier microcontrolador ya que internamente trae su etapa de potencia. De acuerdo a la marca del servomotor estas terminales pueden ser de distintos colores. Aquí las mas comunes:

[Vídeo]
Si no entendiste ni media palabra de lo que e dicho, encontre un video en youtube, el cual puede dejar mas claro, esto de los servos. 




Como mencione antes, los servomotores pueden girar de 0 a 180º normalmente, existen algunos que llegan hasta 210º, pero si requieres que den giros completos Ariel Palazzesi explica en su pagina como trucar un servomotor.


Saludos!!!

lunes, 21 de febrero de 2011

Modulo LCD con 3 pines

Este es otro modulo para la Multiboard PicTrainer y es para utilizar una LCD únicamente con 3 pines del pic.







Mas o menos imaginando un poco la apariencia final debe lucir de esta manera:


Breve descripción:


Para este modulo de lcd ocupo la librería LCD con 3 pines, la conecto a la multiboard por medio de un solo cable IDC, 3 pines son para el control de la lcd y el cuarto es para el encendido o apagado del backlight por medio de software y el switch de la parte de arriba es para encender o apagar el mismo de forma manual.


Esquemático:
Materiales:
Materiales Necesarios
  • 1 Resistor 1k
  • 1 Resistor 220
  • 1 CI 74LS164
  • 1 Trimpot Multivuelta
  • 1 BC548
  • 1 Switch
  • Tira de Pines Macho doble.
  • Tira de pines hembra individuales.
  • PCB, estaño, cable, flux, etc.


Posición de los componentes:
Algunas fotos mas:
Resultado Final
[Descarga el PCB]
[Layout en Ares, pcb en pdf y esquemático]

sábado, 19 de febrero de 2011

Medidor LC


Bueno e decidido hacer un medidor de Inductancias y Capacitancias, mi multimetro trae integrado la lectura de capacitancias pero su rango no es muy amplio, así que pensé que no seria mala idea contar con esta herramienta ahora que poco a poco voy integrando mas herramientas a mi pequeño taller...

En distintas paginas, foros y blogs de personas que visito me encuentro con que ya tienen su medidor LC, bueno por que no tener el mio.. Este proyecto aun no lo termino en su totalidad quisiera dejarlo como una herramienta ya echa y derecha para mi taller, así que aun faltan muchos detalles, así que estoy en pruebas, como no tenia gran idea de como hacer este medidor me e guiado de estas paginas para lograr mi cometido.
Ok manos a la obra... el primer paso fue conseguir los componentes jejeje Si!! ya que en mi pueblo es mucho rollo conseguir hasta bobinas.. fuera de bromas arme el siguiente circuito que es el que presenta Suky en su web y comenta que lo realizo NANO1985:

Aqui se encuentra el diagrama completo realizado por NaNo1985: [Click]
Bueno pero que hace este circuito? El LM311 funciona como Oscilador, y su frecuencia depende de las inductancias y capacitancias del circuito resonante, en teoria si no colocamos ningun elemento, este circuito estara oscilando a una frecuencia aproximada de 555800 hz y colocando un Inductor o Capacitor su frecuencia cambiara.

¿¿ Y luego que ?? Si lo que quiero es conocer la Inductancia y Capacitancia de algunos elementos no conocer su frecuencia, bueno para esto están estas formulitas:

Ya tengo cargado en el pic el firmware que lee la frecuencia, ahora el siguiente paso es usar estas formulas para conocer el valor de los componentes.



 Continuara (Hasta que consiga las bobinas necesarias )...

domingo, 13 de febrero de 2011

Modulo IDC-Protoboard

Pues bueno no ay mucho que hablar de este modulo, es demasiado sencillo pero si muy útil, Es para conectar la multiboard PicTrainer al protoboard. Así no tienes que hacer módulos específicos para cada aplicación que vallas a realizar.
Unas fotitos:




[Descargar]
(Diseño en Ares)