DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

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

基于单片机的智能化模拟信号预处理系统

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

  
         
    摘 要 以51单片机为核心,对双通道模拟信号实施程控衰减、放大、滤波等预处理,具有本地、远程、自动等控制功能。
  关键词 模拟信号 预处理 单片机
1 引 言
  由传感器输出的模拟信号一般要作放大、衰减、滤波等预处理之后,才能送入ADC进行模/数转换。在自动控制、智能仪表等领域中,要求这一处理过程可由软件控制,自动调整放大或衰减倍数,设置低通滤波器的截止频率,并且,还要将这些参数传送给CPU,以便修正测量结果;大多数市售的成品数据采集板都不具备模拟信号的预处理功能,使用时必须外接人工控制的放大、滤波装置,无法实现自动化。作者正是为了解决这些问题,才开发了这套基于单片机的智能化模拟信号预处理系统,当然,该系统也可以作为一般的放大器、滤波器使用。
2 硬件电路
  图1为模拟信号预处理电路的简图。由双电流输出型DAC芯片AD7528和运放构成程控放大/衰减器,其原理是利用DAC内部的R-2R电阻网络,一个DAC作为运放的输入电阻,另一个作为反馈电阻。R-2R的其等效电阻可写为:
  RDACA=256RLDA/NA;RDACB=256RLDB/NB
  其中RLDA和RLDB分别为DAC A和B的R-2R梯形网络电阻,NA和NB为十进制的DAC输入数字(1~255)。电路的增益为:Vout/Vin=-(RLDB/RLDA)×(NA/NB)。AD7528为双精密匹配的DAC,其中RLDB=RLDA,所以,电路的增益为:Vout/Vin=-NA/NB,可见,它完全由输入的数字量决定。所以,这个电路和不需要外接精密电阻即可获得精确的放大倍数。放大范围为1/255~255(-48dB~+48dB)。两个AD7528的片选信号由译码器分别提供,因此,双通道的放大倍数可以独立设置。
  经放大或衰减后的模拟信号通过缓冲后,输入到开关电容滤波器RF5609中。RF5609是七极点、六零点的椭圆函数低通滤波器,截止频率为工作时钟频率的百分之一,可变范围为0.1Hz~25kHz,通带内波动0.2dB,阻带衰减100dB/倍频程。也可以使用MAXIM公司的 MAX291~295系列开关电容低通滤波器。滤波器的工作时钟由可编程定时/计数器8254A提供。8MHz晶体经振荡电路为8254A提供输入时钟, 8254A工作于方波发生器方式,由OUT0和OUT1分别提供给通道1和2的滤波器工作时钟,因此,两个通道可以设置相同的或不同低通截止频率。
  滤波器之后的RC电路用以消除工作时钟所带来的干扰。预处理后的模拟信号经缓冲器后输出。



图1 模拟信号预处理
  图2为键盘和显示器电路,由8255的PA、PB经驱动后控制6位LED数码显示器;PA和PC控制18个键的键盘,其中包括数字键“0~9”、除号 “÷”、上翻“Up”、下翻“Down”、本地/远程“Local/Remote”、放大器/滤波器“PGA/LPF”、通道 “Channel1/Channel2”、自动设置“Auto”和回车键“Enter”。



图2 键盘和显示器
  图3为CPU电路。采用8031CPU,EPRO-M2764作为程序存储器,也可以由8751替代。系统运行过程中没有大量的数据需要存储,故不设数据存储器。由A13~A15三根地址线经74LS138译码器译码,形成CS0~CS4片选线,分别控制8254、两片AD7528、8255和DAC-0808。设置DAC的目的在于,当系统设定为“自动设置”时,可根据要求的输出模拟信号电平或ADC的半量程值,由本系统自动调整放大器的放大倍数。另外,设置了RS232收发电路,以便远程控制。



图3 CPU电路
3 软件流程
  主要软件可分为:“本地控制”软件、“远程控制”软件和“自动设置”软件三部分。图4为“本地控制”流程。以“LDCAL”表示系统处于“本地控制” 状态。用户可以通过键盘分别设置双通道的放大倍数和低通滤波器的截止频率,“衰减1/200”显示为“1-200”,输入是1÷200。
  “远程控制”流程。以“232C”表示通过RS232串行口,由主控制机控制本系统。只识别主控机以数字0~4形式发送的5条命令,并作出相应的动作。当主控机要求本系统“自动设置”时,在自动设置好放大倍数后,还会将设定的值传送给主控机,以便标定用。注意,本系统不能自动设置低通滤波器的截止频率,只能使用确省值或在此之前设定的值。

  图6为“自动设置”流程。根据主控机发送的或键盘设定的放大器输出电压和ADC0800的量程范围(±10V),可计算出需要采入的数值。例如,设定输出电压为2500mV,则采入的数据对于正电压要大于或等于192,对于负电压要小于或等于64,如果未达到,则再增加一级放大倍数,继续采集和判断。虽然放大倍数可能以1/255的步长递增,但为了加快速度,可以以较大的步长递增,或者以等比序列递增。



图6 “自动设置”流程图
4 总 结
  本系统将模拟信号的预处理与单片机有机地结合起来,以其完善的控制功能实现了模拟信号的智能化处理,已在设备的改造、自动控制、智能仪器仪表等的研究和开发等工作中发挥了出色的作用。
5 参考文献
 [1]何立民.MCS-51系列单片机系统设计.北京:北京航空航天大学出版社,1993
 [2]吕俊芳.传感器接口与检测仪器电路.北京:北京航空航天大学出版社,1994
         
          [/td]
        [/tr]
      
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 20:04 , 耗时 0.083859 秒, 18 个查询请求 , Gzip 开启.

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

桂公网安备 45031202000115号

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

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

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

QQ:28000622;Email:libyoufer@sina.com

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

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