- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
一种新型同步发电机数据采集系统设计方案
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字节开始符 5.系统的运行与实验结果 以深圳凯旋K66计算机继电保护测试系统作为标准源,对本系统电压、电流测量精度进行试验验证。当输人端电压范围为0一100V时,测定误差小于士0.2%;输入电流范围为0-5A时,测定误差不超过士0.4%。根据交流采样远动终端技术条件的规定,此系统的准确度等级为0.5级,属于精密级测量仪表。 本文作者创新点:采用了新技术、新器件的设计思想,用三相电能专用计量芯片ADE7758代替通用AD芯片,用32位ARM芯片代替普通的8位或16位单片机,实现了对同步发电机电参数的快速测量和控制。本系统充分利用了芯片的内置功能模块,减少了外围电路,降低了成本,提高了产品的可靠性。 来源:维库开发网
上一篇:探讨IP承载网络规划设计
下一篇:M序列码的OSP产生及压缩技术研究