智能电风扇控制器设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
明显。按键 S1实现电风扇加速运行,按键 S2实现电风扇减速运行。系 统模式控制切换键 k1可以实现模式的切换。定时键 K2实现定时设定和 定时确定。适当的控制按键,就可以实现所需要的效果。
六、程序设计总结 两周的单片机课程设计让我受益匪浅,无论从知识技能上还是团队 合作方面。上课的时候的学习从来没有见过真正的单片机,只是从理论 的角度去理解枯燥乏味。但在课程设计使用了单片机及其系统,能够理 论联系实际的学习,开阔了眼界,提高了单片机知识的理解和水平。在 这次课程设计中又让我体会到了合作与团结的力量,当遇到不会或是设 计不出来的地方,我们就会在 QQ 群里讨论或者是同学之间相互帮助。 团结就是力量,无论在现在的学习中还是在以后的工作中,团结都是至 关重要的,有了团结会有更多的理念、更多的思维、更多的情感。 我 们组的题目是智能电风扇控制器设计,基本要求是实现电机速度的控 制,并且通过数码管显示出来。由于我在学院的创新实验室有过一年多 的编程经验,因此在实验箱上实现基本功能并没有很大难度,基本功能 实现后,我们组想到了使设计更加智能化和多功能化,于是我们加入了 数字温度传感器温度采集和自动控制,以及定时功能。并通过程序设计, 实现比较人性化的数码管显示。 在整个程序设计和电路设计调试过程中,遇到了不少问题,最终也 和组员共同解决了。主要的问题有:
图2.3数字温度传感器 DS18B20引脚图 DS18B20检测的温度高于一定值时,单片机引脚输出高电平,打开电 风扇,当温度低于一定值时,单片机引脚输出低电平,控制电风扇停止转 动。在此区间,每升高一度,风扇转速档位加一,风扇转速与档位的关 系如表2.1所示: 表2.1 风扇转速与档位的关系
三、系统硬件电路设计 3.1、AT89C52单片机最小系统: AT89C52已包含了定时器、程序存储器、数据存储器等硬件,其硬件 能符合整个控制系统的要求,不需要外接其他存储器芯片和定时器件, 方便地构成一个最小系统。整个系统结构紧凑,抗干扰能力强,性价比 高。图3.1为 AT89C52芯片最小系统。
性,适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、 测温类消费电子产品等。DS18B20可以程序设定9~12位的分辨率,精度 为±0.15℃,温度采集具有准确性、实时性。
DS18B20的管脚排列如下:DQ 为数字信号输入/输出端;GND 为电源 地;VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。如图2.3 所示。
智能电风扇控制器设计 序言 传统电风扇不能根据温度的变化适时调节风力大小,对于夜间温差 大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温 的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资 源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定 后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面 的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题,使家 用电器产品趋向于自动化、智能化、环保化和人性化,使得由微机控制 的智能电风扇得以出现。 本文介绍了一种基于 AT89C52单片机的智能电风扇调速器的设计,该 设计主要硬件部分包括 AT89C52单片机,温度传感器 ds18b20,数模转 换 DAC0809电路,电机驱动和数码管显示电路,系统可以实现手动调速 和自动调速两种模式的切换,在自动工作模式下,系统能够能够根据环 境温度实现自动调速;可以通过定时切换键和定时设置键实现系统工作 定时,使得在用户需求的定时时间到后系统自动停止工作。 在日常生活中,单片机得到了越来越广泛的应用,本系统采用的 AT89C52单片机体积小、重量轻、性价比高,尤其适合应用于小型的自动 控制系统中。系统电风扇起停的自动控制,能够解决夏天人们晚上熟睡 时,由于夜里温度下降而导致受凉,或者从睡梦中醒来亲自开关电风扇 的问题,具有重要的现实意义。 一、 设计实验条件及任务
图4.1 程序流程图 五、调试与测试结果分析 5.1、实验系统连线图 a、P3.0、P3.1、P3.2、P3.3 b、DS18b20 数据线连 P3.4
c、将 DAC0832驱动电路 AOUT 接至直流电机 d、将 P0口接至 DAC0832数字输入端 e、将地址译码器电路(FF80H)接至 DAC0832片选端 分别连按键 K1、K2、S1、S2 5.2、程序调试 程序上电时,直流电机默认以中档5档工作,系统默认工作在手动模 式下。数码管显示当前环境温度和电机运行档位。 当按下按键 S1(P3.2)时,直流电机以加速转动,同时数码管显示 档位速度,当速度达到最大时,继续按下键 S1第5个数码管会显示“—” 表示系统已达到最大风速 当按下按键 S2(P3.2)时,直流电机以减速转动,同时数码管显示 档位速度,当速度达到最小时,继续按下键 S2第5个数码管会显示“—” 表示系统已达到最小风速。 当按下系统模式控制切换键 k1可以实现模式的切换,在自动模式下, 数码管第一位显示“A”字样,表示工作于自动模式下,此时电机的转 速由环境温度决定。并且显示环境温度பைடு நூலகம்当前温度下电机运行档位。 当按下定时键 K2时,数码管闪烁的显示“000”,当按 S1时,定时 时间增加,数码管闪烁显示定时时间。按 S2键时,定时时间减少,同时 数码管也闪烁显示定时时间。再次按下 K2键后,闪烁停止,定时开始, 数码管显示定时剩余时间。 5.3、实验结果分析 电机运行正常时即可实现调速现象,按键的消抖使得调速现象更加
1.1、 设计实验条件 单片机实验室 1.2、 设计任务 利用 DAC0832芯片进行数/模控制,输出的电压经放大后驱动小直流 电机的速度进行数字量调节,并显示运行状态 DJ-XX 和 D/ A 输出的数 字量。巩固所学单片知识,熟悉试验箱的相关功能,熟练掌握 Proteus 仿真软件,培养系统设计的思路和科研的兴趣。实现功能如下: ① 系统手动模式及自动模式工作状态切换。 智能电风扇控制器设计 ② 风速设为从高到低9个档位,可由用户通过键盘手动设定。 ③ 定 时控制键实现定时时间设置,可以实现10小时的长定时。 ④ 环境温度检测,并通过数码管显示,自动模式下实现自动转速控 制。 ⑤ 当温度每降低1℃则电风扇风速自动下降一个档位,环境低于 21度时,电风扇停止工作。 ⑥ 当温度每升高1℃则电风扇风速自动上升一个档位。环境温度到 30度以上时,系统以最大风速工作。 ⑦ 实现数码管友好显示。 二、小直流电机调速控制系统的总体设计方案 2.1、系统硬件总体结构
仿真和实际的电路调试有一定的出入,在仿真上按键能够很好的 工作,但是在实际的电路调试过程中,按键往往不大灵敏,常出现按一
下,系统反应多次的问题,最后通过延时时间的调整,使得按键较好的 工作。
由于数码管采用动态显示方式,延时扫描时间的不恰当使得数码 管显示出现跳动或者不稳定的问题,通过延时时间的正确设置和对整体 程序的分析,使数码管的显示稳定正常。
图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=常数。 8、 RFB:外部反馈信号输入端, 内部已有反馈电阻 RFB,根据需要 也可外接反 馈电阻。 9、VCC:电源输入端,可在+5V~+15V 范围内。 10、DGND:数字信号地。 11、AGND:模拟信号地 2.4. 数字温度传感器 DS18B20 DS18B20“一线总线”数字化温度传感器支持“一线总线”接口,测 量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±0.15℃。现 场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰
一方面,单片机要通过 I/O 口中接收输入信号,另一方面要通过 I/O 口控制数码管的初始化、显示方式以及要显示的字符。
因此,设计必须以单片机为核心,显示器为外围设备。硬件上,单 片机通过电路板电路与液晶显示电路相连;软件上,单片机要下载完整 的程序对二者进行适时的控制。
图3.1 AT89C52芯片最小系统图 3.2.系统程序电路主程序 CUP 电路图: AT89C52单片机 P0、P2口扩充电路图如图3.2: 图3.2 AT89C52系统管脚扩充图 3.3、DAC0832与 AT89C52单片机接口电路设计 实验电路使用逻辑器件实现地址译码,地址 FF80H 接入数模转换器 DAC0832片选段,通过数模转换后的模拟量通过运放放大驱动电机驱动, 其电路图如图3.3所示:
图2.1系统硬件总体框图 2.2、芯片选择
1、AT89C52芯片:选用该单片机作为智能电风扇控制部件,用来实 现电风扇调速核心功能。
2、74LS245芯片:用来驱动数码管。 3、74LS373芯片:锁存器,用来锁存输出的信号。 4、74LS240芯片:八单线驱动器,缓冲输出的信号。 5、DAC0832芯片:片选地址是 FF80H,AOUT1插孔作为模拟量的输出。 6、8255芯片:可编程并行 I/O 接口芯片,用以扩展单片机的 IO 口。 7、LED 数码显示管:用来显示电机旋转的速度是加速还是减速。 8、741:运算放大器。 9、9014:NPN 型三极管。 2.3、DAC0832的主要性能指标 D/A 转换的基本原理是应用电阻解码网络,将N位数字量逐位转换为 模拟量并求和,从而实现将N位数字量转换为相应的模拟量。 其性能指标为:(1)分辨率:相对分辨率=1/2N,N越大,分 辨率越高(2)线性度(3)转换精度(4)建立时间(5)温度系数。 DAC0832引脚功能图如图2.2
图3.2 DAC0832与 AT89C52单片机接口及电机控制电路 3.4、显示电路与 AT89C52单片机电路设计
实验电路使用 IO 扩充芯片8255及锁存芯片74LS245对六个数码管选 通控制显示。显示部分电路图如图3.3所示:
图3.3 数码管显示部分电路图 四、系统程序流程设计 4.1、系统程序流程框图如图4.1
结果当然运行不出来。 单片机是很重要的一门课程,学好一门单片机,就凭这个技术这门 手艺找一个好工作也不成问题。尽管我们在课堂学到的内容很有限,但 在以后的学习中单片机还需要好好的深入研究和学习。 七、参考文献 [1] 陈海宴. 51单片机原理及应用. 北京:北京航空航天大学出版 社,2012. [2] 郭天祥. 51单片机 C 语言教程. 北京:电子工业出版社,2005. [3] 胡启明,葛祥磊. Proteus 从入门到精通. 北京:电子工业出版
随着系统功能的增加,程序变的复杂,调试起来对程序的分析带 来了一定的难度,最后通过功能函数的模块化使得程序更加清晰和易更 改。将数字温度传感器的函数单独设在一个 C 文件中,采用多文件编译 的方式,也增加了程序的易移植性。
程序的要完全运行正确,不仅要弄清楚电路图,尤其是各接口的 接法,还要注重每个小的细节,因为往往一个很小的错误,使得程序出 现一些无法预料的结果,在程序的调试过程中,我们组出现了将‘=’ 错写为了‘==’,
社,2012. [4] 张兆明.基于 AT89S52单片机的自动温控电风扇设计.测控技术,
2009, 03(210820). 附录1:系统程序 系统主函数 /*********************************************************
************* ************************************************************* ********* @@