DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1560|回复: 0
打印 上一主题 下一主题

[工仪] 基于ARM+μCLinux的超声波牛奶成份检测仪的设计

[复制链接]
跳转到指定楼层
楼主
发表于 2012-1-27 19:27:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  
         
    摘 要: 根据超声波在牛奶中传播的声学特性的变化与牛奶中的某些成分存在一定的函数关系,基于ARM核芯片S3C44B0X与实时操作系统μCLinux,提出了一种智能型超声波乳品成份检测仪设计方案,并在测时电路里运用了锁相环技术,提高了对超声传播的时间测量的精确度。
关键词: ARM 锁相环 声波 检测仪

  牛奶作为一种有益人体健康的绿色饮品,其安全和质量检测,需要一种能快速检测牛奶品质的简便仪器,为人们的健康安全把关。国外乳品检测仪器都可较快的测量乳品的脂肪、蛋白质、乳糖等多种成份,自动化程度很高。但是也存在许多缺点:体积较大,仪器的操作和保养维护比较复杂,时间稳定性不高,经过一段时间就需要用新标准样品标定曲线,最主要的是此类仪器成本较高,售价高昂(百万元人民币以上),不利于在中国普及。目前国内拥有该仪器的公司并不很多,而且由于国外的售后服务不便,许多仪器因而得不到及时维修与保养而废弃[1]。
  智能型牛奶质量快速检测仪,就是一种能解决这一难题的简易实用的仪器。它采用现代最新的超声检测技术, 对检测牛奶样品进行无损在线检测。检测仪基于先进的32位Samsung S3C44B0X(集成ARM7TIMI内核)微处理器和实时操作系统μCLinux研制而成。在时间精确测量上,采用了复合锁相环测时技术,提高了测量的精度和稳定度,所以整个检测仪集高技术、高精度和低成本于一体,具有很高的实用性。
1 检测仪硬件系统组成
  整个检测系统是以S3C44B0X微处理器为核心,键盘为控制信号输入设备,LCD和微型打印机为输出设备,将检测到的牛奶数据和信息以图形和相关数据的形式显示和打印出来。检测超声波信号受电压信号激发,经过超声发射换能器将电压以超声波的形式辐射出去,在牛奶液媒质中传播。接收换能器将接收到的超声波信号转换成微弱的电信号,经过放大、滤波、整形后成为可以被检测到的电信号[2]。由于牛奶检测的温度对超声波在奶液中的传播速度有影响,应保持牛奶液在样品管中被检测时是恒定在某个温度,因此检测仪配有独特设计的恒温电路和温度传感器电路。由于超声在液体媒介中传播一般为900m/s"1900m/s,而且样品管的长度有限,所以超声在样品管中的时间很短,而牛奶中某些物质与传播时间的精确性有很紧密的函数关系[3],检测仪采用锁相环测时技术可以解决这个难题,将时间精确到10-7s以内。因为具有SoC(片上系统)功能的微处理器芯片S3C44BOX集成了丰富的外围功能模块,减少了许多外围器件,整个系统的硬件电路十分紧凑而且功耗较低。如图1所示。




2 Samsung S3C44BOX简介
  ARM7tdMI是ARM(Advanced RISC Machine)公司最早为业界普遍认可且得到广泛应用的处理器,随着ARM技术的发展,它已是目前最低端的ARM核。ARM7tdMI是从最早实现了32位地址空间编程模式的ARM6核发展而来的,可在低于5V的电源电压下可靠稳定地工作,增加了64位乘法指令、支持片上调试、Thumb指令集和EmbededICE片上断电和观察点。
  Samsung S3C44BOX微处理器片内采用0.25μm CMOS工艺制造,其主要的功能在ARM7tdMI的基础上增加了8KB的Cache; 在外部扩充存储器控制器;LCD控制器,且带有一个LCD专用DMA通道;看门狗定时器;71个通用可编程I/O口,8个外部中断源;功能控制模式:正常、低功耗、休眠和停止;8路10位ADC。并采用一种新的三星ARM CPU嵌入总线结构SAMBA2,最高频率可达66MHz。
3 超声发射与接收电路
3.1 超声检测原理
  超声检测技术就是发射-接收技术,利用超声波在媒质中传播特性(声速、声衰减、声阻抗等)来获取媒质中的一些非声学特性信息(如浓度、密度、硬度、弹性、温度等)。超声波分析依靠超声波特性与媒质组成之间的关联关系得以实现,这些关系的形成就需要测量穿过一系列已知组成成份样品的超声波特性,找到适合实验结果的经验公式及超声波穿过牛奶液时的理论公式。在研究中,结合理论和经验公式来实现超声波速度和组成成份的公式关系。
  穿过特定组织成份的超声波的速度跟组织成份的物理特性有关,可以用如下等式表述:
  


  式中:c——超声波速度;ρ——液体密度;κ——液体的绝热压缩率。
  等式(1)适用于可以近似被认为液体的材料,也即是衰减系数远小于体积系数(ω/C),此公式适用于牛奶成份的测定。
  多相物质测定最简单的方式为Wood所提出,而Urick用一个方程详细阐述的,并以他的名字命名这个方程。这个方程重申了伍德方程,其相关性如下式:



  Φi为混合物第i个组分的容积率。此方程被称作均一的描述方程,因为每一相的性质都是独立于系统体系性质。
  对于牛奶液,就必须考虑其他成份对超声波速度的影响,为了进一步近似正确结果,超声波在复合成份中的特性可用下式表述:
  


  式中ρj,κj,Φj分别为组分各自的密度、绝热压缩率、成分j的质量百分含量,混合物的绝热压缩率可以由密度和超声波速度来表达(见等式1)。在假设变化成份的密度大约近似的情况下,等式(3)可以简化为:
  


  等式(4)为一个简化的方程,描述了材料超声波特性与成份间的关系,等式(4)也比较容易实现,其只需要超声波定位成份的速度即可。
3.2 超声波发射与接收电路
  检测仪采用的是单脉冲法,将多谐振荡器产生的单脉冲信号,经过缓冲器和两个功率三极管组成的达林顿复合管,可以增大其电流驱动能力。经过脉冲升压器升压,将单脉冲电压幅值升压到120V,并使功率放大器的输出阻抗与超声换能器的负载阻抗匹配。最后发射超声换能器获得能量后以声能的形式将超声波辐射出去。
  尽管发射部分的脉冲电压比较高,但是超声波经过在牛奶液中传播后,在接收端转换成的电压只有大约1V的左右,要对这样微弱的信号进行信号检测,使其达到能够被检测到的幅值,应对其进行必要的信号处理。通常接收电路由前置放大、带通滤波、门限检测电路组成。电路如图2所示。




4 测时原理
  超声波声速的测量精度关系到能否获得物质结构细微的变化。因此高精度测量声波传播时间,并进行数据处理是检测仪检测精度的关键。按照声学原理,声波沿x方向传播平面方程是:
  


  在x方向上任意两点之间的振动相位与两点间的距离有关。设两点距离为s,声传播速度为vs,则相位差为:
  


  如果在系统中,能自动改变频率以达到跟踪超声信号经过延迟τ的输入输出相位差,并锁定在n(2π),则由下式可得到τ,
  


  式中n为正整数,表示在τ时间内通过n个整数的周期。精确测量f和n后,τ就能准确表示出来了[2]。这里以TI公司的TCL2932(PLL集成电路)为核心加上精密乘法器MPY634、积分器ADE7753和高速计数器和加法器来构成测时系统,测时精度可以达到10-7量级。具体时间测量示意图如图3所示。




5 系统软件设计
  嵌入式系统的硬件架构能稳定可靠地工作,现在的问题在于软件成为嵌入式发展的瓶颈,尤其是操作系统的“嵌入式化”。虽然上世纪80年代开始推出了一些专用商业操作系统,但其价格高昂,很难适合于大量的低端产品的开发,尤其是对价格比较敏感的嵌入式领域;而且源代码的封闭性也阻碍了嵌入式开发者的创造力和积极性,所以源代码开放的嵌入式Linux操作系统一开始就具有得天独厚的优越性,拥有广泛的应用前景。快速牛奶质量检测仪就采用了嵌入式Linux,实际运行也十分稳定。
  μCLinux的移植需要定制内核、定制用户程序、编译μCLinux(把应用程序和Linux内核一起编译)、烧写映象文件及运行。由于整个过程比较复杂,涉及到汇编程序、C语言程序、驱动程序、程序调试等等。本文只针对自己编写的检测仪工作过程用到的应用程序进行说明,运用扫描法对外部按键进行检测和显示。在vi编辑器里进行编程的部分源代码如下,可以简单看到整个仪器的工作流程。
  #include
  # include
  void Lcd_Init(void);//开机界面和等待检测开始界面
  void Jiance(void);//检测牛奶程序
  void Qinxi(void);//清洗样品池
  void Print(void);//由微型打印机打印出数据
  void Disdata(void);//显示检测结果
  void Init_keyboard;//键盘初始化
  void Delaytime(int n);//延时函数
  main()
  {
  int key_read( );
  Lcd_Init(void);
  Init_keyboard(void);
  Delaytime(100);
  Key_read( )
  {
  int value;
  char temp;
  temp=*(keyboard_base+0xFD);
  if((temp&KEY_VALUE_MASK)!=KEY_VALUE_MASK)//判断是否有按键按下
  {
  if((temp&0x1)= =0)
  value=1;
  Jiance( );
  Delaytime(1000);
  else if(((temp&0x2)= =0)&&(value=1))
  Disdata( );
  else if(((temp&0x4)= =0)&&(valve=1))
  Print( );
  else if(((temp&0x8)= =0)&&(valve=1))
  Qinxi( );
  Return 0;
  }
  经过实际运行证明,采用基于ARM S3C44BOX和μCLinux的牛奶质量快速检测仪,系统结构简洁运行平稳,测定精度高,满足实际测定牛奶成份参数要求。需要提出的是应该将模拟电路部分和数字电路部分隔离成两个部分,进行必要的抗干扰处理,包括电路板上的布线设计,这样可以防止微弱的超声压电信号被无用信号干扰,保证测定的精确度和仪器的实用价值。
参考文献
1 李庆波,徐可欣.牛奶主要成分含量近红外光谱快速测量法.食品科学,2002;23(6):121"124
2 李广峰.时差法超声波流量计的研究[J].电测与仪表,2000;(9):13"19
3 麻建国,周建军.超声波技术在食品检测中的应用[J].食品与发酵工业,1998;24(5):52-54
4 田 泽.嵌入式系统开发与应用.北京:北京航空航天大学出版社,2005
5 劭贝贝.嵌入式实时操作系统μC/OS-II.北京:北京航空航天大学出版社,2003
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-4-28 00:30 , 耗时 0.082181 秒, 18 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表