找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] ARM处理器设计的电机电物理量采集系统

[复制链接]
admin 发表于 2013-3-20 19:41:02 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

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

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-22 23:15 , Processed in 0.063670 second(s), 11 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表