江苏省大学生电子设计竞赛D题(附源程序)

上传人:鲁** 文档编号:561543456 上传时间:2022-11-30 格式:DOCX 页数:17 大小:1.19MB
返回 下载 相关 举报
江苏省大学生电子设计竞赛D题(附源程序)_第1页
第1页 / 共17页
江苏省大学生电子设计竞赛D题(附源程序)_第2页
第2页 / 共17页
江苏省大学生电子设计竞赛D题(附源程序)_第3页
第3页 / 共17页
江苏省大学生电子设计竞赛D题(附源程序)_第4页
第4页 / 共17页
江苏省大学生电子设计竞赛D题(附源程序)_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《江苏省大学生电子设计竞赛D题(附源程序)》由会员分享,可在线阅读,更多相关《江苏省大学生电子设计竞赛D题(附源程序)(17页珍藏版)》请在金锄头文库上搜索。

1、2016江苏省大学生电子设计竞赛参赛试题(含题号):D 简易电子秤摘要本设计以MSP430单片机为控制核心,设计并实现了一个以电阻应变片为称重传感器的简易电子秤,具有“称重”、“计价”、“去皮”等功能。具体来说,采用自制的电阻应变片称重传感器将砝码重量变化转换为电压信号的变化,并用精密仪用放大器放大信号以及A/D转化,最终将信号送往单片机处理,得到物体重量,同时,该设计还实现了通过按键对电子秤设置单价并计价与“去皮”功能。关键词:电阻应变片 称重传感器 仪用放大器 简易电子秤1.方案设计与论证本设计运用到五个模块,分别是主控芯片模块、HX711AD转换、LCD液晶显示模块、独立按键、称重传感器

2、模块以及蓝牙数据传输(测试专用)。系统方案框图如图1所示。图1 系统方案框图1.1主控芯片模块方案一:采用51单片机,但是51单片机的IO口个数较少,同时处理性能较低,无法满足本设计的工作要求。故我们不采用此方案。方案二:采用MSP430单片机,该芯片由TI公司生产,它是一种16位超低功耗,具有精简指令集(RISC)的混合信号处理器,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,具有丰富的寻址方式,简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。该芯片有处理能力强、运算速度快、超低功耗、片内资源丰富、开发环

3、境方便高效的优点。故我们采用此方案。1.2 A/D转换+仪用放大器模块方案一:采用MSP430处理器自带的A/D接入口,但是A/D的位数较低,无法适应我们的转换精度。故我们不采用此方案。方案二:采用ADC0809转换芯片,该芯片是8位逐次逼近式A/D模数转换器,A/D的位数也较低,无法适应我们的转换精度。故我们不采用此方案。方案三:采用HX711芯片,它是一款专为高精度电子秤而设计的24位A/D转换器芯片,与同类型其它芯片相比,该芯片集成了包括稳压电源、片内时钟振荡器等其它同类型芯片所需要的外围电路,具有集成度高、响应速度快、抗干扰性强等优点。该芯片的特点是两路可选择差分输入;有片内低噪声可编

4、程放大器,选择增益为128;片内稳压电路可直接向外部传感器和芯片内A/D转换器提供电源;片内时钟振荡器无需任何外接器件,必要时也可使用外接晶振或时钟;上电自动复位电路;数字控制和串口通讯简单,所有控制由管脚输入,芯片内寄存器无需编程。综合以上所述优点,故我们选择此方案。1.3 液晶显示模块液晶显示采用LCD1602液晶屏,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。显示的内容为16X2即可以显示两行,每行16个字符液晶模块(显示字

5、符和数字)1.4独立键盘模块在计价功能上要用到数字键盘,所以我们自己焊制了4X4独立键盘,可以有16个IO口,IO口较多,比较稳定,可靠性高,各个按键之间不会相互干扰。1.5 称重传感器模块我们在材料力学的基础上对悬臂梁进行受力分析来确定悬臂梁的尺寸,联系工厂进行加工。将4片电阻应变片以全桥电路的形式贴于悬臂梁上,经过测试,自制成功称重传感器。图2 自制称重传感器实物图2理论分析与计算2.1全桥电路分析图3是直流电桥的基本结构。以电阻R1、R2、R3、R4组成电桥的四个桥臂,在电桥的对角点A、B端接入直流电源Ue作为电桥的激励电源,从另一对角点C、D两端输出电压Uo。使用时,电桥四个桥臂中的一

6、个或多个是阻值随被测量变化的电阻传感器元件,如电阻应变片。电桥的输出电压Uo可通过下式确定 (1)图3 直流电桥图4为全桥接法。工作中四个桥臂阻值都随被测量而变化,即,,当,时,电桥输出 (2)图4 全桥接法可以看出,电桥的输出电压与激励电压成正比,只是比例系数不同。现定义电桥的灵敏度为 (3)全桥的灵敏度为,全桥接法可以获得最大的灵敏度。在这里,电阻应变片的阻值即=350。2.2悬臂梁尺寸分析与计算题目的要求检测出的砝码变化精度是0.5g,即砝码变化0.5g,相应的经过A/D转换器输出的数字量变化为1,由全桥电路分析可知 (4)同时 (5)其中为灵敏度,为正应变。综合上述两式,得出 (6)因

7、为采用的是HX711A/D转换器,里面自带128增益,所以 (7)从A/D转换的分辨率角度考虑可得 (8)式中=1。因为已知,所以可计算得出,又因为灵敏度=2.08,最后求出的最小值为2.210-10。由材料力学可知 (9)式中,为弹性模量,=69KN/mm2在即横截面上离中性轴最远的各点处,弯曲正应力最大,其值为 (10)式中为弯矩,为惯性矩。我们设计了一串数据,最后选出了一组符合题目最小精度要求的数据,再将计算得到的数据代入材料力学的相关公式中进行强度校核,经校核,这组数据满足力学强度要求,保证了悬臂梁的稳定性和可靠性。图5 悬臂梁尺寸设计图悬臂梁尺寸设计仿真图见附录图3电路与程序设计本设

8、计中的主控芯片用的是MSP430149,由TI公司生产,它是一种16位超低功耗,具有精简指令集(RISC)的混合信号处理器,在设计中起着至关重要的作用,图6是它的电路原理图。A/D转换器采用的是HX711芯片,是一款专为高精度电子秤而设计的24位A/D转换器芯片,图7是它的电路原理图。液晶显示采用LCD1602液晶屏,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,图8是它的电路原理图。图6 MSP430电路图图7 HX711电路图图8 LCD1602电路图在软件代码实现方面,我们采用基于IAR SYSTEMS的C编译器嵌入式开发软件,支持众多知名半导体公司的微处理器。整体程序按照如下

9、的流程进行: 图9 程序设计流程框图关键程序代码详见附录程序源码。4测试方法与测试结果原始数据通过HX711的A/D转换变为一串十进制数据,通过蓝牙模块,将测得的数据传入电脑,并用Matlab对接收到的数据进行拟合,发现原始数据和重量呈线性关系,拟合出的函数代入程序中进行测试,再根据实际测量情况软件补偿,最终可以达到理想的称重效果。测试结果如下:表1 实验测试结果砝码质量/g测量结果/g相对误差%55.00109.91%2019.90.5%3030.10.33%5049.90.2%8080.20.25%150150.20.13%200199.70.15%350350.40.11%500500.

10、50.1%5设计总结本设计以TI公司MSP430F149为核心控制单元,采用自制的电阻应变片称重传感器采集砝码重量变化,并转换为电压信号的变化,用精密仪用放大器放大信号以及A/D转化,最终将信号送往单片机进行处理,得到物体重量,考虑到自制的称重传感器系统的非线性,系统通过单片机对测量结果进行分段比例因子补偿,测试结果显示系统已经很好地实现了线性测量以及优于1%的称重精度。同时,该设计还实现了通过按键对电子秤设置单价,可计算物品金额并实现金额累加与“去皮”功能,去皮范围不超过100g。在圆满完成题目要求的同时,本系统还实现了称重超过量程5g时报警的功能,为系统设置了安全保障。最后,感谢大赛组委会

11、以及为比赛提供众多帮助的TI公司。附录图 悬臂梁尺寸设计软件仿真图图 队员贴电阻应变片图 指导老师、小组成员合影图 作品实物图片程序源码1.AD转换程序unsigned long ReadCount(void) unsigned long Count; unsigned char i; ADSK_0; /使能AD(PD_SCK 置低) Count=0; while(P3IN&0x20); /AD转换未结束则等待,否则开始读取 delay_us(1); for (i=0;i24;i+) ADSK_1; /PD_SCK 置高(发送脉冲) delay_us(10); Count=Count1; /下

12、降沿来时变量Count左移一位,右侧补零 ADSK_0; /PD_SCK 置低 if(P3IN&0x20) Count+; delay_us(10); ADSK_1; Count=Count0x800000; /第25个脉冲下降沿来时,转换数据 delay_us(10); ADSK_0; delay_us(10); return(Count);2.按键检测函数#include key.h#include clock.h#include Uart.hint num=0;int GetKey() if(P1IN & BIT0)=0) delay_ms(30); /延时消抖 if(P1IN & BIT0)=0) while(P1IN & BIT0)=0); /等待松开 delay_ms(30); if(P1IN & BIT0)!=0) /松手检测 num=1; else if(P1IN & BIT1)=0) delay_ms(30); /延时消抖 if(P1IN & BIT1)=0) while(P1IN & BIT1)=0); /等待松开 delay_ms(30); if(P1IN & BIT1)!=0)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 国内外标准规范

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号