基于梁山派电子物料收纳盒
简介
使用梁山派制作的电子物料收纳盒,因为元件找不到或者查找元件时间太久,降低了焊接的效率,故设计了这个。 预计使用有语言识别、屏幕触摸、手机查找功能,多种方式查找或者添加元件。
简介:使用梁山派制作的电子物料收纳盒,因为元件找不到或者查找元件时间太久,降低了焊接的效率,故设计了这个。 预计使用有语言识别、屏幕触摸、手机查找功能,多种方式查找或者添加元件。开源协议
:GPL 3.0
描述
一、背景
============================================================================
现在处于一个电子信息的时代,一些从事有关电子的公司、学校教室、店铺等都需要储备一些电子元器件物料,由于物料种类繁多,拿取很不方便。
展示:
PCB实物:
二、实现功能
============================================================================
(1)能搜索某个电子物料摆放哪个柜子并自动打开柜子亮灯提示;
(2)可以添加/删除一个柜子,添加/清除一种电子物料;
(3)可以查询所有存放电子物料详细;
(4)可以查询剩余空柜子;
(5)有信息掉电保存功能;
(6)交互方式要有屏幕触摸、语音识别、手机查找;
待增加部分:实现收纳盒放错提醒,通过RFID实现。
三、控制方式
============================================================================
本来想用无线方式的,但是无线的方式需要每一个货柜都要有一个无线模块加电池,对我来说成本有点高,就舍弃了无线方案。
1、主机
在主机上安装16路的从机接口,即最大接入货柜为16个;通过5条线来控制从机,分别是5V电源正负极、舵机控制线、信号灯控制线、入盒检测开关线。
通过595和165 控制16路从机,屏幕采用淘晶驰串口屏(7寸电容触摸屏),语音识别使用机芯智能SU-03T,手机控制通过WIFI模块ESP8266控制。
2、从机
控制方式是通过舵机将货柜弹出并亮灯提示。再安装一个行程开关,检测货柜是否归位。将从机安装在收纳盒后面,当从机接收到主机的信号,则控制舵机推出货柜并且亮灯提示。
四、技术指标
============================================================================
1、能搜索某个电子物料摆放哪个柜子并亮灯提示;
因为每添加一次物料,就要填写这个物料的信息并保存它的货柜号,只要查找flash中保存的16个货柜信息,有数据与查找的物料数据相同则弹出并亮灯。
2、可以添加/删除一个柜子,添加/清除一种电子物料;
在首页时,判断是否有按下触摸屏的添加物料或者删除物料模式,有则进入对应的模式。
添加货柜:在添加物料模式,在触摸屏界面编辑新增的物料信息即可完成添加柜子或者物料。
删除货柜:在删除物料模式,选择对应的物料货柜进行删除即可。
3、可以查询所有存放电子物料详细;
每次添加物料都有将物料数据保存在芯片的flash中,只要把全部数据调出来显示即可。
4、可以查询剩余空柜子;
实时检测从机线中的入盒检测开关线,当检测到是无柜状态时(没有接入货柜的情况下),则说明对应的货柜接口没有接入货柜,将没有接入货柜的接口显示出来即可。
5、查找到物料并自动打开柜子;
有3种查找方式,分别是:手机查找、语音查找、触摸屏查找。
手机查找:制作一个安卓软件,主要使用socket与WIFI模块ESP8266进行通信。在手机上输入要查找的物料信息,通过WIFI发送给主机识别。需要有手机连接检测、物料信息的传输功能。
语音查找:将一些常用的电子元件设置为语音命令,说出对应的电子元件数值+名称,例1K电阻,识别成功则弹出对应货柜。因为语音命令条数有限制,故该功能缺陷较大。
触摸屏查找:在查找物料模式下,将显示所有的物料信息并分类显示,也可以通过触摸屏自带的拼音输入法进行查找。
五、硬件设计
============================================================================
1、电源部分
使用3节电池供电,搭配TC4056进行充电,最大充电电流1A。使用两个不同的USB口,防止没有充电线的情况。
原本想使用按键实现长按开关机的,后面发现确实能实现了,但是没有接入开发板,被迫飞线。。
2、串口调试
因为WIFI模块和语音识别这些是通过串口进行通信的,我见加了USB却不用USB调试功能,怪浪费的。
所以加了一个340N,在H6这个排针这里,可以通过跳线帽短接340与WiFi模块(U1RXTX),或者短接340与语音模块(B2B3),实现电脑串口调试。
3、升压电路
因为电池的电是不稳定的,所以将电池电压升压至5V,再由这个5V去转需要的3.3V。
因为有很多的吃电大户,7寸屏幕、语音识别的喇叭、WIFI模块、16个舵机。所以我分别给他们都从电池处升压至5V,就是每一个部分都加升压电路,实测发现没有缺电问题了。
4、模块电源门控
起初想到的低功耗设计就是将没有用到的模块,断开它的电,减低功耗;所以怎么断开电源?我用了个mos管控制,当信号端(如图CPKCON)给低电平MOS管导通,电池电压输出至CKPIN,再由CKPIN经过该模块的升压电路。信号端(如图CPKCON)给高电平MOS管就截止了。
(这里只截图了串口屏的电源门控)
六、软件设计
============================================================================
代码有些垃圾,如果有一些地方可以节省的话,请大佬指出(鞠躬)
1、电量检测显示部分
通过两个电阻分压,再通过分压公式进行计算
使用adc采集100次通过dma传输,滤波显示。
2、WIFI部分
主要实现两个功能,一是实现获取网络时间进行校准;二是与手机APP互传数据。
下载的固件是MQTT固件,1MB的那个。(如果是WIFI模块是AT固件,那么改一下指令 AT+RST 的回复是 OK 就可以了)
代码太多了。。。。写不来了。。。跳过吧。
五、实现
============================================================================
1、屏幕UI
资料链接:http://wiki.tjc1688.com/doku.php?id=start
该屏幕功能强大,我直接将时间计算显示功能放在屏幕上自己运行(屏幕自带RTC功能);只要一开始单片机传输一个起始时间给屏幕,屏幕就能运行时钟效果。
附件中的【七寸屏电子物料管理柜.HMI】就是基于该项目设计的UI界面
2、手机APP
使用 Android stdio 设计。附件中的【app-debug.apk】就是基于该项目设计的安卓app;大小为3.73MB
涉及权限:
1、访问网络(判断是否连接收纳盒的WIFI成功)
2、获取网络信息状态(判断是否连接收纳盒的WIFI成功)
3、获取WIFI状态(判断是否连接收纳盒的WIFI成功)
4、获取定位权限(想不加这个权限的,但是发现不加的话就闪退)
5、内存读写权限(把收纳盒发来的货柜信息保存,关闭软件后会自动删除货柜信息,所以不用内存担心越来越大)
声明:我只会安卓APP简单的设计应用,苹果的就对不起了(·哭唧唧·)
总结
感谢嘉立创的吴工,使我的PCB在指导下能够一次过,并给了我很多思路!
感谢群友大佬【要喝可乐不】,对我代码思路进行指导,直接让我开启新世界!
非常感谢!!
因为我是大四狗一枚,找了一个实习,导致作品有很多部件没有及时购买,浪费了很多的时间,并且还阳性了,躺了几天。
但是后面还是会持续完善功能,因为这也是我的毕设。。。
调试记录:
2022-12-25
大致框架搭建完毕,实现基本功能。
目前未完成部分:
将每一个货柜都能使用
出柜指示灯(LED)
入柜检测开关(行程开关)
超过一定时间自动息屏
尽量低功耗
2022-12-31
增加语音识别功能,可以在【首页】、【查看所有物料模式】和【存取物料模式】进行语音弹出;
完善大部分货柜的弹出功能;
完善时间部分,界面跳转之后时间不会缺分少秒;增加网络校准,完善手动校准;
找到新问题:
在初始化界面获取网络时间时,点击【取消】按键后,虽然界面进行了跳转,但是程序仍然卡在获取网络时间部分,直到获取成功或者超时。
2023-07-06
调通了货柜检测。但是!!
毕设被上交了!实物没了。(痛苦哀嚎)
评论