Autor Tema: PIC16f84 alimentado con 5V + pila en caso de desconexion  (Leído 15764 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #30 en: 17 de Julio de 2013, 01:05:21 »
Que tal ituarte,

No se si todavía estes trabajando en ese asunto, pero aqui esta otra forma de hacer tu cricuito de conteo descendente eliminando todos tus circuitos integrados, Usando solamente el PIC, los displays, 5 transistores y algunas resistencias.

Saludos,

El reypic

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #31 en: 17 de Julio de 2013, 06:56:59 »
Sigo trabajando... tiene que ser por algun corto o algo parecido ya que conecto un led en la fuente y luce perfecto, pero en el momento que saco el cable al circuito blinkea, puede ser por conectar los displays directamente a tierra en vez de al transistor?

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #32 en: 17 de Julio de 2013, 07:27:02 »
Código: [Seleccionar]
/////////////////////////////////////////////////////////////////////////
////                        GREENHOUSE CORE                          ////
////                                                                 ////
////  Countdown timer logic.                                         ////
////                                                                 ////
////  Configure PIC as follows:                   ////
////     LED seg a    Pin B0                                         ////
////     LED seg b    Pin B1                                         ////
////     LED seg c    Pin B2                                         ////
////     LED seg d    Pin B3                                         ////
////     LED seg e    Pin B4                                         ////
////     LED seg f    Pin B5                                         ////
////     LED seg g    Pin B6                                         ////
////     LED Control 1  Pin A0                                       ////
////     LED Control 2  Pin A1                                       ////
////     LED Control 3  Pin A2                                       ////
////                                                                 ////
////  Jumpers:                                                       ////
////     PCB        pin A2 to RS232 RX, pin A3 to RS232 TX           ////
////     PCM,PCH    pin C7 to RS232 RX, pin C6 to RS232 TX           ////
////                                                                 ////
////  This example will work with the PCB, PCM and PCH compilers.    ////
////  The following conditional compilation lines are used to        ////
////  include a valid device for each compiler.  Change the device,  ////
////  clock and RS232 pins for your hardware if needed.              ////
/////////////////////////////////////////////////////////////////////////
////        (C) Copyright 1996,2003 Custom Computer Services         ////
//// This source code may only be used by licensed users of the CCS  ////
//// C compiler.  This source code may only be distributed to other  ////
//// licensed users of the CCS C compiler.  No other use,            ////
//// reproduction or distribution is permitted without written       ////
//// permission.  Derivative programs created using this software    ////
//// in object code form are not restricted in any way.              ////
/////////////////////////////////////////////////////////////////////////

#if defined(__PCB__)
#include <16C56.h>
#fuses HS,NOWDT,NOPROTECT
#use delay(clock=4000000)
//#use rs232(baud=9600, xmit=PIN_A3, rcv=PIN_A2)

#elif defined(__PCM__)
#include <16F877.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
//#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

#elif defined(__PCH__)
#include <18F452.h>
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
//#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)
#endif

void number(int num)  {
output_low(PIN_B0);
output_low(PIN_B1);
output_low(PIN_B2);
output_low(PIN_B3);
output_low(PIN_B4);
output_low(PIN_B5);
output_low(PIN_B6);
switch(num)  {
case 0:
output_high(PIN_B0);
output_high(PIN_B1);
output_high(PIN_B2);
output_high(PIN_B3);
output_high(PIN_B4);
output_high(PIN_B5);
break;
case 1:
output_high(PIN_B1);
output_high(PIN_B2);
break;
case 2:
output_high(PIN_B0);
output_high(PIN_B1);
output_high(PIN_B3);
output_high(PIN_B4);
output_high(PIN_B6);
break;
case 3:
output_high(PIN_B0);
output_high(PIN_B1);
output_high(PIN_B2);
output_high(PIN_B3);
output_high(PIN_B6);
break;
case 4:
output_high(PIN_B1);
output_high(PIN_B2);
output_high(PIN_B5);
output_high(PIN_B6);
break;
case 5:
output_high(PIN_B0);
output_high(PIN_B2);
output_high(PIN_B3);
output_high(PIN_B5);
output_high(PIN_B6);
break;
case 6:
output_high(PIN_B0);
output_high(PIN_B2);
output_high(PIN_B3);
output_high(PIN_B4);
output_high(PIN_B5);
break;
case 7:
output_high(PIN_B0);
output_high(PIN_B1);
output_high(PIN_B2);
break;
case 8:
output_high(PIN_B0);
output_high(PIN_B1);
output_high(PIN_B2);
output_high(PIN_B3);
output_high(PIN_B4);
output_high(PIN_B5);
output_high(PIN_B6);
break;
case 9:
output_high(PIN_B0);
output_high(PIN_B1);
output_high(PIN_B2);
output_high(PIN_B5);
output_high(PIN_B6);
}
}

void control(int place)  {
switch(place)  {
case 0:
output_high(PIN_A0);
output_high(PIN_A1);
output_high(PIN_A2);
break;
case 1:
output_low(PIN_A0); 
output_low(PIN_A1);
output_low(PIN_A2);
break;
case 2:
output_high(PIN_A0);
output_low(PIN_A1);
output_low(PIN_A2);
break;
case 3:
output_low(PIN_A0);
output_high(PIN_A1);
output_low(PIN_A2);
break;
case 4:
output_high(PIN_A0);
output_high(PIN_A1);
output_low(PIN_A2);
break;
case 5:
output_low(PIN_A0);
output_low(PIN_A1);
output_high(PIN_A2);
}
}

void main() { 
  int i;
  int uni, dec;

 //set_tris_b(0);
 //output_b(0); 

control(1);
number(5);
control(2);
number(4);
control(3);
number(3);
control(4);
number(2);
control(5);
number(1);



/*
  for(i=1;i<=5;i++)  {
  control(i);
  number(10);
}
*/ /*
control(1);
for(i=3;i>=0;i--)  {       
   number(i);
//delay_us(10);
}

 

 //while(TRUE) {   }
  control(4);
   for(i=99;i>=0;i--)  {
   uni=i%10;    
   number(uni);
   
   /*if(uni==999.7687)  {
   dec=i/10;
   control(10);
   number(dec);
   control(5);    
   //delay_ms(50);
   control(10);
   } */
//}
 //}
 
}

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #33 en: 17 de Julio de 2013, 14:42:30 »
Que tal ituarte,

Tu codigo tiene problemas de lógica y creo que por eso tienes ese problema.

He realizado un código de contador descendente y trabaja muy bien en la simulacion.
Te adjunto los archivos de la simulacion y el codigo en C (CCS compiler). Para que lo pruebes

Saludos,

Elreypic.

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #34 en: 18 de Julio de 2013, 00:03:28 »
Hola, en el codigo solo queria mostrar 1 - 2 - 3 - 4 - 5 era para probar si todo funcionaba correctamente


Voy a simular tu codigo y tu esquematico y si funciona hago los cambios en la protoboard y te informo :)

Mi idea es hacer un contador descendente de 86400 (segundos en un dia) en plan motivador
« Última modificación: 18 de Julio de 2013, 00:14:38 por ituarte »

Desconectado faacuunndoo

  • PIC10
  • *
  • Mensajes: 32
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #35 en: 18 de Julio de 2013, 13:52:22 »
Buenas, espero no llegar tarde. Si lo que querés hacer es que cuando se desconecta de la corriente siga funcionando (como una luz de emergencia) podés utilizar una compuerta NOT modificada, si tenés el LiveWire fijate que hay un archivo con varias compuertas armadas como son internamente (transistor, diodos, resistencias),  yo modifiqué una NOT e hice una luz de emergencia, no recuerdo cómo era pero experimentando con el simulador ya te vas a dar una idea. Obviamente le tendrías que colocar un capacitor para cuando cambie de corriente alterna a la batería no se le vaya la alimentación por unos milisegundos.
Saludos!
TatuBlog.com.ar
Blog de electrónica, DIY y mucho más!
English y Español![/b]

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #36 en: 19 de Julio de 2013, 01:06:55 »
Lo de la alimentacion, desactivare las salidas del pic cuando lo desconecto de Vcc para dure mas la bateria y siga contando


Hay una cosa que me sigue fallando, cuando un display llega a 0, en vez de desactivarse queda un hilillo de luz (muy debil) supongo que es por la intensidad residual... es posible que esto sea por no haber puesto unas resistencias?
« Última modificación: 19 de Julio de 2013, 01:22:24 por ituarte »

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #37 en: 19 de Julio de 2013, 01:20:46 »
Hey ituarte,

Que bien, cual fue el problema. O mas bien como lo resolviste?

elreypic

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #38 en: 19 de Julio de 2013, 01:27:19 »
Hey ituarte,

Que bien, cual fue el problema. O mas bien como lo resolviste?

elreypic


Soluciones:
- El problema del blinkeo se debia a una mala conexion. Ya que fui probando parte a parte y ni blinkeaba ni se calentaba el 7805. Por lo cual el problema debia estar en alguna conexion de los displays (lo desmonte y volvi a montar)
- Tuve algun problema con el PIC y era debido a que algun condensador estaba averiado y el xtal no funcionaba adecuadamente (los cambie y se soluciono)
- Utilize tu codigo y lo edite para mi montaje con los flip-flops

Errores:
Hilillo de luz residual

Pendiente:
Conectar el cargador de baterias Li-ion y probar si al desconectar el Vcc se apagan los Displays pero el PIC sigue con la cuenta atras



Desconectado faacuunndoo

  • PIC10
  • *
  • Mensajes: 32
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #39 en: 19 de Julio de 2013, 13:54:01 »
Pusiste las resistencias pull-down?
Saludos!
TatuBlog.com.ar
Blog de electrónica, DIY y mucho más!
English y Español![/b]

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #40 en: 20 de Julio de 2013, 03:22:57 »
Pusiste las resistencias pull-down?
Saludos!

No, del PIC van a los Flip-Flops y de ahi al display. he solucionado el tema poniendo un 0 en vez de apagandolos

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #41 en: 22 de Julio de 2013, 07:09:23 »
Cuando conecto la parte de los Displays el 7805 se calienta demasiado funcionar funcionad pero no creo que tanto calor sea bueno, he puesto un disipador pero aun asi se calienta muchisimo.
Cuando desconecto los displays se enfria rapidamente...

alguna manera de reducir este calentamiento?

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #42 en: 25 de Julio de 2013, 21:04:41 »
Que tal Ituarte,

Como va todo?

Saludos,

elreypic.

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #43 en: 26 de Julio de 2013, 08:43:10 »
He diseñado la PCB de la parte de los displays, para poder hacer pruebas reales. Espero tenerla hecha para la semana que viene. Comento novedades

Desconectado ituarte

  • PIC12
  • **
  • Mensajes: 69
Re: PIC16f84 alimentado con 5V + pila en caso de desconexion
« Respuesta #44 en: 29 de Julio de 2013, 02:45:16 »
He testeado el cicuto parte a parte y funciona todo perfecto menos cuando conecto los flip-flops.

Con solo conectar un solo flip-flop a la VCC que sale del 7805 se empieza a calentar rapida y excesivamente... no entiendo el porque

En la imagen se puede ver el testeo que hago ( Solo conecto un flip-flop) los demas no los pongo en protoboard


 

anything