本文介绍了一种新型同步发电机数据采集系统设计方案,硬件设计上使用了32位ARM微型处理器,采用具有DSP内核的能量专用计量芯片ADE7758代替普通AD转换芯片。其特点是数据采集速度快、实时性好、价格低。
数据采集是同步电机测控系统中的核心单元之一,目前同步发电机的数据采集大多是以通用AD转换芯片配合8位或16位单片机进行交流采样,这种的数据采集系统获得的发电机运行的电参量基本全靠软件计算实现,不仅计算量大、精度低、实时性也受到很大限制。本文针对以上缺点提出了以具有DSP内核的专用电量计量芯片ADE7758和具有ARM7内核的32位ARM微处理器组成的高精度、高可靠性、快速的数据采集系统。
1.系统的整体结构及工作原理
基于ARM和ADE7758的同步发电机数据采集系统整体结构图如下图l所示。进行数据集时其工作流程为:被测信号即同步发电机机端电压U、定子电流I为三相交流电,分别经电压互感器(PT)和电流互感器(CT)转换为低电压和小电流的二次信号,再经过信号调理电路作进一步的处理成不超过500mV的电压信号后送入计量芯片ADE7758进行转换。ADE7758转换结束后向ARM处理器提出中断申请,ARM相应ADE7758中断请求,通过高速SPI接口读取相应缓冲区中数据,然后根据互感器、变送器的变换比例计算出发电机运行参量的实际值并将结果保存到相应的数据区中,以备对发电机进行实时控制。与此同时ARM处理器通过串口与上位机进行通讯,将最新采集的发电机运行参量发送到上位机,利用上位机软件将实时数据显示出来。该系统还设计了一个USB接口,通过该接口可以和移动存储设备连接,这样即使在无计算机的情况下也可以实现大数据量的数据采集任务。
本系统选择的ARM芯片是AT91SAM7A3,AT91SAM7A3芯片与计量专用芯片ADE7758之间通讯采用标准的3线高速SPI总线;AT91SAM7A3与上位计算机之间通过普通双绞线连
接以串行方式进行通讯;AT91SAM7A3与移动存储设备之间采用USB接口进行通讯。
2.系统的硬件设计
本系统选择AT91SAM7A3单片机作为系统的主控制器,电能计量专用芯片ADE7758作为A/D转换。下面分别对这两种芯片以及以它们为核心的硬件电路设计作具体介绍。
2.1 ADE7758简介
ADE7758是一款高集成度的三相电能专用计量芯片,集成了6路2阶Sigma-Delta ADC采样通道,带有一个SPI兼容的串行通讯接口,两路脉冲输出。采用数字校准技术,可通过标准的SPI的三线串行通讯接口完成对芯片的设置、电量数据的传输和校准。ADE7758内部集成有温度传感器,单5V供电,低功耗,适用于三相三线和三相四线电力系统中[2]。
ADE7758的电流通道和电压通道各有一个可编程增益放大器,放大增益为1,2或4,除了PGA功能外,还用于A/D转换满刻度量程的选择。增益的大小由用户编程来决定。ADE7758具有一个波形取样寄存器,其值源自于ADC的输出。波形采样部分集成有一个用于短时持续低电平或高电平的检测电路,门槛电平和持续时间是由用户编程来决定的。三相中任一相过零检测是同步进行的,过零检测的结果可用于测量三路电压输人中任一路的周期。ADE7758的所有功能都是通过读写ADE7758内部的寄存器来实现的,即ADE7758的各种设定和操作主要是对寄存器的读和写。每个寄存器在读写时,首先要执行一个写通信寄存器的操作,然后开始传输数据。
2.2 AT91SAM7A3简介
AT91SAM7A3微控制器是ATMEL公司近期推出的基于ARM7TDMI的嵌入式32位高档微控制器。该款处理器用高密度的16位指令集实现了32位RISC结构,且功耗低,指令执行周期短,运行速度快,32位乘除指令小于1US。AT91SAM7A3微控制器使用了ATMEL公司的高密度CMOS技术,通过在一个单片上集成了ARM7TDMI和256K的Flash程序存储器、32K片内SRAM以及各种外围功能模块,使其成为强有力的32位微控制器。AT91SAM7A3微控制器内部工作寄存器很多,片内外设丰富,片内有62个多功能复用的I/0端口、3个定时/计数器模块,每个模块包含3个完全相同的16位定时/计数器通道,每一个通道都可以独立编程,实现包括频率测量,事件计数,间隔测量,脉冲产生延时和脉冲宽度调制等各种功能、多个中断源、8个中断优先级、3个增强型全双工USART,每个USART都具有自己的波特率发生器和两个专用的数据控制器PDC通道、2个CAN控制器支持CAN2.0B、2个高速SPI、1个I2C、1个USB2.0接口、片内振荡器及看门狗电路[1]。具有256k并行可编程的非易失性FLASH程序存储器,可实现对器件串行在系统编程ISP(In-System Programming)和在应用中编程IAP(In Application Programming)。由于片内外设丰富,便于系统扩展,片内存储容量大,不用再外扩存储器,大大提高了系统的集成度,为许多需要加强运算的嵌入式应用提供了高度的灵活性和高性价比解决方案。
2.3 系统硬件连接
基于ARM和ADE7758的同步发电机数据采集系统的硬件连接如图2所示。该系统硬件设计包括: 模拟量采集模块、信号调理模块、交流电量计量与转换模块、实时数据的处理与控制模块、显示模块五个部分。
同步发电机的现场模拟量的采集由CT,PT完成,即将发电机机端电压、定子电流分别转换成三相100V、5A的二次信号;信号调理电路完成信号进人电能计量芯片前的调整和滤波,滤除信号中的高频部分,该电路模块主要目的是将信号处理成ADE7758可以直接接收的信号即小于等于500mV的电压信号;交流电量计量与转换模块ADE7758有电压和电流采集通道,它们能接收的交流信号幅值最大为500mV,通过6路A/D采样通道完成数字化。ADE7758内的微处理器对数字化的被测信号进行各种判断、处理和运算,并将结果储存在18个只读寄存器中。ADE7758将数据转换结束后向ARM提出中断申请 (IRQ为低电平有效);实时数据的处理与控制模块由AT91SAM7A3芯片来完成,AT91SAM7A3通过SPI接口对ADE7758进行读写操作,即ARM和ADE7758的数据接口采用中断IRQ、片选CS和3线的SPI接口方式实现数据交换。整个过程可描述为:AT91SAM7A3微处理器响应ADE7758的中断后,立即通过低电平片选ADE7758的CS,然后通过SPI总线MOSI,SCLK , MISO和ADE7758的DIN, SCLK ,DOUT相连,完成数据操作;系统显示模块电路采用MAXIM公司的MAX232芯片完成TTL电平和RS-232标准电平的转换,方便通过串口与计算机进行通信。
为了保证系统的安全性和可靠性,在系统设计中没有用ARM芯片内的看门狗,而专门设计了外部看门狗电路。外部看门狗电路采用AD公司生产的ADM691芯片,利用AT91SAM7A3的PWM口产生的占空比可调的脉冲信号作为喂狗信号,监视电源电压和微处理器的工作状态,该电路结构简单、功能丰富,大大提高系统的安全性和可靠性。另一方面为了使系统具有一定的广泛使用性,还设计了一个支持USB2.0的接口,目的是方便在没有计算机的情况下进行大量的数据采集。
3.系统的软件设计
系统的软件设计包括基于AT91SAM7A3的单片机程序和PC机应用程序设计两部分。
3.1 AT91SAM7A3单片机程序设计
以AT91SAM7A3单片机为核心的程序设计框图如图3所示。对于中断的判断和处理是该程序的核心部分。根据具体的功能需要,中断包括外部中断IRQ0、定时中断和串行中断3种。
3.1.1 外部中断IRQ0
ADE7758的IRQ脚连接AT91SAM7A3单片机的IRQ0脚,当IRQ脚被置低时,即表示ADE7758有中断产生,AT91SAM7A3单片机通过SPI口线查询中断类型,如是正常ADE7758转换结束中断,则调用相应中断服务子程序读出ADE7758中的电压、频率值和电流等数值。
3.1.2 定时中断
AT91SAM7A3单片机内部有3个定时器/计数器模块,每个模块包含3个完全相同的16位定时/计数器通道,每一个通道都可以独立编程,实现包括频率测量,事件计数,间隔测量,脉冲产生延时和脉冲宽度调制等各种功能。此处采用定时器2做一个1ms的定时器,在中断产生时,单片机通过SPI口读取有功功率、无功功率和视在功率。
3.1.3 串行中断
AT91SAM7A3内部有一组32位的串行口控制寄存器,通过设置各个寄存器的相应位可方便改变单片机的串口工作模式、波特率、齐偶、帧和过速等。本文采用8位UART,波特率为19200 bit/ s, ADE7758的标定及三相电流、电压、有功功率、无功功率、视在功率、有功电能量、无功电能量、视在电能量、功率因数等测量数据,按照一定的通信规约,将上面这些数据打包成串口通信报文发送给上位计算机。
3.2 采集数据的显示
上位机程序设计是以Visual Basic 6.0 为平台[3],利用MSComm控件,以事件驱动方式实现计算机与AT91SAM7A3之间串行通讯,完成数据的交换。上位机程序包括用户界面设计、通讯和数据处理程序等。
3.2.1上位机用户界面设计
在本系统中,设计了两个窗体(Form1和Form2)。其中Form1为主界面,主要显示实时数据和有关状态量。在Form1中设计了一个MSComm控件、两个定时器控件(Timer1,Timer2)、两个按钮控件(Command1,Command2)和一个进度条(ProgressBar)。Command1是“上送数据”按钮,即按下时开始和AT91SAM7A3通讯接收录波数据,成功接收完毕后即装载Form2并显示录波曲线。Command2是“退出”按钮,按下它则退出该应用程序。Form2为波形显示操作界面,在Form2中除了设计一个图片框控件(Picture1),用来显示图形曲线外,还有4个命令按钮他们分别是“读取文件”按钮、“打印曲线”按钮、“坐标修改”按钮和“返回”按钮,其中按下“返回”按钮返回主界面。
3.2.1 通讯和数据处理程序
设置Timer1和Timer2 的Interval属性都等于100,Timer1定时提取从串口接收来的数据并刷新主界面实时显示数据。Timer2用于控制通讯是否超时,即串口在一定时间内没有收到数据就提示错误信息。Timer1在装载主界面时Enable=True,此时Timer2的Enable=False,而Timer2在按下“上送数据”后Enable=True,此时Timer1的Enable=False。MSComm的InputMode属性为0即文本方式。对于RThreshold属性值,在正常接收实时数据时设为100而在接收录波数据时设为137。
下面以上送发电机端三相电压、电流、有功、无功、视在功率和机端频率共10个数据为例来说明通讯过程。每一个实时数据占2字节,则10个整型数据量共有20字节。换算成十六进制以文本方式发送共计40个字节。ARM和PC机的具体通讯格式为:
PC机通过定时器TIMER1每1毫秒向下位机ARM下发传送命令,该命令只包含2字节开始符
4.系统的运行与实验结果
以深圳凯旋K66计算机继电保护测试系统作为标准源,对本系统电压、电流测量精度进行试验验证。当输人端电压范围为0一100V时,测定误差小于士0.2%;输入电流范围为0-5A时,测定误差不超过士0.4%。根据交流采样远动终端技术条件的规定,此系统的准确度等级为0.5级,属于精密级测量仪表。
本文作者创新点:采用了新技术、新器件的设计思想,用三相电能专用计量芯片ADE7758代替通用AD芯片,用32位ARM芯片代替普通的8位或16位单片机,实现了对同步发电机电参数的快速测量和控制。本系统充分利用了芯片的内置功能模块,减少了外围电路,降低了成本,提高了产品的可靠性。
全部0条评论
快来发表一下你的评论吧 !