用PIC16F84单片机实现的自然风发生器

    普通电风扇的送风强度是不变的,不如阵阵吹拂的自然风那样舒适宜人。这里,我们用PIC16F84单片机制作一个自然风发生器,当其和电风扇串接时,即可使电风扇送出时强时弱的仿自然风。
    一、硬件电路及原理
    要使电风扇送出仿自然风,就需要改变电风扇送风的强弱,即需要改变风扇电机的电压和电流,从而改变其转速。如图1所示,风扇插座与晶闸管TREAC相串联,改变晶闸管控制角α,即控制晶闸管导通的时间,就能使风扇电机的电压、电流发生变化。图2展示了α角和电机负载电压的关系。
    Α角的变化又可通过电容C1的充放电时间的改变来实现。PIC16F84单片机按一定规律选择电阻Rx,即可改变电容C1的充放电时间,从而改变2N2646的导通时间。改变了TREAC的导通角,达到改变电风扇送风强弱的目的。控制角α和强弱风的关系如图3所示。
    市电频率f=50Hz,则可得下式 α/360°=t/0.02  ……………(1)
  根据图1所示RxC1充电回路,可推知
  α=t·360°/0.02 ={RxC1ln1[1/(1-n)]}·360°/0.02 ……………(2)
  其中,η=VP/VBB,Vp为C1充电后的电压值,VBB为充电电源电压,一般取η=0.63。若电容C为0.047μF,根据(2)式的值,求得对应于不同的α设定值的Rx值表:
R0=1kΩ,R1=33kΩ,R2=62kΩ,R3=89kΩ,R4=120kΩ,R5=150kΩ,R6=180kΩ,R7=220kΩ。
    Rx接于PIC16F84单片机的RB0~RB7口;RA0口为启动信号输入口,当A键按下时,自然风发生器开始工作;RA1口为停止信号输入口,当B键按下时,自然风发生器停止运行;RA3口为交流电相位检测口。用于确定交流电的起始相位。
    程序清单:
        LSIT P=PIC16F84
        #INCLUDE P16F84INC
        FC    EQU 0CH
        FD    EQU 0DH
        ORG   0
MAIN: CLRW
        TRIS  RB
        MOVWF RB;置RB口为输出口,
                  ;且置其初值为0
        MOVLW 0FH
        TRIS   RA  ;置A口为输入口
KEYA: BTFSC RA,0   ;A键是否按下
        GOTO   KEYA    ;A键未按下转
                         KEYA,等待
START:MOVLW 80H   ;A键按下,
                       ;80H→F8
         MOVWF F8
         BTFSS RA,1   ;B键按下否
         GOTO   MAIN   ;B键按下
PHASE:BTFSC RA3
         GOTO   PHASE   ;等待交流电
                            零相位
         MOVF8,W
         MOVWF RB        ;F8→RB口
         CALL     DELAY ;延时10秒
         CLRC            ;清C
         RRF   F8          ;F8右移
         BTFSS 3,0
        GOTO     PHASE
         GOTO     START
DELAY:MOVLW  150
         MOVWF  F9
         MOVLW  7   ;给RTCC预
                      设倍数1∶256
         OPTION
LOOP: MOVLW  255
        SUBWF  RTCC
        BTFSS    32
        DECFSZ  F9
        GOTO     LOOP
        RETLW   0
        END      ;程序结束


                                                    PIC单片机 www.pic16.com    成都 陈伟鑫