Activar ventiladores con un PIC
Resultados 1 al 10 de 10

Tema: Activar ventiladores con un PIC

  1. #1
    Usuario
    Mensajes
    728
    Gracias
    92
    Agradecido 93 veces en 77 posts

    Activar ventiladores con un PIC

    Hola:

    Tengo intención de hacer algo con un PIC pequeño que puede ser el 12F508 o el 12C509 que son los que tienen el local últimamente. Consiste en pulsar un botón conectado al PIC12F508 y active un ventilador de PC o cooler. A los 3 minutos de funcionamiento, se enciende un aparato listo para ser refrigerado gracias al ventilador. Cuando quiera apagar el aparato, pulso el botón del PIC12F508 y el aparato se apaga, mientras el ventilador sigue en funcionamiento durante 5 minutos, luego se apaga.

    También se puede hacer con un PIC16F84A.

    Este es el funcionamiento. Quería hacerlo mediante retardos pero el PIC se queda esclavo, mejor con el timer0.

    ¿Alguna sugerencia sobre el diseño de este pequeño circuito?

    Saludo.

  2. #2
    Usuario Avatar de Yesbond
    Mensajes
    838
    Gracias
    317
    Agradecido 434 veces en 237 posts
    Hola Meta,
    Creo que hay varias formas de hacerlo, ya sea con un transistor de potencia, un rele, un mosfet y creo que hay otros cuantos por hay. Que tienes hecho hasta el momento?, como lo has pensado?, que tipo de fuente usas?
    A mi me gusta en estos casos los rele, porque me siento mas seguro y protegido el microcontrolador; pero pues abran mas opinones, y lo mejor seria que nos muestres lo que has hecho y hay te sugerimos y tu decides cual es la mejor opcion.

    Saludos

  3. #3
    Usuario
    Mensajes
    728
    Gracias
    92
    Agradecido 93 veces en 77 posts
    Estaba haciendo otra prueba pero no me sale en asm.

    Con un sólo pulsador quiero hacer esto.
    - Si pulso RA4 una vez, se activa los ventiladores y enciende el aparato. El Led Verde enciende, Rojo y Naranja apagado.
    - Si vuelvo a pulsar el mismo pulsador RA4, se apaga el aparato, los ventiladores se quedan encendido al menos 2 minutos, Led se apaga el Verde, Rojo apagado y Naranja encendido.
    - Cuando pasen los 2 minutos, todos los Led apagado menos el Rojo que se enciende y se queda ahí.

    Ver esquema.
    http://www.subeimagenes.com/img/tacometro-23732.jpg

    Código:
    ************************************* VentiladorDC_01.asm **********************************
    ;
    ;
    ;
    ; ZONA DE DATOS **********************************************************************
    
        LIST        P=16F84A
        INCLUDE        <P16F84A.INC>
        __CONFIG    _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC
    
        CBLOCK 0x0C
        Flag
        ENDC
    
    #DEFINE        Led_Naranja    PORTA,0    ;  
    #DEFINE        Tacometro1    PORTA,1 ; Tacómetro del ventilador 1.
    #DEFINE        Tacometro2    PORTA,2 ; Tacómetro del ventilador 2.
    #DEFINE        Led_Azul_tacometro_2    PORTA,3    ; Interruptor
    #DEFINE        Activar_Ventilador    PORTA,4    ; Interruptor 
    #DEFINE        Led_Verde    PORTB,0    ;
    #DEFINE        Led_Rojo    PORTB,1    ;
    #DEFINE        Ventilador1    PORTB,2    ;
    #DEFINE        Ventilador2    PORTB,3    ;
    #DEFINE        Canal1        PORTB,4    ;
    #DEFINE        Canal2        PORTB,5    ;
    #DEFINE        Ventilador3    PORTB,6    ;
    #DEFINE        Ventilador4    PORTB,7    ;
    
    
    ; ZONA DE CÓDIGOS ********************************************************************
    
        ORG     0
    Inicio
        bsf        STATUS,RP0
        bcf        Led_Naranja
        bsf        Tacometro1
        bsf        Tacometro2
        bcf        Led_Azul_tacometro_2
        bsf        Activar_Ventilador
        clrf    TRISB                    ; Las líneas del Puerto B configuradas como salida.
        bcf        STATUS,RP0
        bcf        Led_Naranja
        bcf        Led_Azul_tacometro_2
    Principal    
        clrw                            ; Con esta combinación se detiene el motor.
    DejaPulsar
        btfss    Activar_Ventilador
        goto    Vent_ON
        goto     DejaPulsar
    
    Vent_ON
        movlw    .1
        movwf    Flag
        movlw    b'11111101'    ; Encender ventiladores.
        goto    ActivaSalida
    
    Vent_OFF
        bsf        Led_Naranja
        call    Retardo_2s
        movlw    b'11001110' ; Apagar ventiladores.
        bcf        Led_Naranja
        goto    ActivaSalida
    
    ActivaSalida
        movwf    PORTB
        btfss    Flag,0
        goto    Vent_OFF
        goto    Principal
    
        INCLUDE <RETARDOS.INC>
        END

  4. #4
    Usuario Avatar de PicTrance
    Ubicación
    Puebla, México
    Mensajes
    298
    Gracias
    339
    Agradecido 142 veces en 78 posts
    hola meta.

    mira este ejemplo en C de CCs
    que escribí como yo entendí basándome en lo del ventilador y el aparato.

    Código:
    #include <12F508.h>
    
    #FUSES NOWDT,INTRC,NOPROTECT, MCLR
    #use delay(clock=4000000)
    #define pulsador     pin_b0 ///gp0
    #define ventilador   pin_b1 ///gp1
    #define aparato      pin_b2 ///gp2
    
    void main()
    {
       int1 x=0;//variable para verivicar entre si encioendo o apago aparato
       int16 i;// variable para el ciclo for
       
       setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
    
       // TODO: USER CODE!!
       set_tris_b(0b00000001);//gp0 como entrada lo demas salida
       output_b(0b00000);//salidas = 0
       while(true){
       
          if (input(pulsador)&& x==0){//pregunto entrada
             delay_ms(300);//delay anti rebotes
             if (input(pulsador)){//vuelvo a prguntar por las cochinas dudas
                x=1;
                output_high(ventilador);//enciendo ventilador
                
                for (i=0;i>=720;i++){///for delay de 3 min
                   delay_ms(250);
                }
                output_high(aparato);///enciendo aparato
             }
          
          }else if(input(pulsador)&& x==1){
             delay_ms(300);
             if (input(pulsador)){
                x=0;
                output_low(aparato);//apago aparato
                
                for (i=0;i>=1200;i++){///for delay de 5 min
                   delay_ms(250);
                }
                output_low(ventilador);///apago ventilador
             }
          }   
       }
    }
    RAM usada = 40%
    ROM usada = 27%

    falta simularlo eso sera después, pues ya hace sueño.

    adjunto *.HEX main.zip
    Última edición por PicTrance; 15/03/2011 a las 01:18
    Si el proyecto tiene mal olor es de Química, Si echa humo negro es de Mecánica, Si es verde o se retuerce es de Bioingenieria Y si no funciona es de Electrónica.. ... no es mia la frase, pero me gusto. Que la corriente te lo premie sino que te lo queme visita mi canal en youtube
    Si le das click Aquí te doy 10 pesos ┌П┐(•_-)┌П┐

  5. Los siguientes 3 usuarios agradecieron a PicTrance por este post:

    bmoex (26/05/2011), Meta (14/03/2011), tropero (26/05/2011)

  6. #5
    Usuario
    Mensajes
    728
    Gracias
    92
    Agradecido 93 veces en 77 posts
    Parece que funciona.

    Muchísimas gracias.

  7. #6
    Usuario Avatar de tropero
    Ubicación
    Perdido en La Plata
    Mensajes
    4
    Gracias
    19
    Agradecido 2 veces en 1 post
    Muchas gracias, PicTrance! Hace tiempo que buscaba algo así para el 508

    Otra vez, gracias.

    Salú2
    Un golpe a tiempo ahorran mil palabras - Mi Mamá
    Animo, que ya estamos llegando... ¿A dónde?

  8. #7
    Usuario Avatar de bmoex
    Ubicación
    argentina, santa fe, rosario
    Mensajes
    350
    Gracias
    289
    Agradecido 167 veces en 101 posts
    hola
    Meta, seria de ayuda q especifiques el consumo y el voltaje del aparato que va a ser refrigerado....
    PicTrance, me debes $10 mi cuenta en el banco Provincial es 2354-4325-234/3.... cumpli tu promesa! XD jajaja

  9. #8
    Usuario Avatar de faiste
    Ubicación
    cartagena colombia
    Mensajes
    539
    Gracias
    544
    Agradecido 211 veces en 120 posts
    hola

    amigo meta te cuento que aunque ya creo que solucionaste el problema tengo mis inquietudes, la primerita, despues de que pasan los 3 minutos y se enciende el aparato el ventilador se apaga? y la segunda es que si es posible me cuentes de que trata este proyecto...

    por optra parte espero me ayuden porque soy un pricipiante en esto de los pic, es decir no se mucho. con respecto al programa de META yo hice esto

    '************************************************* ***************
    '* Name : proyecto META.BAS *
    '* Author : FABIO LUIS SIERRA CASTRO *
    '* Notice : Copyright (c) 2011 SIERRA ELECTRONICS *
    '* : All Rights Reserved *
    '* Date : 26/05/2011 *
    '* Version : 1.0 *
    '* Notes : *
    '* : *
    '************************************************* ***************
    CMCON = 7 ; DIGITALIZA EL PUERTO A
    SYMBOL PULSA = PORTA.0 ; CAMBIO DEL NOMBRE AL PIN
    SYMBOL FAN = PORTB.0 ; CAMBIO DEL NOMBRE AL PIN
    SYMBOL RELAY = PORTB.1 ; CAMBIO DEL NOMBRE AL PIN
    X VAR WORD ; X DE TAMA;O 65536
    ;-----------------------------------------------------------------
    INICIO ; ETIQUETA PARA SALTO ;
    IF PULSA = 0 THEN ;PREGUNTA SI EL PULSADOR FUE PPRESIONADO
    GOSUB COMP ; SALTE Y REGRESE A LA ETIQUETA COMP
    GOTO PRENDIDO ; SALTE A LA ETIQUETA PRENDIDO
    ENDIF ; FINALIZA LA INSTRUCCION IF
    GOTO INICIO ; SALTE A LA ETIQUETA INICIO
    ;----------------------- ----------------------------------------
    PREGUNTA ; etiqueta para salto
    IF PULSA = 0 THEN ; pregunta si el pulsador fue presionado
    GOSUB COMP ; salte y regrese a la etiqueta COMP
    GOTO APAGADO ; salte a la etiqueta APAGADO
    ENDIF ; finaliza la instruccion IF
    GOTO PREGUNTA ; salte ala etiqueta PREGUNTA
    ;---------------------------------------------------------------
    PRENDIDO ; etiqueta para salto
    HIGH FAN ; enciende el VENTILADOR
    GOSUB TIMER1 ; salte y regrese ala etiqueta TIMER1
    HIGH RELAY ; encienda el RELAY
    GOTO PREGUNTA ; salte a la etiqueta pregunta
    ;---------------------------------------------------------------
    APAGADO ; etiqueta para salto
    LOW RELAY ; apague el RELAY
    GOSUB TIMER2 ; salte y regrese a la etiqueta TIMER2
    LOW FAN ; apague el VENTILADOR
    GOTO INICIO ; salte a la etiqueta inicio
    ;---------------------------------------------------------------
    TIMER1 ; etiqueta para salto, es para una pausa
    ; de 3minutos
    FOR X=1 TO 180 ; repita el lazo hasta que llegue a 180
    PAUSE 1000 ; pausa de 1 segundo
    NEXT ;
    RETURN ; regrese ala linea donde se quedo
    ;---------------------------------------------------------------
    TIMER2 ; etiqueta para salto, pausa de 5minutos
    FOR X=1 TO 300 ;repita el lazo hasta que llegue a 300
    PAUSE 1000 ; pausa de 1 segundo
    NEXT ;
    RETURN ; regrese a la linea donde se quedo
    ;---------------------------------------------------------------
    COMP ; etiqueta para salto
    IF PULSA = 0 THEN GOTO COMP ; pregunta si el pulsador esta siendo
    ; presionado si es asi
    ; salte a la etiqueta comp
    RETURN ; regrese a la linea donde se quedo
    ;---------------------------------------------------------------

    bueno ahora es donde vienen mis preguntas, esto lo hice en basic con el microcode studio y el picbasic pro, pero como hago para seleccionar el PIC12F508 y como se trabajan los puertos en este PIC porque se que tiene que ver con una cosa y que puerto GPIO pero no me acuerdo, este programa esta hecho para el PIC16F628A, y hace mas o menos lo que le entendi que quiere hacer META, lo simule en proteus y funciona, desde ya muchas gracias a los que me puedan ayudar con mis dudas y alos que lean este mensaje

    saludos

  10. #9
    Usuario Avatar de faiste
    Ubicación
    cartagena colombia
    Mensajes
    539
    Gracias
    544
    Agradecido 211 veces en 120 posts
    El foro no servia o era mi pc

  11. #10
    Usuario Avatar de Mario
    Ubicación
    En mi corazón
    Mensajes
    2,219
    Gracias
    910
    Agradecido 2,354 veces en 1,118 posts
    El foro estuvo fuera del aire por problemas en planta transmisora, pero ya está resuelto

    Saludos!
    Mario
    En Servisystem, hay un Foro para hablar de todos los montajes que realicé en esta web. No te olvides: todo lo que sea importante, también estará en el Blog.

  12. Los siguientes usuarios agradecen a Mario por este post:

    faiste (03/06/2011)

Temas similares

  1. activar windows vista
    Por edcape en el foro Software
    Respuestas: 2
    Último mensaje: 04/03/2011, 03:04

Los visitantes encuentran esta página buscando por:

pic

ejemplo pic12f508

ejemplo pic 12f508

proyectos con pic 12f508

ejemplo con pic12f508

picbasic tacometro

12f508 proteus

electronica pic ventilador pc

ventilador con pic 16f84a

como configurar los piertos del pic 12f508

activar un ventilador con pic

PIC ventilador

encender ventilador con un pic

activar ventilador con pic

ventilador con pic

como conectar un ventilador de 12 v a un pic

ventiladores en proteus

encerder un led 1 minuto en ccspic basic 12c509 gp2 como salidaventilador para circuito activar desactivarenciende led pic 12f509encender led desde pc ccs pic12f509programa con pic prender un ventiladorcomo encuentro un ventilador en proteus

Etiquetas para este tema

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37