随着人工、场地等费用不断增加,需要有人值守的商店售卖商品模式成本太大,需要一种新型的、自动的、无人的售货系统来代替。自从自动售货机发明以来,这种机器就在全球范围迅速普及推广。本文意在通过单片机来设计一款自动售货机,以加深对电子电路设计的学习和思考。
一、总体设计
本文设计的自动售货机以AT89C51单片机、按键模块以及HX711检测模块为主,实现了不同价格商品的选择、价格输入及确认、硬币检测等。LED灯指示8种商品价格,LCD实时显示售价、数量信息;按键用来选择商品种类及数量、确认与取消等操作;利用A/D转换器芯片HX711来检测硬币;单片机接受按键及硬币检测信息进行判断后进而模拟实现自动售货机的功能。
二、系统硬件电路设计
1、系统整体电路设计。整个系统共分为5个模块:分别是单片机控制模块、显示模块、硬币检测模块、按键模块以及LED指示灯模块。整体的电路设计如下图所示。
2、单片机核心控制电路设计。本文选择51系列单片机,该芯片共有8个部分组成,分别为:外部和内部时钟模块;具有数据处理和交换功能的ROM和RAM部分;能够同时实现8位以及16位的组合内部定时以及外部计数的部分;TX和RX模块,4路32个多功能引脚;核心CPU和中断管理模块。
3、显示电路设计。显示电路主要由单片机的 P20口对液晶的8个数据口控制,进行数据读写操作,相关的读写指令则由单片机的P3.2、P3.3以及P3.4控制实现。
4、按键电路设计。如图1所示,通过price加、减来实现对物品价格增加和减少选择;通过num按键选择商品数量,然后通过ok和NO按键予以确认、取消;確认后,通过中间数字列按键实现付款;代付款完成,液晶显示器会自动显示找零价格。
5、商品指示电路。本设计总设置了8种不同价格商品,分别对应1到8元不等。通过按键实现对商品价格的选择,选择后对应的指示灯亮,表示选择成功,进而可以选择商品数量并确定。单片机的P0口实现对8种不同价格商品的选择。
6、硬币检测电路。本文设计的系统采用HX711来实现对硬币重量的检测,根据重量来检测硬币真假,同时通过电阻应变传感器,利用AD转换芯片HX711,实现对应变电阻两端的电压进行检测,经过HX711模数转换后,单片机在内部对数据进行读取。
三、智能售货机系统软件设计
系统程序主要是对系统按键扫描,从而实现选择商品、价格输入、购买成功等功能。显示模块:MCU通过DB0-DB7液晶模块的CGRAM以及DDRAM读取和写入两种操作。单片机针对引脚RS、R/E、EN进行合理的赋值来完成两种的时序。投币模块:在4*4矩阵键盘上模拟投入货币,若投入一种面值的货币就相应累加,如果没有投入货币或者币值不足,则提示继续投币。当所投货币足够时,则进入出货找零系统。硬币检测模块:当系统检测到硬币投入,即通过模数转换获得所投入硬币的重量数值,如重量不符合标准则判断其为假币。出货找零模块:当系统进入出货找零程序时,如果购买商品后没有剩余货币则直接推出商品,若还有剩余货币则找出余币。
四、系统仿真测试
仿真测试主要是利用proteus软件模拟实现按键选择商品、数量、价格等,商品信息显示以及单片机控制等功能。首先按键对商品进行选择,选择完毕后按键OK确认,按键NO取消,按下OK键后进入付款界面,然后通过按键输入价钱,实现付款,成功后显示销售成功界面。
总结:本文实现一款智能售货机系统的设计,通过按键实现对商品价格进行选择、付款等,同时利用LCD模块实现对自动售货的显示。该智能售货机系统还有非常大的完善空间,比如增加语音播报、接入物联网等等。
参 考 文 献
[1]刘尘尘. 一种高速单片机芯片在自动售货机中的实现[J]. 西昌学院学报(自然科学版),2015,29(04):29-31.
[2]安媛,杨赛烽. 一种新型校园自动售货机的设计与实现[J]. 电子世界,2016(17):171+199.
[3]罗凯洋. 新鲜果蔬自动售货机的设计与实现[J]. 科技传播,2016,8(19):290-291.
崔棚飞(1996-11-28),男, 四川省苍溪人, 本科, 研究方向:通信、物联网