已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的全自动洗衣机的控制 系统设计 院 系:机电与自动化学院 专 业 班:电气工程及其自动化 1002 班 姓 名: 学 号:20101131053 指导教师: 2014 年 5 月 I 基于单片机的全自动洗衣机的设计 Design of Automatic Washing Machine Based on MCU I 摘 要 本设计以家用全自动洗衣机的工作过程为研究模型,以意法半导体公司的单片 机 STM32F103CBT6 为控制核心,完成了电源供电电路、液晶接口电路、直流电机 驱动电路、继电器控制电路、按键扫描电路、AD 信号采集电路、蜂鸣器报警电路、 童锁认证电路的设计,实现了对洗衣机的洗涤、漂洗、甩干工作状态的智能控制。 其中童锁认证功能是为解决儿童使用安全问题而特别设计的。软件部分的设计包括: 洗衣代码选择、洗衣倒计时显示、进水指示、排水指示、电机旋转、童锁认证等主 要过程控制及显示。通过 Keil 软件编程来控制电机旋转、12864 液晶显示等主要动 作。其中液晶菜单界面的显示设计是关键环节,采用 12864 液晶的图形显示功能, 通过不同的反白及非反白图片之间的切换,设计了良好的人机交互界面。设置有一 级、二级菜单选项,用户可以按提示操作相应的按键,安全、放心地完成自己设定 的洗衣过程。 关键词:STM32F103CBT6 单片机 人机交互界面 童锁认证 II Abstract The design of the work process for the study of household automatic washing machine model to STMicroelectronics microcontroller STM32F103CBT6 as the control center , the completion of the power supply circuit , LCD interface circuit , DC motor drive circuit , relay control circuit , key scan circuit , AD signal acquisition circuit, buzzer alarm circuit , circuit design certified child lock , realized on the washing machine washing , rinsing, drying intelligent control working conditions. Certified child lock function which is to solve the security problems of children using specially designed . Software part of the design include : laundry code selection , laundry countdown show , indicating water , drainage directions , motor rotation , child lock certification and other major process control and display. By Keil software programming to control the motor rotation, 12864 LCD and other major actions. LCD which displays the menu interface design is the key , using 12864 LCD graphics display capabilities, by switching different highlight and non- highlight between pictures , design a good man-machine interface . Provided with primary, secondary menu option, the user can press the corresponding button prompts , security , ease to complete their own set of laundry process . Keywords:STMicroelectronics microcontrollerinteractive interface child lock certification III 目 录 摘要.II Abstract.III 绪论.1 1 全自动洗衣机的发展过程.1 2 洗衣机的发展前景及待解决的问题.1 1 全自动洗衣机的功能设计.3 1.1 设计目的.3 1.2 方案论证.3 2 系统硬件电路的设计.5 2.1 目前主要应用的单片机机型.5 2.2 硬件各模块简介.6 2.2.1 微处理器 STM32F103CBT6.6 2.2.2 电源电路模块.10 2.2.3 按键模块.10 2.2.4 报警器模块.12 2.2.5 水阀模块.13 2.2.6 直流电机模块.14 2.2.712864 液晶显示.16 2.2.8 童锁功能.17 3 全自动洗衣机的软件设计.18 3.1 软件编程思路.18 3.2 各模块程序编写思路.18 3.2.1 主程序流程.18 3.2.2 输入扫描模块.19 3.2.3 显示界面菜单模块.19 3.2.4 输出控制模块.21 IV 3.2.5 串口调试模块.22 4 制板及调试经历.23 4.1 制板.23 4.1.1 器件原理图库.23 4.1.2 绘制原理图.23 4.1.3PCB 封装库.24 4.1.4PCB 基本布线规则.25 4.2 硬件检测.25 4.3 软件调试.26 4.3.1 菜单界面的制作.26 4.3.2PWM 的生成.27 4.3.3AD 童锁的设计.27 结论.29 致谢.30 参考文献.31 附录一总体设计原理图.32 附录二主板 PCB 图.33 附录三主板 PCB 实物图.34 附录四实物图.35 1 绪 论 1 全自动洗衣机的发展过程 随着社会的进步和生活水平的不断提高,洗衣机是一种在家庭中不可缺少的家 用电器,全自动式洗衣机因使用方便得到大家的青睐,全自动即进水、洗涤、甩干等 一系列过程自动完成。家用洗衣机从发明到现在已经经历了一个多世纪,经历以下 一些发展阶段:世界上第一台洗衣机实在 1874 年由美国的比尔.布莱克斯通 (Bill Blackstone)研制成功的。1910 年前后,第一台卧轴滚筒式电动洗衣机问世, 标志着人类家务劳动自动化的开始。20 世纪 20 年代,第一台立轴搅拌式洗衣机再 美国试制成功,由此,洗衣机开始了“立轴”与“卧轴”之分。50 年代中叶,日本 三洋公司推出单桶波轮式洗衣机。开始确定了滚筒式、搅拌式和波轮式三种工作方 式。60 年代,日本推出了带甩干桶半自动洗衣机,并且大量应用塑料,使洗衣机的 发展进入一个新的阶段。70 年代,日本推出波轮式套桶全自动洗衣机,从此开始有 了“全自动”洗衣机的概念。70 年代后期,日本推出了微电脑控制的全自动洗衣机。 完成了由机械电动程序控制到电脑控制的过渡,开始了电脑控制时代。这时,洗 衣机在发达国家已进入饱和期,而在亚太地区发展中国家开始进入普及期。80 年代 后期, “模糊控制”洗衣机开始出现,实现了家电器控制方式上的高度自动化。出 现“白色家电”的概念。90 年代,随着变频技术的发展,日本最先推出了电动机直 接驱动洗衣机,实现了洗衣机驱动方式上的革命。今后洗衣机将以高可靠性,完善 的功能,节水省电,降噪省时以及规格品种多样化为发展方向。 2 洗衣机待解决的一些问题 由于我国洗衣机厂起步晚,加上技术方面的一些问题,不可避免的在现有的机 型中出现一些弊端。主要弊端有:噪声大,耗水、耗电,进水不畅或进水不止或排 水不畅,工作周期不平稳、振动大,损伤洗涤物,洗涤效果不佳,脱水桶自动性不 佳,脱水不良,重量大,容量不合理。具体来说,洗衣机的问题存在于结构、质量、 原材料和模具及管理方面。 (1)结构类型方面我国洗衣机多属波轮式。今后波轮式仍然是主要型式。为 了适应国外市场的不同需求,要适当地生产些新型式的滚筒式和搅拌式洗衣机,进 2 而生产具有波轮式、搅拌式两种洗衣机优点的新机型。为了使波轮式洗衣机洗涤更 合理,应努力将全自动洗衣机提高到电脑型的水平。双桶洗衣机再提高漂洗的条件 下,以重点生产全自动型喷淋式洗衣机为宜。同时要注意避免新水流洗衣机一味地 提高波轮式的转数极其转动时间或增高波轮筋高的倾向,以免损伤衣率和缠绕率回 升增高,降低了新水流洗衣机的优越性。 (2)质量方面我国洗衣机的质量问题,具体反映再功能、外观和可靠性三方 面,与国外存在再较大的差距。国内外洗衣机相比较:从功能、电源插头、面板装 饰、旋钮结合,塑料件的光整度(光洁、毛刺和变形) ,外箱和螺丝钉的成形及防 锈,皮带的耐磨及噪音,进排水阀和水位开关质量,电脑控制各种功能的能力,电 脑的抗电压波动、抗干扰防静电的能力,以及传感器的灵敏度等方面,很容易看出 整体质量的好坏。再加上装配工艺较落后,致使我国洗衣机的质量稳定性差,出口 有一定的困难。目前我国洗衣机无故障运行水平约为 250500 小时,而国外同类 产品达 15002000 小时,即十年不需修理。因此提高洗衣机的质量要从提高零部 件的质量入手。关键电器件和传动件应组织专业分工,制定标准,组织攻关,进行 认证,在改进功能方面、外观质量和可靠性三方面,进行全面整理,提高水平。综 合以上分析介绍,全自动洗衣机由于具有对衣物的磨损小、洗涤量大、节约水电等 特点,越来越得到广大家庭的青睐。由于人们对全自动洗衣机在价格低廉的基础上 也提出了功能齐全、操作简单、不缠绕、不伤布料、洗衣效果好、性能可靠、工作 效率高、便于维修等更高的要求。为满足人们这种需求,特设计出这种有微控制器 控制的全自动洗衣机控制系统。 3 1 系统的总体设计 1.1 设计目的 目前中国洗衣机市场正进入更新换代期,市场潜力巨大,人们对于洗衣机的要 求也越来越高,目前的洗衣机主要有强弱洗涤功能、进排水系统故障自动诊断功能、 暂停等七大功能,在许多方面还不能达到人们的需求。这就要求设计者们有更高的 专业和技术水平,能够提出更多好的建议和新的课题,将人们的需要变成现实,设 计出更节能、功能更全面、更人性化的全自动洗衣机。 1.2 设计方案论证 (1) 方案方案 1 1:通过设对计要求的分析,控制对象包括:按键、电控水龙头 1(进水阀) 、电控水龙头 2(出水阀) 、电动机、数码管显示、LED 指示灯、蜂鸣 器等。这些被控对象需要根据不同的洗衣程序来设定他们的工作状态和工作时间, 电控水龙头 1(进水阀)和电控水龙头 2(出水阀)来控制进水和出水,同时需要 LED 指示灯和数码管显示不同的工作状态和剩余时间,按键用来控制程序运行和设 置洗衣模式,蜂鸣器用来提示洗衣完成提示。按照上述的系统方案得到的系统整 体构架如图 1-1 所示。 图 1-1 原理框图 (2) 方案方案 2 2:用直流电机代替交流电机模拟洗衣过程。所开发的全自动洗衣 机控制器,由主控 CPU 单元、电源、12864 液晶显示器、蜂鸣器、控制电路、驱动 电路、水位监测单元及复位电路构成。洗衣机控制器采用带字库的液晶显示器 4 12864 提供诸如:进水、洗涤、漂洗、甩干、结束等状态以及控制时间的显示。通 过按键来提供相应的操作,来选择相应的洗衣流程。对于这次毕业设计课题则通 过一个直流电机来代替洗衣机的电机的交流电机,相应的转速和方向来通过专用 的电机驱动芯片 H 桥电路以及 PWM 来模拟洗衣机的洗涤过程。有一个液体压力 传感器来检测相应的水位,判断是继续进水还是停止进水。当洗涤结束以及相应 的误操作蜂鸣器会发出警报,同时电机立即停止转动,免生危险。为了防止孩童 玩耍带来的后果,开机前会有一个开机认证。只有通过专用的秘钥认证,才能开 机。秘钥采用 USB 接口,在 DATA+与 DATA-配置不同的电阻,通过单片机自带的 AD 检测电压来进行验证。其工作原理见图 1-2。 图 1-2 原理框图 由于方案 2 采用了液晶作为显示单元,且使用了友好的交互式人机界面,比较 新颖。且考虑到设置童锁功能,安全性能比较高,故采用方案 2 作为本次毕业设计 的最终方案。 2 系统硬件电路的设计 5 2.1 目前主要应用的单片机机型 (1) Intel 公司的单片机 Intel 是最早推出单片机的公司之一,主要有 MCS-48、MCS-51 系列 8 位单片机 和 MCS-96 系列的 16 位单片机。在 20 世纪八、九十年代,MCS-51 和 MCS-96 曾经是 我国最流行的单片机,得到广泛的应用。这几年 Intel 公司注重于奔腾系列微处理 器,没有推出新的单片机。 (2) ARM 微处理器 ARM 处理器的三大特点是:耗电少功能强、16 位/32 位双指令集和合作伙伴众 多。 体积小、低功耗、低成本、高性能; 支持 Thumb(16 位)/ARM(32 位)双指令集,能很好的兼容 8 位/16 位器 件; 大量使用寄存器,指令执行速度更快; 大多数数据操作都在寄存器中完成; 寻址方式灵活简单,执行效率高; 指令长度固定。 在本洗衣机控制系统中,要求洗衣机应具有按照用户设定洗衣量、洗涤漂洗时 间及次数。反应剩余时间等参数,自动按照设定的流程来洗涤衣物,并能自动控制 洗衣机电机、进水阀、出水阀等工作,同时要求有七个按键输入和并行液晶显示电 路,因此该系统是一个多输入、多输出系统。若用 Intel 的 51 系列单片机,一方 面需要对 I/O 进行扩展,另一方面又需要对存储空间进行扩展。同时由于 51 单片 机驱动能力有限,需外加驱动电路,使得硬件电路过于复杂。 综合上述考虑,决定选用内部有 A/D 转换器、驱动能力强的意法半导体公司 (ST)出产的芯片,STM32F103CBT6。STM32F103CBT6 是基于 ARM Cortex-M3 内核设 计,片上集成有丰富的数字和模拟资源,允许最高 72 MHz 的工作频率,是一款性 价比很高的 32 位 ARM 处理器,是低成本 ARM 嵌入式应用的极佳选择。 6 2.2 硬件各模块简介 2.2.1 微处理器 STM32F103CBT6 本设计使用到的控制器 STM32F103CBT6 采用了 LQFP48 封装,引脚排列如图 2- 1 所示。 图 2-1 引脚图 引脚定义如表 2-1、2-2、2-3 所示。引脚资源分配如表 2-4 所示。 表 2-1 STM32F103CBT6 引脚功能说明表 1 管脚名类型特殊功能 VBTA电源 PC13-TAMPER-RTCI/OTAMPER-RTC PC14-OSC32_INI/O PC15-OSC32_OUTI/O OSC_INI OSC_OUTO NRSTI/O 7 VSSA电源 表 2-2 STM32F103CBT6 引脚功能说明表 2 管脚名类型特殊功能 VDDA电源 PA0-WKUPI/O WKUP/USART2_CTS ADC12_IN0/TIM2_CH1_ETR PA1I/O USART2_RTS/ADC12_IN1/TIM2_CH2 PA2I/O USART2_TX/ADC12_IN2/TIM2_CH3 PA3I/O USART2_RX/ADC12_IN3/TIM2_CH4 PA4I/O SPI1_NSS/USART2_CK/ADC12_IN4 PA5I/O SPI1_SCK/ADC12_IN5 PA6I/O SPI1_MISO/ADC12_IN6/TIM3_CH1 PA7I/O SPI1_MOSI/ADC12_IN7/TIM3_CH2 PB0I/OADC12_IN8/TIM3_CH3 PB1I/OADC12_IN9/TIM3_CH4 PB2/BOOT1I/O PB10I/OI2C2_SCL/USART3_TX PB11I/OI2C2_SDA/USART3_RX VSS_1电源 PB12I/O SPI2_NSS/I2C2_SMBAI/USART3_CK/TIM1_BKIN PB13I/O SPI2_SCK/USART3_CTS/TIM1_CH1N PB14I/O SPI2_MISO/USART3_RTS/TIM1_CH2N PB15I/O SPI2_MOSI/TIM1_CH3N PA8I/O USART1_CK/TIM1_CH1/MCO PA9I/O USART1_TX/TIM1_CH2 PA10I/O USART1_RX/TIM1_CH3 PA11I/O USART1_CTS/CANRX/TIM1_CH4/USBDM PA12I/O USART1_RTS/CANTX/TIM1_ETR/USBDP 8 PA13/JTMS/SWDIOI/O 表 2-3 STM32F103CBT6 引脚功能说明表 3 管脚名类型 特殊功能 VSS_2电源 VDD_2电源 PA14/JTCK/SWCLKI/O PA15/JTDII/O PB3/JTDOI/OPB3/TRACESWO PB4/JNTRSTI/O PB5I/OI2C1_SMBAI PB6I/OI2C1_SCL/TIM4_CH1 PB7I/OI2C1_SDA/TIM4_CH2 BOOT0I PB8I/OTIM4_CH3 PB9I/OTIM4_CH4 VSS_3电源 VDD_3电源 9 表 2-4 引脚资源分配 I/O引脚功能 PA313输入,按键 S1:上选项 PA717按键 S3:下选项 PA829按键 S5:左选项 PA1132按键 S6:右选项 PA1233按键 S7:确认选项 PB119微动开关 S2:水位 PB541微动开关 S4:机盖 PA212蜂鸣器 PB642继电器:K1 进水阀 PB743继电器:K2 出水阀 PA010电机正转控制 PA111电机反转控制 PA4 PA5 PA6 PB8 PB9 PB10 PB11 PB12 PB13 PB14 PB15 14 15 16 45 46 21 22 25 26 27 28 12864 液晶屏的控制接口 与数据接口 10 PB018童锁:芯片模数转换接 口 2.2.2 电源电路模块 如图 2-2 所示,由于系统中存在感性元件(电机、继电器、蜂鸣器)运行会拉 低系统电压,导致液晶灰度调节值偏出相应范围,故电源采用两节锂电池串联供电, 提供 7.8V 的电压。采用 ASM1117-3.3 稳压管,输出的 3.3V 供给单片机、按键和蜂 鸣器。并且加入 ASM1117-5 专门供给液晶的灰度调节端口使用。而相应的电机、继 电器等大功率感性元件则直接接入 7.8V。 图 2-2 电源原理图 2.2.3 按键模块 洗衣机控制系统需实现以下功能:进水、洗涤、漂洗、甩干、结束等状态以及 控制时间的显示。在使用中通过按键来提供相应的操作,选择相应的洗衣流程。在 洗衣机控制板上设有 S1、S3、S5、S6、S7 五个人机交互按键。各按键实现的功能 见表 2-5 所示。 表 2-5 按键功能分配表 代号功能具体功能 S1上选项控制人机交互界面菜单选项向上功能 S3下选项控制人机交互界面菜单选项向下功能 S5左选项控制人机交互界面菜单选项向左功能 S6右选项控制人机交互界面菜单选项向右功能 S7确认选项控制人机交互界面菜单选项的选定/退出功能 11 其电路原理见图 2-3 所示。 图 2-3 交互式按键原理图 考虑到洗衣机中的水 位检测和机盖报警的实现 会有使用及演示等不方便 因素,故而在控制板上使 用 S2 和 S4 两 个微动开关 代替。其中S2 代替水位检 测传感器,S4 代替洗衣机机盖报警传感器。其原理如图 2-4 所示。 12 图 2-4 微动开关原理图 硬件部分采用下拉电路,采用 10K 欧的电阻作为下拉电阻,这样流过的电流会 比较小,而且又能起到相应的传输信号的作用。 对于逻辑上:按键按下,CPU 接收的是高电平。按键松开,CPU 接收的是低电 平。 开机后,软件不断检测 PA3、PA7、PA8、PA11、PA12 的输入。当有键按下时, 软件便会检测到此按键输入口的高电平。根据扫描到的管脚的电平,来判断相应的 按键被按下。采用软件消抖的方式,需要再检测到按键按下之后延时 20ms,再一次 进行检测,只有两次都检测到同一个按键时,才进行相应的动作。 2.2.4 报警器模块 在本设计拥有全自动洗衣机的故障自诊断功能。为避免洗衣机出现问题或故障, 保证洗衣机的安全工作,在洗衣机运行过程中出现故障时,应立即发出蜂鸣声报警, 以提醒用户及时处理。具体实现方式:首先洗衣机电源接通,按键、门开关、水位 传感器等输入信号传输给单片机,单片机结合内部时钟信号,不断地对接收到的信 号进行分析,并判断当前工作状态是否正常,若出现异常情况,则进行蜂鸣报警。 在本设计中,报警装置采用小型无源蜂鸣器。无源蜂鸣器是靠压电效应的原理 来发声的,压电材料,一般常见的是各种压电陶瓷。这种材料的特别之处在于,当电 压作用于压电材料时,就会随电压和频率的变化产生机械变形。另一方面,当振动压 电陶瓷时,则会产生电荷。就是说这种材料能把机械变形和电荷相互转化,压电式 蜂鸣器里面的起振片,就是一种压电陶瓷。如上所述,要让它振动,除了压电陶瓷本 身,还需要适当大小和频率变化的电压作用于压电陶瓷。压电式(有源)蜂鸣器内部 带有多谐振荡器,可以产生 1.52.5kHZ 的电压信号,由此压电式蜂鸣器才能发声。 无源蜂鸣器原理如图 2-5 所示。 13 图 2-5 无源蜂鸣器原理图 蜂鸣器的一端接到 VCC 电源上面,蜂鸣器的另一端接到三极管的集电极极 C, 三极管的基级 B 经过限流电阻 R19 后由单片机的 PA2 引脚控制,当 PA2 输出低电平 时,三极管 Q3 截止,没有电流流过线圈,蜂鸣器不发声;当 PA2 输出高电平时, 三极管导通,这样蜂鸣器的电流形成回路,发出声音。因此,我们可以通过程序控 制 PA2 脚的电平来使蜂鸣器发出声音和关闭。 程序中改变单片机 PA2 引脚输出波形的频率,就可以调整控制蜂鸣器音调,产 生各种不同音色、音调的声音。另外,改变 PA2 输出电平的高低电平占空比,则可 以控制蜂鸣器的声音大小。 2.2.5 水阀模块 水阀分为进水阀和出水阀。分别用 K1 和 K2 两个继电器代替。其原理如下图 2- 6 所示。其中,K1 代表进水阀门,K2 代表出水阀门。当洗衣机运行时,如果到达进 水状态,则进水继电器 K1 吸合,出水继电器 K2 断开,模拟进水阀门的打开。如果 到达洗涤状态,则进水继电器 K1 与出水继电器 K2 同时关闭。既不进水,也不出水。 如果到达出水状态,则出水继电器 K2 吸合,进水继电器 K2 断开,模拟出水阀门的 打开。 14 图 2-6 水阀原理图 2.2.6 直流电机模块 洗衣机的滚筒采用一个小型直流电机代替。 驱动方式采用脉宽调制技术(PWM 技术)来调节转速。采用一枚专用的 H 桥芯 片 L9110S 来进行电机的转向及转速的调节。其引脚功能说明见表 2-5 所示。引脚 排列如图 2-7 所示。 表 2-5 L9110S 的引脚功能 图 2-7 L9110S 引脚排列图 序号符号功能 1OAA 路输出管脚 2VCC电源电压 3VCC电源电压 4OBB 路输出管脚 5GND地线 6IAA 路输入管脚 7IBB 路输入管脚 8GND地线 15 L9110S 具有静态工作电流低,电压范围宽,带负载能力强,外围电路少及价格 较便宜等优点。非常适合应用于小型直流电机的控制。其器件应用图如图 2-8 所示。 图 2-8 L9110S 应用电路图 由图 2-8 可以看出,L9110S 的外围电路只要在 IA 及 IB 两个端口连接上控制线 就可以驱动它。图 2-9 为 L9110S 管脚波形图。 图 2-9 L9110S 管脚波形图 本设计采用 7.8V 的两节锂电池供电。由于 CPU 的电压等级是 3.3V,为了安全 起见,CPU 到 L9110S 的控制线采用了光耦进行隔离。通过 IA 及 IB 端口的配置来改 变电机的转向,通过 PWM 技术改变输出端口 P6 的电压等级,由此来改变电机的转 速。其原理如图 2-10 所示。 16 图 2-10 基于 L9110S 的 H 桥原理图 2.2.7 12864 液晶 本设计采用 12864 液晶作为显示设备。12864 液晶是一种具有 4 位/8 位并行、 2 线或 3 线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形 液晶显示模块;其显示分辨率为 128*64,内置 8192 个 16*16 点汉字。 其基本特性如下: (1) 低电源电压(VDD:+3.0-+5.5V); (2) 显示分辨率:12864 点; (3) 内置汉字字库,提供 8192 个 1616 点阵汉字(简繁体可选); (4) 内置 128 个 168 点阵字符; (5) 显示方式:STN、半透、正显; (6) 驱动方式:1/32DUTY,1/5BIAS; (7) 视角方向:6 点; (8) 背光方式:侧部高亮白色 LED,功耗仅为普通 LED 的 1/51/10; 17 (9) 通讯方式:串行、并口可选; (10) 内置 DC-DC 转换电路,无需外加负压; (11) 无需片选信号,简化软件设计; (12) 工作温度: 0 - +55 ,存储温度: -20 - +60。 在本次毕业设计中其用于洗衣机的工作状态(进水、洗涤、漂洗、甩干、结束) 及时间剩余状态(时间精度:秒) ,等等一些必要的流程显示。图 2-11 及 2-12 分别 是 12864 的实物图及电路原理图。 图 2-11 12864 液晶实物图 图 2-12 12864 液晶并行接口原理图 2.2.8 童锁功能 18 为了避免孩童玩耍误操作带来的后果,设计了童锁功能,开机前会进行开机认 证。只有通过专用的密钥认证,才能开机。密钥采用 USB 接口,在 DATA+与 DATA-配置不同的电阻,通过单片机自带的 AD 检测电压来进行验证。密钥使用了 一个 103 的电位器,这样就可以通过改变电阻来设置相应校验的电压值。电路原理 如图 2-13 所示。 图 2-13 AD 检测原理图 3 系统的软件设计 3.1 软件编程思路 全自动洗衣机控制系统的软件设计根据其功能要求,主要分为以下几个大程序 模块:主程序流程、输入扫描模块、显示界面菜单模块、输出控制模块、串口调试 模块。其中主程序流程图见附录五。 3.2 各模块程序编写思路 主程序流程图如图 3-1 所示。首先开机进入开机第一屏的一个欢迎界面,显示 延时 1s 后,进入密钥提示界面。只有插入专用的密钥才能进入下一步的一级菜单。 如果 密钥验证错误,则会提示密钥错误,这时可以按下确认键跳回到上一步重新进 行 验证。 当进入一级菜单后,会有三个菜单选项,分别是:洗衣流程、功能设置、作品 19 简介。当选中相应的菜单选项后,会进入相应的二级菜单界面: (1) 洗衣流程二级界面:设置衣物的多少、洗涤及漂洗的时间与次数。最 后当所有洗衣参数都设置完后,按下确认键,会按照设置的流程进行相应的洗衣动 作。同时会显示相应的洗衣步骤及剩余时间,给予操作者参考。 (2) 功能设置二级界面:对于经常洗衣设定的参数予以保存,可以设置一 键洗衣。方便操作。还可以根据需要设置关闭报警器及关闭密钥认证。 (3) 作品简介二级界面:对我这次毕设的一个简单介绍,以类似电子书的 形式呈现。通过上下键进行翻页查看,确认键退出。 3.2.2 输入扫描模块 输入扫描模块用于主程序运行时进行按键、触控开关以及童锁 AD 的实时检测 与动作。 对于按键的扫描,主要是将获取的七个按键当前值打包存入一个 keytemp 变量 中。最后在循环中不停的分析 keytemp 的值来确认相应的按键,如图 3-1,3-2。 20 图 3-1 按键扫描程序图 图 3-2 按键扫描流程图图 对于童锁只有在开机时才会进行密钥的验证,所以童锁 AD 的数值只用与开机不 久的检测。而 5 个按键则在主程序运行的任何时刻都在进行检测,应为主程序对于 按键所触发的事件需要实时进行处理,为了提高程序的实时性则需要进行实时检测。 而触控开关的作用是用于检测水位和机盖,涉及到突然事件。则使用外中断进行操 作比较好。 3.2.3 显示界面菜单模块 使用 12864 液晶作为界面的显示设备,需要用到液晶的绘图功能。 首先说一下液晶点阵 LCD 的显示原理: 对于数字电路,所有的数据都是以 0 和 1 保存的,对 LCD 控制器进行不同的数 据操作,可以得到不同的结果。对于显示英文操作,由于英文字母种类很少,只需 要 8 位(一字节)即可。而对于中文,常用却有 6000 以上,所以将 ASCII 表的高 128 个很少用到的数值以两个为一组来表示汉字,即汉字的内码。而剩下的低 128 位则留给英文字符使用,即英文的内码。 在得到了汉字的内码后,还仅是一组数字对于 LCD 显示,这就涉及到文字的字 模,字模虽然也是一组数字,但它的意义却与数字的意义有了根本的变化,是用数 字的各位信息来记载英文或汉字的形 状,如英文的A在 21 字模的记载方式如图 3-3 所示: 图 3-3 “A”字模转换图 其次,制作菜单界面,首先需要制作相应的素材。比如:对于“洗衣流程”这 个一级菜单。为了减轻工作量,使用到一款“液晶取字模”的软件。下图 3-4 则是 这款软件的界面。 图 3-4 液晶取字模软件界面 1 首先是在软件中输入“洗衣流程” ,图 3-5 所示。为了体现友好的人机交互界 面,所以会涉及到菜单的选中与非选中。这样就需要生成相应的阴码与阳码。如图 3-6 所示。 图 3-5 液晶取字模软件界面 2 22 图 3-6 液晶取字模软件界面 3 最后点击生成自模就会生成对应的相应字模码。如图 3-6 所示,就可以把其嵌 入 12864 的绘图驱动中。 图 3-6 液晶取字模软件界面 4 对于菜单的嵌套,比如每个以及菜单还会嵌套相应的二级菜单。相应的需要进 行判断。 3.2.4 输出控制模块 输出控制模块是实现控制电机及洗衣机的进水与出水阀门。对于直流电机的控 制,则用到了 PWM 技术来改变转向及转速。在程序中,使用了定时器中断来控制。 由于涉及到洗涤、漂洗及甩干等相应的电机操作,用到的电机转速、流程都不尽相 23 同。 (1) 洗涤:正转 1s,停 1s,翻转 1 秒,停 1s。 (2) 漂洗:正转 2s,停 1s, 翻转 2 秒,停 1s。 (3) 甩干:正转 15s 后自动停止。 在程序设计中使用到了两个定时器中的三个定时器通道。这样可以节约定时器 资源,提高利用率。定时器的另外几个通道用于倒计时等其他几个作用。 对于进水、出水阀门,则是使用的普通 I/O 直接输出的。 3.2.5 串口调试模块 做程序的调试用,也可以进行相应的设置,通过上位机对洗衣机进行一些控制。 这里不多做介绍。 24 4 制版及调试经历 4.1 制板 4.1.1 器件原理图库 对于没有任何资源积累的我来说,首先需要制作器件原理图库。这时就需要依 照各个器件的数据手册(Datasheet)来进行绘制。对于每一个元器件来说,都需
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 14287.7-2025电气火灾监控系统第7部分:电气防火限流式保护器
- 【正版授权】 ISO 54002:2025 EN Quality management systems - Guidance for the application of ISO 9001:2015 in police organizations
- 国家市场监督管理局店铺租房合同范本3篇
- 2025年注册测绘师考试真题汇编模拟试卷及答案解析
- 北京理工大学北理工计算机专业基础考研真题及答案解析
- 2025年二级建造师考试试题一a4版附答案详解
- 五年级生命与安全课件-1
- 建平中学自招真题含解析
- 循证药学考试题及答案
- 投资顾问从业模拟试题及答案
- 【2025年】人防工程测试题及答案
- 北京师范大学本科生毕业论文(设计)开题报告
- 2025年中国沉香行业分析报告
- 专科会计职业生涯规划
- 制药行业质量意识培训
- 艺术幼儿园员工消防安全教育培训记录
- 浙江省A9协作体2025-2026学年高二上学期期中联考英语试卷(含音频)
- 2025贵州毕节织金县公安局面向社会招聘警务辅助人员140人考试笔试备考试题及答案解析
- 农户代耕代种协议书
- 煤油安全使用技术说明书编写标准格式
- 2025广西华盛集团北海裕泰工艺有限责任公司招聘4人(截止至11月15日)笔试历年典型考点题库附带答案详解试卷2套
评论
0/150
提交评论