水电之家讯:1、plc模拟量输进模块扩展
这里以一路12位模拟量输进为例,模拟信号以0~5V标准电压的形式送进信号输进端,应用12位A/D转换芯片MAX187实现模数转换。MAX187是12位串行A/D,具有较高的转换速度,采样频率是75kHz,适用于较高精度的过程控制。考虑到实际产业现场中的高频干扰,在采样信号送MAX187之前还使用了低通滤波器滤波,如图1所示。
图1 低通滤波、放大器及A/D转换
MAX187具有内部参考电压,既4#管脚(REF)为 4.096V,因此,A/D转换的全量程为4.096V。而输进信号是0~5V,因此,要加一级运放把0~5V转换成0~4.096V后送进MAX187。AT89C52的P1.3和MAX187的片选端(CS)相连、AT89C52的P1.4和MAX187的串行时钟信号端(SCLK)相连、AT89C52的P1.5和MAX187的串行数据输出端(DOUT)相连。模拟量采样的值存进单片机的内存中,再由单片机的串行口传送给PLC。A/D转换的C51程序如下:
#include
#include
sbit IC4_S = P1^4;
sbit IC4_D = P1^5;
sbit IC4_C = P1^3;
void input(void )
{ unsigned char idata i;
unsigned int idata result=0x0000;
IC4_C = 0;
for(i=0;i<12;i++)
{ result = result << 1;
IC4_S = 0;
IC4_S = 1;
if( IC4_D ) result++;
}
IC4_C = 1;
pdat[1] = result;
}
MAX187的工作时序图见图2。
图2 MAX187的工作时序图
2、PLC模拟量输出模块扩展
这里以一路12位模拟量输出为例,设计中将采用12位D/A转换芯片MAX531来实现数摸转换。我们在MAX531的输出端接运算放大器,将模拟输出调节至0~5V,输出部分的硬件电路如图3所示。这里,MAX531是12位串行D/A,具有较高的转换速度, MAX531具有内部参考电压,既10#管脚(REFOUT)为2.048V,因此, D/A转换的全量程为2.048V。而输出信号一般要求是标准的0~5V,因此,要加一级运放把MAX531输出的0~2.048V信号转换成 0~5V信号。AT89C52的P1.0和MAX531的串行时钟信号端(SCLK)相连、AT89C52的P1.1和MAX531的串行数据输进端(DIN)相连、AT89C52的P1.2和MAX531的片选端(CS)相连。PLC把要输出的模拟量通过串行口传送给单片机,存进的内存中,再由单片机完成D/A转换进行输出。A/D转换的C51程序如下:
图3 D/A转换及放大器原理图
#include
#include
sbit IC2_S = P1^0;
sbit IC2_D = P1^1;
sbit IC2_C = P1^2;
void output(unsigned int dat)
{ unsigned char idata i = 12;
IC2_C = 0;
while( i-- )
{ IC2_S = 0;
if ( dat &0x0800 ) IC2_D =1;
else IC2_D =0;
IC2_S = 1;
dat = dat << 1;
}
IC2_C=1;
}
MAX531的工作时序图见图4。
图4 MAX531的工作时序图
水电之家为您提供最全面的管材,管件,水电,电线,电工,管材水电品牌的装修知识点和各种管材水电的导购与在线购买服务,拥有最便宜的管材水电价格和最优质的售后服务,每天都有秒杀的抢购活动哦!敬请登陆水电之家:http://shuidian.jc68.com/


















