基于DSP控制器TMS320F2810实现直流电机测试系统中的设计

时间:2020-12-03

  随着电子工业的迅速发展,对小型直流电机的需求量越来越大。这一类直流电机在出厂前往往需要对其电流和转速进行测试。具体的方式是给电机提供多种占空比的PWM控制信号,在不同的占空比下分别测试电机的电流和转速。传统的测试方法需采用多台通用仪器:用信号发生器提供电机所需的PWM信号,通过电阻采样电机的电流,并送电压表头显示,使用光电感应的方法测转速,通过示波器观察波形。目前在我国采用的大多是传统的测试方法,传统方法要求在车间的每个生产线上设置多个检测点,每个测试点只能测量一种占空比下PWM信号控制的电机电流和转速。因此,在每个测试点都要配备测试员和一套完整的测试仪,使得成本很高。而且在测试过程中,要完成一个电机的测试必须经过多个测试点,每个点测试时都要测试员插拔电机的接线,使得测试效率很低。因此,传统的测试方法严重制约了直流电机生产企业的效率。针对这种状况,设计了一种基于DSP控制器TMS320F2810的新型直流电机自动测试系统。该系统给电机提供各种占空比的PWM控制信号,通过DSP采样电机的电流信号和输出脉冲信号,计算出电机的电流和转速,并送到显示屏上显示,同时还通过CAN总线把数据送到上位机保存和分析,并能通过上位机给各个控制接点发送指令和数据。此系统可同时测试多个电机,在一个测试点上   接线就能完成所有占空比下的电流和转速的测试,大大提高了测试效率。

  1.系统网络结构和TMS320F2810简介

  系统结网络构如图1所示。该系统主要由上位计算机及监控软件、基于PCI总线的CAN智能网络通信适配器及与其相配套的设备驱动程序(WDM)、现场控制节点单元和基于CAN现场总线其他功能模块组成。

  基于DSP控制器TMS320F2810实现直流电机测试系统中的设计

  图1系统网络结构图

  TMS320F2810是TI公司的高集成高性能DSP,采用高性能静态CMOS技术,工作频率150MHz,低功耗和3.3V闪存编程电压,支持边界JTAG扫描,高性能32位CPU能进行16x16和32x32MAC运算,16x16双MAC。片内存储器有多达128Kx16闪存,128Kx16ROM,1Kx16OTPROM,L0和L1为2个4Kx16区块,每个为单存取RAM(SARAM),H0为8x16SARAM区块,M0和M1为1Kx162个区块,每个是SARAM,引导ROM为4Kx16外接接口能连接高达1M总存储器和可编等待状态,有看门狗计时器模块,三个外接中断和三个32位CPU计时器,   采样率为12.5MSPS,自动排序器可以提供高达16路的通道自动切换,也可以分成两个独立的8通道自动切换。F2810   多可提供16路PWM波形输出,支持SCI、SPI、MCBSP、eCAN等多种通信方式。多达56个单独编程的复接GPIO输出引脚,有先进的仿真和调试特性,工作温度从-40℃到85℃和从-40℃到125℃,F2810可用于要求严格的控制系统中[1][4]。

  2.系统控制节点硬件组成

  测试节点硬件结构图

  图2测试节点硬件结构图

  2.1电机电流和输出脉冲信号的采集调理电路

  由于所检测的电机的电流会因型号不同而差别很大,范围在几十毫安到二、三安培。本系统中,采用了美国MAXIM公司的双向精密电流传感放大器MAX471[2]。MAX471内置35mΩ的精密传感电阻,可测量的电流范围是±3A,在工作温度范围内,其   为2%,其响应时间、速度和漂移等指标均很理想,可以适应3A以内的各种规格直流电机的电流测量。电流信号通过RS+和RS-输入到MAX471的采样电阻RSENSE上,MAX471通过一个2kΩ的输出电阻将电流转换成0~3V的电压信号,直接送到DSP的A/D转换器中。输出脉冲信号是从电机的I/O端直接输出的一串方波信号,其频率和电机的转速成正比,用于检测电机的转速。输出脉冲信号是电压信号,经电阻分压转换到0~3V内,然后经过一个电压跟随器传送到F2810的A/D输入端。

  2.2PWM输出信号驱动电路

  F2810片内的事件管理器模块可以提供多达16路的PWM输出信号,   的死区时间宽度是一个CPU时钟周期,   的PWM脉冲宽度和脉宽的增减量为一个CPU时钟周期,可以很方便地用来控制直流电机[5]。由于电机要求的PWM控制信号的幅值是5~10V,因此从DSP输出的PWM信号还需经过一个高速开关管反向器升压后送至电机的PWM控制端。

  2.3复位电路

  系统的复位电路采用IMP708芯片,该芯片有上电复位、看门狗和电源监控功能。在系统的程序由于外部干扰导致“跑飞”时,IMP708的看门狗在一可选择的时间间隔内产生复位信号热启动系统。IMP708具有电源监控功能,通过IMP708和DS1556的双重监控能够保证使系统可靠运行。

  2.4键盘和液晶显示电路(LCD)

  键盘采用标准的PS/2口的小数字键盘,用来输入设置参数。键盘和DSP之间采用复杂可编程逻辑器件(CPLD)作译码电路,将键盘的扫描码映射到DSP的I/O扩展地址0x8001。当有键按下时,CPLD发送一个中断信号到DSP,然后DSP从I/O扩展地址0x8001读取扫描码。液晶显示模块(LCD)和DSP之间通过CPLD译码,将命令控制I/O映射到地址0x8001,将数据控制I/O地址映射到0x8003和0x8004[6]。因为LCD是5V器件,所以其8位数据线不能和3.3V的DSP直接相连,需要在数据线上加电平隔离和转换芯片74LS245。

  3.CAN通信协议设计

  CAN遵从OSI层模型,按照OSI标准模型,CAN结构划分为两层:数据链路层和物理层,它们由CAN控制器的硬件实现电平变换和帧的封装。CAN网络中包括4种不同类型的帧。其中,数据帧将数据由发送器传至接收器;远程帧由节点发送以请求具有相同ID标志符的数据帧;出错帧可由任何节点发送,以控制总线错误;而超载帧用于提供先前和后续数据帧或远程帧之间的附加延时。另外,数据帧和远程帧以帧空间同先前帧隔开。在实际应用中,还需要建立自己的上层协议。在本系统设计中,采用简单实用的“命令项加数据项”结构[3],其完整数据帧结构如图3示。考虑到工在业控制中,功能一般不多,因此命令项的长度设定为1B(可描述128种命令)。而在本控制系统中,命令所需参数一般不会大于7B,故数据项长度直接设为7B。

  数据帧结构

  图3数据帧结构

  4.软件设计

  系统的CAN应用节点部分采用的是BasicCAN程序,它包含初始化子程序、发送子程序、接收子程序三个部分。DSP软件编写采用的是TI公司的DSP集成开发环境CCS2000,它支持汇编语言和C语言编程。为了保证程序运行效率,   算法FFT程序和中断向量表程序采用汇编语言编写,而其它程序都采用C语言编写,使本系统软件具有模块化、结构化、可移植性好和调试方便的特点。系统的软件执行过程是:首先是系统初始化工作,即设置寄存器、配置GPIO、定时器、A/D转换器和外部中断、启动A/D转换。然后检测GPIO有没有启动信号,检测到启动信号后,从另一个GPIO发出控制信号给直流电机加电。从A/D转换器里读取电流信号数据,再通过求平均值得到电机的电流值;对输出脉冲信号的数据进行FFT变换,求出基波的频率,再根据电机的具体型号乘以一个系数得到电机的转速。   把测试电流和转速送给LCD显示,启动CAN总线传输,把测试结果传输到上位PC机,以对数据进行保存和分析。软件流程如图4所示。

  软件流程图

  图4软件流程图

  5.结束语

  本系统采用了以CAN总线构建了自动化小型直流电机测试系统,设计中以DSP芯片F2810为   的自动测试单元能利用DSP的多路模拟量输入通道和多路PWM输出通道以及高速计算能力,同时实现对多个电机的准确、高效率的测试。该系统在测试速度、性价比和可维护性等方面均有明显的优势。

  责任编辑:gt


上一篇:基于正弦颤振信号发生器实现新型电液比例控制器的方案设计
下一篇:基于MAX1951实现Stratix II FPGA系统供电的设计方案

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料