资源描述
-基于DSP的直流电机控制系统设计摘要:直流电机由于励磁磁场和电枢磁场完全解耦,可以独立控制,因此具备良好的调速性能,出力大、调速*围宽和易于控制,广泛应用于电力拖动系统中。而随着对电机控制要求的不断提高,普通的单片机越来越不能满足对电机控制的要求,DSP技术的发展正好为先进控制理论以及复杂控制算法的实现提供了有力的支持。本设计采用美国TI公司专门为电机数字化控制设计的16位定点DSP控制器TMS320LF2407作为微控制器。该芯片集DSP信号高速处理能力及适用于电机控制优化的外围电路于一体,可以为高性能传动控制技术提供可靠高效的信号处理与控制硬件。电机的控制系统是由检测装置、主控制器、功率驱动器以及上位机组成,其中DSP控制器是电机控制系统的关键部分,负责对电机的反馈信号进行处理并输出控制信号来控制电机的转动。关键词:直流电机; DSP; PID控制器; PWMThe Design of DC Motor Control System Based on DSPAbstract:The DC motor armature magnetic field and the e*citation pletely decoupled, it can be independently controlled, so it has a good speed performance, contribute to a large power, widely speed range, and easy to control, so it is widely used in electric drive systems. With the motor control required for continuous improvement, mon single MCU cant meet requirements of the motor control well, DSP technology just for the advanced control theory and ple* control algorithm implementation provides a strong support.This design uses the American TI pany specially for motor control design of digital 16 fi*ed-point DSP controller TMS320LF2407 as the controller. The chip set DSP signal the high processing capacity and used in motor control optimization the periphery of the circuit in a body, high performance driving control technology to provide reliable and efficient signal processing and control hardware. Motor control system is posed of detection devices, the main controller, power driver and PC ponents, which DSP controller is a key part of the motor control system , responsible for the motor feedback signal processing and output control signal to control the rotation of the motor.Keywords:DC motor, DSP, PID controller, PWM目 录第1章 绪论11.1 课题概述11.1.1 课题研究的背景11.1.2 课题研究的目的及意义21.2 课题研究的现状21.3 课题研究的内容5第2章 系统总体设计62.1 系统的组成62. 2 DSP芯片选择62.3 TMS320LF2407 DSP 控制器介绍72.4 硬件方案论证102.4.1 测速传感器的选择102.4.2 功率驱动单元方案论证112.4.3 键盘显示方案论证112.4.4 PWM实现方案论证122.5 本章小节12第3章 系统硬件设计133.1 电源电路的设计133.2 功率驱动单元的设计133.2.1 PWM调速原理143.2.2 电机驱动电路153.3 速度检测单元的设计163.3.1 速度检测的方法163.3.2 速度检测电路设计173.4 按键控制单元的设计183.5 显示单元的设计203.5.1 1602液晶介绍203.5.2 显示单元接口电路设计203.6 通信单元的设计213.7 本章小节22第4章 系统软件设计234.1 主程序的设计234.1.1 主程序234.1.2 初始化子程序244.1.3 显示程序244.2 中断服务程序的设计244.2.1 PWM波发生程序254.2.2 捕获中断程序274.3 PID控制算法284.3.1 PID控制原理294.3.2 系统PID控制294.4 本章小节31第5章 系统总体调试325.1 调试准备325.2 系统调试32结论34致谢35参考文献36附录37. z.-第1章 绪论1.1 课题概述1.1.1 课题研究的背景电气传动是以电动机的转矩和转速为控制对象,按生产机械工艺要求进行电动机转速控制的自动化系统。根据电动机的不同,工程上通常把电气传动分为直流电气传动和交流电气传动两大类。纵观电气传动的发展过程,交流与直流两大电气传动并存于各个时期的各大工业领域内,虽然它们所处的地位和作用不同,但它们始终随着工业技术而发展的。特别是随着电力电子技术和微电子学的发展,在相互竞争中完善着自身,发生着变更。由于直流电机具有良好的线性调速特性,简单的控制性能,因此在工业场合应用广泛。近代,随着生产技术的发展,对电气传动在起制动、正反转以及调速能力、静态特性和动态响应方面都提出了更高的要求,所以计算机控制电力拖动控制系统已成为计算机应用的一个重要内容。直流调速系统在工农业生产中有着更为广泛的应用。随着计算机技术和电力电子技术的飞速发展,两者的有机结合使电力拖动控制技术产生了新的变化。电力电子技术、计算机技术和直流拖动技术的组合是技术领域的交叉,具有广泛的应用前景。有不少的研究者己经在用DSP作为控制器进行研究。直流调速控制系统的控制方法经历了机械式的、双机组式的、分立元件电路式的、集成电路式的、单片机式的发展过程。随着数字信号处理器DSP的出现,给直流调速控制提供了新的手段和方法。将计算机技术的最新发展成果运用在直流调速系统中,在经典控制的基础之上探讨一种新的控制方法,为计算机技术在电力拖动控制系统中的应用做些研究性的工作。用计算机技术实现直流调速控制系统,计算机的选型很多。经过选择,选取DSP芯片作为控制器。直流调速系统的内容十分丰富,有开环控制系统,有闭环控制系统;有单闭环控制系统,有双闭环控制系统和多闭环控制系统;有可逆调速系统,有不可逆调速系统等9。开展本课题研究的控制对象是闭环直流调速系统;研究的目的是利用计算机硬件和软件发展的最新成果,对控制系统升级进行研究;研究工作是在对控制对象全面回顾总结的基础上,重点对控制部分展开研究,它包括对实现控制所需要的硬件和软件环境的探讨,控制策略和控制算法的探讨等内容。目前,对于控制对象的研究和讨论很多,有比较成熟的理论,但实现控制的方法和手段随着技术的发展,特别是计算机技术的发展,不断地进行技术升级。这个过程经历了从分立元件控制,集成电路控制和单片计算机控制等过程。每一次的技术升级都是控制系统的性能有较大地提高和改进。随着新的控制芯片的出现,给技术升级提供了新的可能。电机控制是DSP应用的主要领域,随着社会的发展以及对电机控制要求的日益提高,DSP将在电机控制领域中发挥越来越重要的作用。1.1.2 课题研究的目的及意义长期以来,直流电机一直占据着速度控制和位置控制的统治地位。由于它具有良好的线性调速特性,简单的控制性能,高质高效的平滑运转的特性,尽管近年来不断受到其它电动机的挑战,但到目前为止,就其性能来说仍无其它电动机可比。在控制系统的构成上,本课题对硬件电路进行了设计,而这个硬件系统具有一定的通用性,也即可以将它作为一个硬件平台,在其它过程控制中应用。另外,由DSP的特点量身订做,可以在其它的控制系统中根据不同的要求进行外围电路的设计,进而来构成硬件系统,这样既便于设计思想的物化,又使得设计系统更加紧凑,不浪费资源。本直流电机控制系统采用经典的数字增量式PID控制算法,在本文中对数字增量式PID控制的理论、设计和实现进行了较为详细的论述。1.2 课题研究的现状近些年来,随着现代电力电子技术、控制技术和计算机技术的发展,电机的应用技术也得到了进一步的发展,新产品、新技术层出不穷。除了人们己经熟悉的普通电机外,许多不同用途的特种电机也不断问世,如广泛应用于办公设备的无刷直流电机和高精度的步进电机、用于照相机的超声波电机、用于心脏血液循环系统的微型电机等等。另一方面,由于应用了电力电子技术,电机的控制技术变得更加灵活,效率也更高,如变频器控制的异步电机及伺服系统即是典型的例子1。在实际中,电机应用已由过去简单的起停控制、提供动力为目的应用,上升到对其速度、位置、转矩等进行精确的控制,使被驱动的机械运动符合预想的要求。例如在工业自动化、办公室自动化和家庭住宅自动化方面使用大量的电机,几乎都采用功率器件进行控制,将预定的控制方案、规划指令转变成期望的机械运动。这种新型控制技术己经不是传统的“电机控制”或“电气传动”而是“运动控制”。运动控制使被控机械实现精确的位置控制、速度控制、加速度控制、转矩或力的控制,以及这些被控机械量的综合控制。因此现代电机控制技术离不开功率器件和电机控制器的发展5。电机的控制器经历了从模拟控制器到数字控制器的发展。由于模拟器件的一些参数受外界因素影响较大,并且它的精度也差。所有这些都使得模拟控制器的可重复性比较差,控制效果不理想,因此调速电机的控制器逐渐朝数字化方向发展。数字控制器与模拟控制器相比较,具有可靠性高、参数调整方便、更改控制策略灵活、控制精度高、对环境因素不敏感等优点。随着现有的工业电气传动、自动控制和家电领域对电机控制产品需求的增加用户也不断提高对电机控制技术的要求5。总是希望能在驱动系统中集成更多的功能,达到更高的性能。许多设备试图使用8位或是准16位的微处理器实现电机的闭环控制,然而它们的内部体系结构和计算功能都阻碍了这一要求的实现。例如,在很多领域(如工业、家电和汽车),用户希望使用效率高且去掉霍尔效应传感器的电机。这种电机的控制可以通过使用先进的电机控制理论、采用高效的控制算法来实现。但是这可能超出上述微处理器的计算能力。使用高性能的数字信号处理器(DSP)来解决电机控制器不断增加的计算量和速度需求是目前较为普遍的做法。将一系列外围设备如模数转换器(A/D)、脉宽调制发生器(PWM)和数字信号处理器(DSP)集成在一起,就获得一个既功能强大又非常经济的电机控制专用的DSP芯片。近年来,各种集成化的一单片DSP的性能得到很大的改善,软件和开发工具越来越多,越来越好,价格却大幅度降低。低端产品的价格已接近单片机的价格水平,但却比单片机具有更高的性能价格比。越来越多的单片机用户开始选用DSP器件来提高产品性能,DSP器件取代高档单片机的时机己成熟13。首先,与单片机相比,DSP器件具有较高的集成度。DSP具有更快的CPU,更大容量的存储器,内置有波特率发生器和FIFO缓冲器,提供高速、同步串口和标准异步串口。有的片内集成了A/D和采样/保持电路,可提供PWM输出。更为不同的是,DSP器件为精简指令器件,大多数指令都能在一个周期内完成,并且通过并行处理技术,使一个指令周期内可完成多条指令。同时DSP采用改进的哈佛结构,具有独立的程序和数据空间,允许同时存取程序和数据。又配有内置高速硬件乘法器、多级流水线,使DSP器件具有高速的数据计算能力。而单片机为复杂指令系统计算机(CISC),多数指令要2-3个指令周期来完成。单片机采用冯.诺依曼结构,程序和数据在同一空间存取,同一时刻只能单独访问指令和数据、ALU只能做加法,乘法需要由软件来实现,因此占用较多的指令周期,也就是说速度比较慢。所以,结构上的差异使DSP器件比准16位单片机单指令执行时间快8-10倍,完成一次乘法运算快16-30倍。DSP器件还提供了高度专业化的指令集,提供了FFT快速傅立叶变换和滤波器的运算。此外,DSP器件提供了JTAG (Joint Test Action Group)接口,具有更先进的开发手段,批量生产测试更方便。其次,基于DSP芯片制造的电机控制器可以降低对传感器等外围器件的要求。通过复杂的算法达到同样的控制性能,降低成本,可靠性高,有利于专利技术的*。现在各大DSP生产厂家都推出自己的内嵌式DSP电机控制专用集成电路。如占DSP市场份额45%的美国*仪器公司,凭借自己的实力,推出了电机控制器专用DSP-TMS320C24*。新的TMS320C24* DSP采用TI公司TMS320C2*LP16位定点DSP核,并集成了一个电机事件管理器,后者的特点是可以最佳方式实现对电机的控制。该器件利用TI的可重用DSP核心技术,显示出TI的特殊能力一通过在单一芯片上集成一个DSP和混合信号外设件,制造出面向各种应用的DSP方案。TMS320C24*作为第一个数字电机控制器的专用DSP系列,可支持用于电机控制的指令产生、控制算法处理、数据交流和系统监控等功能。集成的DSP核、最佳化电机控制器事件管理器和单片式A/D设计等诸多功能块加在一起,就可以提供一个单芯片式数字电机控制方案。系列中的TMS320LF2407包括一个30MIPSDSP核、两个事件管理器、32位的中央算术逻辑单元、多达16通道的IO位A/D转换器、64K的I/0空间和一个32K字的闪速存储器,它利用TMS320的定点DSP软件开发工具和JTAG仿真支持,可使电机控制领域的研发人员方便地调试控制器和脱机使用。第三,DSP运算速度快,控制策略中可以使用先进的实时算法,如自适应控制、卡尔曼滤波、状态预估等,大大提高控制系统的品质。而且DSP控制软件可用C语言或汇编语言编写或者二者嵌套使用。因此采用DSP芯片制造的电机控制器便于用户的调试和应用。最后,在越来越多的场合,如电动汽车、纺织行业、水泵变频调速系统等,他们往往是规模比较大,时序、组合逻辑都很复杂的情况,这时如果同时运用DSP芯片和一些其它的可编程逻辑器件可以大大减小系统的体积、提高系统运算能力,实现复杂的实时控制。1.3 课题研究的内容本文主要研究基于DSP的直流电机控制系统,通过控制算法和调速方法的分析,利用电机调速、DSP芯片控制、上位机通信、按键模块等的基本原理及相关知识,实现对电机的速度控制。整个系统的基本思想就是利用DSP内部资源产生可控制的脉冲控制整流电压,改变串入主回路中的直流电动机的电磁转矩,实现电动机的转速调节。研究内容包括如下:(1)电机控制系统功能实现的分析;(2)控制算法与调速方法的分析与设计;(3)电机驱动、电源模块、按键模块、测速、显示模块的硬件设计与实现;(4)系统主程序、按键扫描、控制算法、测速、电机速度控制等程序的分析、设计与实现;(5)电机控制系统整机测试与实现;第2章 系统总体设计2.1 系统的组成由图2-1可知,该设计包含DSP控制单元、功率驱动单元、检测单元、显示单元、通信单元五个部分。DSP控制单元:对来自上位机的给定信号和来自传感器的反馈信号按一定的算法进行处理,输出相应的PWM波,经过光电隔离部分,送给功率驱动单元;功率驱动单元:对来自DSP控制器的PWM信号进行功率放大后送给直流电动机的电枢两端,驱动电机与负载;速度检测单元:采集电机的速度信息,并送给主控制器;显示单元:将采集到的电机转速信息予以显示;通信单元:负责主控制器与上位机及外设的信息交换。图2-1 系统总体框图2. 2 DSP芯片选择直流电机的调速控制系统一般采用电机专用微处理器,其种类主要包括复杂指令集CISC处理器如工NTEL196M*系列单片微控制器,精简指令集RISC如日立公司SH704*系列单片微控制器,哈佛结构DSP处理器如TI公司T145320F24*系列DSP。一般用于直流电机控制的徽处理器性能要满足以下几个方面:(1)指令执行速度;(2)片上程序存储器、数据存储器的容量及程序存储器的类型;(3)乘除法、积和运算和坐标变换、向量计算等控制计算功能;(4)中断功能和中断通道的数目;(5)用于PWM生成硬件单元和可实现的调制*围以及死区调节单元;(6)用于输入模拟信号的A/D转换器;(7)价格及开发环境。DSP一般采用哈佛或者改进的哈佛结构,程序空间和数据空间分离,程序的数据总线和地址总线分离,数据的数据总线和地址总线分离。这种结构允许同时访问程序指令和数据,在同一机器周期里完成读和写,并行支持在单机器时钟内同时执行算术、逻辑和位处理操作,极大地提高了执行速度,并且电机控制专用DSP具备丰富的设备和接口资源。TI公司的TMS320系列DSP芯片是目前最有影响、最为成功的数字信号处理器,其产品销量一直处于国际领先地位,是公认的世界DSP霸主。本论文选择了TI公司的TMS320LF2407DSP作为直流电机控制系统的微处理器。2.3 TMS320LF2407 DSP 控制器介绍TMS320LF2407 DSP是专为数字电机控制和其它控制系统而设计的。是当前集成度最高、性能最强的运动控制芯片。不但有高性能的C2* CPU内核,配置有高速数字信号处理的结构,且有控制电机的外设。它将数字信号处理的高速运算功能,与面向电机的强大控制功能结合在一起,成为传统的多微处理器单元和多片系统的理想替代品12。TMS320LF2407的片内外设模块包括:事件管理模块(EV)、数字输入/输出模块(I/O)、模数转换模块(ADC)、串行外设模块(SPI)、串行通信模块(SCI)、局域网控制器模块(CAN)。(1)事件管理器EVA和EVBTMS320LF2407提供两个事件管理器EVA和EVB模块,每个模块包含两个通用(GP)定时器、3个全比较/PWM单元、3个捕获单元和一个正交编码脉冲电路。事件管理器位用户提供了众多的功能和特点,在运动控制和电机控制中特别有用。通用定时器:LF2407共有4个通用定时器,每个定时器包括:一个16位的定时器增/减计数的计数器T*T;一个16位的定时器比较寄存器T*CMPR;一个16位的定时器周期寄存器T*PR;一个16位的定时器控制寄存器T*CON;可选择的内部或外部输入时钟。各个GP定时器之间可以彼此独立工作或相互同步工作。与其有关的比较寄存器可用作比较功能或PWM波形发生。每个GP定时器的内部或外部的输入时钟都可进行可编程的预定标,它还向事件管理器的子模块提供时毕。每个通用定时器有4种可选择的操作模式:停止/保持模式、连续增计数模式、定向增/减计数模式、逢续增/减计数模式。当计数器值和比较寄存器值相等时,比较匹配发生,从而在定时器的PWM输出引脚T*PWM/T*CMP上产生CMP/PWM脉冲,可设置控制寄存器GPTCON中的相应位,选择下溢、比较匹配或周期匹配时自动启动片内A/D转换器。比较单元:LF2407有6个比较单元,每个EV模块有3个。每个比较单元又有两个相关的PWM输出,比较单元的时基由通用定时器1 (EVA模块)和通用定时器3 (EVB模块)提供。每个比较单元和通用定时器1或通用定时器3,死区单元及输出逻辑可在两个特定的器件引脚上产生一对具有可编程死区以及输出极性可控的PWM输出。在每个EV模块中有6个这种与比较单元相关的PWM输出引脚,这6个特定的PWM输出引脚可用于控制三相交流感应电机和直流无刷电机。由比较方式控制寄存器所控制的多种输出方式能轻易地控制应用广泛的开关磁阻电机和同步磁阻电机。捕获单元:捕获单元被用于高速I/O的自动管理器,它监视输入引脚上信号的变化,记录输入事件发生时的计数器值,即记录下所发生事件的时刻。该部件的工作由内部定时器同步,不用CPU干预。LF2407共有6个捕获单元,CAP1,CAP2,CAP3可选择通用定时器1或2作为它们的时基,但CAP1和CAP2一定要选择相同的定时器作为它们的时基。CAP4,CAP5,CAP6可选择通用定时器3或4作为它们的时基,同样CAP4和CAP5也一定要选择相同的定时器作为它们的时基。每个单元各有一个两级的FIFO缓冲堆栈。当捕获发生时,相应的中断标志被置位,并向CPU发中断请求;若中断标志己被置位,捕获单元还将启动片内A/D转换器。正交编码脉冲(QEP)单元:常用的位置反馈检测元件为光电编码器或光栅尺,它直接将电机角度和位移的模拟信号转换为数字信号,其输出一般有相位差为90的A、B两路信号和同步脉冲信号C。A、B两路脉冲可直接作为LF2407的CAP1/QEP1和CAP2/QEP2引脚的输入。正交编码脉冲电路的时基由通用定时器2或通用定时器4提供,但通用定时器必须设置成定向增/减计数模式,并以正交编码脉冲电路作为时钟源。(2)数字输入/输出模块(I/O)DSP器件的数子输入/输出引脚均为功能复用引脚。即这些引脚既可作为通用I/O功能(双向数据输入/输出)引脚,也可作特殊功能(PWM输出、捕获输入、串行输入输出等)引脚。数子I/O模块负责对这些引脚进行控制和设置。两种功能的选择由I/O复用控制寄存器(MCR*,*=A,B,C)来控制。当引脚作为通用I/O时,由数据和方向控制寄存器(P*DATDIR,*=A,B,C,D,E,F)指出各I/O引脚的数据方向(输入还是输出)和当前引脚对应的电平(高或低)。读通用I/O引脚的电平或向引脚输出电平,实际上是对相应的寄存器(P*DATDIR)进行读写操作。(3)模数转换器(ADC)模块在自动控制系统中,被控制或被检测的对象,如温度、压力、流量、速度等都是连续变化的物理量,通过适当的传感器(如温度传感器、压力传感器、光电传感器等)将他们转换为连续变化的电压或电流(即模拟量)。模数转换器ADC就是用来讲这些模拟电压或电流转换成计算机能够识别的数字量的模块。TMS320LF2407期间内部有一个10为的模数转换器ADC。该模块能够对16个模拟输入信号进行采样/保持和A/D转换,通道的转换顺序可以编程选择。(4)串行通信接口(SCI)模块2407器件的串行通信接口(SCI)模块是一个标准的通信异步接收/发送(UART)可编程串行通信接口。SCI支持CPU与其他异步串口采用标准不返回零(NRZ)模块进行异步串行数字通信。SCI有空闲线和地址位两种多处理器通信方式;两个输入/输出引脚:SCIR*D(SCI接收数据引脚)和SCIT*D(SCI发送数据引脚);SCI通过一个16位的波特率选择寄存器,可编程选择64K种不同速率的波特率。SCI支持半双工和全双工操作,发送器和接收器的操作可以通过中断或转换状态标志来完成。(5)串行外设接口(SPI)模块串行外设接口(SPI)模块是一个高速同步串行输入/输出(I/O)口,它能使可编程长度(116位)的串行位流以可编程的位传输速率输入或输出器件。SPI可作为一种串行总线标准,以同步方式实现两个设备之间的信息交换,即两个设备在同一时钟下工作。SPI通常用于DSP控制器与外部设备或其他控制器之间的通信,用SPI可以构成多机通信系统,SPI还可以作为移位寄存器、显示驱动器和模数转换器ADC等器件的外设扩展口。(6)CAN控制器模块LF24*系列DSP控制器作为第一个具有片上CAN控制模块的DSP芯片,给用户提供一个设计分布式或网络化运动控制系统的无限可能。CAN总线是一种多主总线,通信介质可以是绞线、同轴电缆或光导纤维,通信速率可达1 Mbps,通信距离可达10km。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块进行编码,使网络内的节点个数在理论上不受限制。由于CAN总线具有较强的纠错能力,支持差分收发,因而适合高干扰环境,并具有较远的传输距离。2407的CAN控制器模块是一个16位的外设模块,支持CAN2. 0B协议。CAN模块有6个(MBO*0MBO*5);有用于0,1,2和3号的的本地屏蔽寄存器和15个控制/状态寄存器。CAN模块既有可编程的位速率、中断方式和CAN总线唤醒功能;自动回复远程请求;自动再发送功能(在发送时出错或仲裁是丢失数据的情况下);总线出错诊断和自测模式。2.4 硬件方案论证2.4.1 测速传感器的选择方案一:使用测速发电机,输出电动势E和转速n成线性关系,即E=kn,其中k是常数。改变旋转方向时,输出电动势的极性即相应改变。方案二:采用霍尔传感器,霍尔元件是磁敏元件,在被测的旋转体上装一磁体,旋转时,每当磁体经过霍尔元件,霍尔元件就发出一个信号,经放大整形得到脉冲信号,送运算。方案三:在电机的转轴上套一码盘,利用光电对管测脉冲,每转一圈OUT端输出若干个脉冲。(本设计中码盘每转一圈,输出4个脉冲)经比较,方案一中的测速放电机安装不如方案二中霍尔元件安装方便,并且准确率也没方案二的高,并且方案二不需A/D转换,直接可以被DSP接收。但方案二的霍尔传感器的采购不是很方便,故采用方案三,它具有方案二的几乎所有的优点。方案三中可以采用定时的方法:是通过定时器记录脉冲的周期T,这样每分钟的转速:M=60/4T=15/T。0也可以采用记数的方法:具体是通过DSP记单位时间S(秒)内的脉冲数N,每分钟的转速:M=N/S15。比较两个计数方法,方法一所产生的误差主要是标准误差和硬件设计误差,因为此次测速所使用的码盘为自行制作,间隔不均匀,容易使脉冲之间产生时间差。而方法二的误差主要是1误差(量化误差),则可以有效地减少码盘制作给系统带来的误差。由此明显看出,方法二在测量精度上优于方法一,所以采用方法二计数。故选方案三。2.4.2 功率驱动单元方案论证方案一:采用专用小型直流电机驱动芯片。这个方案的优点是驱动电路简单,几乎不添加其它外围元件就可以实现稳定的控制,使得驱动电路功耗相对较小,而且目前市场上此类芯片种类齐全,价格也比较便宜。方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对电机的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。方案三:采用由达林顿管组成的H型PWM电路。用DSP控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截止模式下,效率非常高;H型电路保证了可以简单地实现转速和方向的控制;电子开关的速度很快,稳定性也极佳,是一种广泛采用的PWM调速技术。通过比较和对市场因素的考虑,本设计采用方案一。2.4.3 键盘显示方案论证方案一:采用34键盘,可直接通过键盘输入设定值。优点是电机转动级数多;缺点是功耗大,不符合智能化趋势而且不美观。方案二:使用3个按键,进行逐位设置。一个按键控制正转,一个反转,一个停止。优点是美观大方,一目了然;缺点是抗干扰能力较差。由于方案一中电机转动级数设置可以通过软件实现,且方案二中干扰也可通过软件克服。因此,本设计完全采用方案二。2.4.4 PWM实现方案论证PWM信号的产生通常有两种方法:一种是软件的方法;另一种是硬件的方法。方案一:基于NE555,SG3525等一系列的脉宽调速系统。此种方式采用NE555作为控制电路的核心,用于产生控制信号。NE555产生的信号要通过功率放大才能驱动后级电路。NE555、SG3525构成的控制电路较为复杂,且智能化、自动化水平较低,在工业生产中不利于推广和应用。方案二:基于DSP由软件来实现PWM。在PWM调速系统中占空比是一个重要参数。在电源电压不变的情况下,电枢两端电压的平均值取决于占空比的大小,改变的值可以改变电枢两端电压的平均值从而达到调速的目的。改变占空比的值有三种方法:A、定宽调频法:保持t1不变,只改变 t2,这样使周期(或频率)也随之改变。B、调宽调频法:保持t2不变,只改变t1,这样使周期(或频率)也随之改变。C、定频调宽法:保持周期T(或频率)不变,同时改变t1和t2。图2-2 电枢电压占空比图前两种方法由于在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起震荡,因此这两种方法用得很少。目前,在直流电动机的控制中,主要使用定频调宽法。所以选择方案二,采用定频调宽法。2.5 本章小节本章对系统的总体设计模块和各大系统方案的选择做了简要的阐述,确定了系统设计的方案;同时,对主控制器芯片的硬件资源和外设电路做了较为详细的介绍,明确了各大功能模块和主控制器之间的逻辑关系,为各大模块的功能实现提供了强有力的支持。第3章 系统硬件设计3.1 电源电路的设计TMS320LF2407采用高性能静态CMOS,供电电压为低电压+3. 3V,而系统中还有其他一些TTL芯片,需要+5V电压,为此,系统为一个多电源的系统。电源转换电路的功能是用来产生稳定可靠的3.3V直流电源,提供给TMS320LF2407以及整个数字电路工作10。图3-1 电源电路电源插孔J1标识为内正外负,+5V稳压直流电源输入。TPS7333 电源转换芯片作为5V 转3.3V 的高性能稳压芯片。并可提供上电复位信号,该信号接到DSP 的复位引脚上。7333 输出后的10uF 和0.1uF 的电容起稳压作用,得到稳定的3.3V 电压。3.2 功率驱动单元的设计功率驱动单元是对来自DSP控制器的PWM信号进行功率放大后送给直流电动机的电枢两端,驱动电机与负载。直流电动机是最早出现的电动机,也是最早能实现调速的电动机。近年来,直流电动机的结构和控制方式都发生了很大的变化。随着计算机进入控制领域,以及新型的电力电子功率元器件的不断出现,使采用全控型的开关功率元件进行脉宽调制(Puts Width Modulation,简称PWM)控制方式已成为绝对主流。PWM(Pulse Width Modulation)控制脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位6。3.2.1 PWM调速原理直流电动机转速n的表达式为: (3-1)公式(3-1)中,U为电枢端电压;I为电枢电流;R为电枢电路总电阻;中为每极磁通量;K为电动机结构参数。所以直流电动机的转速控制方法可分为两类:对励磁磁通进行控制的励磁控制法和对电枢电压进行控制的电枢控制法。其中励磁控制法在低速时受磁极饱和的限制,在高速时受换向火花和换向器结构强度的限制,并且励磁线圈电感较大,动态响应较差,所以这种控制方法用得很少。现在,大多数应用场合都使用电枢控制法。绝大多数直流电机采用开关驱动方式。开关驱动方式是使半导体功率器件工作在开关状态,通过脉宽调制PWM来控制电动机电枢电压,实现调速2。图3-2 PWM调速控制原理图和电压波形图3-2是利用开关管对直流电动机进行PWM调速控制的原理图和输入输出电压波形。图中,当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端有电压。t1秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。t2秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的电平高低,直流电动机电枢绕组两端的电压波形如图中所示。电动机的电枢绕组两端的电压平均值为: (3-2)公式(3-2)中为占空比,=。占空比表示了在一个周期T里,开关管导通的时间与周期的比值。如,一个PWM的频率是1000Hz,则它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,则低电平的时间肯定是800us,则占空比就是200:1000,也就是说PWM的占空比就是1:5。占空比的变化*围为0l。由此式可知,当电源电压不变的情况下,电枢的端电压的平均值取决于占空比的大小,改变值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。3.2.2 电机驱动电路本设计的功率驱动电路采用的是基于双极型H桥型脉宽调制方式(PWM)的集成电路L298N14。L298N是SGS公司的产品,内部包含二个H桥的高电压大电流桥式驱动器,接收标准TTL逻辑电平信号,可驱动46伏、2安培以下的电机,工作温度*围从零下25到130。表3-1是其使能引脚,输入引脚和输出引脚之间的逻辑关系。EnA是控制使能端,控制OUT1和OUT2之间电机的停转, IN1、IN2脚接入控制电平,控制OUT1和OUT2之间电机的转向。当使能端EnA为高,IN1为高电平IN2为低电平时,电机正转;反之电机则反转。当IN1和IN2电平相同时,电机停转。表3-1 L298N功能逻辑表EnAIN1IN2电机转向HHL正 转HLH反 转H同IN2同IN1停 止L*停 止图中的EnA(PWM)输入对应LF2407上的IOPA6引脚,IN1和IN2分别对应LF2407上的IOPF3和IOPF4引脚。接口电路如图3-3所示。图中二极管的作用是消除电机的反向电动势,保护电路,因此采用整流二极管比较合适。需要注意的是,三个引脚信号都应通过光电隔离的变换后再作用于L298N,目的是为了防止因电机启动停止瞬间产生的尖峰脉冲对主控制器的影响。本设计中的光电隔离采用的是高速光耦6N137,信号经过6N137的隔离后不改变逻辑状态。当电机要求正转时,IOPF3给出高电平信号,IOPF4给出低电平信号,此时IOPA6的逻辑信号就决定了电机正转的速度,也就是说DSP产生的PWM信号的占空比决定了电机两端电枢电压的大小,从而实现电机调速。同样,当电机要求反转时,IOPF3给出低电平信号,IOPF4给出高电平信号。图3-3 L298N接口电路3.3 速度检测单元的设计速度检测单元通过传感器采集电机转速信息,并传送给主控制器,同时与主控制器构成一个闭环回路7。转速的测量主要是借助光电或磁电传感器来实现,其具体做法是:与电机同轴连接一均匀分布的码盘或直接利用电机来带动码盘旋转,使该码盘与电机轴同步旋转。光电或磁电传感器发出信号,经过光敏电阻后形成电脉冲,将脉冲送入计数器,通过计算即可得出电机的转速。3.3.1 速度检测的方法根据脉冲计数来实现转速测量的方法主要有:M法(测频法),T法(测周期法)和M/T法7。本设计中采用M法来完成对电机转速的检测。M法基本原理是,在一定的测量时间内,测速脉冲发生器产生的脉冲数为。则电机转速应为: (3-3)公式(3-3)中(r/min)为电机转速,为电机转一周脉冲发生器产生的脉冲数,即码盘的齿轮数。3.3.2 速度检测电路设计电机测速模型如图3-4,将栅格圆盘变化通过光电发射器和接收器以及外围转换电路的作用送给DSP通过数学运算得到电机的转速11。图3-4 电机测速模型光电对管产生的脉冲在经过施密特触发器SN74LS14后送入LF2407的捕获单元,捕获单元可以记录在*个时间段内捕获到的脉冲数,从而计算出电机的转速。具体的接口电路如图3-5所示。图3-5 速度检测电路需要注意的是,光电对管出来的信号一般为+5V的方波信号,为此需要经过一个电平转换芯片SN74LVC245隔离才能与LF2407的CAP电路进行相连。电路如图3-6所示。图3-6 电平转换电路3.4 按键控制单元的设计键盘用于实现DSP应用系统中的数据和控制命令的输入,键盘输入也是单片机应用系统中使用最广泛的一种输入方式。键盘可分为编码键盘和非编码键盘。非编码键盘通常是键排列成行列矩阵,按键的作用只是相应的接触点接通或断开,通过软件编程产生按键的键码15。本设计中的按键模块是电机控制的关键,通过按键的输入可以实现改变电机的正反转和调速功能。DSP在每个周期内对键盘进行一次扫描,即定时扫描方式,若有按键引起的中断,则程序执行相应的指令。键盘模块由三个按键组成。按键K1控制电机正转,当第一次按下按键K1,系统进入正转模式;再次按下按键K1,系统正转加速;第三次按下按键K1,系统正转减速。按键K3控制电机反转,当第一次按下按键K3,系统进入反转模式;再次按下按键K3,系统反转加速;第三次按下按键K3,系统反转减速。按键K2控制电机停止,无论电机处于任何模式下工作,只要按下按键K2,电机就停止转动。按键接口电路如图3-7所示。图3-7 按键电路控制电机的正反转是直接通过按键中断来实现的,实现电机正反转加减速则是通过程序实现的,按键的具体功能模块如表3-2所示。表3-2 按键功能图按键 次数123按键 K1正 转正转加速正转减速按键 K2停 止按键 K3反 转反转加速反转减速按键电路同样需要注意,给出的电平信号不能直接与LF2407相连,也需要经过电平转换芯片才能与主控制器相连。接口电路如图3-8所示。图3-8 按键电平转换电路3.5 显示单元的设计显示单元要求将采集到的电机转速信息予以显示,实时监测电机的转速状态。3.5.1 1602液晶介绍设计中采用工业字符型液晶,能够同时显示16*02即32个字符的1602液晶。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码。1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线。VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,1602引脚功能如表3-3所示。表3-2 1602引脚功能图引脚符号功能说明1VSS接地2VDD接电源(+5V)3V0液晶显示器对比度4RS寄存器选择5R/W读写信号线6E使能端7-14DB0-DB7数据线15BLA背光电源正极16BLK背光电源负极3.5.2 显示单元接口电路设计1602的V0口外接一个10K的电位器,用以调节液晶显示器的对比度,接正电源时对比度最弱,接地电源时对比度最高;RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器,与芯片的IOPA3口连接;R/W为读写信号线,高电平进行读操作,低电平进行写操作,与芯片的IOPA4口连接;E为使能端,下降沿使能,和芯片的IOPA5口连接。数据端和LF2407的IOPC口连接。具体电路连接如图3-9所示。图3-9 液晶显示接口电路3.6 通信单元的设计为了实时地监控下位机的工作状态,本设计还建立了上位机与下位机通信的电路模块1。利用TMS320LF2407的串行通信接口与RS-232串行口进行DSP与PC机之间的异步通信。上位机PC都带有RS-232接口,所以可以利用上位机(PC)的串行口与下位机(DSP)进行通信,进行上位机与下位机之间的数据交换,有效的实现监控。由于上位机的RS-232C电平与下位机的TTL电平不一致,本设计中利用电平转换芯片MA*232进行串行通信,另外,由于本设计中的TMS320LF2407属于低功耗芯片,它采用+3.3V供电。所以在MA*232与TMS320LF2407之间也需进行电平转换。接口电路如图3-10所示。图3-10 通信单元接口电路3.7 本章小节本章从硬件出发,针对直流电机控制系统的要求,对系统的功率驱动电路、速度检测电路、按键电路、显示电路以及通信电路的设计方法进行了详细的论述,对硬件电路展开了细致的讨论。由于涉及各种电路之间的密切配合,所以本章中各种电路的设计都是从工程实际出发,作了较细致的考虑。实践证明,系统的硬件可靠性较高。第4章 系统软件设计本系统的控制器在采用TMS320LF2407芯片作为其核心控制单元后,简化了控制电路,增大了控制策略的灵活性,能够在线计算出各种控制参数,提高控制精度,便于实现控制器的通用化、标准化和智能化。而且许多功能的实现以及将来一些功能的扩展可以在硬件电路完全不动的情况下,编制出相应的软件就能得以实现。由此可见,与DSP系统硬件相结合的控制软件的编制是控制器中很重要的一环。直流电机控制软件的设计采用模块化的设计思想2,主要包括主程序和中断服务程序两大模块。其中主程序包括初始化子程序、启动和软启动子程序和显示程序等;中断服务程序包括PWM波生成子程序、捕获中断子程序、通信子程序等。4.1 主程序的设计4.1.1 主程序主程序主要完成系统和各子程序的初始化,并启动系统定时器,进入循环体,并定时进行按键中断扫描和调用显示子程序16。主程序流程图如图4-1所示。图4-1 主程序流程图 4.1.2 初始化子程序该模块的功能主要是设置各个寄存器,使系统按照设计要求正常工作,并对各种变量进行初始化4。(1)时钟、看门狗设置:根据芯片运行频率及时钟信号频率,设定时钟锁相环的倍频数,以及硬件看门狗的计数频率,启动看门狗功能;(2)外部设备等待状态设置:匹配DSP与外部设备之间的时序不一致;(3)定义I/O口的引脚功能:芯片的I/O引脚均设计为功能复用,所以必须设置为完成相应功能,并定义实际I/O引脚的输入输出;(4)串行通信接口(SCI)设置:通过RS-232接口可与其它设备通信;(5)通用定时器设置:T1作为PWM输出的时钟基准,T3用来完成CAP电路计数。4.1.3 显示程序显示程序实时显示CAP模块捕捉到的电机速度信息,程序中的速度显示是在一定的时间段内记录捕获到的脉冲数,然后再经过一定的算法处理得到电机的转速信息。显示程序每秒钟刷新一次,这样才能实时记录电机转速的信息。具体程序如下:time_count+;if(time_count=100) time_count=0; f_count=count; count=0; time_count为定时器周期计数,定时器周期为10ms,100个周期就得到想要的一秒。count 为捕获中断在一秒内捕获到的上升沿脉冲数,最后在赋值给f_count 将转速信息通过一定的算法处理后在1602液晶上显示出来。4.2 中断服务程序的设计为了响应系统的中断服务程序,必须建立一个中断向量表。它是一个典型的汇编文件。按照内存区的规定,利用无条件跳转语句使程序在复位或发生中断之后跳转到相应的程序入口地址。由于入口地址为C语言函数起始地址,所以要在相应函数名前加“_”,并用.global声明为外部变量16。如果需要特别适用*个中断,则需定义响应的向量表。如“INT4B_cap4int”则是通过四号中断开启捕获功能。4.2.1 PWM波发生程序本系统中,PWM的设计应以尽量少的占用CPU资源,同时减少功率器件的开关损耗,并满足电流控制的要求为最终目的。PWM信号由DSP事件管理器A的全比较单元产生。与PWM波形发生相联系的外设控制寄存器有CONA, ACTRA, T1PR, DBTCONA, CMPR1等组成。通用定时器T1的计数器不断与比较寄存器的值相比较,当两个值发生匹配时,比较单元的两个输出将根据方式控制寄存器ACTRA中的位进行跳变。ACTRA寄存器中的位可以分别确定在比较匹配时输出为高有效触发或低有效触发。当两个值之间的第二个匹配产生或一个定时器周期结束时,相应的输出上会产生又一个转换(由低到高或由高到低)。通过这种方式,所产生的输出脉冲的开关时间就会与比较寄存器的值成比例。在每个定时器周期中,这个过程都会出现,但是每次比较寄存器中的调制值是不同的,这样在相应的输出引脚上就会产生一个占空比不同的PWM信号输出13。整个PWM单元的初始化步骤如下:(1)设置比较方式控制寄存器ACTRA,确定输出方式; (2)设置和装载定时器周期寄存器T1PR,确定PWM波周期; (3)初始化比较寄存器CMPR1,确定PWM占空比; (4)设置CONA,使能PWM模式,禁止比较模式;(5)设置和装载T1CON,用来设置计数模式和启动比较操作; (6)更新CMPR1寄存器值,以改变PWM的占空比。 PWM结构框图如图4-2所示。图4-2 PWM结构框图该部分的程序如下所示16:MCRA=MCRA | 0*00C0;/PA6为PWM口;EVAIFRA=0*FFFF;/清除中断标志; ACTRA=0*0006; /PWM1高有效; DBTCONA=0*0530;/使能死区定时器1; T1PR=25000; /定时器1周期值,定时0.4us*25000=10ms; CMPR1=*PWM; /比较值;CONA=0*A600; /比较控制寄存器;T1T=0; EVAIMRA=0*0080;/定时器1周期中断使能 ; T1CON=0*144E; /增模式, TPS系数40M/16=2.5M,T1使能; 对于CMPR1的设置,采用的是按键跳转的方式。当按键动作的时候,程序就跳转到响应的循环体。如当K1按下的时候,我们定义的全局变量numkey=1,a=1,程序就跳转到固定转速正转模式;如果再次触发K1,全局标量a=2,此时电机正转加速;如果按下K1第三次,则a=3,此时电机正转减速。具体流程如图4-3所示。图4-3 按键流程图4.2.2 捕获中断程序捕获中断使能后,当输入引脚CAP4上有一个跳变(由CAPCONB指定上升沿还是下降沿)时,就将所选通用定时器的当前计数值装入到相应的FIFO栈;与此
展开阅读全文