WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
O 引言WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
自19世纪发明发电机和电动机以来,由于电能应用方便,电动机的性能优良,便于控制,使用与操作简单,从而得到了迅速普及,应用范围越来越广.然而,由于电机运行机制复杂,长期处于高速运转和高电压、强磁场环境之下,运行环境恶劣,要求电机设备不出故障是不现实的,绝对安全可靠的电机设备也是根本不存在的l1J.因此,我们只能从预防故障和减少损失的角度出发,及时发现电机的异常,掌握设备的运行状态.对已经形成的或正在形成的故障进行分析诊断,判断故障的部位和产生的原因,并及早采取有效的措施,防患于未然.这就需要我们能实时的精确的采集电机在运行中的各种物理量,进而进行有效的分析、判断故障.传统的数据采集系统多以8/16位单片机构成控制系统,其硬件电路较复杂,集成度较低,设计和调试难度较大,不太方便系统升级.传统的前后台式的软件设计方法限制了硬件系统功能的充分发挥,影响了系统的实时性与稳定性.笔者从ARM9来人手,借鉴了一些新的测试方法,并应用ADS1.2设计出一套电机电物理量采集系统.P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
1 系统简介WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
本系统设计采集电机的电压、电流2个物理量.其中电流3相都要采集.电物理量采集系统的设计关键在于A/D转换的环节.A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示.在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的.A/D转换器有以下类型:逐位比较型、积分型、计数型、并行比较型、电压一频率型.主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素决定选择何种类型.本系统的ARM采用三星公司的S3C2410一S,其拥有8路10位A/D转换器,最大转换率为500 KPSO1.S3C2A-10一S的A/D转换器能接受电压范围为0—3.3 V,但电机电信号是成正弦波的图像分布的,超出了A/D转换器能接受的电压范围.所以设计前端调理电路将电信号的正弦波整体向上抬高。使之范围控制在0—3.3 V.然后将电信号输出到A/D转换器.最后经CPU的处理将采集到的数据从串口传送给计算机.进计算机可以对电机物理量进行相应的分析.——可——编——程——控-制-器-技——术——门——户
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
2 系统设计WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
2.1 硬件设计WW.W_PLCJS_COM-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
该系统主要由前端调理电路、CPU集成电路和计算机组成.基本结构如图1所示WWW_PLCJS_COM-PLC-技.术_网
WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
其中由于S3C2410一S的A/D转换器能接受电压范围为O~3.3 V,但电机电信号是成正弦波的图像分布的.所以前端调理电路设计将电信号的正弦波负半轴对称折到x轴上方,使之范围控制在0-3.3 V.产生波形如图2所示.WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WWW_PL※CJS_COM-PLC-技.术_网
同时电路里产生一个方波信号.当波形属于被翻上去的部分时方波处于低电平,其他时候处于高电平.以此方波信号在上位机来还原波形.CPU集成电路包括直流稳压电源电路、A/D电路、主CPU电路和串口电路.A/D电路接受从转换电路送过来的模拟信号,然后转换成ARMCPU能接受的数字信号.经过处理后从串口电路传送给上位计算机.WWW_P※LCJS_CO※M-PLC-技-.术_网
WW.W_PLCJS_COM-PLC-技.术_网
2.2 软件设计WWW_PL※CJS_COM-PLC-技.术_网
WW.W_PLC※JS_C,OM-PL,C-技.术_网
2.2.1 μC/OS II操作系统的移植WWW_PLCJS@_COM%-PLC-技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
μC/OS II提供的仅仅是一个任务调度的内核,要想实现一个相对完整,实用的嵌入式实时多任务操作系统,还需要相当多的扩展性的工作,主要包括:建立文件系统(本系统以Flash为存储介质,建立文件和目录)、为外部设备建立驱动程序并规范相应的API函数创建图形用户接口(GUI)函数、建立其他实用的应用程序接口(API)函数等.本系统中基于μC/OS II内核的RTOS软件系统总体框图如图3所示.WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
2.2.2 应用程序的设计WW.W_PLC※JS_C,OM-PL,C-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
该程序采用ADS1.2结合c语言来设计.首先是系统初始化,根据ARM芯片固有的功能和特征,进行主程序的入口设置,所用寄存器清零,程序ROM区和数据RAM区的初始化,中断矢量设置等主程序运行前的准备工作.以及检查系统电源,监视芯片上电后的ARM芯片内的硬件运行情况.当ARM芯片运行正常后,进人数据采集软件的主程序运行.流程图如图4所示.WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW_P※LCJS_COM-PLC-)技.术_网
——可——编——程——控-制-器-技——术——门——户
WWcW_PLCJS_COM-PLC-技.术_网
WWW_P※LCJS_CO※M-PLC-技-.术_网
WWW.PLCJS.COM——可编程控制器技术门户
1)AD数据采集.A/D转换的数据可以通过中断或查询的方式来访问,如果是用中断方式,全部的转换时间(从A/D转换的开始到数据读出)要更长,因为中断服务程序返回和数据的访问的原因,所以采用查询方式不断检测ADCCONt3j(转换结束标志位)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据.WWW_P※LCJS_COM-PLC-)技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
主要代码有:WW.W_PLCJS_COM-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
#define PRSCVL(20<<6)P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
#define ADCCONP_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
plcjs.技.术_网
_WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
ENABLE_ START(Ox1)WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PL※CJS_COM-PLC-技.术_网
#define STDBM (0x0<<2)WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
#define PRSCEN(0xl<<l41WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
void initplcjs.技.术_网
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
_ ADdevice0 //AD设备初始化WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
{WWW_PLCJS@_COM%-PLC-技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
rADCCON=(PRSCVLlADCCON_ENABLE_STARTISTDBMIPRSCEN);WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
)WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
int GetADresuh(int channe1)P.L.C.技.术.网——可编程控制器技术门户
WW.W_PLCJS_COM-PLC-技.术_网
{WWcW_PLCJS_COM-PLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
rADCCON=ADCCONplcjs.技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
— ENABLE— START—BYREADI(channel<<3)IPRSCENIPRSCVL;WWW_P※LCJS_COM-PLC-)技.术_网
——可——编——程——控-制-器-技——术——门——户
while(!frADCCON&ADCCON—FLAG)); //AD转换结束WWW_PLCJS@_COM%-PLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
return f0x3ff&rADCDATO); //返回采样值P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
}P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户
WWW_P※LCJS_CO※M-PLC-技-.术_网
2)数据发送.异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送.数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行.接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符.为了恢复发送的信息,双方必须协调工作.在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差。因此实现较容易.主要代码有:WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
WWW_PLC※JS_COM-PmLC-技.术_网
int Uart_WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
plcjs.技.术_网
Init(int whichUart,int baud)WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
WW.W_PLC※JS_C,OM-PL,C-技.术_网
{WW.W_PLCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
if(whichUaxt>=NumberOfUartDrv)plcjs.技.术_网
WWW_P※LCJS_COM-PLC-)技.术_网
return FALSE;WWcW_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
return serial_WWW_P※LCJS_COM-PLC-)技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
drv[whichUart]->init(baud);WWW.PLCJS.COM——可编程控制器技术门户
WWW_P※LCJS_COM-PLC-)技.术_网
}WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
int Uart_ SendByte(int whichUart,int data)P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
{WWcW_PLCJS_COM-PLC-技.术_网
W1WW_P4LCJS_COM-PLC-技.术_网
if(whichUart>=NumberOfUartDrv)——可——编——程——控-制-器-技——术——门——户
W1WW_P4LCJS_COM-PLC-技.术_网
return FALS E;WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW_P※LCJS_CO※M-PLC-技-.术_网
return serial— .drv[whichUart]->write(data);WWW_P※LCJS_COM-PLC-)技.术_网
WWW.PLCJS.COM——可编程控制器技术门户
}WWW_PLC※JS_COM-PmLC-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
void Uart_WWW_PLC※JS_COM-PmLC-技.术_网
WWcW_PLCJS_COM-PLC-技.术_网
SendString(int whichUart, pt)WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
P.L.C.技.术.网——可编程控制器技术门户
{——可——编——程——控-制-器-技——术——门——户
WWW_PLCJS_COM-PLC-技.术_网
while( pt){P.L.C.技.术.网——可编程控制器技术门户
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)
if( pt== \n )WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLC※JS_COM-PmLC-技.术_网
Uart_WWW_PL※CJS_COM-PLC-技.术_网
WW.W_PLCJS_COM-PLC-技.术_网
SendByte(whichUart, kr );WWW_PLCJS_COM-PLC-技.术_网
P.L.C.技.术.网——可编程控制器技术门户
UartWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWW_PLCJS@_COM%-PLC-技.术_网
_ SendByte(whichUart,*pt );WWW.PLCJS.COM——可编程控制器技术门户
WW.W_PLCJS_COM-PLC-技.术_网
)WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
WWW.PLCJS.COM——可编程控制器技术门户
)WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJS@_COM%-PLC-技.术_网
void Uart_Prinf(int whichUart, fmt,...)W1WW_P4LCJS_COM-PLC-技.术_网
——可——编——程——控-制-器-技——术——门——户
{WWcW_PLCJS_COM-PLC-技.术_网
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
vaWWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WWcW_PLCJS_COM-PLC-技.术_网
_ list ap;WWW_P※LCJS_COM-PLC-)技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
static string[256];WWW_PL※CJS_COM-PLC-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
vaWWW_PLC※JS_COM-PmLC-技.术_网
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)
_ start(ap,fmt);——可——编——程——控-制-器-技——术——门——户
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
vsprinf(string,fmt,ap);WWW.PLCJS.COM——可编程控制器技术门户
WWW_PL※CJS_COM-PLC-技.术_网
Uart_WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
SendString(whichUart,string);WW.W_PLC※JS_C,OM-PL,C-技.术_网
WWW_PLCJS_COM-PLC-技.术_网
vaWWcW_PLCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
_ end(ap);WWW_PLCJS_COM-PLC-技.术_网
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
)WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)
WW.W_PLCJS_COM-PLC-技.术_网
3 结论W1WW_P4LCJS_COM-PLC-技.术_网
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)
采集数据分4路,1路电压和3路的电流.采集时上位机接收到的数据每路每个周期有52个点.既其采样频率达到了2 600 Hz.根据奈奎斯特定理,为了完整的保留原始信号中的信息,在进行模拟/数字信号的转换过程中,要使采样频率大于信号中最高频率2倍. 所以本系统能分析的谐波最高频率为1.3 kHz,即1-3 kHz/50 Hz:26次谐波.足够满足上位机做谐波分析的要求.以S3C2410一S为核心的嵌入式硬件系统,并采用ADS开发相应的应用程序,串口方式实现通信,实现了电机物理量的采集,给上位机分析电机提供了可靠的保障.并且该系统采用的ARM核的微控制器也使之较传统的系统在可靠性、体积、功耗、性价比等方面都具有明显的优势,使之有广泛的应用前景和价值.WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)