由图2-8可以看出,L9110S的外围电路只要在IA及IB两个端口连接上控制线就可以驱动它。图2-9为L9110S管脚波形图。
图2-9 L9110S管脚波形图
本设计采用7.8V的两节锂电池供电。由于CPU的电压等级是3.3V,为了安全起见,CPU到L9110S的控制线采用了光耦进行隔离。通过IA及IB端口的配置来改变电机的转向,通过PWM技术改变输出端口P6的电压等级,由此来改变电机的转速。其原理如图2-10所示。
图2-10 基于L9110S的H桥原理图
15
2.2.7 12864液晶
本设计采用12864液晶作为显示设备。12864液晶是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128*64,内置8192个16*16点汉字。
其基本特性如下:
(1) 低电源电压(VDD:+3.0--+5.5V); (2) 显示分辨率:128×64点;
(3) 内置汉字字库,提供8192个16×16点阵汉字(简繁体可选); (4) 内置 128个16×8点阵字符; (5) 显示方式:STN、半透、正显; (6) 驱动方式:1/32DUTY,1/5BIAS; (7) 视角方向:6点;
(8) 背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5—1/10; (9) 通讯方式:串行、并口可选;
(10) 内置DC-DC转换电路,无需外加负压; (11) 无需片选信号,简化软件设计;
(12) 工作温度: 0℃ - +55℃ ,存储温度: -20℃ - +60℃。
在本次毕业设计中其用于洗衣机的工作状态(进水、洗涤、漂洗、甩干、结束)及时间剩余状态(时间精度:秒),等等一些必要的流程显示。图2-11及2-12分别是12864的实物图及电路原理图。
图2-11 12864液晶实物图
16
图2-12 12864液晶并行接口原理图
2.2.8 童锁功能
为了避免孩童玩耍误操作带来的后果,设计了童锁功能,开机前会进行开机认证。只有通过专用的密钥认证,才能开机。密钥采用USB接口,在DATA+与DATA-配置不同的电阻,通过单片机自带的AD检测电压来进行验证。密钥使用了一个103的电位器,这样就可以通过改变电阻来设置相应校验的电压值。电路原理如图2-13所示。
图2-13 AD检测原理图
17
3 系统的软件设计
3.1 软件编程思路
全自动洗衣机控制系统的软件设计根据其功能要求,主要分为以下几个大程序模块:主程序流程、输入扫描模块、显示界面菜单模块、输出控制模块、串口调试模块。 其中主程序流程图见附录五。
3.2 各模块程序编写思路
主程序流程图如图3-1所示。首先开机进入开机第一屏的一个欢迎界面,显示
延时1s后,进入密钥提示界面。只有插入专用的密钥才能进入下一步的一级菜单。 如果密钥验证错误,则会提示密钥错误,这时可以按下确认键跳回到上一步重新进 行验证。
当进入一级菜单后,会有三个菜单选项,分别是:洗衣流程、功能设置、作品简介。当选中相应的菜单选项后,会进入相应的二级菜单界面:
(1) 洗衣流程二级界面:设置衣物的多少、洗涤及漂洗的时间与次数。最后当所有洗衣参数都设置完后,按下确认键,会按照设置的流程进行相应的洗衣动作。同时会显示相应的洗衣步骤及剩余时间,给予操作者参考。
(2) 功能设置二级界面:对于经常洗衣设定的参数予以保存,可以设置一键洗衣。方便操作。还可以根据需要设置关闭报警器及关闭密钥认证。
(3) 作品简介二级界面:对我这次毕设的一个简单介绍,以类似电子书的形式呈现。通过上下键进行翻页查看,确认键退出。
18
3.2.2 输入扫描模块
输入扫描模块用于主程序运行时进行按键、触控开关以及童锁AD的实时检测与动作。
对于按键的扫描,主要是将获取的七个按键当前值打包存入一个keytemp变量中。最后在循环中不停的分析keytemp的值来确认相应的按键,如图3-1,3-2。
图3-1 按键扫描程序图
图3-2 按键扫描流程图图
19