Activar ventiladores con un PIC

Hola:

He hecho una prueba muy simple. Parece ser que el 16F84A no funciona muy bien en el Proteus 7.7 SP2. Lo que debe hacer este circuito es simplemente activar los ventiladores y desactivarlos, sólo funciona los Led.

Código:
;************************************* VentiladorDC_01.asm **********************************
;
;
;
; ZONA DE DATOS **********************************************************************

    LIST        P=16F84A
    INCLUDE        <P16F84A.INC>
    __CONFIG    _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

#DEFINE        Led_Naranja    PORTA,0        ;  
#DEFINE        Detener_Ventilador    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        Activar_Ventilador
    bsf        Detener_Ventilador    
    clrf    TRISB                    ; Las líneas del Puerto B configuradas como salida.
    bcf        STATUS,RP0
Principal    
    clrw                            ; Con esta combinación se detiene el motor.
    btfss    Activar_Ventilador
    goto    Vent_OFF
    goto     Vent_ON

Vent_ON
    movlw    b'11111101'    
    goto    ActivaSalida
Vent_OFF
    movlw    b'11001110'

ActivaSalida
    movwf    PORTB
    goto    Principal

    END
tacometro-23732.jpg


Ampliar esquema con Zoom.
http://www.subeimagenes.com/img/tacometro-23732.jpg

Saludo.








Edito:
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 encendiso 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í.

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

La parte del tacómetro mejor dejarlo para un Led directamente.
 

Adjuntos

  • Motor 360.zip
    21.3 KB · Visitas: 15
Última edición:
En asm no lo practico mucho pero hice lo que se puede aver si sirve.
Modifique el esquema para simplificar.
 

Adjuntos

  • asm.rar
    49 KB · Visitas: 18
:LOL:Que onda meta!

Bueno espero no haberme demorado jejjejee apenas hoy tuve un ratito, y aqui esta mi aportacion.

;)Ya hasta le puse nombre a este proyecto META bueno almenos en mi version jejeje.

Esta hecho en Pic Basic PRO ya que se me hizo mas rapido ahorita ya que tengo mas experiencia en este que en CCS aunque lo voy a migrar despues a CCS con mas tiempo.

El programa esta estructurado asi:

Se captaran señales digitales 5vcd en el puerto A del PIC16F84 asi que lo configure como entrada, las salidas seran en el PUERTO B del pic donde se conectaran los ventiladores y leds indicadores.

LED_ROJO = almenos un aparato encendido
LED_VERDE = almenos un ventilador activado
LED amarillo = ventilador Proximo a apagarse. (parpadeando)

EL programa lo estructure en varias rutinas y dos subrutinas para los retardos que son fijos (3min para encender ventilador y 5 min para apagarlo).

Lo simule rapidillo en Proteus y si me sirvio al 100 asi que si no les jala fisicamente diganme.

dentro de un dia lo armo fisicamente y les digo si asi esta al 100% funcionando.
 

Adjuntos

  • Cooler16F84_v1.rar
    2.8 KB · Visitas: 17
Muchas gracias, pues en mi caso no funciona nada. Puedes descargar tu ejemplo con el esquema aquí.
 

Adjuntos

  • Ventilator.zip
    21.6 KB · Visitas: 38
Que tal ya probe fisicamente el Programa que postee de Cooler y funciona a la perfeccion.:aplauso: me aplaudo a mi mismo jejejeje.

Tu como vas meta que tal te esta quedando el tuyo con ASM.
 
Atrás
Arriba