微波EDA网,见证研发工程师的成长!
首页 > 测试测量 > 测试测量技术文库 > 专用芯片ATT7022C的电参数测量模块设计

专用芯片ATT7022C的电参数测量模块设计

时间:10-21 来源:单片机与嵌入式系统 点击:

电流信号的采集是通过把电流互感器输出的电流信号并接一个适当的电阻,采集电阻两端电压的方式来间接测量电流值。电流通道在采集电压为0.1 V时芯片有较好的精确度和线性度,因此在设计时选用HTTA-5 A/5 mA规格的电流互感器。在输入额定电流的情况下,输出的电流信号并接20 Ω的电阻可以得到0.1 V的电压信号。值得注意的是,电流互感器的选择应根据实际应用时初级电路中电流大小的范围而选择,电阻也要相应地变化,保证输入的信号在0.1 V左右。电流采集电路如图4(b)所示。

4 软件设计
模块的软件设计首先是对各部分的通信接口进行初始化,然后对芯片进行校正,接着把实验校正的值写入ATT7022C的各个寄存器。最后,在主函数的循环语句中渎取芯片各个寄存器的数据进行显示、存储、向上位机传输。
4.1 ATT7022C与LPC2138的SPI接口函数
图5、图6分别为ATT7022C芯片的SPI接口读、写时序图。图中,CS为芯片的片选信号线;SCLK为时钟信号线;DIN为串行数据输入线,用于把用户的数据、命令、地址传输到ATT7022C芯片,它与ARM处理器的SPI总线的MOSI连接通信;DOUT为串行数据输出线,用于从ATT7022C芯片读取数据,它与ARM处理器的SPI总线的MISO连接通信。从图5中可以看出,当向ATT7022C芯片写一个字节数据时,SCLK高电平时在DIN引脚准备好数据,一个时钟下降沿,就把一位数据写入芯片中。当从ATT7022C读取一个字节数据时,一个时钟上升沿,芯片会把一位数据传输到DOUT引脚,ARM读取该引脚得到一位数据。使用ARM的SPI总线,数据在SCLK高电平时有效,所以在设置SPI控制寄存器时CPOL位应置0。SPI传输的第一位数据在第二个时钟沿被采样,CPHA位应置1。ARM与ATT7022C芯片进行数据通信时,需要先向ATT7022C芯片写入8位的命令字,然后才能通过SPI接口读出或写入24位数据。数据传输时高位在先,LSBF位应置0。在数据传输的过程中CS要保持在低电平的状态,传输完成后应把CS拉高。同时设置SPI总线为主模式、禁止SPl的中断。


SPI的接口函数如下:


程序运行时,要想知道通信函数是否正确,可以通过读取校表数据校验和寄存器的值来判断。在芯片复位后未写校表数据前,它里面存储的复位数据是定值。发送命令字0x3E或0x5F,读取24位数据。在三相四线模式下,值是0x043C73;在三相三线模式下,值是0x16BC73。如果是其他值.则程序有误。
4.2 芯片的校表
校表是设计的关键环节,芯片校表流程如图7所示。所有的校正都是在校表寄存器参数为0的条件下进行的。


以A相电压、电流的校正为例说明芯片的校表过程。
(1)A相电压的校正
电压输入为238 V,功率因数为1。在校正寄存器Ugain为0时,读A相电压有效值寄存器Vu的值,十六进制为0x25d75c,十进制为2 479 964。代入公式计算得到测量电压有效值:Urms=Vu×210/223=Vu/213=2 479 964/8192=302.73。Ur为标准表读出的实际输入电压有效值即238 V,校表时Ur用2倍标准表的电压值计算,即Ur=2×238=476。Ugain为A相电压的校正寄存器的值。当Ugain=Ur/Urms-1=476/302.73-1=0.572 358 207>0时,则Ugain=INT(Ugain×223)=4 801 289=0x494309,最后把0x494309写入A相电压的校正寄存器,则完成A相电压的校正。校表完成后,处理器读出的值要缩小2倍才能得到最终的测量电压有效值:Urms=Vu/213/2=Vu/214。
(2)A相电流的校正
电流输入为4 A,功率因数为1,在校正寄存器Igain为0时,读A相电流有效值寄存器Li的值。十六进制为0x56d60,转化成十进制为355 680。代入公式计算得到测量电流有效值:Irms=Ii×210/223=Ii/213=355 680/8 192=43.417 968 75。Ir为标准表读出的实际输入电流有效值即4 A。校表时Ir用24倍的电流输入值代入计算,即Ir=4×24=64。Igain为A相电流的校正寄存器的值。当Igain=Ir/Irms-1=64/43.417 968 75-1=0.474 044 084 57>0时,则Igain=INT(Igain×223)=3 976 570=0x3cad7a。最后把0x3cad7a写入A相电流的校正寄存器,则完成A相电流的校正。校表完成后,处理器读出的值要再缩小24倍,才能得到最终的测量值,即Irms=Ii/213/24=Ii/217。
其他参数的校正要根据ATT7022C的各个参数的校表公式来完成,这里不再赘述。校表完成后使用自耦调压器调节负载两端的电压、电流,得到的测量数据如表1、表2所列。

结语
通过基于ATT7022C和LPC2138的硬件电路设计、软件的编程、校表及PCB板的制作,最终完成了整个模块的设计。通过实验得到的测量数据误差较小,在模块测量误差允许的范围内。模块具有采集数据速度快、耗能低的特点,并能长期稳定运行,达到了模块设计的预期目标。该模块可用于电力系统、矿井电网、抽油机等电参数的精确测量。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top