基于MSP430G2 231的电子秤设计柴剑文档格式.docx
- 文档编号:16644256
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:19
- 大小:835.78KB
基于MSP430G2 231的电子秤设计柴剑文档格式.docx
《基于MSP430G2 231的电子秤设计柴剑文档格式.docx》由会员分享,可在线阅读,更多相关《基于MSP430G2 231的电子秤设计柴剑文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
第三节调试与校准18
第四章总结与思考19
第一章作品概述
第一节系统概述
本设计以MSP430G2231作为核心,由压力传感器和数码管显示器共同实现对物体质量的测量显示功能,最小分辨率1克,系统框图和各部分简介如图1.1所示。
图1.1系统组成框图
1)压力传感器:
在直流激励下,受到压力形变,产生电压信号。
压力信号以差分电压的形式通过绿色(数据)和白色(数据地)连根引线与PCB上的端子相连。
2)信号调理电路:
传感器信号由于幅度较小,噪音较大,不能直接由AD采集,经过放大(AD623)滤波电路,得到合适频带幅度的信号送往中央控制器(MSP430G2231)。
由接线端子上引入的数据+和数据地差分信号分别接仪表运放的正端输入和负端输入,在反馈电阻的作用下,实现高共模抑制的差分放大。
后接RC滤波电路,将低频可用信号取出,输出至MSP430的ADC10模块入口。
3)中央控制器:
由G2的AD模块通道0采集前级电压信号,转换为数字量后,保存在CPU内存中,然后通过统计算法和传感器线性参数修正,得到被测压力数值参数,再将这些数据发往LED显示电路。
4)显示电路:
由数码管驱动芯片(74LS48)根据CPU发来的显示数据点亮LED,显示出数值。
第二节器件概述
1)MSP430G2231
MSP430是美国德州仪器公司自1996推出以来一直主打的一个低功耗系列,包含1至5五个系列,每个系列都各自有各自的特点,适用于各种不同场合的不同应用。
其中最近2系列添新面孔——G2超值系列。
本设计采用的MSP430G2231就是MSP430超低功耗系列中G2超值子系列的一款16位处理器。
通过引入MSP430G2xx3系列,MSP430超值系列继续扩展了产品系列。
由于具有低成本和超低功耗,G2xx3系列适用于电容触摸应用,并可集成诸如UART、SPI和I2C等通信外设。
MSP430G2xx3系列与8位微处理器相比,具有绝对优势。
G2xx3系列的主要特性包括:
1.与其他430器件相同的超低功耗
2.闪存高达16KB
3.512BSRAM
4.通用串行通信接口(USCI)
5.具有3个捕捉/比较寄存器的2个16位Timer_A
6.10位ADC、比较器外设选项
7.启用创新电容式触摸感应设计的IO在此类应用中可降低系统成本。
8.提供20/28引脚TSSOP、32引脚QFN和20引脚DIP封装
本次设计采用的就是DIP14的封装(如图2.1所示)
图1.2MSP430G2231DIP引脚图
2)AD623
AD623是一个集成单电源仪表放大器,它能在单电源(+3V到+12V)下提供满电源幅度的输出。
它允许使用单个增益设置电阻进行增益编程,以得到更好的灵活性。
符合8引脚的工业标准配置。
在无外接电阻条件下,AD623被设置为单增益(G=1)。
在外接电阻后,AD623可编程设置增益,增益最高可达1000倍。
AD623通过提供极好的随增益增大而增大的交流共模抑制比(ACCMRR)而保持最小的误差。
线路噪声及谐波将由于CMRR在高达200HZ时仍保持恒定。
它有较宽的共模输入范围,可以放大具有低于地电平150mv共模电压信号。
它在双电源(2.5至6V)仍能提供优良性能。
低功耗,宽电源电压范围,满电源幅度输出,使AD623成为电池供电的理想选择。
在低电源电压下工作时,满电源幅度输出级使动态范围达最大。
它可以取代分立的仪表放大器设计,且在最小的空间提供很好的线性度,温度稳定性很可靠性。
图1.3AD623引脚图
3)74LS48
74LS47是一个TTL高电平数码管驱动驱动缓冲器件。
可以将BCD输入数据在LED上显示出来,当BCD输入大于9时,将显示一些特殊字符用以区别不同的输入状态。
可以有效的减少显示电路对数码管IO资源的占用,同时还增加了一定的驱动能力。
图1.474LS47引脚图
第二章硬件设计
第一节MSP430G2/Launchpad
图2.1MSP430G2系列Launchpad开发板实物图
基于名为Launch
Pad,MSP-EXP430G2低成本实验板是一款适用于TI最新MSP430G2XXX犀利产品的完整开发解决方案。
基于USB的集成型仿真器可提供全系列MSP430G2XX器件开发应用所必备的所有软件、硬件。
LunchPad具有集成的DIP目标插座,可支持多达20个引脚,从而使MSP430ValueLine器件能够轻松插入LaunchPad实验板电路。
此外,其还可支持板上FLASH仿真工具,以直接连接至PC轻松进行编程、调试和评估。
LunchPad实验板还能够对eZ430-RF2500T目标板、eZ430-Chronos手表模块或eZ430-F2012T/F2013T目标板进行编程。
此外,他还提供了从MSP430G2XX器件到主机PC或者相连目标板的9600波特UART串联连接。
MSP-EXP430G2采用IAREmbeddedWorkbench集成开发环境或者CodeComeposerStudio下编写、下载、调试应用。
调试器是非侵入式的,这使用户能够借助可用的硬件断点和单步操作全速运行应用,而不消耗其他硬件资源。
MSP-EXP430G2LauchPad特性
·
USB调试与编程接口无驱动可安装使用,具备9600波特率的UART串行通信速度
支持所有采用DIP14和DIP20封装的MSP430G2XX和MSP430F20器件
分别连接到绿光和红光LED的两个通用数字I/O引脚可以提供视觉反馈
两个按钮可以实现用回反馈和芯片复位
器件引脚可以通过插座引出,即可方便用于调试,也可用添加定制的扩展板
该质量的20引脚DIP插座,可以轻松的插入或者拔出目标器件
第二节传感器原理及选型
1)电阻式压力应变传感器
半导体或者金属材料在收到外界压力或拉力作用时发生机械形变,导致其阻值发生变化,这种因为形变造成的阻值变化称为“应变效应”。
根据这一效应制作的,以测量压力为目的传感器称为电阻式应变传感器。
电阻应变片种类繁多,但其基本构造都是覆盖层+敏感栅+基盘的模式(如图2.2),其中敏感栅有引线接出,作为应变片的输出端子。
图2.2电阻式压力应变结构图
2)悬臂梁式压力传感器
悬臂梁式压力传感器一端固定,一端加载,利用臂梁上应变片拉伸的压缩的变化而发生的应变效应,从而测得压力的一种压力传感器。
臂梁上方的应变片
称为工作片,当臂梁受到正向压力时该应变片被拉伸。
臂梁的反面的应变片称为补偿片,当臂梁受到正向压力时该应变片被挤压。
因为臂梁本身一般选择刚性较好的材料,工作片和补偿片的形变引起的电阻变化大小正好等大反向,如果因为温度、气压等环境因素造成应变片灵敏度变化,两个应变片正反两种变化刚好相互补偿。
当然两个应变片一定要是同批次,特性相同的。
3)电桥式传感器
对于电阻式传感器,需要借助适当的电路,将电阻的变化转化为电压或者电流信号,以供后续电路使用。
最常用的办法是惠斯顿电桥(如图2.3)。
图2.3惠斯顿电桥
假定相等的4个电阻分为两组,串联构成两个电阻串,由于是等值电阻,因而两电阻间的节点电压是电阻串电压的一半,电表V上没有变化。
假如一个电阻值增长1%,另一个电阻减小1%,那么两个电阻节点处的电压将改动1%。
假如将两个电阻串实行并联,如图1所示,右边下方的电阻和左边上方的电阻阻值均减小1%,另外两个电阻增长1%,那么两个“中”点间的电压将从零差值变为改动2%。
两个并行分支的这种配置就被称为惠斯顿桥。
其中涉及计算的步骤,已经有无数前人予以证实,这里不庸赘述。
但是,特别提出,这个电路将电阻变化转化为电压信号的同时还能对信号予以4倍放大。
由前例可以看出,R1和R4阻值的增大、与R2、R3的减小会增大V的示数。
若将R1、R4固定在悬臂的工作面,R2、R3固定在补偿面,四个电阻阻值的变化就能全部转化为电压信号,
同时还能完成温度补偿的功能。
图2.4悬臂梁式/电桥式受力示意图
4)浙江三科LDH001型压力传感器
工作原理:
电阻式电桥式悬臂梁式
项目
数值
单位
额定负载
5
kg
输出电压
2.00
mV/V
供电电压
2~15
V
迟滞性
0.02
%F.S
重复性
零点平衡
安全负载
150%
工作温度
-10~40
℃
图2.5LDH001型传感器参数图
图2.6传感器实物及支架
第三节信号调理电路
图3.1信号调理部分原理图
P1为传感器信号线的正极和地接口。
R3、R2是反馈电阻,用于调节放大倍数,反馈电阻和放大倍数的关系如图3.2,其中R2是一个电位器,用于校准R3本身的误差。
C3、C6作为滤波电容,滤除噪音。
R4和C7构成一个低通滤波器。
图3.2AD623反馈电阻阻值与放大倍数关系
由于电阻型传感器对于供电纹波敏感,所以其输出信号中存在明显的50Hz类似正弦波,在干扰环境较强的时候,正弦波幅度大于20mV,完全淹没了传感器的信号,必须信号调理,后级的低通滤波器可以滤除大部分的纹波,但是剩余
的干扰仍然对AD的采样有很大地干扰,在单片机程序中还要通过数学方法消除。
运算放大电路,不仅可以放大信,提高测量精度还能起到阻抗变换的作用,也是信号调理、传感器测量的必要一环。
第四节LED显示电路
图3.3显示电路部分原理图
74LS47中的ABCD分别链接IO口,作为BCD数据输入端,abcdefg分别接数码管对应的段码,对应ADCD输入和abcdefg输出关系如图3.4。
LT、RBI、BL分别为调试功能用,没有用到,LT和BI接电源,RBI接地。
图3.474LS47译码器真值表
第四节器件清单
Comment
Designator
Footprint
Quantity
AD623
AD1
DIP-8
1
CAP-TAN
C1,C2,C6
1206
3
RES
R4,R5,RA,RB,RC,RD
0805
6
CAP
C4,C5'
C3,C7,
4
C6
Diode
D1
4SegmetDigtalLEDlowcom
D4
SMG4
Res2
R1,R3
2
ResAdj2
R2
SFM-T3/A2.4V
AMS1117_3.3
U1
SOT-223
74HC48
U2
DIP-16
74F04
U3
SO-14
74HC139
U4
SOL-16
第五节PCB设计
整个PCB尺寸62mm*67mm,采用双面设计,地面覆铜与GND连接。
图3.5PCB顶层设计图
图3.6PCB底层设计图
第六节硬件装配说明
1)焊接元件前检查PCB有无断裂、扭曲或明显刮伤,用万用表测量PCB上VCC端和GND之间的电阻值,在兆级以上方位正常。
2)焊接时按照电源=>
运放=>
显示的顺序逐步焊接,每焊接完一个部分,检查各部分电源和地是否短路、引脚有无虚焊或互相断路。
3)上电测试前再次用万用表测量PCB上VCC端和GND之间的电阻值。
4)对于二极管和带极性的电容(如钽电容)要特别留心正负极性。
5)切忌在带电状态下用万用表二极管档测量。
6)由AD623输入输出计算放大倍数,如果和预期有偏差则调节电位器R2予以修正。
第三章软件系统设计
第一节程序流程
本软件实现了将由传感器的发送的模拟信号采集后,通过ADC中断方式,由AD转换的数据读取至单片机内存,然后通过数代数法和统计方法进行电压和压力的比例计算,得出压力值。
同时定时器中断下定时刷新数码管显示器。
程序可以大致分为初始化、ADC和显示三部分。
1)初始化
图3.1系统初始化程序流程图
在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位。
所以在系统正式启动前需要对看门狗进行设置。
MSP单片机内部有着丰富的片上资源,如ADC、定时器、比较器、DMA、FLASH等,如并非全部使用而一直启动着,则造成无谓的电损耗,显然不利于低功耗设计,430特殊寄存器中就设置了相应的寄存器用于控制这些模块的开启和关闭,这些模块默认都是关闭的,所以在初始化系统的时候需要开启这些模块。
ADC开启后还不能直接工作,为了适应不同情况下的测试要求,还要进行一些细化的设置,需要设置采样周期、采样通道、采样方式(单次、或者连续)、正负模式,TIMER模块也是如此,需要设置计数方式、触发方式、计数周期等。
2)ADC中断
图3.2ADC中断流程图
当MSP430ADC模块启动后,ADC定时采样转换出数字信号,每次转换完毕后触发一次ADC中断,进入中断后开始,将转换的数据存入缓存数组,然后数组计数器加一,然后判断数组计数器是否满,若满对整个数组求和换算,送入显示缓存,清空数组计数器,清除中断标志位,方能退出中断。
若计数器没满,则直接清空标志位,退出中断。
3)定时器中断
图3.3定时器流程图
当计数器计时满时(设计为21000即为2ms),进入定时器中断服务子程序。
进入中断后,判断周期数是否满足(设计为周期数达到25个周期,即每50ms刷新一次,数码管刷新频率一般为25至75Hz),如果不满足则周期数加一,中断返回;
如果满足刷新条件,则执行刷新显示子程序,然后清零周期数,中断返回。
第二节子程序API介绍
1)函数名:
voidConfigTimerA2(void);
输入输出变量:
无
功能:
定时器A2初始化
2)函数名:
voidConfigADC10(void);
AD转换模块初始化
3)函数名:
voidSHOWWEIGHT(void)
刷新显示器
4)函数名:
voidHC481(intx)
输入intx
功能:
指定数码管第一位显示X
5)函数名:
voidHC482(intx)
指定数码管第二位显示X
6)函数名:
voidHC483(intx)
指定数码管第三位显示X
7)函数名:
voidHC484(intx)
指定数码管第四位显示X
第三节调试与校准
1)在CCS下编写完程序后,执行编译(Build)
图3.4Build按钮示意
2)编译通过后,执行调试(Debug)
图3.5Debug按钮示意
3)点击调试后,分别打开Debug、Watch、Regesiter窗口。
图3.6调试功能按钮示意
Debug窗口下,自左向右依次是去掉断点、全速运行、暂停、停止、进入、单步、汇编进入、汇编单步、返回、同步时钟、复位。
在程序运行后,暂停时可以打开Watch和Regesiter窗口内观察寄存器和变量的变化。
图3.7变量检测窗口示意
第四章总结与思考
本次设计旨在完成对压力传感器信号采集处理显示的数据流程简单实现,通过此次设计完成G2系列单片机的一个实例应用。
在本次设计中,主要包括硬件搭建和软件调试,另外还有对传感器的选择上。
在硬件电路方面,我们430作为控制器,通过电源电路、显示电路、放大滤波电路实现了预期目标。
各部分先是逐个调试通过,然后整体联机调试。
软件方面,大概用了一周时间调试程序,主要是对误差信号的处理,以及显示控制方法的编写,同样,各部分也要分模块调试,然后在硬件上运行通过。
作为压力检测来说,模拟前端还有很大的改善空间,电源、放大、滤波任意一个单元电路都可以单独成立一个课题,本设计考量G2单片机精巧简洁的特点,为了突出重点,都选用了最简约的设计,从成本上节省了不少。
本次设计的不足主要有两点:
第一,信号调理电路简单,不能充分发挥10位AD的精度,在显示的末位市场有数字波动;
第二,显示电路使用动态刷新,亮度不足而且占用CPU较多的资源。
改进的方案:
第一,采用高阶的滤波电路,有源的滤波电路,以及在算法上分析出存在的噪音将他们取出。
第二,使用专门的数码管管理芯片,将CPU锁存驱动这些工作中解放。
针对这样一个试验系统,在文章的结尾笔者提出了如下几个问题,愿与读者共同思考:
1)对电阻应变片而言,除了工艺上的原因外,影响器输出精度和分辨率的主要因素有哪些?
2)在信号发出到进入AD的过程中,在哪些环节可能引入误差,这些误差的来源是什么,如何减小或者消除它们,消除它们会对系统带来什么其他影响?
3)本系统的动态显示驱动数码管有什么缺陷,尝试设计利用4个以内的IO资源控制四位8段数码管克服动态驱动的缺陷。
4)电子秤除了显示重量这项基本功能外,是否还能附加一些其他功能?
如记录重量,过载报警等。
5)压力检测还能除了作为电子秤的应用之外,还有什么其他的应用领域,试设计一个方案,在对原先硬件较小改动的前提下,实现预期方案。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于MSP430G2 231的电子秤设计柴剑 基于 MSP430G2 231 电子秤 设计