微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 用PIC16F84实现的自然风发生器

用PIC16F84实现的自然风发生器

时间:01-09 来源:互联网 点击:
普通电风扇的送风强度是不变的,不如阵阵吹拂的自然风那样舒适宜人。这里,我们用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 EQU0CH
    FD EQU0DH
    ORG 0
MAIN:CLRW
    TRIS RB
   MOVWFRB;置RB口为输出口,
         ;且置其初值为0
    MOVLW0FH
   TRIS RA  ;置A口为输入口
KEYA:BTFSCRA,0 ;A键是否按下
   GOTO KEYA ;A键未按下转
          KEYA,等待
START:MOVLW80H  ;A键按下,
            ;80H→F8
   MOVWFF8
    BTFSSRA,1  ;B键按下否
   GOTO MAIN  ;B键按下
PHASE:BTFSCRA3
    GOTO PHASE ;等待交流电
            零相位
     MOVF8,W
    MOVWFRB   ;F8→RB口
    CALL DELAY;延时10秒
    CLRC      ;清C
    RRF F8   ;F8右移
    BTFSS3,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      ;程序结束

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top