您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 智能电风扇控制器设计单片机课程设计
智能电风扇控制器设计单片机课程设计设计题目:智能电风扇控制器设计智能电风扇控制器设计1neuq目录序言一、设计实验条件及任务…………………………………………..…21.1、设计实验条件1.2、设计任务………………………………………………………2二、小直流电机调速控制系统的总体方案设计………………….….32.1、系统总体设计…………………………………………….......32.2、芯片选择……………………………………………….…......32.3、DAC0832芯片的主要性能指标……………………….…....32.4、数字温度传感器DS18B20………………………………..…3三、系统硬件电路设计…………………………………..…….…..….43.1、AT89C52单片机最小系统………………………….…….….53.2、DAC0832与AT89C52单片机接口电路设计….…………...63.3、显示电路与AT89C52单片机接口电路设计….………….…73.4、显示电路与AT89C52单片机电路设计……………...…...…8四、系统软件流程设计…………………………………………….….7五、调试与测试结果分析…………………………..……...………….85.1、实验系统连线图………………………………………....……85.2、程序调试…………………………………………,.……...…...85.3、实验结果分析……………………………………..……....…..8六、程序设计总结……………………………………………...……..10七、参考文献……………………………………..……………………11附录…………………………………………………………..…......…...121、源程序代码………………………………………….……........122、程序原理图……………………………….................................23智能电风扇控制器设计2序言传统电风扇不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题,使家用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制的智能电风扇得以出现。本文介绍了一种基于AT89C52单片机的智能电风扇调速器的设计,该设计主要硬件部分包括AT89C52单片机,温度传感器ds18b20,数模转换DAC0809电路,电机驱动和数码管显示电路,系统可以实现手动调速和自动调速两种模式的切换,在自动工作模式下,系统能够能够根据环境温度实现自动调速;可以通过定时切换键和定时设置键实现系统工作定时,使得在用户需求的定时时间到后系统自动停止工作。在日常生活中,单片机得到了越来越广泛的应用,本系统采用的AT89C52单片机体积小、重量轻、性价比高,尤其适合应用于小型的自动控制系统中。系统电风扇起停的自动控制,能够解决夏天人们晚上熟睡时,由于夜里温度下降而导致受凉,或者从睡梦中醒来亲自开关电风扇的问题,具有重要的现实意义。一、设计实验条件及任务1.1、设计实验条件单片机实验室1.2、设计任务利用DAC0832芯片进行数/模控制,输出的电压经放大后驱动小直流电机的速度进行数字量调节,并显示运行状态DJ-XX和D/A输出的数字量。巩固所学单片知识,熟悉试验箱的相关功能,熟练掌握Proteus仿真软件,培养系统设计的思路和科研的兴趣。实现功能如下:①系统手动模式及自动模式工作状态切换。智能电风扇控制器设计3②风速设为从高到低9个档位,可由用户通过键盘手动设定。③定时控制键实现定时时间设置,可以实现10小时的长定时。④环境温度检测,并通过数码管显示,自动模式下实现自动转速控制。⑤当温度每降低1℃则电风扇风速自动下降一个档位,环境低于21度时,电风扇停止工作。⑥当温度每升高1℃则电风扇风速自动上升一个档位。环境温度到30度以上时,系统以最大风速工作。⑦实现数码管友好显示。二、小直流电机调速控制系统的总体设计方案2.1、系统硬件总体结构图2.1系统硬件总体框图2.2、芯片选择1、AT89C52芯片:选用该单片机作为智能电风扇控制部件,用来实现电风扇调速核心功能。2、74LS245芯片:用来驱动数码管。3、74LS373芯片:锁存器,用来锁存输出的信号。4、74LS240芯片:八单线驱动器,缓冲输出的信号。5、DAC0832芯片:片选地址是FF80H,AOUT1插孔作为模拟量的输出。6、8255芯片:可编程并行I/O接口芯片,用以扩展单片机的IO口。7、LED数码显示管:用来显示电机旋转的速度是加速还是减速。AT89C52调速调时S1键DAC0832LED数码管显示调速调时S2键模式切换键K1定时功能键K2电机驱动及电机执行电路数字温度传感器智能电风扇控制器设计48、741:运算放大器。9、9014:NPN型三极管。2.3、DAC0832的主要性能指标D/A转换的基本原理是应用电阻解码网络,将N位数字量逐位转换为模拟量并求和,从而实现将N位数字量转换为相应的模拟量。其性能指标为:(1)分辨率:相对分辨率=1/2N,N越大,分辨率越高(2)线性度(3)转换精度(4)建立时间(5)温度系数。DAC0832引脚功能图如图2.2图2.2数模转换DAC0832引脚功能1、DI0~DI7:8位数字信号输入端;2、!CS:片选端;ILE:数据锁存允许控制端,高电平有效;3、!WR1:输入寄存器写选通控制端。当!CS=0、ILE=1、!WR1=0时,数据信号被锁存在输入寄存器中。4、!XFER:数据传送控制5、!WR2:DAC寄存器写选通控制端。当!XFER=0,!WR2=0时,输入寄存器状态传入DAC寄存器中6、IOUT1:电流输出1端,输入数字量全“1”时,IOUT1最大,输入数字量全为“0”时,IOUT1最小。7、IOUT2:D/A转换器电流输出2端,IOUT2+IOUT1=常数。智能电风扇控制器设计58、RFB:外部反馈信号输入端,内部已有反馈电阻RFB,根据需要也可外接反馈电阻。9、VCC:电源输入端,可在+5V~+15V范围内。10、DGND:数字信号地。11、AGND:模拟信号地2.4.数字温度传感器DS18B20DS18B20“一线总线”数字化温度传感器支持“一线总线”接口,测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±0.15℃。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20可以程序设定9~12位的分辨率,精度为±0.15℃,温度采集具有准确性、实时性。DS18B20的管脚排列如下:DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。如图2.3所示。图2.3数字温度传感器DS18B20引脚图DS18B20检测的温度高于一定值时,单片机引脚输出高电平,打开电风扇,当温度低于一定值时,单片机引脚输出低电平,控制电风扇停止转动。在此区间,每升高一度,风扇转速档位加一,风扇转速与档位的关系如表2.1所示:表2.1风扇转速与档位的关系环境温度℃低于21.021.0-21.922.0-22.923.0-23.924.0-24.9转速档位01234环境温度℃25.0-25.926.0-26.927.0-27.928.0-28.929.0以上转速档位56789智能电风扇控制器设计6三、系统硬件电路设计3.1、AT89C52单片机最小系统:AT89C52已包含了定时器、程序存储器、数据存储器等硬件,其硬件能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件,方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比高。图3.1为AT89C52芯片最小系统。一方面,单片机要通过I/O口中接收输入信号,另一方面要通过I/O口控制数码管的初始化、显示方式以及要显示的字符。因此,设计必须以单片机为核心,显示器为外围设备。硬件上,单片机通过电路板电路与液晶显示电路相连;软件上,单片机要下载完整的程序对二者进行适时的控制。图3.1AT89C52芯片最小系统图3.2.系统程序电路主程序CUP电路图:AT89C52单片机P0、P2口扩充电路图如图3.2:智能电风扇控制器设计7图3.2AT89C52系统管脚扩充图3.3、DAC0832与AT89C52单片机接口电路设计实验电路使用逻辑器件实现地址译码,地址FF80H接入数模转换器DAC0832片选段,通过数模转换后的模拟量通过运放放大驱动电机驱动,其电路图如图3.3所示:图3.2DAC0832与AT89C52单片机接口及电机控制电路3.4、显示电路与AT89C52单片机电路设计智能电风扇控制器设计8实验电路使用IO扩充芯片8255及锁存芯片74LS245对六个数码管选通控制显示。显示部分电路图如图3.3所示:图3.3数码管显示部分电路图四、系统程序流程设计4.1、系统程序流程框图如图4.1图4.1程序流程图智能电风扇控制器设计9五、调试与测试结果分析5.1、实验系统连线图a、P3.0、P3.1、P3.2、P3.3分别连按键K1、K2、S1、S2b、DS18b20数据线连P3.4c、将DAC0832驱动电路AOUT接至直流电机d、将P0口接至DAC0832数字输入端e、将地址译码器电路(FF80H)接至DAC0832片选端5.2、程序调试程序上电时,直流电机默认以中档5档工作,系统默认工作在手动模式下。数码管显示当前环境温度和电机运行档位。当按下按键S1(P3.2)时,直流电机以加速转动,同时数码管显示档位速度,当速度达到最大时,继续按下键S1第5个数码管会显示“—”表示系统已达到最大风速当按下按键S2(P3.2)时,直流电机以减速转动,同时数码管显示档位速度,当速度达到最小时,继续按下键S2第5个数码管会显示“—”表示系统已达到最小风速。当按下系统模式控制切换键k1可以实现模式的切换,在自动模式下,数码管第一位显示“A”字样,表示工作于自动模式下,此时电机的转速由环境温度决定。并且显示环境温度和当前温度下电机运行档位。当按下定时键K2时,数码管闪烁的显示“000”,当按S1时,定时时间增加,数码管闪烁显示定时时间。按S2键时,定时时间减少,同时数码管也闪烁显示定时时间。再次按下K2键后,闪烁停止,定时开始,数码管显示定时剩余时间。5.3、实验结果分析电机运行正常时即可实现调速现象,按键的消抖使得调速现象更加明显。按键S1实现电风扇加速运行,按键S2实现电风扇减速运行。系统模式控制切换键k1可以实现模式的切换。定时键K2实现定时设定和定时确定。适当的控制按键,就可以实现所需要的效果。智能电风扇控制器设计10六、程序设计总结两周的单片机课程设计让我受益匪浅,无论从知识技能上还是团队合作方面。上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。但在课程设计使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设计不出来的地方,我们就会在QQ群里讨论或者是同学之间相互帮助。团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。我们组的题目是智能电风扇控制器设计,基本要求是实现电机速度的控制,并且通过数码管显示出来。由于我在学院的创新实验室有过一年多的编程经验,因此在实验箱上实现基本功能并没有很大难度,基本功能实现后,我们组想到了使设计更加智能化和多功能化,于是我们加入了数字温度传感器温度采集和自动控
本文标题:智能电风扇控制器设计单片机课程设计
链接地址:https://www.777doc.com/doc-7045465 .html