由传感器输出的模拟信号一般要作放大、衰减、滤波等预处理之后,才能送入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。
图4 “本地控制”流程图
图5为“远程控制”流程。以“232C”表示通过RS232串行口,由主控制机控制本系统。只识别主控机以数字 0~4形式发送的5条命令,并作出相应的动作。当主控机要求本系统“自动设置”时,在自动设置好放大倍数后,还会将设定的值传送给主控机,以便标定用。注意,本系统不能自动设置低通滤波器的截止频率,只能使用确省值或在此之前设定的值。
图5 “远程控制”流程图
图6为“自动设置”流程。根据主控机发送的或键盘设定的放大器输出电压和ADC0800的量程范围(±10V),可计算出需要采入的数值。例如,设定输出电压为2500mV,则采入的数据对于正电压要大于或等于192,对于负电压要小于或等于64,如果未达到,则再增加一级放大倍数,继续采集和判断。虽然放大倍数可能以1/255的步长递增,但为了加快速度,可以以较大的步长递增,或者以等比序列递增。
图6 “自动设置”流程图
4 总 结本系统将模拟信号的预处理与单片机有机地结合起来,以其完善的控制功能实现了模拟信号的智能化处理,已在设备的改造、自动控制、智能仪器仪表等的研究和开发等工作中发挥了出色的作用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)