1、智 能 风 扇 设 计 报 告参赛学校: 武汉大学参赛队员: 王润斌 林孝喜 郑艳伟赛前辅导教师:黄根春 张望先 文稿辅导教师:黄根春 徐大敏课题摘要:本系统以单片机与 FPGA 为核心,利用移相斩波法,使用光耦和可控硅,通过对 220V 交流电的相位跟踪来调节可控硅的导通角,实现对电压有效值的连续调节,从而实现风扇转速在 0-600 转的连续精确可调,并能控制风扇实现普通风、自然风、睡眠风三种智能功能,同时测出对应时刻的风扇转速,并且还带有红外遥控功能。整个系统结构简单,功能全面,达到了风扇转速的智能化控制的指标。 目录一、方案比较与论证: .1、题目任务要求及相关指标的分析 .2、方案的比
2、较与选择 .二、系统总体设计方案及实现方框图: .三、理论分析与计算 .四、主要功能电路的设计 .五、系统软件的设计 .1、基本内容 .2、流程图 .六、测试数据与分析 .1、使用仪器及型号 .2、测试方案与数据 .3、数据分析 .七、总结分析与结论 .八、附录 .一、方案比较与论证:1、题目任务要求及相关指标的分析题目的基本要求我们基本上都能构达到,只有红外遥控的距离没有达到要求,据我们测量,最多也只是达到 3m 左右,而且角度也很刁钻。题目还要求测量风扇转速误差不大于 1,且具有输出自然风,普通风,睡眠风的功能,静态误差不大于 1等,都能够通过正确的设计达到。但是对于要求功率因数不小于 9
3、0这一指标,很有些难度,因为我们设计所用的移相斩波估计很难达到要求。而了解到的资料说采用现代的电力电子技术能够达到,我们想也就是变频的方法。考虑到我们对变频的方法不是很熟悉,而且对 220V 交流电的控制上也有些不妥,所以我们没有过分的追求个指标。2、方案的比较与选择1、红外遥控部分本部分分发射与接收两部分,发射是先对八路控制信号进行编码,再进行载波调制,最后进行功率放大产生发射信号;而接收则是对接收到的信号进行放大,滤去载波,再进行解码,同时以 LED 显示解出来的结果,并将此信号送给单片机与 FPGA 部分,单片机与 FPGA 收到后,便执行相应的功能。2、功率调节部分1、变频调节: 有两
4、种方法,一种是直接变频,一种是先把交流变成直流,然后再把直流变成交流,从而可以随便的控制频率。不同的频率,风扇的功率就会不同,通过连续的调转变后的交流电的频率就能实现风扇的转速的连续可调。2、移相斩波: 跟踪 220V 交流电的相位,检测它的过零点,并进行延时后控制可控硅的导通角进行斩波,控制交流电的电压有效值,实现风扇转速的连续可调。第一种方法能够实现风扇的转速的连续调节,并且功率因数比较大,能够容易的达到题目要求的 90%,但是电压频率的变换实现难度比较大,电路很复杂,并且要通过 ACDCAC 变换,直接对 220V 的交流电操作,危险性也比较高。第二种方法虽然也对 220V 交流电进行操
5、作,但我们只是需要跟踪其相位,所以可以采用变压器降压,把 220V 降到安全电压范围,再进行跟踪,比较容易实现。但是移相斩波法,斩去了部分信号,功率不是很高。经过上述比较,我们决定牺牲部分功率,采用了第二种方案。3、转速测量部分1、反射式红外传感器: 通过红外线的发射过程中遇到障碍物会反射的原理,反射光线被接受管接受后会产生一个高电平的信号,可以送到单片机处理。2、霍耳传感器:利用霍耳效应来实现,磁场的改变会引起霍耳传感器输出相应的高低电平,也可以送到单片机进行处理。3、红外对管:一边放置红外发射管,另一边放置红外接受管,发射管发射的红外信号被接受管接受,风扇在转动的过程中,扇叶会阻挡红外的传
6、播,接受管接受不到输出就会有变化,将变化的信号送交单片机处理。 第一种安装方便,测量起来也比较方便,电路简单易行,受外界的影响也比较小,不过测量的有效距离也在几个 mm 级,不过经过改进装置后,可以克服测量距离小的缺点,达到满意的效果。第二种安装方便,测量也比较简单,只需要几个磁钢就行。但是有效距离太小才几个 mm,而且基于磁场效应,容易受到风扇内部线圈产生磁场的影响,加大测量的难度,降低了测量的精度。第三种测量有效距离大,信号强。但是红外信号需要放大后再载波发送才能减小干扰,而且接受部分也需要放大转化,所以电路比较繁杂,并且安装也不方便。另外我们使用的风扇从正对的方向来看,扇叶基本上没有间距
7、,也不利于测量。经过上述比较,我们采用了第一种方案。4控制算法方案一:PID 算法增量式 PID 算法:由位置算法在 k 与 k-1 时刻的两式相减,即可得出增量式 PID 算法(3-8)对上式归并后,得可见数字增量式 PID 算法,只要贮存最近的三个误差采样值 e(k)、e (k-1)、e(k-2)就足够了,算法的适应性强。缺点是参数比较难调。方案二:模糊算法用模糊语言表述一组规则(模糊语句)就称为模糊算法。例如:以测得的转速与设定转速的偏差E(E=t0-t;t0 为设定的转速,t为测得的转速。)以及偏差的变化量E (E=t本-t前,其中 t前为前次测得的转速,t本为本次测得的转速),输出为
8、电扇的导通时间U。将E分为四个模糊子集B(大)、M(中)、S (小)、N(负),对应转速的偏差为:t0-tTM1、TM2TM20)。E 分为三个模糊子集P(正)、Z(零)、N(负),对应的偏差变化量为:t本-t前A0、-A00);电扇的导通时间分为四个模糊子集B(大)、M(中)、S(小)、Z (零)。这种方法参数简单,适应性也比较强方案三:分段线性逼渐这是一种完全基于实测的算法,根据实测转速的变化实时的作出预定的反应。这种方法比较直观,但缺点是对强时变的控制能力较弱,适合变化缓慢的系统。比较分析:经过实测当控制间隔为 1.5S 时,电扇基本能达到相应的转速。因此,可将电扇视为快速反应,滞后性小
9、的系统。故我们选用方案二,并去掉 E 子集部分,相应的增加 E 中模糊子集的个数以提高稳定时的精确度。二、系统总体设计方案及实现方框图:三、理论分析与计算反射式红外管的测量距离非常有限,而且对不同材料的反射能力也不同,经过试验,我们测到在 1cm 内对黑色材料的反射还是很强的,所以我们把测量距离控制在 23cm ,检测到反射信号后输出的脉冲的幅度是对黑条有 1.5v,对于白条有4.8v 左右,所以我们采用一个 LM311 构成的电压比较器对它进行判决可以很好的分辨出来。LM311 的门限电压大约设置在 3.0v 左右。可控硅开关的电路中那个阻容回路中电阻不能太大也不能太小,试验证明大约控制在
10、20100 左右,均可正常工作。那个小电容也不能忽视,根据 50HZ 的频率,容抗计算为 ,103 的小电容就能够正常工作。12fc根据试验我们发现,可控硅开关可以在任何时候打开,但是不是能在任何的时候都能关断,我们检测到只能在过零的时候才能关断,所以我们的斩波都是在过零红外发射红外接收单片机与FPGA220V 交流电相位跟踪风扇移相斩波转速测量可控硅控制之前开始斩的。而且由计算和测试发现,我们跟踪的过零信号有 1.2ms 的延时,所以我们斩波的时候在软件部分进行了相应的修正。跟踪后的信号用 74ls123 单稳态触发器产生宽脉冲信号,通过调节,使脉冲信号的脉宽为 23ms,计算公式为 T0.
11、37RC,远小于 50HZ 的脉宽,可以实现两路信号的相与形成一路信号,更利于我们进行斩波。四、主要功能电路的设计1、红外遥控模块红外遥控是通过对八路信号的编码和解码实现不同按键的区分,实现不同的功能,其中遥控的距离超过 5 米。采用普通的红外对管,用配对的编码和解码芯片MC145026 和 MC145027 来对红外信号进行编码解码,效果良好,测距可以达到5m 以上。电路原理与设计:发射部分:(电路图)如图,先用 8-3 优先编码器产生代码,输入 MC145026。MC145026 内部有震荡器,可人为设定(11 12 13 脚),震荡频率计算公式为: f =1/(2.3*R1*C1) ,同
12、时 R01 应取 2R1。本电路取R1=60K,C1=2200PF,R01=120K。则 f =1/(2.3*R1*C1)=3.29KHZ。经过MC145026 的处理后, 15 脚输出的是宽窄脉冲。再进行脉冲调制,脉冲调制采用最简单的由与非门构成的电路,f =1/(2.2*R2*C2)=1/(2.2*6800PF*16.7k)=40KHZ,同时补偿电阻 R02=10*R2=160K。最后由 9013 放大功率,发出信号。接收部分:(电路图)如图,接收部分的前置放大与滤波、检波采用集成芯片 CX20106 来完成,它一脚接红外接收管,二脚接增益控制(减小 R、增大 C 都可提高增益),三脚接检
13、波电容,五脚接选频电阻(f0=40KHZ),七脚输出。输出信号进入MC145027,先经过数据提取电路(6、7 与 10 脚),6、7 脚组成宽窄脉冲判决电路,时间常数 R3*C3=3.59*R1*C1(1.72 倍的编码器时钟周期),取R3=50K,C3=0.01uF 。10 脚为末位信号检测器,时间常数 R4*C4=77*R1*C1(33.5倍的编码器时钟周期),取 R4=100K,C4=0.1uF。再经处理便可由 14、13、12 脚输出 74148 输出的代码,检验正确后,即可作为控制信号输给 FPGA。2、相位跟踪模块由于直接对 220V 的电压进行相位跟踪比较危险,所以我们采用了一
14、个小型的变压器降低电压后再跟踪相位。利用内部没有过零检测电路的光耦来实现交流电过零时光耦输出的高低电平,实现相位的跟踪。然后通过一个单稳态触发器实现宽脉冲信号的输出,再把两路过零信号相或得到一个完整得过零检测信号送交单片机进行处理。调节图中的 2K 的电位器可以实现输出脉冲宽度的调节,从而避免两路过零信号相或时出现全是高电平的状况。由于 74LS123 是带有复位端的可重复触发器,所以应调节输出脉冲的宽度小于50HZ 交流信号的脉冲宽度,这样才能有效地跟踪它们的上升沿,比较准确的进行移相斩波。3、功率调节模块功率控制通过利用单片机对跟踪相位的信号进行处理,输入控制信号控制可控硅开关的导通角,进
15、行移相斩波,控制电压的有效值实现风扇功率的调节。如图所示,黑色部分为我们斩的有用的波,控制所斩的波也即使黑色部分的面积就可以控制风扇的功率,调节速度。4、转速测量模块转速的测量用红外对管来实现。由于普通的反射式红外传感器测量有效距离只有 10mm 以内,所以我们在风扇后面装上一个旧光盘,并在上面等间距的涂黑,增强红外的反射效应。实验证明,效果很好,改装后的测量距离可以达到 5cm 以上。我们是把一周分成成 32 份,也就是风扇每转一周有 16 个脉冲信号输出,已经可以用来精确的测量转速了,不过还是不够稳定。如果分得更细会更加精确的,不过基于我们是手工制作的刻道,肯定比不上市场上的光码盘了,但是
16、对于本试验还是可以的。 五、系统软件的设计1、基本内容本系统功能繁多,我们共用了 89S52 的 4 个中断来实现:外部中断 1 用于键盘中断,实现转速设定,风的种类设定,开/关机以及关机时间的设定;定时器中断 1 用于实时地记录当前时间,剩余时间和已工作时间;定时器中断 2 用于定时测量当前转速;外部中断 0 用于精确控制风扇的导通时间。在主程序中,(类型普通风时)根据实测转速与设定转速的差值,用模糊控制算法计算风扇的导通时间。在实现控制算法前,我们将每个 10ms 半波分成 1000 等份,并测量了各个导通时间大致对应的转速,以大约此时间的 2/3 作为相应预定转速的初始导通时间,从实验效果看这样做可有效地减少超调量和调节时间。