Autor Tema: Pulsador electrónico con enclavamiento  (Leído 25792 veces)

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

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Pulsador electrónico con enclavamiento
« Respuesta #30 en: 24 de Enero de 2012, 04:00:45 »
Excelente circuito  :-/

Lo estoy probando y anda rebien   :mrgreen:

No había usado los diodos de esa manera :/ , no la entendía ,esta rebuena xD

Saludos y gracias!!

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: Pulsador electrónico con enclavamiento
« Respuesta #31 en: 11 de Noviembre de 2013, 23:41:09 »
voy a reflotar este post, me parece interesante....
yo acabo de hacer un capacimetro con un 16f886 el cual con el pin de mclr, un transistor pnp(2N3906)y la instruccion restart_cause no he tenido ningun problema
el transistor alimenta a un 555 y a el lcd.... con lo cual el consumo con el capacimetro en sleep no consume ni 300uA....

lo primero es habilitar una salida del pic para el polarizar la base del transistor PNP, lo segundo habilitar el pic MCLR....

Código: [Seleccionar]
setup_oscillator(OSC_NORMAL);          //config oscilador
    set_tris_a(0xFF);                                     //entradas para reducir consumos de fugas
    set_tris_b(0xFF);                                     //
    set_tris_c((0b01011111));                        //salidas para el control del transistor de alimentacion y el de escala de uf
    output_c(0b10100000);                            //activadas las 2 salidas para los pnp
   
    //setup_timer_2(t2_div_by_16,255,1);
    //setup_ccp1(ccp_pwm);
    setup_comparator(NC_NC_NC_NC);
    setup_adc_ports(no_analogs);
    setup_wdt(WDT_OFF);
   
    reset_sleep=restart_cause();                     

    switch(reset_sleep){
        case MCLR_FROM_RUN: set_tris_a(0xFF);     //si el reset se produjo en marcha
                            set_tris_b(0x11111111);         //entradas
                            set_tris_c(0b01011111);         //entradas
                            output_c(0b10100000);       
                            delay_ms(300);
                            sleep();                                 //lo duermo si se ha producido reset estando en marcha el uc(imito el stanby), cuando pulse de nuevo el reset
                            break;                                   //se despertara, hasta que vuelva a resetear el pic volviendo a cumplirse la condicion

        case WDT_TIMEOUT:   set_tris_a(0x00);
                            set_tris_b(0x01);
                            set_tris_c(0x1E);

                            output_low(pin_C7);
                            output_high(pin_C5);
                            lcd_init();
                            lcd_putc("     ERROR!     ");
                            delay_ms(800);
                            lcd_putc("\f");
                            delay_ms(800);
                            lcd_putc("     ERROR!     ");
                            delay_ms(800);
                            lcd_putc("\f");
                            delay_ms(800);
                            lcd_putc("     ERROR!     ");
                            delay_ms(800);
                            lcd_putc("\f");
                            delay_ms(2000);
                            lcd_putc("     ERROR!     ");
                            output_high(pin_C7);
                            output_high(pin_C5);
                            sleep();
                            break;
    }

    set_tris_a(0x00);                            //saliendo del sleep, el microcontrolador continua con su rutina...
    set_tris_b(0x01);                            //esperando el reset
    set_tris_c(0x1E);

    output_low(pin_C7);
    output_high(pin_C0);
    output_high(pin_a0);
    output_high(pin_a1);

    delay_ms(20);
    lcd_init();
    lcd_putc("\f   Calibrando   \n   Espere....   ");

yo lo estoy probando y va de maravilla... 0 problemas, rapido, facil, al alcanze de todos y barato.... (1 pulsador y 1 transistor y una resistencia)...

un saludo gente
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...


Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re:Pulsador electrónico con enclavamiento
« Respuesta #33 en: 29 de Junio de 2018, 00:17:25 »
Hola a todos!

Les comparto el diagrama electrónico , lo uso para encender el uC conectado a una batería cr2032. Solo enciendo unos LEDs y requiero máximo 30mA.
Con el mismo botón cambio de secuencia.




Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5878
    • Picuino
Re:Pulsador electrónico con enclavamiento
« Respuesta #34 en: 29 de Junio de 2018, 01:43:55 »
Incluso puedes sustituir Q2 por una salida del micro.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re:Pulsador electrónico con enclavamiento
« Respuesta #35 en: 29 de Junio de 2018, 04:47:32 »
Incluso puedes sustituir Q2 por una salida del micro.

Eso me gusta, lo voy a probar. ((:-))

Gracias por el tip!

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5878
    • Picuino
Re:Pulsador electrónico con enclavamiento
« Respuesta #36 en: 29 de Junio de 2018, 05:25:25 »
Si eso te gusta, todavía hay más.
Puedes sustituir los diodos por una resistencia de 4k7 y utilizar un solo pin (conectado a la puerta del transistor) para leer el pulsador y activar el transistor Q1 .

El truco está en apagar un momento los leds, poner la salida a nivel alto durante un ciclo, poner la salida en alta impedancia y leer su valor.
Si está a nivel alto, el pulsador no está presionado. Si está a nivel bajo, el pulsador está presionado.
Luego vuelves a poner la salida a nivel bajo y activar los led.

Como todo esto solo dura unos microsegundos, ni se nota en las luces de los led.

Un saludo.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re:Pulsador electrónico con enclavamiento
« Respuesta #37 en: 29 de Junio de 2018, 13:45:54 »
Si eso te gusta, todavía hay más.
Puedes sustituir los diodos por una resistencia de 4k7 y utilizar un solo pin (conectado a la puerta del transistor) para leer el pulsador y activar el transistor Q1 .

El truco está en apagar un momento los leds, poner la salida a nivel alto durante un ciclo, poner la salida en alta impedancia y leer su valor.
Si está a nivel alto, el pulsador no está presionado. Si está a nivel bajo, el pulsador está presionado.
Luego vuelves a poner la salida a nivel bajo y activar los led.

Como todo esto solo dura unos microsegundos, ni se nota en las luces de los led.

Un saludo.

Va a quedar muy minimalista   :mrgreen: ,

Gracias por los tips.

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re:Pulsador electrónico con enclavamiento
« Respuesta #38 en: 30 de Junio de 2018, 01:45:32 »
Incluso puedes sustituir Q2 por una salida del micro.

Al realizar las pruebas sin Q2 recorde el porque de ese transisror, se energiza el micro por lo pines de entrada/salida mediante los diodos internos de protección.

XD saludos!


Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5878
    • Picuino
Re:Pulsador electrónico con enclavamiento
« Respuesta #39 en: 30 de Junio de 2018, 09:41:34 »
Es verdad, no lo había visto.


 

anything