《匠人手记》推荐网上购书渠道:
EDN网(ednchina)购书入口   >>>
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历

百宝专栏

  • 首页 相册 标签
  • 电脑应用(65)
  • 供需信息(22)
  • 写书近况(82)
  • 匠人文集(115)
  • 硬件技术(171)
  • 匠人公告(86)
  • 与非门专栏(545)
  • 匠人笔记(115)
  • 团队撰写(96)
  • 汽车电子(52)
  • 编程技巧(465)
  • 程序宝典(476)
  • 网络酷文(472)
  • 开发工具(19)
  • 资料宝藏(274)
  • 项目管理(11)
  • 藏经宝阁(42)
  • 趣味设计(5)
  • 社区热贴(2)
  • 比尔盖茨熊专栏(0) 
  • 百宝信息

    载入中...

    百宝流量

    (2006-07-01开始)



    匠人手记

    单芯片便携电子秤重系统实现方案(MSP430)
    程序匠人 发表于 2006-12-6 11:01:00  阅读全文 | 回复(0) | 引用通告 | 编辑

    单芯片便携电子秤重系统实现方案
    德州仪器公司 Andreas Dannenberg

    引言

    传统上,设计秤重、测力、转矩及压力测量系统时,广泛采用全桥接电阻传感器的方法。大多数桥接传感器都要求较高的激励电压(通常为10 V),同时输出较低的满量程差动电压,约为2 mV/V。传感器的输出通常由仪表放大器加以放大,经过发大后的信号,再由高精度模数转换器 (ADC) 进行数字化,最后再用一个通用的MCU作进一步处理与显示。通常情况下,ADC并不集成在MCU中。这种方法虽然可以实现满量程的ADC输入电压,但桥接传感器的激励电压高达10 V,功耗较大,而且使用的芯片数量也较多,加大了电源管理的复杂度。

    现在,通过在MSP430F42x芯片中集成带有差动输入的16位 - ADC和增益高达32的可编程增益放大器(PGA),实现了单芯片秤重系统。整个系统只需用3 V电池供电,不但能效高,且成本低。此外系统还提供LCD驱动器及掉电保护功能。


    硬件描述

    MSP430F42x系列是基于快速闪存的超低功耗微控制器,片上集成了三个16位 - ADC(SD16),这些ADC还带有PGA,能够将传送来的信号放大最高32倍。桥接传感器可以直接连接到微控制器上,图1给出了该系统的电路图。

    将全桥接传感器负激励信号连接至终端X1-1,正激励信号连接至终端X1-4,由MSP430的端口引脚P2.0与P2.1供电。这样,在测量期间或在电子秤工作于待机状态的情况下,就可以不用电桥激励电压,从而降低功耗。传感器的电桥电阻为1 200 (典型值),电源电压为3 V,激励状态下耗电2.5 mA。将桥接传感器的输出信号连接至X1-2与X1-3,通过两个低通滤波器之后输入SD16的输入通道A0。

    当最大负载为10 kg时,全桥接传感器具有2 mV/V的额定满量程差动输出电压。要使传感器信号能够实现1 g的精度,总共需要1万次计数,并显示在LCD显示屏上。如果桥接传感器获得3 V的激励电压,则满量程输出电压为:3 V x 2 mV/V = 6 mV。也就是说,1 g的重量转换为电压形式可等效为:6 mV / 10 kg x 1g = 0.6 V。为了实现1 g的测量精度,所用ADC的LSB电压应比上述小四倍,即 0.6 V / 4 = 0.15 V。


    SD16可用内置的1.2 V参考电压工作,也可用外部连接的参考电压工作。图1中给出的是用外部电阻分压器来提供参考电压。由于桥接传感器由相同电压的电源供电,这样做的好处是能够实现独立于激励电压(VCC)的比例输出原则。如果桥接传感器由VCC供电而SD16模块采用内部参考电压,那么测量结果就会随VCC在电池使用寿命中的变动而发生差异。当电源电压为3V时,使用图1中所示的外部电阻分压器得到的参考电压为:

    R9与R10的分压比(divider ratio)R9/R10的选择使生成的参考电压保持在容许的VREF范围内,这时VCC从3 V下降至2.7 V。SD16 模块的最小电源电压为2.7 V。其详细电压范围及其他参数,可参考MSP430F42x数据表(SLAS421)。SD16的参考电压决定着满量程差分输入电压,即VREF/2。由于数据转换器为双极,因此ADC的LSB电压为:
    该LSB值经过最大增益为32的PGA后,电压值可降至0.605 V。但该值比设计目标值0.15 V仍然高出大约四倍,为此还需要将该值进一步放大。为了不添加外部组件,可以采用更多的 SD16输出位。SD16模块内部数字抽取滤波器能够提供总共24位的访问。可将数字滤波器输出的额外两位添加给16位转换结果,并将18位输出信号进行低通过滤(如进行多结果平均),这样ADC的LSB电压就可降至0.151 V。
    MSP430F427的片上LCD驱动器可直接采用接口与一般的 LCD 模块连接。在本应用中采用了 SoftBaugh公司的4-mu 7.1数码LCD—SBLCDA4。电阻器R5、R7与R8提供了LCD驱动器模块所用的电压阶梯。采用32 kHz的晶振作为系统时钟参考,用于驱动LCD并在应用工作过程中周期性地从低功耗模式唤醒。此外,系统还为电子秤操作提供了连接至P1.0的按钮(SW1)。


    软件描述

    MSP430F427 单芯片秤重软件有C语言(F42x_Weigh_ Scale.c)与汇编语言(F42x_Weigh_Scale.s43)两种版本。两种源代码功能相同,但汇编语言版本更小。上电复位时,MSP430首先进行外设初始化,包括禁用看门狗定时器,配置LFXT1振荡器负载电容用于外部晶振,初始化LCD控制器、基本定时器及SD16转换器模块。SD16的0通道经过配置,采用双输入通道(channel pair)A0,并用SD16模块内部PGA放大信号达32倍增益。转换器由SMCLK计时,频率为1 048 567 Hz,并启用连续转换模式。关于SD16操作的详细信息可参考MSP430x4xx系列用户指南(SLAU056)。图2为软件主流程图。

    在源代码中,将两个32位字CalMin与CalMax分配到MSP430闪存段A以便保存校验数据。上电后,软件检查上述常量是否具备有效值。如果两个位置都包含相同的值(如设备编程后的 0xffffffff),校验模式则被激活,否则进入测量模式。变量ProgramMode用于跟踪当前程序状态(测量模式、校验模式、断电模式)并作出相应设置。

    随后,MSP430进入低功耗模式LPM0,启用中断。LPM0作为SMCLK驱动SD16,在应用有效运行且采集ADC数据时不得关闭。此后,整个程序流程由中断驱动,共启用三个中断源。基本计时器ISR每0.5秒执行一次,主要用于触发测量进程的启动(见图3),端口1 ISR用于处理按钮事件,每次 A/D 转换后,调用SD16 ISR来处理结果(见图4)。

    在校验模式中可获得两个数据点。变量CalMin用于存储A/D结果,其显示值等于0 g,而CalMax存储的A/D结果显示值为10 000 g。CAL LO或CAL HI显示出的数据用来说明哪个校验数据点正被处理。按下按钮SW1后,当前SD16的转换结果被读取并存储到临时变量中。校验结束后,系统内的自动编程将这两个数据点编入INFOA快闪信息存储器段,这时软件进入测量模式。

    至此,SD16转换进程每0.5秒启动一次,由基本定时器ISR定时。转换中,桥接传感器上电,DCO 启用。这时MSP430在LPM0模式下运行。为了实现所需的精度,软件采用低通滤波器,采集多个18位A/D转换结果,并进行累加。每次转换后,SD16 ISR按照SD16采样率(4 kHz)执行。在采集实际数据前,反变量VoltageSettleCtr逐渐减小为0,这就使电压能在桥接传感器上电后12毫秒内达到稳定。SD16 ISR采集了256个结果之后,用累加和除以256,得到最后的18位结果。上述过程也可形容为采样数据由256到1的抽选。包括电压稳定时间在内,SD16模块每0.5秒钟运行约75毫秒。

    随后,将该18位的计算结果与此前的值进行比较。仅当值变化时才计算新的显示值并更新显示。这就能够避免不必要的32位整数乘法及除法。

    为了将 A/D的测量结果转换为实际的物理重量值,系统使用了两点校验机制。显示值根据以下公式计算:

    从CalMax到CalMin的范围反映到从0到CAL_MIN_MAX_SPAN的范围。CAL_MIN_MAX_SPAN 默认设置为10 000,等于桥接传感器的最大机械负载10 kg。需注意:由于施加给SD16模块的差动信号的缘故,18位A/D转换结果是带符号的,整个程序中都使用带符号的代数算法。这样,也可显示出负的重量值。测量结束之后,SD16模块禁用,DCO在退出时进入LPM3关闭模式,而桥接传感器则断电以降低电流消耗。

    只要按下按钮SW1会立即使转换失效,关闭LCD显示屏并进入LPM3模式。在这种模式下,应用电路吸收的电流不到1 A,而32 kHz的振荡器仍然运行。如果需要的话,也可进入LPM4模式来进一步降低电流消耗。再次按下按钮SW1,应用便恢复正常的工作。在这种模式下,SD16模块每0.5秒钟约运行75毫秒,得出新的计算结果后,显示屏也随之更新。在此期间,MSP430消耗的电流约1 mA。桥接传感器的激励及参考电压的生成在此期间还需要3 mA的额外电流。在测量间隙内,MSP430消耗电流约3 A,其中包括了LCD驱动器用于显示计算结果的电流。因此,总的平均应用电流消耗量在正常工作期间为600 A。若想在任何时间内重新进入校验模式,只需按下按钮SW1至少5秒钟即可实现。

    看《匠人手记》,与匠人同行!北航出版,正在热卖!

    发表评论:
    载入中...

    芯片专题

    器件专题

    软件专题

    硬件专题

    综合专题

    项目专题

    原创专题

    器件检测
    LCD LED
    按键 触摸键
    E2PROM
    电池 电机
    电阻 电容 电感

    指令系统
    软件算法
    编程规范
    滤波算法
    串行通讯

    PCB设计
    I2C PWM
    红外遥控
    充电技术
    中断 ADC 

    匠人手记
    匠人夜话
    网络心路
    一周热点串烧
    从零开始玩PIC
    DIY旋转时钟

    广告5号位 [投放]


    学习板、开发板、编程器、下载器、仿真器(查看详情……)

    站内搜索


    站外搜索


    百度  google
    mp3  歌词 
    图片  FLASH 
    知道  文档
    新闻  词典 
    地图  mp3 
    软件  天网 
    雅虎  爱问 
    搜狗  讯雷 
    网讯  华军 
    天空 

    21IC器件搜索
    百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     
     

    新鲜货色

    匠人手记

    近期动态

    载入中...

      《匠人手记》购书全攻略 
     书友近况:淘书手记答疑与讨论:什么是散转程序 
     《匠人手记》新书艳照
     EDN《匠人手记》签名售书优惠活动开始报名啦!
     欢迎加入《匠人手记》EDN书友会
     欢迎加入《匠人手记》书友会Q群
     《匠人手记》终稿目录
     《匠人手记》封面,请大家先睹为快
     上周六收到了北航寄来的《匠人手记》清样,让大家先睹为快

    匠人原创

    粉丝评论

    往日酷贴

    载入中...

    载入中...



     网络酷文:博客,改变的不仅仅是图书 
     网络酷文:C语言宏定义技巧C语言 条件编译详解

      21IC上海2008-04聚会报名进行中。。。 
     两分钟让你明白什么是ERP![转]
      神奇的Duff's Device 算法
      实用一线通讯电路及软件设计方法
      程序员的“七年之痒”
      史上最短但最精彩的武侠小说
      网络无厘头文学《缺钙水浒》(爆笑)

     你的博客还能持续多久(转贴)
     电动车无刷电机控制器软件设计要点(作者:谢渊斌)

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!