CN110288769B - 一种嵌入式控制加在线支付平台的自动售货机控制方法 - Google Patents
一种嵌入式控制加在线支付平台的自动售货机控制方法 Download PDFInfo
- Publication number
- CN110288769B CN110288769B CN201910478608.8A CN201910478608A CN110288769B CN 110288769 B CN110288769 B CN 110288769B CN 201910478608 A CN201910478608 A CN 201910478608A CN 110288769 B CN110288769 B CN 110288769B
- Authority
- CN
- China
- Prior art keywords
- mcu
- vending machine
- information
- rotate
- sending
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F11/00—Coin-freed apparatus for dispensing, or the like, discrete articles
- G07F11/02—Coin-freed apparatus for dispensing, or the like, discrete articles from non-movable magazines
- G07F11/04—Coin-freed apparatus for dispensing, or the like, discrete articles from non-movable magazines in which magazines the articles are stored one vertically above the other
- G07F11/16—Delivery means
- G07F11/26—Endless bands
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F9/00—Details other than those peculiar to special kinds or types of apparatus
- G07F9/002—Vending machines being part of a centrally controlled network of vending machines
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
Abstract
本发明提供一种嵌入式控制加在线支付平台的自动售货机控制方法。所述嵌入式控制加在线支付平台的自动售货机控制方法,包括以下步骤;S1;自动售货机开始上电,MCU、FPGA初始化:转动次数W=0,购买数量N=0,MCU休眠等待,进入低功耗模式;S2;用户在PC端选择“购买商品”,并刷卡后,PC机传递“开始工作”信息至MCU处,此时MCU控制第一颜色传感器识别过敏原信息,识别后,MCU反馈信息至PC机处理。本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法造价低,原料简单,是控制程序的简单性和高效性,精简了程序处理流程,最大限度地避免了阻塞问题,降低了处理时间,增加了用户可以选择的时间,更加人性化现实化。
Description
技术领域
本发明涉及自动售货机的领域,尤其涉及一种嵌入式控制加在线支付平台的自动售货机控制方法。
背景技术
智能化和自动化是当前市场上的电子设备的核心技术之一,而自动售货机作为一种现代社会常见的程控电子设备,市场化程度高,服务精度要求高,技术指标要求也很高。如何设计一款既是低成本,又能保证特定功能最具人性化和精密化的自动售货机就成为了当下亟需解决的难题。
当下市场上的自动售货机普遍存在笨重占地面积大,成本高,出货、装货服务不够精准,支付界面不够友好,程序错误较多等问题,导致顾客不愿意使用,不敢使用售货机购买物品。
因此,有必要提供一种嵌入式控制加在线支付平台的自动售货机控制方法解决上述技术问题。
发明内容
本发明提供一种嵌入式控制加在线支付平台的自动售货机控制方法,解决了市场上的自动售货机服务不够精准的问题。
为解决上述技术问题,本发明提供的一种嵌入式控制加在线支付平台的自动售货机控制方法,包括:嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,包括以下步骤;
S1;自动售货机开始上电,MCU、FPGA初始化:转动次数W=0,购买数量N=0,MCU休眠等待,进入低功耗模式;
S2;用户在PC端选择“购买商品”,并刷卡后,PC机传递“开始工作”信息至MCU处,此时MCU控制第一颜色传感器识别过敏原信息,识别后,MCU反馈信息至PC机处理,PC机传递商品信息和购买数量N给MCU;
S3;MCU判断N>0,
当判断结果为NO时候,MCU发送信息给FPGA控制舵机1反向转动W,W等于0次,此时MCU休眠等待,进入低功耗模式;
当判断结果为YES时候,MCU驱动第二颜色传感器检测商品的信息;
S4;判断是否符合客户所选商品信息,
当判断结果为NO时候,MCU发送信息给FPGA驱动舵机1转动角度,W=W+1,此时通过Continue结束本次循环,重新进行判断是否符合客户所选商品信息;
当判断结果为YES时候,进行下一次判断,MCU控制距离传感器判断人与贩卖机间距<10cm,当判断结果为NO时候,MCU反馈信息至PC提示靠近,此时通过Continue结束本次循环,重新进入判定,MCU控制距离传感器判断人与贩卖机间距<10cm,当判断结果为YES时候,MCU发送信息给FPGA控制舵机2旋转一周推动滑杆,N=N-1;
S5;结束本次活动。
优选的,所述S1中自动售货机首先在相邻挡片之间放置物品;通过舵机带动带动块摆动,带动块通过滑槽带动连接杆向一侧移动,连接杆带动滑块将物品推出放置圆盘掉落到滑斜板上,通过驱动组件带动推动组件转动不同的角度,推动不同的位置的物品,掉落到滑斜板上滑到取料口,通过取料口将物品取出。
优选的,其中驱动组件带动推动组件转动,首先通过电机带动第二传动轴转动,第二传动轴带动第二伞齿轮转动,第二伞齿轮通过第一伞齿轮带动第一传动轴转动,然后第一传动轴通过第二传动齿轮带动大环形齿轮转动,大环形齿轮带动第一传动齿轮转动,第一传动齿轮带动转动轴转动,最后转动轴带动推动组件转动。
优选的,所述S2中PC端包括操作模式和维护模式,操作模式用于顾客购买,维护模式用于测试机体功能。
优选的,所述操作模式包括刷卡模块、购物模块、购物车模块以及中英文切换模块。
优选的,所述维护模式包括颜色读取模块、距离识别模块、推杆拉伸模块、角度变化模块。
优选的,PC to MCU操作模式通信协议为;首先打开串口命令,然后将启动命令发送至端口等待检测,然后分别发送读卡指令和执行指令,等待用户进行选购,购物车生成后发送分拣命令,发送模式指令后,返回转角信息,分别发送商品种类命令和商品数量命令,接收距离过远信息和出货信息,最后发送购买结束信息,指导用户退出,MCU to PC操作模式通信协议为;分别接收第一位命令起始命令“1”,第二位命令收食品种类,第三位命令该食品数量,然后发送当前旋转角度的值,分别接收第一位命令起始命令“2”,第二第三位命令“11”,发送过敏颜色,分别接收第一位命令起始命令“4”,第二三四五六七位命令六位数字,其中六位数字分别代表每种食品的数量。
优选的,PC to MCU维护模式;首先点击“维护模式”,进入维护操作模式,然后分别发送颜色检测3T,距离检测3N,接收颜色信息和距离信息后发送3A-3S使得机械结构自动转角,MCU to PC维护模式;首先接收第一位命令起始命令“3”,然后接收A--M,发送角度信息,控制舵机转,接收T发送颜色值,接收N发送距离值,接收P控制推杆转。
优选的,所述S2和所述S3中颜色传感器算法流程为;首先是分别读取r,g,b通道的值,接着建立比较r,g,b三个值得相对大小,以及三个值的线性组合的相对大小的多个判断数学模型,然后对x*g+/-y*b的值进行判定,进行表示和判断物体的颜色。
与相关技术相比较,本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法具有如下有益效果:
本发明提供一种嵌入式控制加在线支付平台的自动售货机控制方法,
造价低,原料简单,是控制程序的简单性和高效性,精简了程序处理流程,最大限度地避免了阻塞问题,降低了处理时间,增加了用户可以选择的时间,更加人性化现实化,减少了不必要的内部运作开销,提升了效率,FPGA本身具有很高速的时钟和快速的指令处理能力,适合精密机械的控制,本发明创造性地采用FPGA控制电机运转,提高了分拣物品的精度,安全性高,保密性好,通信协议有自己内部的加解密机制,以及抗干扰机制,以防止有不法分子篡改用户支付数据,盗取产品信息,本发明的协议主要通过多位帧结构来表征购买数量,购买种类并同时可以反馈内部运作状态给pc机,保证了软硬件工作的安全性和稳定性,经实际测试,协议数据发生误传,错位等不良情况的概率不到2%,是易于维护和升级,提高了产品的使用年限和零件寿命。本发明引入维护模式及其代码,软、硬件各有其维护模块和通信接口,一旦机器发生故障,便可以不去拆卸排错,而是先行用维护模式进行软件检查,进一步提高了机器的性能。维护模式可以检测到系统内部几乎所有的问题,方便高效。
附图说明
图1为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的一种较佳实施例的结构示意图;
图2为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的自动售货机结构示意图;
图3为图2所示的整体的剖视图;
图4为图2所示的放置圆盘的俯视图;
图5为图2所示的放置圆盘的仰视图;
图6为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的舵机工作原理图;
图7为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的门电路图。
图中标号:1、底箱,2、顶箱,3、驱动组件,31、环形凹槽,32、大环形齿轮,33、第一轴承座,34、第一传动齿轮,35、转动轴,36、第二轴承座,37、第二传动齿轮,38、第一传动轴,39、第一伞齿轮,310、第二伞齿轮,311、第二传动轴,312、电机,4、放置圆盘,5、推动组件,51、舵机,52、滑块,53、推杆盒,54、滑块,55、连接杆,56、带动块,57、滑槽,6、滑斜板,7、支撑杆,8、第一通孔,9、挡片,10、第二通孔,11、取料口,12、开合板,13、柱形凹槽,14、支撑板,15、缓冲板,16、第一橡胶块,17、滑杆,18、弹性件,19、第三通孔,20、第二橡胶块。
具体实施方式
下面结合附图和实施方式对本发明作进一步说明。
请结合参阅图1-7,其中,图1为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的一种较佳实施例的结构示意图;图2为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的自动售货机结构示意图;图3为图2所示的整体的剖视图;图4为图2所示的放置圆盘的俯视图;图5为图2所示的放置圆盘的仰视图;图6为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的舵机工作原理图;图7为本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法的门电路图:一种嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,包括以下步骤;
S1;自动售货机开始上电,MCU、FPGA初始化:转动次数W=0,购买数量N=0,MCU休眠等待,进入低功耗模式;
S2;用户在PC端选择“购买商品”,并刷卡后,PC机传递“开始工作”信息至MCU处,此时MCU控制第一颜色传感器识别过敏原信息,识别后,MCU反馈信息至PC机处理,PC机传递商品信息和购买数量N给MCU;
S3;MCU判断N>0,
当判断结果为NO时候,MCU发送信息给FPGA控制舵机1反向转动W,W等于0次,此时MCU休眠等待,进入低功耗模式;
当判断结果为YES时候,MCU驱动第二颜色传感器检测商品的信息;
S4;判断是否符合客户所选商品信息,
当判断结果为NO时候,MCU发送信息给FPGA驱动舵机1转动角度,W=W+1,此时通过Continue结束本次循环,重新进行判断是否符合客户所选商品信息;
当判断结果为YES时候,进行下一次判断,MCU控制距离传感器判断人与贩卖机间距<10cm,当判断结果为NO时候,MCU反馈信息至PC提示靠近,此时通过Continue结束本次循环,重新进入判定,MCU控制距离传感器判断人与贩卖机间距<10cm,当判断结果为YES时候,MCU发送信息给FPGA控制舵机2旋转一周推动滑杆,N=N-1;
S5;结束本次活动。
所述S1中自动售货机首先在相邻挡片之间放置物品;通过舵机51带动带动块56摆动,带动块56通过滑槽57带动连接杆55向一侧移动,连接杆55带动滑块54将物品推出放置圆盘4掉落到滑斜板6上,通过驱动组件3带动推动组件5转动不同的角度,从而推动不同的位置的物品,掉落到滑斜板6上滑到取料口,通过取料口将物品取出。
其中驱动组件3带动推动组件5转动,首先电机312带动第二传动轴311转动,第二传动轴311带动第二伞齿轮310转动,第二伞齿轮310通过第一伞齿轮39带动第一传动轴38转动,第一传动轴38通过第二传动齿轮37带动大环形齿轮32转动,大环形齿轮32带动第一传动齿轮34转动,第一传动齿轮带动转动轴35转动,转动轴35带动推动组件5转动。
底箱1的顶部设置有顶箱2,底箱1的内壁的底部设置驱动组件3,放置圆盘4设置于驱动组件3上,放置圆盘4为木质材料制成,推动组件5设置于放置圆盘4的顶部,滑斜板6固定于顶箱2的内壁的背面,取料口11开设于底箱1的正面,开合板12通过铰链铰接于顶箱2的正面。
驱动组件3包括环形凹槽31,环形凹槽31内部设置有大环形齿轮32,大环形齿轮32放置于环形凹槽31内部,底箱1内壁底部的中间固定连接有第一轴承座33,底箱1内壁底部的左侧固定连接有第二轴承座36,第一轴承座33和第二轴承座6的内部分别固定连接有转动轴35和第一传动轴38,转动轴35为亚克力材质。
转动轴35和第一传动轴38的表面分别套设有第一传动齿轮34和第二传动齿轮37,第一传动轴38的顶端固定连接有第一伞齿轮39,第一伞齿轮39的一侧啮合有第二伞齿轮310,第二伞齿轮310的轴心处固定连接有第二传动轴311,底箱1的背面设置有电机312,电机312输出轴的一端通过联轴器与第二传动轴311的一端固定连接,转动轴35的顶端贯穿滑斜板6且延伸至滑斜板6的上方,转动轴35的顶端贯穿放置圆盘4且延伸至放置圆盘4的上方,放置圆盘4的中心处开设有与转动轴35相适配的第四通孔,第四通孔与转动轴35为间隙配合。
放置圆盘4的顶部固定连接有十二个挡片9,挡片9为木质材质,底箱1内壁的底部固定连接有四个支撑杆7,支撑杆7的顶端贯穿滑斜板6且延伸至滑斜板6的上方,放置圆盘4的底部开设有柱形凹槽13,柱形凹槽13的数量有四个,支撑杆7的顶端位于柱形凹槽13内部,支撑杆7对放置圆盘4进行支撑,支撑杆7和柱形凹槽13为过盈配合,通过支撑杆7。
推动组件5包括舵机51和推杆盒53,推杆盒53与转动轴35的表面固定连接,舵机51固定于推杆盒53的一侧,推杆盒53的顶部通过滑槽57滑动连接有滑块54,滑块54的顶部固定连接有连接杆55,舵机51的输出轴上固定连接有带动块56,连接杆55的顶端贯穿带动块56且延伸至带动块56的上方,带动块56上开设有滑槽57,滑槽57的宽度与连接杆55的直径相适配,倾滑斜板6的一侧与底箱1内壁底部的正面固定连接,滑斜板6上开设有第一通孔8和第二通孔10,第一通孔8的数量和位置与支撑杆7相对应,第一通孔8与支撑杆7位间隙配合,第二通孔10与转动轴35为间隙配合。
所述S2中PC端包括操作模式和维护模式,操作模式用于顾客购买,维护模式用于测试机体功能。
所述操作模式包括刷卡模块、购物模块、购物车模块以及中英文切换模块。
所述维护模式包括颜色读取模块、距离识别模块、推杆拉伸模块、角度变化模块。
PC to MCU操作模式通信协议为;首先打开串口命令,然后将启动命令发送至端口等待检测,然后分别发送读卡指令和执行指令,等待用户进行选购,购物车生成后发送分拣命令,发送模式指令后,返回转角信息,分别发送商品种类命令和商品数量命令,接收距离过远信息和出货信息,最后发送购买结束信息,指导用户退出,MCU to PC操作模式通信协议为;分别接收第一位命令起始命令“1”,第二位命令收食品种类,第三位命令该食品数量,然后发送当前旋转角度的值,分别接收第一位命令起始命令“2”,第二第三位命令“11”,发送过敏颜色,分别接收第一位命令起始命令“4”,第二三四五六七位命令六位数字,其中六位数字分别代表每种食品的数量。
PC to MCU维护模式;首先点击“维护模式”,进入维护操作模式,然后分别发送颜色检测3T,距离检测3N,接收颜色信息和距离信息后发送3A-3S使得机械结构自动转角,MCUto PC维护模式;首先接收第一位命令起始命令“3”,然后接收A--M,发送角度信息,控制舵机转,接收T发送颜色值,接收N发送距离值,接收P控制推杆转。
所述S2和所述S3中颜色传感器算法流程为;首先是分别读取r,g,b通道的值,接着建立比较r,g,b三个值得相对大小,以及三个值的线性组合的相对大小的多个判断数学模型,然后对x*g+/-y*b的值进行判定,进行表示和判断物体的颜色。
颜色传感器:主要用以检测每个商品的颜色,并反馈到服务器,根据客户需求选择弹出的商品。为了检测每个商品的颜色,颜色传感器需要随着主轴一同转动。
传感器原始的功能是只能获得等待检测的颜色的R,G,B和C值,然而,由于距离,环境光线或颜色立方体之间的微小差异,检测数据中会出现小的差异。因此,设计上述颜色检测算法,可以很好地解决因外界不良因素引起的颜色误判,算法流程是:首先是分别读取r,g,b通道的值,接着建立比较r,g,b三个值得相对大小,以及三个值的线性组合的相对大小的多个判断数学模型,例如,如果是红色物体,那么其r值最大,然后对x*g+/-y*b的值进行判定,比如其可能特定地大于/小于/等于某个值,通过这种算法,可以简单地表示和判断物体的颜色,而且由于使用r,g,b的相对关系来判定物体颜色,大大减弱了光照对颜色检测的干扰,这是因为无论物体颜色收到外界光照强度怎样的影响,其r,g,b通道的值的相对关系是基本恒定的。
XilinxFPGA开发板,FPGA是一种高速的可编程逻辑门控阵列芯片,它是一种半导体运行电路,含有许多可编程器件,FPGA开发板时钟为100MHz,配置方式为USB-JTAG/SPIFlash,存储器为:SRAM:2MbitSPIFlash:N25Q032A通用IO含:Switch:x8LED:x16Button:x5DI:x8,通用扩展IO含:32pin,音视频/显示包括:7段数码管:x8,VGA视频输出接口,Audio音频接口,选择使用依元素科技的是一种高速的可编程逻辑门控阵列芯片,它是一种半导体运行电路含视频/显示包括7段数码管视频输出接口音频接口音通信接口为:UART:USB转UART,Bluetooth:蓝牙模块,模拟接口为:DAC:8-bit分辨率XADC:2路12bit1MspsADC,板子型号为:XilinxArtix-7XC7A35T。
⑵TM4C1294XL是一款TI公司出品的,隶属于TIVA C系列的评估级开发板(Evaluation Kit)。
该开发板以一个120MHz的32-bit的ARM Cortex M4CPU作为核心芯片,它还有1MB。
Flash/256KB SRAM/6KB EEPROM等片上存储器。还有10/100Ethernet MAC+PHY,8*32-bit。
定时器,dual 12-bit ADCs等外设。
MCU功能;
TM4C1294XL
MCU的功能:MCU就是整个系统的大脑,它连接了PC,FPGA以及多种传感器,它就像人的大脑一样可以处理各种信息,然后指导其它器官关节完成相关动作。
基本功能:
控制颜色传感器读取外部环境的颜色数据并通过算法准确地测试出当前颜色;
控制距离传感器读取当前距离并返回距离数据
读取四个红外传感器的数据
通过串口与PC机通信
发送5位数据来控制舵机51
从PC机上获取指令完成操作
系统有两种模式:操作模式和维护模式,操作模式是为顾客购买准备的。维护模式是为了测试机体功能的稳定性和可行性。
void UARTReceive(unsigned char*pucbuff,int ulcount)该函数是用来帮助MCU一次从PC机获取多个字符的函数。
②void cardslash(void)该函数用来读取过敏原信息
③unsigned char colorjudge(uint16_t r,uint16_t g,uint16_tb)&intcolorjudge_1(uint16_t r,uint16_t g,uint16_t b)该函数是检测颜色的算法函数
fpga的功能:本发明使用FPGA控制机械结构:包括一个180度的Futaba舵机,一个180度的sg90舵机,舵机可以在FPGA的控制下转动正确的角度,FPGA通过从MCU接收五位信号完成一些精确的转动或平动,而且也能从PC端准确地读取出转动和平动的动力学参数,在维护与操作模式下,FPGA只需从MCU接收信号就可以操控舵机的运动,FPGA程序仅含一个模块,该模块下设五个always块——flag状态选择,go令状态选择,50ms分频计数,旋转控制模块和推杆舵机控制模块。
舵机采用两种不同的,一种是用来完成角度旋转的:从0度到360度,每次变化30度;另一种是用来将转动转化为平动的,只有0度和180度两种状态。舵机的输入采用1ms到2ms的脉冲宽度信号,输入信号通过1ms到2ms之间的变化来完成180度的角度控制。
读卡器:红外传感器还提供了用于检测发射器和接收器之间是否存在障碍物的功能,使用“模拟输入”功能并将模拟值转换为分别代表透明或阻塞的高和低输入。
测试:
⑴TCS3472_I2C颜色传感器测试
在测量RGBC的过程中,发现这些值随自然光和距离而变化很大。选择使用密封箱作为外壳,这样可以阻止干扰颜色传感器读数的自然光。然后,在桌子上固定颜色传感器,并确保它处于没有外部光源的环境中,因此距离是单个变量,将传感器和块之间的距离分别设为0.2,0.5,0.7,1,1.5,2,2.5,3cm,并记录RGBC的值,分析数据,发现从0.5到2厘米的范围是最准确的。因此,选择距离为0.8cm时的数据作为参考数据,得到“参考点”=(R1,G1,B1)。
(2)VL6180X距离传感器测试
VL6180X传感器对光线有很大的影响,避免明亮的光线很重要。因此,室内使用机器会更好,在GUI上显示MCU板的距离值,以便更方便地看到距离,“distance”的范围是从0到255,如果距离大于25cm,那么由于自然光的红外光扩散,“distance”的值将始终为255(很远)。
(3)读卡器测试
选择红外传感器组装读卡器。红外传感器由发射灯和接收灯组成。其工作原理是直接从发射器发出的光线进入接收器,当检测到的物体阻挡发射器和接收器之间的光时,红外传感器产生0信号,将四个红外传感器固定在接线板上作为插槽检测器,另外还有两个格挡保证卡片是否插入读卡器。
维护模式:
维护模式主要分为颜色读取模块,距离识别模块,推杆拉伸模块,角度变化模块四大模块进行售货机的检验。
操作模块
a.刷卡模块:
b.购物和购物车模块
c.中英文切换代码
UI设计:
a.该模块主要包括四大用户需求模块,包括刷卡模块,管理员模块,购物车模块,购物模块以及维护模块。
b.用户进入购物系统后,当用户未刷卡时,UI会自动提示用户刷卡,包括语音和文本框两种提示方式。
c.中英切换,这个模块为用户提供了中文和英文转换的选择功能,在UI的左上角点击选择语言,会出现下拉选择菜单,提供了中文和英文两种形式的语言。
d.管理员模式,计了管理员界面,通过点击主界面“管理员”按钮进入,输入账号密码后即可进入,在管理员界面中,可以自主规定每种零食的数量,也可以直接控制舵机的转角,从而测试售货机的性能。
PC端通信功能:NET框架提供了一系列相关的功能或方法。首先,程序需要使用名为System.IO.Ports的名称空间,并将名为SerialPort的工具拖放到Visual Studio的表单设计界面中的表单中。程序初始化后,try-catch将用于尝试打开预期的com端口。如果出现异常,则会在捕获错误消息之后被捕获并关闭应用程序。如果COM端口成功打开,则波特率和读取超时将被设置为正确的数字,以确保它可以接收来自MBED的数据。在接收数据时,使用代表团。串口的接收数据事件将触发。方法SpDatareceived。然后,SerialPort.ReadLine()将用于读取以\n形式读取缓冲区结束的一行信息。以下是一组字符串比较和相应的代码将被执行。发送信息相对简单,使用SerialPort.WriteLine(),并且消息将自动添加“\n”。
MCU也是通信的重要部件,MCU上采用虚拟串口通过USB线与PC通信
IntEnable(INT_UART0),IntRegister(INT_UART0,UART0IntHandler),UARTIntEnable(UART0_BASE,UART_INT_TX|UART_INT_RT),是三个完成这一工作的主要函数,它们使MCU在接收或发送数据时产生中断,从而进入中断函数完成相关指令的执行。而MCU与下位机FPGA通信采用最简单的GPIO并行信息传输,直接将FPGA所需的二进制信息传输给FPGA使电机完成相关动作。
MCU向FPGA发送一个五位数字,前四位控制舵机旋转,最后一位控制推杆下面列出MCU与FPGA通信的信息对应表;
指令前四位动作指令前四位动作0000舵机转0度1010舵机转150度0001舵机转15度1011舵机转165度0010舵机转30度1100舵机转180度0011舵机转45度指令最后一位动作0100舵机转60度1推杆平动0101舵机转75度0推杆复位0110舵机转90度0111舵机转105度1000舵机转120度1001舵机转135度
与相关技术相比较,本发明提供的嵌入式控制加在线支付平台的自动售货机控制方法具有如下有益效果:
本发明提供一种嵌入式控制加在线支付平台的自动售货机控制方法,一是造价低,原料简单,除MCU和FPGA外,传感器,舵机,齿轮,木板及其他材料的总成本控制在100元左右,也就是说,只要定制一块继承了ARM微处理器和FPGA芯片辅以一些简单的外设接口的PCB板,再利用简单的材料,就可以快速组装这样一台性能优良的自动售货机。
二是控制程序的简单性和高效性,本发明有三个程序部分,分别是软件gui程序,微处理器硬件程序和FPGA机械电子驱动程序,每种程序都尽量用了最少的代码量(均不超过800行,最短者100行不到),采用最合理的数据结构和程序进程架构,以最小的开销完成了给定功能,例如具体到软件程序上,gui程序用C#编写,引入了最合理的异常和线程机制,保证了用户在gui支付平台上的购买需求可以迅速传送到微处理器中进行分析。
三是精简了程序处理流程,最大限度地避免了阻塞问题,本发明定制了一个较为清晰的程序结构,考虑到了多种突发情况,如售货机系统出现推杆停止不动等机械故障时程序启动设备自保护功能,箱体中缺货时及时反馈到gui管理员界面上,顾客在取货时突然离开的紧急处理等,也就是说,除了采用异常中断,前后台互换等常用的硬件处理方法外,还采用了一些特殊的协议和程序保护修复方法,将这些方法写入状态机结构中,最终把硬件处理程序设计成了一个足以应付大多数情况的优质框架。
四是降低了处理时间,增加了用户可以选择的时间,更加人性化现实化,本发明采用PC,MCU,FPGA三级结构进行自动售货机的运行控制和信息传输,PC机设计的gui可以对食物的种类数量进行实时显示,同时一旦用户确定支付下单,系统会自动为用户反馈出货情况,一旦有故障或突发情况就会提示用户,充分照顾到了用户的购买需求和体验,MCU作为控制中枢,可以最快地分析来自PC机Gui的用户购买需求,并控制机械结构迅速进行物品分拣,可以控制机械结构在已经分拣完了所有用户需要的物品后迅速复位,等待下一次购买,减少了不必要的内部运作开销,提升了效率,FPGA本身具有很高速的时钟和快速的指令处理能力,适合精密机械的控制,本发明创造性地采用FPGA控制电机运转,提高了分拣物品的精度。
五是安全性高,保密性好,这是因为本发明定制了专门的软硬件通信协议,该通信协议有自己内部的加解密机制,以及抗干扰机制,以防止有不法分子篡改用户支付数据,盗取产品信息,本发明的协议主要通过多位帧结构来表征购买数量,购买种类并同时可以反馈内部运作状态给pc机,保证了软硬件工作的安全性和稳定性,经实际测试,协议数据发生误传,错位等不良情况的概率不到2%,在机械结构上,也做了保密措施,主要体现在两点,一是装机采用一体化装机,每一个零部件都必须待其下层零件装配完毕后才可以继续装配,否则机器不能正常工作,二是把轴的转动和推杆的配合,传感器检测等物品分拣功能集成到一根轴上,降低了不法分子通过拆卸外围零件获取技术机密的可能性。
六是易于维护和升级,提高了产品的使用年限和零件寿命。本发明引入维护模式及其代码,软、硬件各有其维护模块和通信接口,一旦机器发生故障,便可以不去拆卸排错,而是先行用维护模式进行软件检查,进一步提高了机器的性能。维护模式可以检测到系统内部几乎所有的问题,方便高效。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,包括以下步骤;
S1;自动售货机开始上电,MCU、FPGA初始化:转动次数W=0,购买数量N=0,MCU休眠等待,进入低功耗模式;
S2;用户在PC端选择“购买商品”,并刷卡后,PC机传递“开始工作”信息至MCU处,此时MCU控制第一颜色传感器识别过敏原信息,识别后,MCU反馈信息至PC机处理,PC机传递商品信息和购买数量N给MCU;
S3;MCU判断N>0,
当判断结果为NO时候,MCU发送信息给FPGA控制舵机1反向转动W,W等于0次,此时MCU休眠等待,进入低功耗模式;
当判断结果为YES时候,MCU驱动第二颜色传感器检测商品的信息;
S4;判断是否符合客户所选商品信息,
当判断结果为NO时候,MCU发送信息给FPGA驱动舵机1转动角度,W=W+1,此时通过Continue结束本次循环,重新进行判断是否符合客户所选商品信息;
当判断结果为YES时候,进行下一次判断,MCU控制距离传感器判断人与贩卖机间距<10cm,当判断结果为NO时候,MCU反馈信息至PC提示靠近,此时通过Continue结束本次循环,重新进入判定,MCU控制距离传感器判断人与贩卖机间距<10cm,当判断结果为YES时候,MCU发送信息给FPGA控制舵机2旋转一周推动滑杆,N=N-1;
S5;结束本次活动。
2.根据权利要求1所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,所述S1中自动售货机首先在相邻挡片之间放置物品;通过舵机带动带动块摆动,带动块通过滑槽带动连接杆向一侧移动,连接杆带动滑块将物品推出放置圆盘掉落到滑斜板上,通过驱动组件带动推动组件转动不同的角度,推动不同的位置的物品,掉落到滑斜板上滑到取料口,通过取料口将物品取出。
3.根据权利要求2所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,其中驱动组件带动推动组件转动,首先通过电机带动第二传动轴转动,第二传动轴带动第二伞齿轮转动,第二伞齿轮通过第一伞齿轮带动第一传动轴转动,然后第一传动轴通过第二传动齿轮带动大环形齿轮转动,大环形齿轮带动第一传动齿轮转动,第一传动齿轮带动转动轴转动,最后转动轴带动推动组件转动。
4.根据权利要求1所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,所述S2中PC端包括操作模式和维护模式,操作模式用于顾客购买,维护模式用于测试机体功能。
5.根据权利要求4所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,所述操作模式包括刷卡模块、购物模块、购物车模块以及中英文切换模块。
6.根据权利要求4所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,所述维护模式包括颜色读取模块、距离识别模块、推杆拉伸模块、角度变化模块。
7.根据权利要求6所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,PC to MCU操作模式通信协议为;首先打开串口命令,然后将启动命令发送至端口等待检测,然后分别发送读卡指令和执行指令,等待用户进行选购,购物车生成后发送分拣命令,发送模式指令后,返回转角信息,分别发送商品种类命令和商品数量命令,接收距离过远信息和出货信息,最后发送购买结束信息,指导用户退出,MCU to PC操作模式通信协议为;分别接收第一位命令起始命令“1”,第二位命令收食品种类,第三位命令该食品数量,然后发送当前旋转角度的值,分别接收第一位命令起始命令“2”,第二第三位命令“11”,发送过敏颜色,分别接收第一位命令起始命令“4”,第二三四五六七位命令六位数字,其中六位数字分别代表每种食品的数量。
8.根据权利要求7所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,PC to MCU维护模式;首先点击“维护模式”,进入维护操作模式,然后分别发送颜色检测3T,距离检测3N,接收颜色信息和距离信息后发送3A-3S使得机械结构自动转角,MCUtoPC维护模式;首先接收第一位命令起始命令“3”,然后接收A--M,发送角度信息,控制舵机转,接收T发送颜色值,接收N发送距离值,接收P控制推杆转。
9.根据权利要求1所述的嵌入式控制加在线支付平台的自动售货机控制方法,其特征在于,所述S2和所述S3中颜色传感器算法流程为;首先是分别读取r,g,b通道的值,接着建立比较r,g,b三个值得相对大小,以及三个值的线性组合的相对大小的多个判断数学模型,然后对x*g+/-y*b的值进行判定,进行表示和判断物体的颜色。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478608.8A CN110288769B (zh) | 2019-06-03 | 2019-06-03 | 一种嵌入式控制加在线支付平台的自动售货机控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910478608.8A CN110288769B (zh) | 2019-06-03 | 2019-06-03 | 一种嵌入式控制加在线支付平台的自动售货机控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110288769A CN110288769A (zh) | 2019-09-27 |
CN110288769B true CN110288769B (zh) | 2021-05-04 |
Family
ID=68003299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910478608.8A Active CN110288769B (zh) | 2019-06-03 | 2019-06-03 | 一种嵌入式控制加在线支付平台的自动售货机控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110288769B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112764522A (zh) * | 2019-10-21 | 2021-05-07 | 吉林省吴太感康药业有限公司 | 一种电子广告显示设备及电子广告显示方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07244774A (ja) * | 1994-03-03 | 1995-09-19 | Shibaura Eng Works Co Ltd | 自動販売機 |
US7885852B2 (en) * | 2001-09-27 | 2011-02-08 | International Business Machines Corporation | Service discovery in a network of automatic product/service dispensing machines |
JP2009288926A (ja) * | 2008-05-28 | 2009-12-10 | Panasonic Corp | 商品送出装置および自動販売機 |
CN102346933B (zh) * | 2011-06-24 | 2013-03-27 | 无锡可易得自动售货系统科技有限公司 | 分布型嵌入式自动售货机系统 |
US20140012414A1 (en) * | 2012-03-05 | 2014-01-09 | Álvaro Osnaya Pérez | System and method of telemetry applied to vending machines |
CN105118159A (zh) * | 2015-09-18 | 2015-12-02 | 杭州锦业科技有限公司 | 一种基于嵌入式和移动互联网的自动售货机的售货系统 |
-
2019
- 2019-06-03 CN CN201910478608.8A patent/CN110288769B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110288769A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105137887B (zh) | 基于编程板的实物化编程方法及其在机器人领域的应用 | |
WO2016127418A1 (zh) | 一种移动电源的租借终端 | |
CN102197366A (zh) | 子窗口显露和管理 | |
CN108008914B (zh) | 一种arm设备中磁盘管理的方法、装置和arm设备 | |
CN110288769B (zh) | 一种嵌入式控制加在线支付平台的自动售货机控制方法 | |
CN106844268A (zh) | 一种usb设备测试系统、测试方法及测试装置 | |
CN105303810A (zh) | 智能家居空气自适应互动系统 | |
CN208752720U (zh) | 一种带有取货旋转平台的售货机 | |
CN109087445A (zh) | 一种具有语音交互的自动售货机交易系统 | |
CN205418590U (zh) | 三级防爆雷管编码字符自动辨识机箱 | |
US6438699B1 (en) | Key stroke detection for keyboard remote wake-up | |
CN106600244A (zh) | 一种智能存钱罐及其控制方法和智能存钱罐系统 | |
CN116224876A (zh) | 一种多功能宠物喂食机及其控制方法和装置 | |
CN101105778A (zh) | 外设设备接入状态检测方法 | |
CN111803916B (zh) | 一种游戏手柄的自动学习和数据读写方法及其装置 | |
CN209118324U (zh) | 卡片感应指令系统 | |
CN210129312U (zh) | 一种刷卡编程教具 | |
CN210867739U (zh) | 一种智能家居系统自动化组网的设备 | |
CN104648884B (zh) | 一种智能物料箱 | |
CN105137330B (zh) | 多电压域数字电路的验证装置及其运行方法 | |
CN207135198U (zh) | 一种记录多类视频信号的显示器 | |
CN110374447A (zh) | 一种用于智能窗户的控制系统 | |
CN206614943U (zh) | 一种智能印章机的控制系统 | |
CN101276303B (zh) | 一种计算机诊断方法及诊断系统 | |
CN109087444A (zh) | 一种具有识别功能的自动售货机 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |