基于单片机的自动售货机系统设计
摘要
随着科技的进步,生活水平的不断提高,人们对购物的关注也日益增加并且追求方便快捷的消费方式,而自动售货机的出现满足了人们的需求,它是一种非常有效的自动化技术,由于它可以不受时间、地点等条件的约束,所以受到了广泛的欢迎。因此,研制一款自动售货机系统显得尤为重要。
本文设计基于单片机的自动售货机系统,分为硬件电路设计与软件设计。硬件电路设计,本系统由ST(意法半导体)公司设计和生产的STM32F103C8T6单片机为核心,根据设计功能要求,将硬件电路模块化,分为:电源模块、投币模块、电机模块、按键输入模块、OLED显示模块、报警电路模块及LED灯模块,通过按键输入模块对商品种类和数量的选择以及出货、退币的功能,用OLED显示屏模块实时显示购买的情况以及投币数量,通过LED灯模块提醒顾客哪个通道出货,用蜂鸣器和LED灯提示顾客投币不足。软件部分,根据系统需要实现的功能,运用KeilμVision5编写主程序代码,并调用各个子程序来实现自动售货机的基本功能。最后运用Proteus软件对实验电路和编写好的程序进行仿真,模拟售货过程。本文研究的自动售货机系统具有实时显示商品种类和数量以及投币数量,退币及找零,报警等功能,使得系统更加智能快捷更具有实时性,直观性。
关键词:自动售货机STM32F103C8T6
目 录
第一章 绪论
1.1 课题的研究背景及意义
自动售货这种观念是顺应时代潮流的,在人们追求快捷、便捷的同时,也产生了这种观念。这一现象的产生,是由劳动密集工业结构转向技术密集化的结果[1]。生产规模大、消费规模大、消费方式、营销方式发生变化,需要新的流通渠道;同时,超市、百货公司等新的流通渠道的出现,使得人力成本也在持续上涨;由于场地条件有限,加上购物是否方便等因素的制约,所以无人售货机就成了必不可少的设备[2]。
因其占地少、运行费用低廉、管理简便、服务快速、无时间、无地域之限制而受到广大顾客及商家的青睐;与此同时,由于商铺租金的不断上涨和物价的飞速飙升,使得原本盈利不多的小卖部、便利商店等在繁华地带渐渐淡出,被自动售货机代替[3]。目前,大部分的贩卖机都分布在学校,影院,医院,车站等人群集中的区域,以其便捷、智能的购物模式,很快就赢得了年轻人的青睐。
随着社会的进步,各种类型的自动售卖机也随之出现,如:饮料、零食、冰淇淋、咖啡自动售货机等,自动售货机的蓬勃发展,反映了人类的生活节奏得加快,科技得发展与提升创新是最重要的,而要生产出更能满足现代消费潮流和消费习惯的新型设备,就变得越来越重要[4]。本文是研究基于单片机控制类型的自动售货机。
1.2 国内外研究现状
1.2.1 国外研究现状
在公元一世纪,希罗开发了一个能够自行售卖圣水的机械机器,这也就是世界上的第一个售货机机器[5]。一九二五年,在美国首先发明了贩卖香烟的自动售卖机[6],此外还有各种更现代的销售邮票和车票的机器。现代自动贩卖机的类型、构造、用途都多种多样,主要有糖果,饮料,报刊等。自动贩卖机在二战之后才真正流行起来。50年代流行的是“喷射式果汁贩卖机”,把果汁倒入纸杯中销售。之后,美国大型饮料企业纷纷涌入日本,在一九六二年,在零售行业掀起了一场以售货机器为主的变革。一九六七年,在100日元以下的所有钞票都被兑换为钱币,从而促进了自动贩卖机行业的发展。
随着人民生活水平的不断提高,生活的速度越来越快,人们对于付款方式的追求越来越简单、便捷、流行。
在加拿大,很大一部分的自动售货机已经抛弃了投硬币,取而代之的是一种先进的触控技术,这种技术可以让用户通过佩戴的类似于戒指或者钥匙上的信息按钮,将其准确的记录下来,然后将其传送给信息中心。
在英国,一种专门的自动贩卖机器也被银行和信用公司开发出来。只要轻轻一拉卡,就能免去许多麻烦。到了二零零二年,英国百分之二十以上的人都有这种信用卡,可见英国的自动贩卖机是何等的受欢迎[11]。
在韩国,第一个打折的“积分忠诚”项目,正在悄然地和自动售卖机行业联系在一起,通过手机或者特殊的信用卡,可以实时发送扣款、余额、打折等短信,既方便又时尚[12]。
另外,柏林的公交票务系统也采用了自动售票机:它的核心部分是一块名为Feli Ca的芯片,只要有了这个芯片,就可以在自己的手机上进行充值。总之,今后的自动售卖机将会向着智能化监控、节能环保、功能多样化的方向发展。
1.2.2 国内研究现状
20世纪90年代,中国的自动售货机主要是从广东、上海等地区引进的。然而,在中国,由于人们的思维、观念和维护设备环境等原因,其发展依然比较缓慢。虽然在西方发达国家,日本,韩国已经形成了一个比较成熟的零售行业,但中国还处在一个引入阶段[13]。
中国自在日本、韩国引入自动贩卖机并投入一九九二年市场以来至今已有多年了,但发展滞慢,到目前为止,仅有十多年几家开发、生产和经营公司,并且各公司发展极不均衡,在这些公司中,天津戈德公司占据了中国百分之八十的市场份额,其他公司都是零散经营。在技术水平和性能上,国内与世界先进水平还有很大差距[14]。
在我国,由于支付方式单一,管理上缺乏严格的监管,成为制约我国自动运输机行业发展的一个重要因素。从最近两次在上海举行的中国国际自动售票和商务自助商品展览会上,由此可见,国外的自动贩卖机在市场上已是固若金汤。特别是在浙江省,仅有两家公司从事自动贩卖机的生产与研究。这与目前的经济发展趋势以及巨大的市场容量是不相符的。在售货机器方面,还有很大的发展空间。
随着生活节奏的越来越快,人们对对电子产品的需求也在不断增加,而在购物方面,二维码已经成为了现代社会的主要支付手段,随着自动售货机的普及,人们的付款方式也要改变,不再只是单纯的用现金付款,而应该顺应时代潮流,将扫码支付的概念融入到自动售货机的各个环节,将其优势发挥到极致。二维码与自动售货机的融合,是顺应时代发展、创造便利、快速生活的重大突破。
国内的自动售卖机的研究与国外相比还有很大的差距,它的功能和类型还比较单一,它的基本作用就是对所投入的货币数量进行计算,并根据计算结果作出相应的安排我国目前的自动贩卖机的设计和生产都是以单片机和PLC为基础,采用单片机占很大比例[15]。
1.3 主要研究内容及章节安排
本本文研究了本文研究了基于单片机的自动售货机的系统的设计的基本理论,以STM32F103C8T6单片机为核心,能过让顾客自通过按键自行选择自己想要的商品种类及其数量,然后传输给单片机,并在OLED屏中实时显示操作情况,接着,顾客投币购买,投币完成后,按下出货键,系统会将投入的硬币数和购买需要的硬币数作比较,硬币数不足,则蜂鸣器报警,硬币数足够,则开始出货并找多余的硬币,结束。全文供分为六章,各章节具体内容如下:第一章:绪论。首先说明了本文的研究背景、研究意义,并简要地介绍了国内外研究的发展动向和发展前景。
第二章:系统结构设计。首先,对系统的主控芯片和各个模块所需要的器件进行选择和方案论证,接着,详细介绍本系统的总体设计方案,并绘制系统总体设计框图,最后对系统工作流程进行简要概述并总结。
第三章:自动售货机系统的硬件设计。首先对系统的工作原理进行简单介绍,接着再对STM32单片机、电源模块、投币模块、电机模块、按键输入模块、OLED显示模块、报警电路模块及LED灯模块分别进行详细的介绍和电路设计。
第四章:自动售货机系统的软件设计。首先对系统软件的开发软件进行详细介绍,接着绘制出主系统及主要功能模块的程序流程图,并对每块程序流程图加以说明,最后对每块进行程序编写。
第五章:自动售货机系统仿真。首先对系统仿真软件进行详细介绍,接着对系统各个操作阶段挨个进行仿真并说明。
第六章:总结与展望。对本文的设计工作进行总结并且对自动售货机系统设计中可以改进的地方提出展望。
2.1 设计方案论证
2.1.1 控制模块的选择与论证
方案一:选用INTEL公司生产的MCS-51系列的80C51芯片。该芯片时一款具有高稳定的8位单片机,包括CPU、RAM(128字节)、I/O(32个输入/输出)、16位定时/计数器(16位)、串行通信口、两级中断和片内时钟振荡电路。它将HMOS技术的高速、高密度特性与CHMOS低功率特性相结合,具有较强的实用性[7]。
方案二:选用STM32芯片。它是由意法半导体公司开发的。这是一个以Cortex-M3为核心的ARM芯片。STM32微处理器包含了工业控制系统中的各种功能,包括USB、网络、SD卡、A/D转换、D/A转换等。最高工作频率为72MHz:芯片上集成32-512KB闪存,6-64KB的SRAM存储器[8]。
通过上述两种单片机对比,STM32系列芯片是一款32位的内核芯片,而MCS-51系列的80C51只是8位CPU,运算速度STM32要更快;80C51只含有128字节的RAM,而STM32上集成了6-64KB的SRAM存储器,储存空间更大;STM32上的功能模块也比80C51更多,所以本文选用STM32系列芯片。
2.1.2 硬币器的选择与论证
方案一:采用GD-106K型投币器。GD-106K型投币器是一元、五角专用投币器,106K属于单投型,不可退币,用户无需多加学习,出厂时已自行学习了各版本的一元和五角,可直接安装到自动售货机上使用。
方案二:采用TW-2020型硬币器,TW-2020型硬币器是一元专用投币器,支持退币,内部含有记忆晶片组合,一次记忆永不丢失,支持DC5-12V液晶及机械码表,端口采用4针防反国内通用端口。
通过两种投币器的比较,虽然GD-106K型投币器可识别一元及五角的硬币,但是它是单投型的,买多个商品的时候,需要多次投币购买,不能进行连续投币操作,而且它不支持退币功能,不适于本系统的设计,所以本文选用TW-2020型硬币器。
2.1.3 出货电机的选择与论证
方案一:采用大可马品牌的推出式电机。该推出式电机运用的是模块化设计,体积小,可以承载更多的商品,空间利率高,减少了运维成本,每个货道可实现机械出货检测,机械缺货检测,出货红外检测,三重检测确保设备工作稳定。
方案二:采用CY-VGMS-277弹簧电机。该弹簧式电机将电机嵌入装置内部,体积减小一大半,重量轻,安装方便,直接通过卡扣卡在自动售货机中,出货时可保证货物的稳定性,不会像别的传统电机,产生摇晃,完全保证了商品的完好性哦那个。
再对两种电机对比后,推出式电机虽然有众多优势,但是本系统设计的自动售货机以售卖瓶装饮料为主,需要最大程度上保证出货的稳定性,防止商品摇晃,导致顾客购买后,带气饮料不方便打开,影响顾客消费体验。故本文选用CY-VGMS-277弹簧电机。
2.2 系统的总体设计方案
本次设计的自动售货机以STM32F103C8T6芯片为核心,其自动控制系统以模块化方式进行设计,主要由电源电路模块、商品选择模块、投币模块、OLED显示模块、出货模块、报警模块及LED灯模块组成。其中,商品选择模块采用按键输入,方便顾客选择自己想要的商品种类及其数量;投币模块采用TW-2020型硬币器,进行顾客投币及找零;OLED显示模块采用1.3寸OLED显示屏,显示商品的种类、数量,投币数量及电机处于出货状态还是投币不足状态;出货模块采用CY-VGMS-277弹簧电机,将顾客购买的商品移出;报警模块包含声音报警和灯光报警,并以蜂鸣器的声音方式发出,同时LED灯提醒消费者投币不足;LED灯模块就采用LED灯,提示顾客从哪一个通道出货。整个系统的总体设计框图,如图2.1所示。

图2.1系统总体设计框图
2.3 系统工作流程设计
本文设计的自动售货机具体的工作流程如下:
(1)通过按键选择购买商品的种类及数量,并在OLED显示屏中显示总金额;
(2)投入硬币,硬币数也直接显示在OLED屏中;
(3)若投入金额足够,点击出货按钮,开始出货并找零;
(4)如投入的硬币不够,蜂鸣器报警提示,可选择继续支付或退币;
(5)完成交易后,系统将恢复初始界面。系统工作流程图,如图2.2所示。

图2.2系统工作流程图
2.4 本章小结
在对自动售货机的基础上,对各个功能模块进行了介绍和验证,并对整个系统进行了详细的设计,并给出了系统的整体结构框图,并对所设计的自动售货机的工作过程进行了描述。
本文所研究的自动售货机系统,系统硬件由STM32单片机、电源模块、投币模块、电机模块、按键输入模块、OLED显示模块、报警电路模块及LED灯模块等部分组成。该系统采用AC220v电源供电,通过S-50-24直流开关电源,将AC220V转换成DC24V[16],DC24V可以给售货机货物电机模块供电。电源模块中还有内部电池供电的单输出升压转换器,可输出DC12V电压,为售货机的硬币器供电,DC12V再由AMS1117-5V降压芯片转化为DC5V,再由AMS1117-3.3V降压芯片将DC5V的电压转化为DC3.3V。模块化设计能简化系统的设计,减少系统的功耗,简化运行,通过OLED显示屏顾客可直观地选择自己想要的商品。自动售货机原理图如图3.1所示。

图3.1自动售货机原理图
3.1 主控电路的设计
主控电路是系统硬件的核心。在上一章中确定了以单片机STM32为控制器的控制方案,因此本课题设计的主控电路是单片机STM32F103C8T6最小系统组成。
STM32F103C8T6是意法半导体(ST)自主研发的一款基于Cortex-M3芯片的嵌入式微控制器芯片,其核心采用ARMV7-M结构设计[9],在医疗、航空、农业、环保、智能电子等领域,具有低功耗、低成本、处理速度和可靠性等优点。该芯片能够同时处理32比特的资料,最高可达72MHz的时钟频率,与8位51单片机相比,具有更大的容量和更快的运算速度[10]。该芯片内置256K的FLASH内存,用于存储;此外,还有48K位元组的SRAM内存,用于储存程式执行时所需的数据及变数。同时,该系统还能运行Free RTOS、μC/OS-II等小型嵌入式系统,使系统执行更加高效、稳定。
该芯片具有三个12位的模数转换器,其最大速度可达1us/次。该ADC具有18个不同的信道,能够对16个外部和2个内部的信号进行检测,每个信道的转换可以分为一次、连续、扫描和间断四种方式进行,可以在不同的情况下进行快速的切换,而不会互相影响,同时还可以触发中断事件。2个12位D/A转换器,可以将数字信号转化为模拟信号后输出。芯片内部拥有7个通道的DMA1和5个通道的DMA2,可以方便实现外设与存储器或存储器与存储器之间数据传输,不需要经过MCU处理,节省了MCU资源开销,支持的外部设备有定时器、SDIO、I2C、SPI、I2S、DAC、ADC和USART等。
单片机最小系统是一种最小的系统单元,它使单片机可以正常工作,并且发挥出最完全的功能。单片机最小系统包括STM32单片机,时钟电路,电源管理电路,JTAG电路,重置电路等[17]。如图3.2所示。

图3.2STM32F103C8T6引脚图
自动售货机系统IO表见下表3.1。
表3.1自动售货机系统IO表
| 名称 | 说明 |
| 3V3 | 接3.3V电源 |
| 5V | 接5V电源 |
| GND | 接地线 |
| TIM2_CH2 | 出货电机1 |
|
TIM2_CH3 | 出货电机2 |
| TIM2_CH4 | 出货电机3 |
| PA5 | 退币 |
| PA6 | 切换商品/减少商品数量 |
| PA7 | 出货 |
| PB0 | 切换商品/赠加商品数量 |
| PB1 | 切换选择商品种类/数量 |
| PB7 | OLED时钟线 |
| PB6 | OLED数据线 |
| PA9 | 硬币器 |
| PA8 | 商品1出货 |
| PB15 | 商品2出货 |
| PB14 | 商品3出货 |
| PB13 | 报警灯 |
| PB12 | 蜂鸣器 |
3.2 电源模块设计
本次系统的硬件设计需要用到多种电源供电,单片机供电需要用到DC3.3V和DC5V,DC5V也为OLED屏供电,出货电机需要用到DC24V,投币机和硬币器需要用到DC12V。
为了满足上述需要,本系统的供电由AC220V,接通AC220V以后,经过一个三合一品字插座,可直接控制电源开断,插座后接直流开关电源,将AC220V转化为DC24V,DC24V专门为三个出货电机供电,系统内部还有电池供电模块,单节锂电池3.7V通过升压芯片转化为DC12V,一路DC12V为硬币器供电,一路DC12V再由稳压芯片转化为DC5V,一路DC5V为单片机供电,一路DC5V再由稳压芯片转化为DC3.3V,为单片机供电。电源电路结构框图如图3.2所示。

图3.2电源电路结构框图图
本设计中AC220V由日常生活中的插座提供,通过国标三插插头接品字插头母头,母头接三合一品字插座,可直接控制售货机的整体电源通和断。
3.2.1 三插插头、母头、插座和直流开关电源的选择
国标三插插头选用神之子品牌,它的优点有:
(1)阻燃好,绝缘好;
(2)多股铜丝,纯度高,确保了线缆的柔软度;

3975

被折叠的 条评论
为什么被折叠?



