6
第二章 方案论证
根据设计要求,该系统由以下四个部分组成,分别是预设硬币投入、金额累计、可售指示和退币系统。经我们小组多次讨论,总结,从多个方案选择最佳的方案进行设计。
2.1 方案设计 2.1.1方案1
此方案中,自动售货机系统以FPGA器件作为处理和控制核心,能完成货物的信息存储,进程控制,硬币处理,余额计算,显示等功能。系统根据用户输入的货币,判断钱币是否足够,足够则售货,不够则提示并退出。系统自动的计算出应找钱币余额、库存数量并显示。系统按功能分为:分频模块、控制模块、译码模块、译码显示模块。
时钟 分频器 按键 控制器 RAM 译码 显示 数据
方案1的系统组成方框图:
2.1.2方案2
基于PLC的方案设计,自动售货机控制系统设计主要有三个功能模块,一个为售货机输入模块:该模块能完成货物信息的存储,硬币处理,余额计算。一个为中央处理模块:功能主要是硬件实验板上让两路信号同时在两个7段数码管上显示出来。另一个为输出控制模块:该模块主要是控制输出信号来控制阀门打开与找钱,并且控制阀门的打开时间。
7
投币 各种指示灯 退币电动机 PLC 货物选择 出货继电器 退币 输出显示
方案2的系统组成框图
2.1.3 方案3:
基于单片机的自动售货机设计,选择AT89C51单片机在一块芯片中集成了CPU、RAM、 ROM、定时器/计数器和I/O口等基本功能部件。各功能部件由内部总线连接在一起。89C51基本结构见图3-6所示。
图3-6 89C51单片机基本结构图
CPU是单片机的核心部件,由运算器和控制器等部件组成。运算器的功能主要是进行算术运算和逻辑运算。由8位ALU单元,两个8位的暂存器,8位的累加器ACC、B寄存器,程序状态寄存器PSW等组成。控制器用于控制单片机各部分的运行,由程序计数器PC,指令寄存器、译码器及定时控制逻辑和数据指针DPTR组成。
2.2 方案比较
方案1功能模块较多,且每个功能模块下还包括几个程序模块,设计起来,
8
程序输入必然很多很繁琐,当然涉及到的问题就较多,较复杂,而且对clk的分频也有多次,这不太利于功能和时序仿真,也不太利于最后在硬件实验板上进行模拟实验。
方案2设计程序简单,操作简单,但其PLC价格太高,并维护费用高,过程复杂,输入输出电压过高,在人口活动较高的地方,售后机的显示,输出都是小功率,不适合使用,不经济。
方案3功能模块较少,但是功能实现都一样,这就减少了程序的繁冗,最后电路图显得就更加简短明了,越少的中间环节,实际操作起来肯定相对要容易一些。另外单片机的工作电压低,价格便宜,运行可靠,经济,维护费用不高。
所以最后选择方案,最终考虑使用AT89C51单片机。
9
第三章 硬件设计
3.1设计思路
自动售货机是集光、机、电一体化的独立结构,它只需要顾客投币和按购物键选择即可自动售货及退找零钱,其工作程序如下图3-1
顾客投入货币 顾客按动按钮 机器自动计数 机器送出选定商品 机器将余币送出 顾客取出余币
图3-1 自动售货机工作时序图 售货机的工作原理是:
1)从投币口送入货币,然后通过传感器采集数据、识别器判断货币的 面值。
2)识别器把信息数据传给单片机。
3)单片机通过八位动态数码管显示投入金额,投入金额等于或超过定 时,相应的营业灯亮。
4)按相应按钮,售货机自动把商品送出,等待顾客取走。
5)显示余额,顾客可以选择找币或者继续买商品亦可继续投币如果选 择找币,系统会自动延时将硬币退出。 6)系统复零,完成售货。 由于系统的局限性,本次设计有按钮来代替货币的投入动作,分别有1元和5元两种投币金额,使用89C51为系统的核心,完成投币、装货、金额计算、清
10
顾客取出商品