电子毕业设计智能声尺照明补光护目镜设计说明书.docx
- 文档编号:23021960
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:39
- 大小:622.66KB
电子毕业设计智能声尺照明补光护目镜设计说明书.docx
《电子毕业设计智能声尺照明补光护目镜设计说明书.docx》由会员分享,可在线阅读,更多相关《电子毕业设计智能声尺照明补光护目镜设计说明书.docx(39页珍藏版)》请在冰豆网上搜索。
电子毕业设计智能声尺照明补光护目镜设计说明书
智能声尺照明补光护目镜
设计说明书
编写:
审核:
学校:
智能声尺照明补光护目镜
摘要
本产品在原有护目镜功能单一的基础上进行改进,在现有微型单片机平台上进行开发,为护目镜增加了智能测量和智能补光照明功能,智能测量可以测量平面长度、体积、速度等。
本产品使用数字照度传感器精确感知环境明暗程度,对补光进行精确控制。
智能、节能。
将超声测距和激光参照瞄准及三角函数进行有机结合,替代直尺精确测量平面长度,运用语音合成技术输出结果,使其更人性化。
本产品将高分子发泡材料作为主体外壳,质量不超过40克,轻便且耐用。
本作品的意义是把智能、节能理念与护目镜融合,解决了车间低光照强度下阅读图纸的不便,提高了能源利用效率。
新型长度测量技术解决了传统测量的弊端,改善了工人的工作体验。
【关键词】
护目镜;超声波;智能控制;智能补光;声尺;绿色,智能;环保
目录
摘要I
目录II
第1章研究背景1
第2章产品简介2
2.1智能补光功能3
2.2智能测量功能5
2.3语音合成功能5
2.4固件升级功能6
第3章智能照明补光详细设计说明7
3.1总流程7
3.2纸张检测处理8
3.3感光处理8
3.4程序设计过程及困难解决8
第4章声尺及语音合成模块详细设计说明9
4.1总流程9
4.2按键检测9
4.3在程序测试时遇到的问题及解决办法10
第5章制作过程的问题及解决方案12
5.1体积小限制发挥度12
5.2贴片大小增大了作难度12
5.3产品重量的控制12
5.4元件间焊接绝缘信号损失13
5.5元件易损坏问题13
附录A:
智能补光程序代码15
附录B:
智能声尺程序源码19
第1章研究背景
在工厂一线操作的工人、技师都需要佩戴护目镜防止车削碎屑(如图1.0),工人在加工过程中需要频繁的校对图纸参数,在光线环境较弱的情况下为保证阅读,除吊灯外往往配备台灯等辅助照明设施,但普遍存在台灯常开、耗能较高且移动不便的缺点。
工人在选择加工方案时,往往还需测量毛坯件的大体长度,但直尺与卷尺都有易丢失使用不便等缺点,尤其是卷尺较易划破手指。
以上反映了当今机械工厂普遍存在的问题。
即企业存在能源浪费的问题、工人工作体验的问题。
企业如果可以节约能源,效益就会得到提升。
企业的效益靠质量,质量靠技术,技术靠工人。
如果工人不能保持良好的心情、健康的身体条件,就会影响其工作状态,也会影响到企业的效益。
针对机械工厂生产时工人普遍佩戴护目镜的现状,我决定在对传统单一功能的护目镜进行改进,整合现代微型传感器及微型处理器,使其具备智能补光照明功能和智能快速测量功能且轻便易佩戴。
图1.0佩戴护目镜标志
第2章产品简介
本设计共有四种功能:
1、智能补光照明功能,2、智能测量功能,3、语音合成播报功能,4、固件升级功能。
应用在工厂及井下弱光条件下需要工人进行图纸阅读及需要粗略快速测量的场合。
作品名称含义:
作品名称为:
智能声尺照明补光护目镜(如图2.0-1、2.0-2、2.0-3)。
智能代表:
智能控制,包括智能声尺测量和智能照明补光。
声尺代表:
通过三角函数结合超声波测距,可测量长度及体积。
智能声尺另外也代表了语音合成技术的运用。
智能照明补光:
代表了它的使用场景,是在弱光条件下根据光照强度的不同进行不同程度的主动光照补偿。
护目镜:
代表了它产品类型,是在护目镜的基础上进行的功能的扩展。
图2.0-1护目镜整体及模块说明
图2.0-2护目镜产品俯视图
图2.0-3护目镜侧视图
2.1智能补光功能
智能补光功能:
采用ROHM原装BH1750FVI芯片。
光照度范围:
0-65535lx,传感器内置16bitAD转换器。
直接数字输出,不区分环境光源,接近于视觉灵敏度的分光特性,可对广泛的亮度进行1勒克斯的高精度测定(如图2.1-1)。
它可以为不同光照强度下场景提供精确适度补光。
本模块还增加了纸张识别传感器(如图2.1-2),当检测到人在阅读时才会补光。
应用价值:
本功能解决了固定灯照明能耗较高且移动不便的缺陷,体现出智能、节能的设计理念。
图2.1-1侧面照度传感器
图2.1-2纸张检测探头
2.2智能测量功能
①平面长度测量:
按下测量按钮,两激光头发射激光,将激光对准被测物体两端,松开按钮,单片机自动使用三角函数计算被测物体长度(三角函数测量原理见第四章:
图4.1)。
测量的实质是使用超声波测量一直角边长度,并由温度及环境湿度进行校准声速,根据瞄准激光的固定夹角计算出平面长度,代替直尺进行迅速测量平面长度(如图2.2)。
②快速体积测量功能,通过不同程序的算法,可测量圆柱体,椎体,正方体等物体的体积。
速度等标量测量功能,通过写入不同的固件进行程序升级,可进行运动速度测量,应用场合更广泛。
③可拆卸式设计,智能测量模块,采用可拆卸式设计,不用时可拆下有效减轻负重。
价值及意义:
本功能解决了传统测量方式的不便与繁琐,创造性结合三角函数,将超声波测距转换为超声波测量平面长度。
图2.2智能测量模块
2.3语音合成功能
超声波测量模块的结果通过LQFP44封装的微型STC89C52单片机(如图2.3-1)进行三角函数运算及换算。
得到的结果将以串口通信的形式输入语音合成模块,进行语音合成(如图2.3-2),结果将以声音的形式通过耳机(如图2.3-3)播放给测量者。
图2.3-1STC89C52/LQFP44图2.3-2语音合成模块
图2.3-3测量按钮、耳机、耳机座照片
2.4固件升级功能
通过USB连接电脑可将产品内置封装类型为PQFP44的STC89C52微型单片机进行固件升级,可写入最新的程序以达到不同的功能,如体积测量功能、速度测量功能、高温危险提示功能等。
第3章智能照明补光详细设计说明
3.1总流程
眼镜中央处理系统采用STC89C52单片机,通过数字照度传感器进行照度比较分析,其照度与给定光通量值进行比较,若光通量适合照明,则单片机智能输出光照控制信号。
流程图如下(如图3.1):
图3.1智能补光程序框图
3.2纸张检测处理
纸张检测使用的是反射式纸张传感器检测是否有纸张存在,目的是检测用户是否在阅读。
单片机根据纸张检测所给出的信号来进行下一步操作。
3.3感光处理
感光元件使用16位数字照度传感器进行数字化输出量,输出引脚只有两根,使用到了IIC总线技术,因为51单片机并没有IIC总线支持接口,所以只能使用单片机的I/O接口进行模拟。
这也是本次项目实现的重点和难点(参考见附录A)。
最后将光照补偿量分级,在单片机补偿函数换算后进行输出控制光照,来进行补偿光照。
3.4程序设计过程及困难解决
①最初设计想使用感光元件直接进行光通量的测量,但由于输出是模拟信号,需要加一模AD换模块,8位的模数转换模块比较大,不适合做小巧的眼镜上,因此采用了直接输出数字量的感光模块BH1750FVI。
②BH2750FVI模块输出的是数字量,只有两根引脚,使用到了IIC总线技术,经过一周对IIC总线规则的研究,以及感光芯片内部定义,最终写出通信函数。
③传感器地址冲突,刚开始调试时一直出不来正确的结果。
后来发现是因为BH2750FVI模块地址存在冲突,导致读取数据不正确。
后经过调试与重新分配内存地址,问题解决。
④纸张检测,最初方案想采用超声波检测纸张,但是因为超声波元件体积太大,所以改为纸张检测传感器,适合正常检测。
⑤调试出现灯光不稳定现象,经详细测试后发现,补偿函数设置区分光通量函数界定值太接近造成的,后把界定数值适当放宽,问题解决。
第4章声尺及语音合成模块详细设计说明
4.1总流程
眼镜中央处理系统采用STC89C52单片机,通过超声波测量后进行的三角函数运算,得出所测量物体的长度。
所测量的结果通过编码,转换为语音输出。
总流程图如下(图4.1):
图4.1智能声尺测量流程图
4.2按键检测
为了节省重量,我们只加入了一个按键,我们直接使用这个按键连接单片机引脚,使用单片机检测此引脚的电平高低就可以识别出来按键是否按下。
在检测到按键按下之后启动超声模块进行距离的测定,超声测距的原理是检测超声波发声到返回的时间,乘上声速,除以二就可以的到所测量的长度。
然后根据三角函数计算出所测量的长度(如图4.2)。
此处也是本程序的难点,以及核心,此处用到单片机的定时器,用来准确定时。
根据测量超声返回的高电平时长,并根据环境温度、湿度做出相应补偿计算,然后将所测量的时间乘以单片机的工作机器周期,转换成标准的测量时间,通过函数求出所测物体的长度。
图4.2三角函数智能测量原理
在测量控制上采用检测按键是否抬起,未抬起继续循环检测所测物体长度,直到按键抬起,输出所测量的长度。
在单片机内部将函数中实现所测数据与原有的发声文字混合,整合为发声代码,通过串行口输出到语音合成模块,使其输出语音结果。
4.3在程序测试时遇到的问题及解决办法
①最初写程序时,先写的最小运行系统中断程序,以及提供给串口通信的时钟中断,实现发声程序发声。
②由于成品开发板,并不能适合程序调试使用,因此自己焊接的专用开发板,在此处耗时挺多,但是调试结果还算令人满意。
③发声采用语音合成模块,需要将汉字转换为发声代码,后来根据查询编码规则,实现了代码转换,使发声程序工作。
④在实现了发声模块之后,就面临着本程序的难点了。
测量程序调试,发声程序与测量结果不能直接通用,因此,面临着两个程序衔接的问题,但是没有超声模块实现测距的前提下,发声程序也不可能发出正常的数据,在此,之前做的专用的开发板起了大作用,直接把单片机输出到各个引脚,同过观看单片机转用开发板的各个指示灯就可以知道超声模块是否工作,这其中有很多小插曲,例如,中断程序忘记复位,中断溢出等,一项一项解决之后,超声模块终于可以正常测量。
⑤两程序的衔接,程序之间不能直接进行衔接,发声程序只能发出指定字符的声音而不能发出所测量的动态量的声音,后来经查阅资料了解,可以通过制定函数,追加字符串长度和内容,经转换后发声模块成功报出所测量的数值。
⑥但是新的问题又来了,测量的结果并不准确,通常误差很大,多出修正数据,后发现补偿测量时间以及检测激光发射角有很大的关系,激光发射角度未进行精密调试,因此,测量的结果并不能实现精确到0.5毫米的设计要求。
经过精密调整和不断调试,最终实现±1毫米精确度要求。
⑦一波未平一波又起,在调试的时候,发现测量只能测量一次,多次测量无结果输出。
经多次中断调试和硬件开发调整,发现问题的所在,即:
在超声波测量完成,转化成可以播报的文字之后,没有适当的延时一段时间,造成两程序衔接错误。
后在超声波程序后延时10ms,问题解决。
⑧本程序可以实行测距,测长度,测体积,开机时通过长按和短按控制按钮进行功能模式的选择,可测量体积,长度,距离速度。
内置MicroUSB接口,可进行固件升级,能够完善原有功能和增加新的功能。
第5章制作过程的问题及解决方案
5.1眼镜体积小很大程度上限制了自由发挥的程度
解决方法:
采用贴片元件减小整体框架结构,将贴片元件之间直接焊接可以减小电路板所占用的空间,合理安排个单元的位置使空间得到最大程度的应用。
5.2在制作过程中由于贴片元件太小而增大了制作难度
解决方法:
提高焊接技术,从软硬两方面提高,软的方面是提高个人心里素质,做到心中有底,拿废旧的贴片元件多加练习,硬的方面就是提高设备精度,本次产品焊接我们选用的是焊台而不是廉价的电烙铁,运用焊台的优势在于可以精确的控制温度和时间,只有控制好这两个不定因素,才能保证焊接的质量。
焊接过程中采用350摄氏度,与原件接触时间较短,既保证焊接的质量又不影响美观。
5.3产品重量的控制
解决方法:
对于眼镜来说,它的质量不能太重,这就又成了一个设计难题,我们从两方面来解决这个问题,首先是选材上,选择贴片元件不仅体积小,还因为其重量轻。
其次就是封装,在封装的时候首先用轻质的硅橡胶704将元件固定,使用高分子发泡材料制作外壳,既美观又高效,既轻便又安全(如图5.3-1和5.3-2)。
图5.3-1智能补光模块封装前照片
图5.3-2智能测量模块封装前图片
5.4元件间直接焊接的绝缘与较长距离信号损失问题
解决方法:
元件之间的绝缘关系到产品的性能,本产品采用的是低阻漆包线,其直径大约为0.2mm其电阻率与直径为1.5mm的铜导线相同,既保证了贴片元件之间的绝缘,又能解决较长距离信号传输容易丢失的问题。
5.5制作过程中元件易坏、模块不工作的问题
解决方法:
制作工程中由于操作失误或者其他原因导致元件失灵,模块不工作是经常发生的事情,为了减小失误,我们采用分阶段工作,首先将元件基础电路进行详细了解,避免因错接导致的失误,其次制作完一个模块实验一次,实验通过后将模块封装,有问题马上修改,等所有模块都实验完成,再整体实验一次,成功后将所有模块封装好。
避免因来回移动而产生的短路或元件的损坏。
总结与体会
智能声尺照明补光护目镜的诞生,填补了该领域的产品空白,市场没有类似产品,该产品有较高的应用价值、低廉的生产成本以及成熟的应用技术,有极高的可行性。
本产品的将护目镜由单一保护功能的劳保用品最终变成工人生产中的伙伴和助手,是一次质的飞越,它体了现代微处理、传感器的强大能力。
我们将课本所学的三角函数原理融入产品设计过程中,很好的证明了学有所用的客观真理,为相关设计人员提供了新设计思路。
项目研究工作马上就要结束了。
通过对这一项目课题的完成,让我们对所学的知识有了更深层次的理解。
经过这次比赛,我们每个人都在电路设计和系统设计方面有了很大的提高,同时也锻炼了团队合作的能力以及其他各方面的能力。
感谢大赛组委会为我们提供了这样一次学习和提高的机会;感谢学校为我们提供了这样一个广阔的平台,为我们提供资金和技术支持;感谢我们的指导教师对我们的帮助和指导,在我们遇到难题时能循循善诱的帮助我们,在我们遇到困难和挫折时能鼓励我们;感谢我的各位组员所做出的努力,是每一位成员的汗水最终才有今天的产品,虽然我们的知识还很浅薄,我们的水平还很有限,但我们为自己努力所得出的结果而感到高兴和自豪。
附录A:
智能补光程序代码
//////////////////////////////////////////////////////////////////////////////
智能补光源码
//////////////////////////////////////////////////////////////////////////////
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
intyanshi=500;//延时亮灯
sbitQL0=P3^3;//控制输出位,半亮,低电平触发led灯组一档
sbitQL1=P3^5;//二档
sbitQL2=P2^0;//全亮
sbitQL3=P2^4;
sbitZD=P1^0;//遮挡触发
sbitSCL=P1^6;//I2C时钟
sbitSDA=P1^3;//数据
bitBUCHANGBIAOZHI;
#defineCeguangdizhi10x46//接地
typedefunsignedcharBYTE;
typedefunsignedshortWORD;
intdis_data;
floattemp1=0,temp2=0;
floatBC0[4];//补偿寄存数值
BYTEBUF[1];
/****************短延时函数*****************/
voidDelay5us()//5微秒(us)延时因为程序调用占用了4微秒所以空指令值占用1为妙
{
_nop_();
}
/****************长延时函数********************/
voidDelay5ms()//5ms延时
{
WORDn=554;//比较精确的5ms延时
while(n--);
}
/*自定延时函数*/
voiddelay_nms(uintk)//程序载入为16us比较准确的毫秒延时
{
uinti,j;
for(i=0;i { for(j=0;j<123;j++) {;}} } /************************************** i2c起始信号 **************************************/ voidBH1750_Start() { SDA=1;//拉高数据线 SCL=1;//拉高时钟线 Delay5us();//延时 SDA=0;//产生下降沿 Delay5us();//延时 SCL=0;//拉低时钟线 } /************************************** 停止信号 **************************************/ voidBH1750_Stop() { SDA=0;//拉低数据线 SCL=1;//拉高时钟线 Delay5us();//延时 SDA=1;//产生上升沿 Delay5us();//延时 } /************************************** 发送应答信号 入口参数: ack(0: ACK1: NAK) **************************************/ voidBH1750_SendACK(bitack) { SDA=ack;//写应答信号 SCL=1;//拉高时钟线 Delay5us();//延时 SCL=0;//拉低时钟线 Delay5us();//延时 } /************************************** 接收应答信号 **************************************/ bitBH1750_RecvACK() { SCL=1;//拉高时钟线 Delay5us();//延时 CY=SDA;//读应答信号 SCL=0;//拉低时钟线 Delay5us();//延时 returnCY; } /************************************** 向IIC总线发送一个字节数据 **************************************/ voidBH1750_SendByte(BYTEdat) { BYTEi; for(i=0;i<8;i++)//8位计数器 { dat<<=1;//移出数据的最高位 SDA=CY;//送数据口 SCL=1;//拉高时钟线 Delay5us();//延时 SCL=0;//拉低时钟线 Delay5us();//延时 } BH1750_RecvACK(); } /************************************** 从IIC总线接收一个字节数据 **************************************/ BYTEBH1750_RecvByte() { BYTEi; BYTEdat=0; SDA=1;//使能内部上拉,准备读取数据, for(i=0;i<8;i++)//8位计数器 { dat<<=1; SCL=1;//拉高时钟线 Delay5us();//延时 dat|=SDA;//读数据 SCL=0;//拉低时钟线 Delay5us();//延时 } returndat; } voidSingle_Write_BH1750(ucharSlaveAddress,ucharREG_Address)//写单字节函数参数一为地址,参数二为指令详细指令之后注释。 ///////////////////////////////////////////////////////////////////这个函数式更改后的i2c发送函数只能发送一个地址和一条指令。 { BH1750_Start();//起始信号 BH1750_SendByte(SlaveAddress);//发送设备地址+写信号 BH1750_SendByte(REG_Address);//内部寄存器地址,或者指令//BH1750_SendByte(REG_data);//内部寄存器数据, BH1750_Stop();//发送停止信号 } //指令代码通电0x01, ///////////重置0x07, ///////////连续1lx分辨率模式0x10测量时间为120ms //连续0.5lx分辨路模式0x11测量时间为120ms //连续低分辨率4lx0x13测量时间为16ms //一次1lx0x20 //一次0.4lx0x21 //一次4lx0x23 //改变测量时间的就先不写了 //********单字节读取***************************************** //****************************************** //连续读出BH1750内部数据 //****************************************** voidMultiple_read_BH1750(ucharSlaveAddress)//读数据需要加地址 {uchari; BH1750_Start();//起始信号 BH1750_SendByte(SlaveAddress+1);//发送设备地址+读信号 //if(0==CY) //{ for(i=0;i<2;i++)//连续读取2个地址数据,存储中BUF { BUF[i]=BH1750_RecvByte();//BUF[0]存储0x32地址中的数据 if(i==2) { BH1750_SendACK (1);//最后一个数据需要回NOACK } else { BH1750_SendACK(0);//回应ACK } } //} BH1750_Stop();//停止信号 Delay5ms(); } //初始化BH1750,根据需要请参考pdf进行修改**** voidInit_BH1750() { Single_Write_BH1750(Ceguangdizhi1,0x01);//通电测光1 Single_Write_BH1750(Ceguangdizhi1,0x07);//重置内存 Single_Write_BH1750(Ceg
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子 毕业设计 智能 照明 护目镜 设计 说明书