第四章 软件模块电路设计

4.1 设计总体思路

本设计采用51单片机系统固件,基于keil uVision4开发环境,使用C语言编写程序[9]。程序需要实现以下需求: 1、一般热水壶都具有的烧开水功能。

2、指定温度加热冷水。切换模式后,按下加或减按键调节需要设定的温度,到水温到达指定温度后热水壶自动断电。

3、LM016L液晶显示屏上显示即时温度、设定温度以及工作模式。 4.2 烧开水功能设计特点

由于不同的地域气压差异,当温度达到100度时,水不一定能烧开,甚至在海拔较高的地区水不能加热到100度。于是本设计中相应的在温度控制模块中采用周期性采样温度的方式,每10s保存一次温度值,通过每次的采样进行比较进而寻找水温的最大值,如果没有更大的水温值,则水达到沸点,若温度稳定持续超过3分钟,并且水温超过80度,此时可判断水烧开了,随后热水壶自动断开电源。程序执行采用定时器中断方式,提高了系统的响应速度[10]。 4.3 控制程序工作流图

根据设计的思路和目标功能,确立了软件的工作流图。控制程序工作流图如图4-1所示。

10

图4-1 控制程序工作流图

4.4 系统主程序

系统主程序代码详见附录2。

11

第5章 系统测试

5.1 硬件部分测试

本设计首先在Protel Altium Designer Summer 09软件上绘制出原理图,并且完成PCB的设计,之后送至电路板制版工厂完成主控双面电路板的制作,自行动手完成元器件的焊接和测试。焊接过程需要谨慎认真的态度,先焊好主控芯片,最后焊接其它元器件,焊接结束后用万用表欧姆档对照原理图进行电路检测,检测其导通情况以及是否有短路或虚焊现象并及时修正。确保一切正常后,下载测试程序检测主控核心板是否能正常工作,经检测,主控核心板能达到预期的工作效果,可以作为本系统的主控部件。 5.1.1 热水壶功能测试

在水壶内盛上大约100ml的冷水,放置在涂上一层导热胶的加热板上,将1个DS18B20温度传感器探头放进水中用于检测实时温度,再将程序下载至主控板内后接通电源,选择“1”模式开始烧水,观察并记录如下:

1.独立按键设定工作模式,在液晶显示屏上正常显示实时水温和工作模式。 2.大约10分钟后,水烧开,蜂鸣器报警,显示屏上显示“Boiling”,随后断电。

重复测烧开水时的温度和所用时间5次,得到的结果如表5-1所示: 开水温度/度 所用时间 1 99.51 9分58秒 2 99.49 9分56秒 3 99.52 9分58秒 4 99.51 9分57秒 5 99.50 9分58秒 重新在水壶内盛上大约100ml的冷水,重复烧开水前的准备步骤,接通电源,按两下模式按键,选择“2”模式,起始水温为26.41度,再通过温度加减按键调节设定温度,设定50度后,等待大约5分钟后到达设定温度,蜂鸣器报警,随后断电。

重复测设定温度50度时的实际断电温度和所用时间5次,得到的结果如表5-2所示: 1 2 50.99 3 51.18 4分41秒 12

4 51.23 4分42秒 5 51.21 4分45秒 实际温度/度 51.22 所用时间 4分44秒 4分40秒 5.1.2 系统误差分析

分析整个测试过程,总结出有几点误差:

1.温度检测引起的误差。本设计温度检测中存在的误差是在可以接受的范围内的,由于DS18B20本身存在一定的系统误差,以及检测过程中温度环境不均匀、水流滚动影响等因素,因此设计采用周期采样温度的方法测定温度。 2.继电器引起的误差。随着继电器对电热管的加热,水温升高,电流流经SSR减小,因此交流的负载增加干扰信号也就不足为奇,SSR误导通。 3.电压波动引起的误差。 5.2 软件部分测试

本设计使用C语言在keil uvision开发环境下进行编程,该软件兼容单片机C语言软件开发系统,编译过程中对于出错的地方给出清楚的位置,方便开发者改进错误。在编程的基础上,整个调试的工作包括工程的建立和函数的调用,检查包含的头文件是否正确,分模块检查,根据设计的要求检查初始化程序,以及优化程序结构。经过反复的测试后,确定系统能够正常工作,系统功能得到了良好的实现,设计的软件部分测试完成。 5.3 结果分析

经过对系统的硬件以及软件部分的反复测试,在两种功能模式下,系统各模

块都能够正常工作。总体来说,这些功能的实现达到了毕业设计题目上的要求,并且本设计的外形设计提高了安全性和灵活性,具有操作简单、实用等特点。本设计的成本较低,便于进行工业生产,投入日常生活中使用,从这个角度来说,本设计具有一定的实用意义。

13

结论

通过硬件和软件的设计,我制作了智能热水壶,本次设计的各项目标功能都已实现,包括用烧开水、按键设置温度、指定温度加热冷水、达到设定温度时自动断电等。通过这次设计,自己努力学习、认真设计,从搜集资料、分析和确定方案,我学习到了电路板的制作与程序的编写等操作技能,通过单片机编程和焊接电路板等实践方面的学习积累了自己的动手经验。在此期间,我充分的锻炼了我的自学能力,明白了学习生活中要有不轻言放弃的毅力。同时也领悟到不要在乎作品完成得是否完美,重要的是自己所学的在实践中如何应用以及怎样应用到最好。

本次设计的硬件模块电路部分比较简单,大部分热水壶功能是由软件程序实现。在编程过程中,我重新复习了许多汇编语言的编程技巧,最终编写的程序更加灵活;另外我还学习了代码的优化技巧,逐渐养成了良好的编程习惯,写出了高质量的程序代码,为今后的学习工作打下了良好的基础。

14

基于单片机的水壶自动加热系统_基于单片机的智能热水壶设计 -相关推荐

  1. 基于单片机的水壶自动加热系统_基于烟雾检测火灾自动报警系统

    著作权归作者所有. 商业转载请联系作者获得授权,非商业转载清注明出处. 作者:胡皓 王兴 链接:基于烟雾检测火灾自动报警系统 - 中国知网 来源:中国知网 摘要:讨论了用MC14468离子型烟雾检测报 ...

  2. 基于单片机的水壶自动加热系统_基于单片机智能电水壶控制系统设计毕业设计(论文).doc...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp人工智能 基于单片机智能电水壶控制系统设计毕业设计(论文).do ...

  3. 基于单片机的水壶自动加热系统_基于单片机的智能热水壶设计说明

    目 录 容摘要 ............................................................. 1 关键词 ........................ ...

  4. 基于单片机的超市储物柜设计_基于单片机的自动存储柜的设计

    金红娟 张娣 王历 摘  要: 隨着科技的日趋发展,智能化产品随处可见,极大地方便了人们的生产生活.在一些综合超市,大型购物商场等一些公共场合,由于人流大,购物的人多,仅靠人工来存储物品速度慢,效率低 ...

  5. 基于单片机HX711电子秤自动计价系统设计-基于单片机GPRS远程测控系统设计-818基于单片机循迹避障无线遥控蓝牙智能小车-基于单片机24s倒计时篮球积分器系统-基于单片机智能洗衣机控制系统

    816基于单片机HX711电子秤自动计价系统设计 本设计使用高精度电阻应变式压力传感器,用A/D转换器HX711(HX711数据手册)对传感器信号进行调理转换.AT89s52(AT89s52数据手册) ...

  6. 基于cnn的短文本分类_基于时频分布和CNN的信号调制识别分类方法

    文章来源:IET Radar, Sonar & Navigation, 2018, Vol. 12, Iss. 2, pp. 244-249. 作者:Juan Zhang1, Yong Li2 ...

  7. 基于python的入侵检测系统毕设_基于时空特征融合的入侵检测系统模型

    期刊:COMPUTERS & SECURITY 期刊信息:JCR分区Q1:中科院分区2区:引用因子4.85 摘要: 入侵检测系统可以通过分析网络流量的特征来区分正常流量和攻击流量.近年来,神经 ...

  8. python基于svm项目+课程设计报告_基于机器学习的脑电病理诊断

    是新朋友吗?记得先点蓝字关注我哦- (图片来自于网络) 1 引言 将机器学习方法应用于脑电信号的自动分析,特别是在基于脑电信号的临床诊断领域,因其巨大的应用前景而引起了广泛的兴趣.例如,它是检测和预测 ...

  9. 51单片机基本刷屏测试实验_基于单片机的发动机振动速度、位移和加速度测量方法...

    Single-chip microcomputer-based measuring of engine vibration speed.displacement and acceleration Ab ...

  10. 单片机c语言篮球比分_基于单片机的篮球记分器设计报告

    设计题目:基于单片机的篮球比赛计分器 设计内容及要求: 1)设计一款显示篮球比分的记分牌: 2)通过加分按钮可以给A队,或B队加分: 3)设计对调功能,更换场地后,AB队分数互换: 4)计时:能实现0 ...

最新文章

  1. [NC21228]货币系统
  2. Nature封面:AI 机器人研发出了一种全新的化学催化剂
  3. PowerBI从SCCM数据库中分析数据和KPI展现
  4. 孙正义太难了:去年亏125亿美元,15家投资公司要破产,二期愿景基金不得不暂停...
  5. git常用命令之stash
  6. 计算机网络管理考试价格,2021年计算机网络管理员考试模拟试题库和答案...doc...
  7. java 通用取得 系统硬件信息及 jvm 信息的 jar 包 oshi-core
  8. Android开发8:UI组件TextView,EditText,Button
  9. 飞桨第四节七日cv经典网络 2020.4.3
  10. linux 查看文件哈希码,使用linux的sha1sum命令查看效验文件哈希值命令
  11. 守护进程nohup的用法
  12. 【转】基于XML-RPC的BloggerAPI学习
  13. pig:group by之后的其它统计方法一
  14. 关于HashSet类对象使用迭代器无法进行增删操作的问题
  15. 不打游戏还整个i7 8700的弊端,完全用不上
  16. Linux学习笔记(单用户模式,救援模式,克隆主机,两个linux互相连接)
  17. 保护地球生命力,从寻找“百兽之王”开始
  18. 音视频编解码:NVIDIA Jetson Linux Multimedia API(总结)
  19. docker打包部署flask镜像
  20. 网页打不开显示php探针,phpinfo被禁用,可用php探针

热门文章

  1. jQuery fadeOut() 方法
  2. 专家看台:盛大架构师周爱民回顾职业历程,分享十项建议
  3. 计算机超链接文档顶端,电脑在Word文档里插入目录超链接的方法
  4. 论文中出现的 cf. i.e. s.t. e.g. w.r.t. et al. etc等英文缩写是什么意思
  5. 【论文翻译】:(arxiv 2022)PS-NeRV: Patch-wise Stylized Neural Representations for Videos
  6. uniapp——显示不了网络图片或者本地图片
  7. U盘插入电脑需要格式化,数据恢复
  8. 麒麟子Javascript游戏编程零基础教程六:Javascript中的实数类型number
  9. 安全专业委员会发言_安全专业委员会发言稿
  10. vue-quill-editor超链接bug问题