基于单片机的自动售货机模拟设计
2014-04-29刘志臣
刘志臣
摘 要:本系统设计是在YL-236实验台的硬件基础上,以AT89C52芯片为核心,以键盘、传感器为输入系统,以数码管、液晶显示及步进电机、物料搬运装置为输出系统的模拟智能化控制系统。自动售货机由货币管理(识别接收)、货物库、货物搬运装置、传送装置、状态显示等组件组成。本售货机具有找零功能,并且可根据需要售出相应的货物。
关键词:单片机; 自动售货机; YL-236实验台; 控制系统
中图分类号:TP273 文献标识码:A文章编号:1006-3315(2014)03-146-002
1.方案设计
自动售货机由货币管理(识别接收)、货物库、货物搬运装置、传送装置、状态显示等组件组成。YL-236实验台是近年亚龙公司研制的用于教学的单片机控制装置实验台,合理利用该实验台模拟设计日常生活生产中的控制装置,对于中职电类专业教学有十分重要的意义。研究该实验台各模块电路原理后,从实际出发,我作出如下设计:
1.1货币管理方案的选择
硬币识别接收用金属传感器配合智能物料搬运装置实现,金属传感器检测到投币后,硬币由投币口进入到硬币识别处(智能物料搬运装置工位一),如图1-1。识别后由机械手接收存放并计算货币金额。
硬币用黄球和白球代替,黄球代表1元,白球代表5角。“货币存放处”在步进电机位置指针的2cm处(1元),3cm处(5角)。若取消购买,则由传送装置将其送入出币口(步进电机位置指针的1cm处)。
图1-1YL-G001型智能物料搬运装置 图2-1系统框图
78 9汽水
45 6咖啡
123茶饮
0 确认 取消 查询
图1-2键盘示意图图2-2 选货界面
1.2货物管理方案的选择
模拟货物有三种:汽水、咖啡、茶饮。分别用黑球、白球、黄球代替,售价分别2.5元、4元、3.5元;每件商品对应的满货量均为5件。
出货时,根据选定的饮料名称寻找相应的位置,饮料由搬运装置送入交接口并进入传送带,由传送装置将饮料送至“取货品处”。饮料库的位置由步进电机的位置模拟,汽水、咖啡、茶饮分别在步进电机位置指针的7cm、8cm、9cm处;取货品处用步进电机位置指针的15cm处代替。
1.3传送装置方案的选择
整个系统的传送装置由步进电机模拟。闸门电机由24V直流电机模拟。
1.4键盘方案的选择
由于系统需要的功能键稍多,我在本系统中选择了4×4矩阵按键如图1,查询键用来查询售货机内货品相关信息;其中“0”具有第二功能,代表光标右移。
1.5显示方案的选择
由于系统需要计数和状态查询共同显示,因此我选择使用数码管和12864液晶显示屏。
1.6电源方案的选择
本系统由实验台电源模块统一提供5V、12V、24V电源,并且钮子开关模拟控制总开关,控制运行机构电源(24V)通断。
1.7报警方案选择
在售货机出货后和无货时,我选择用主机模块的有源蜂鸣器做报警装置。
2.系统框图及工作过程
图2-1给出了系统组成方框图。系统工作过程:1)货品选择。按下货品所对应的按键,显示对应的货品信息,以汽水为例进行说明:按下“汽水”键,LCD显示如图2-2,对应数量“XX”反白显示,按数字键输入货品数量,总价自动更新,确认后显示“请投币”,数码管右侧两位开始计时。
2)投币。60秒内未检测到硬币进入,自动取消购买,返回初始状态。若正常投币确认,数码管重新开始计时,机械手进入硬币识别区进行检测,并在液晶屏上更新显示“共投入XX元”、“找零XX元”、“请确认”。按下确认键,机械手对货币进行自动分拣,存到相应的“货币存放处”;若需要找零則开始找零,若不需找零直接进入出货过程,若按下取消键,液晶屏显示“请取回货币”,直接将硬币送入出币口。找零与存货币过程相反,先取货币,再送至出币口。
3)若恰好本机无零钱,则液晶屏显示“本机当前无法找零”、“是否继续”,确认键继续,取消键退回硬币。
4)出货过程:硬币进入“货币存放处”后,根据名称寻找对应货品存放处,打开库门电机,然后自动抓取货品,抓取完毕关库门,货物由传送带送至“取货品处”时,蜂鸣器发出提示音提示取货, 2秒后返回初始状态。
5)在购买饮料时,若该饮料已经售完,蜂鸣器报警,居中显示“XX已售完”,5秒后返回初始状态。
6)售货机不售货时,60秒内无任何操作,则进入休眠状态,按任意键唤醒
7)查询功能:首先进入密码输入界面图2-3。此时需从键盘输入六位数字的查询密码(初定为987654),若密码正确,则进入查询界面,每种货品后面显示剩余货品数,并在数码管左侧四位显示货币箱内总金额。否则返回初始状态。
3.系统分立模块设计及工作原理
3.1键盘模块及原理
在本系统中输入输出设备较多,51单片机仅有32个I/O口已经不能满足功能需要。因此我设计使用8255扩展芯片,由于PC口可以作为两个4位口,矩阵键盘4行4列就可以分别通过8255扩展芯片PC口高低4为接到单片机芯片I/O端口。单片机通过键盘扫描程序判断键值并且执行相应的子程序。
3.2货币管理设备及原理
因为本装置上的直流电机工作电压为24V,工作电流也比较大,单片机的工作电压为5V,所以单片机不能直接对本装置进行控制,需要通过继电器模块进行转接。另外,搬运装置中的传感器信号也不能直接加到单片机I/O端口上,需要通过光耦模块进行转换。
3.3货物管理设备及原理
本设备中步进电机采用两相永磁感应子式步进电机,并且带有SJ-230M2驱动器,因此只要由单片机输出三路信号就可以控制它,并且在本系统模拟中精度足够好。直流电机也需要通过继电器来控制,因此必须由单片机端口引出控制信号。
3.4显示设备及原理
TG12864液晶模块是一款内部没有字库的模块,因此在编程时需要注意提取字模。数码管和液晶模块的数据线可以与8255分时复用P0口,采用总线写法编程。
4.系统工作流程简图
编程软件是利用Keilc、万利仿真器配套软件Medwin3.0。编程语言选用C51,C51既可以像汇编语言一样对位、字节和地址进行操作,又以函数形式提供给用户的,可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。主程序设计主要采用循环结构,流程简图如图4。
、
图4系统工作流程简图
5.总结
为了保证本模拟系统符合要求,需对系统进行适当检测和调试。对系统的调试可分为几个部分,首先检查硬件电路的连接并进行适当的调试、对系统的数据传输进行调试、对设备出现的故障进行全面的分析和处理,确保系统运转正常。YL-236设备采用模块化设计,本系统中各个模块相互独立又相互联系,易于排除故障,具有良好的可靠性。
参考文献:
[1]郭天祥.新概念51单片机C语言教程,北京:电子工业出版社,2009
[2]林伸茂,管继斌,白雁均.8051单片机彻底研究基础篇,北京:人民邮电出版社,2004
[3]葛金印商联红.单片机控制项目训练教程,北京:高等教育出版社,2010
[4]陈劲松.自动售货控制系统电路设计,煤炭技术,2001,(1):206~207