产品搜索 Search
产品目录 Product catalog


技术文章首页 >技术文章 >直流电机控制器测试系统设计
直流电机控制器测试系统设计
点击次数:3542 发布时间:2011-08-05 返回
  1.系统的整体设计
  
  本系统用于测试直流电机控制器的功能和性能。测试内容主要包括测试控制器的电流值、速度值和PWM输出的波形变化等。测试系统采集到这些值后,通过串口发送给PC方显示,能够方便用户监看、分析。本系统可以实现测试直流串励电机控制器和直流他励电机控制器的性能和功能。
  
  本测试系统硬件系统部分由主控芯片MC68HC908GP32zui小系统电路、电源转换电路、SCI通信电路、光电隔离控制电路、A/D转换电路和继电器驱动电路等部分组成。该系统能对多种模拟量进行采集,通过信号转换电路转换为0-5V的电压信号,再将电压信号送入A/D转换电路,实现数据的采集。为了节约I/O口,本系统的A/D转换芯片采用2片TLC2543,第I片用于模拟量输入,负责采集各传感器的值,第II片用于采集各开关的状态;本测试系统经常要读取电机的当前速度,且精度要求比较高,所以采用输入捕捉的方式采集测功机的转速;同时系统需要采集24V开关的状态,而负责采集的MCU子系统的工作电压是SV,为了保障MCU的正常工作,所以需要采用光电隔离电路来实现24V到5V的转换。
  
  2.系统的硬件设计
  
  本系统选择了FreescaleSemiconductor公司的MC68HC908GP32处理器作为整个测试系统的主控芯片,它是Motorola的新型08系列单片机中的一种通用芯片。具有一速度快、功能强和价格低等优点,并且向下兼容原有的M68HC05系列单片机,极大地维护了用户的利益,而目‘新一代的M68HC08系列机种按各种型号带有小同大小的片内闪速(FLASH)存储器,具有非常高的性价比。根据小同的应用,08系列单片机分出很多型号,而本设计采用的MC68HC908GP32单片机在标准08单片机核心的基础上,增加了增强型的串行通讯接口SCI和串行外围接口SPI。
  
  2.1串行通信SCI电路
  
  串行通信是计算机系统中常用的通信机制之一,在MCU中,若用RS-232C总线进行串行通信,则需外接电路实现电平转换。在发送端需要用驱动电路将TTL电平转换成RS-232C电平,在接收端需要用接收电路将RS-232C电平转换为TTL电平。电平转换器小仅可以由品体管分立元件构成,也可以直接使用集成电路,本系统中使用MAX232芯片来实现。MAX232芯片简单易用,单+5V电源供电,仅需外接几个电容即可完成从TTL电平到RS-232电平的转换,PC通过设置不同的协议同时与本系统和电机控制器进行串行通信。PC发出的数据,通过MAX232进行电平转换,本系统和电机控制器同时收到,然后根据帧头决定是否对这些数据进行处理。本系统和电机控制器发出的数据由PC接收。SCI通信电路原理图如图2所示。
  
  数据发送过程:MCU的TxD(TTL电平)经过MAX232的11(T1IN)送到MAX232内部,在内部TTL电平被“提升”为232电平,通过14CTIOUT)发送出去。接收过程:内音下,在内部狗RxD,进入外部232电平经过MAX232的13(R1IN)进入到MAX232的232电平被“降低”为TTL电平,经过12CR10UT)送到MCUMCU内部。
  
  2.2A/D转换电路
  
  模拟量采集是测控系统的一个重要组成部分,本系统采用2片TLC2543,第I片用于模拟量输入,负责采集各传感器的值,第II片用于采集各开关的状态。图3给出了利用SPI及MCU的PTC口的PTCO-PTC1扩展两片TLC2543的电路原理图。其中第I片TLC2543的片选接MCU的PTCO、第II片TLC2543的片选接MCU的PTCl。每片TLC2543可接11路模拟量输入,这样本系统中的A/D转换电路可外接22路模拟量。当有更多路数模拟量需要输入时,可以按此方法继续扩展。该电路适用于模拟量路数较多、且对实时性要求不是太高的数据采集系统。
  
  由于TLC2543对采样的模拟数据的分辨率为12位,包括TLC2543及其他IC的电源端必须用一个0.1uF的陶瓷电容连接到地,用作去耦电容。在噪声影响较大的环境中,也可以在0.1uF的陶瓷电容端再并联一个lOuF的钮电容,以减小噪声对器件的影响,其电路设计图如图3所示。
  
  图3基于SPI的A/D转换扩展电路
  
  2.3电源转换电路
  
  本系统是24V直流电压供电,而MC68HC908GP32是5V供电,使用的光电编码器需12V工作电压,所以需要设计将24V转换为5V和12V的电压转换电路。系统使用的是LM2575系列开关稳压集成电路,LM2575是美国国家半导体公司生产的1A集成稳压电路,其原理图如图4所示。
  
  3.电机控制系统软件设计
  
  系统的软件采用模块化设计,实现功能细分,一方面可提高软件的移植性和升级性,另一方面增强软件的易测试性。软件的总体架构包括二部分:主程序、相关子程序和辅助文件,全部采用08C语言编程。软件结构是以主程序为主,通过函数调用和全局变量与子程序进行参数传递。主控MCU方软件主程序是一个死循环结构,MCU方软件主程序的流程图见前面章节中的图5,每一次控制过程的衔接通过定时器中断来完成。子程序包括了芯片初始化程序、A/D转换程序、输入捕捉程序、PWM输出程序、串行通信程序、开关驱动程序和中断处理程序。
  
  3.1芯片初始化子程序
  
  芯片初始化子程序_C08Setup.c主要是完成内部总线频率Fbus的设置、I/O口初始化、串行口初始化、A/D转换初始化、中断控制和状态寄存器初始化、定时器初始化的工作。由于MC68HC908GP32外部晶振f=32.768kHz,则系统产生内部总线时钟频率为fbus=2.4576MHz。程序首先设置CONFIG2=Ob00000001,CONFIGI=Ob00111101接下来进行PLL的编程,过程如下:
  
  ①禁止PLL:清零PLL控制寄存器PCTL
  
  ②将P,E写入PCTL
  
  ③将N写入PMSH,PMSL
  
  ④将L写入PVRS
  
  ⑤将R写入PRDS
  
  ⑥置PCTL.PLLON=1,启动PLL电路并激活VCO时钟CGMVCLK
  
  ⑦置PBWC.AUTO=1(即:自动带宽控制位),自动方式
  
  ⑧置PCTL.BCS=1,选择PLL为时钟源,CGMOUT=CGMVCLK/2
  
  3.2A/D转换子程序
  
  模拟量采集是测试系统的一个重要组成部分。系统要求底层软件能够对模拟量和开关量信号进行监控,同时也要求能够对部分信号进行高速数据采集。每当运行A/D转换程序ADC11P.c时,MC68HC908GP32通过SPI模块控制A/D转换器的工作。首先,MC68HC908GP32将A/D转换通道号放入控制字的高字节,并定义输出数据的格式为16位,以MSB方式送出二进制数据;接着将控制字写到SPI的数据寄存器,发送给TLC2543,在控制字传送过程中,MC68HC908GP32保持等待状态,直到其发送完毕,至此发送过程结束。随后等待接收TLC2543发送过来的数据,当判断接收标志位为1时,从SPI的数据寄存器接收数据,并将该数据存放到预先分配好的内存空间。由十每次从TLC2543取出的数据是上一周期的数据,所以上述过程中NE64所取得的数据仅仅是上次转换结果的高字节。接下来,MC68HC908GP32只要通过向SPI的数据寄存器中写入任意的字节,并重复上述发送等待和接收等待的过程,即可取得上次转换结果的低字节,将其存入紧接高字节之后的地址空间,其流程如图5所示。
  
  3.3串行通信子程序
  
  串行通信子程序SCL.c主要完成SCI初始化,波特率设置、通信格式设置、发送接收数据方式的设置等,由SCI初始化、接收1字节、发送1字节、接收n字节和发送n字节函数组成。在上下位机通过RS232进行串行通讯之前,需要对串口工作方式以及所采用的波特率进行设置:
  
  (1)串行口工作方式设定:将串行口设置为工作方式即10位为一帧的异步串行方式。共包括1个起始位,8个数据位和1个停止位,允许SCI、正常码输出、8位数据、无校验,即设SCC1=Ob01000000;同时设置允许发送、允许接收,查询方式收发,即设SCC2=0b00001100。
  
  (2)波特率设定:本控制器采用的波特率为9600,经过计算有SCBR=0b00000010。
  
  4.结论
  
  本文创新点:本文在MCUMC68HC908GP32的基础上设计并实现了平台及外围电路的设计,并给出MCU方软件实现的总体原则,接着对各个子程序功能进行了分析与设计,zui后给出数据采集与数据传送过程中的串行通信协议设计的思想。鉴于目前国内外各科研单位所研制的主要是电机自动测试系统,它仅用于电机的某特定试验,功能比较单一,本系统在该领域有一定性。

官方微信
联系人: 于健
电话:
0519-82829730
传真:
0519-82885958
手机:
13813503302(微信同号)
点击这里给我发消息