摘 要
近年来,移动机器人应用范围越来越广泛,已经被用于人类生活的各个领域,而应用移动机器人完成侦查、排爆及消防等危险任务已经成为各国研究的重点。随着移动机器人的智能化程度越来越高,对机器人控制器的要求也在不断提高,这就要求控制器具有良好的实时性和快速响应能力。本次设计了一款全数字控制的小型地面移动机器人运动控制器,具有控制、功率驱动及各种保护等功能。
采用ARM9作为运动控制器的主控芯片,DSP作为分布式控制芯片,重点设计了DSP控制器的硬件电路。这些电路包括DSP最小系统、电机驱动、电机电流检测、电机位置检测及电机过压欠压保护,并对其主要电路进行了详细的分析。ARM主控制器与DSP分布式控制器之间利用CAN总线进行通信。采用速度环及电流环的双闭环控制,并且引入积分分离PID控制作为速度调节器的控制算法,对传统的PID控制进行了改进。
在设计硬件电路和控制算法基础之上,完成了DSP控制软件的设计。软件设计主要包括主程序设计及各种中断子程序设计。中断子程序又包括电机换相及速度计算子程序、PWM输出子程序、速度控制子程序、CAN总线通信子程序等。
关键词:移动机器人,ARM9,DSP运动控制器,无刷直流电机,PWM
I
ABSTRACT
Abstract
In present, the mobile robot has been aplied more and more widely. It has been used in all human life. It has become the focus study to complete the dangerous tasks such as investigation, remove exploder and fire protection with mobile robot. With the mobile robot becoming more and more intelligent, the requirment of motion controller has been improved increasingly. It requires the controller with good real-time and rapid response capacity. The study had designed a motion controller of mobile robot with fully digital control system. It had the function of control, power driver and various overload protection.
The ARM9 processor was used in the motion controller as main command chip and DSP chips as the distributed controllers. The hardware circuits of DSP controller had been designed. It included the least control circuit of DSP, the circuit of motor drive, check current, position detection of motor, over-voltage and under-voltage protection. The main circuits had been analyzed detailed. The main processor ARM9 and distributed processors DSP using CAN bus communicate with each other. The motion controller had double closed loops which were speed loop and current loop. The traditional PID control had been improved. The integral separation PID control had been used in the speed reguator.
Based on the hardware circuits and the control arithmetic, the software design of the DSP controller had been completed. It included the main program and various subprograms of interrupt. The program of motor communication, speed calculation, PWM output, speed control, communication with CAN and so on were also included in the subprogram.
Key words: Mobile Robot, ARM9, DSP Motion Controller, BLDCM, PWM
II
目 录
目 录
摘 要 ........................................................................................................................... I ABSTRACT ................................................................................................................. II 目 录 ......................................................................................................................... III 第一章 绪 论 ............................................................................................................. 1 1.1课题设计的意义 ................................................................................................. 1 1.2 课题来源及国内外研究现状 ............................................................................ 1 1.3 课题设计的主要内容 ........................................................................................ 2 第二章 控制系统总体概述 ......................................................................................... 3 2.1 移动机器人运动控制系统总体结构 ................................................................ 3 2.2 电机的选择 ........................................................................................................ 4 2.2.1 步进电机、有刷直流电机及无刷直流电机比较 ..................................... 4 2.2.2 无刷直流电机结构及工作原理 ................................................................. 5 2.2.3 无刷直流电机的数学模型 ......................................................................... 7 第三章 控制系统硬件电路设计 ............................................................................... 10 3.1 控制系统电源设计 .......................................................................................... 10 3.1.1 驱动板电源设计 ....................................................................................... 10 3.1.2 DSP供电电源专用芯片的匹配电源设计 ............................................. 11 3.2 ARM9主处理器概述及其与CAN总线的连接简介 ..................................... 12 3.2.1 ARM9处理器概述 .................................................................................... 12 3.2.2 ARM9处理器S3C2410X与CAN总线的连接 ...................................... 12 3.3 DSP分布式控制器与DSP最小系统设计 ...................................................... 13 3.3.1 TMS320F2812 DSP芯片简介 .................................................................. 14 3.3.2 DSP最小系统设计 .................................................................................... 15 3.4 CAN功能模块硬件设计 .................................................................................. 20 3.5 PWM信号隔离及驱动电路 ............................................................................. 22 3.6 主电路设计 ...................................................................................................... 23 3.7 电流检测电路设计 .......................................................................................... 25 3.8 转速及转子位置检测电路设计 ...................................................................... 26
III
目 录
第四章 控制系统软件设计 ....................................................................................... 28 4.1 软件开发环境 .................................................................................................. 28 4.2 主程序设计 ...................................................................................................... 28 4.3 中断服务程序设计 .......................................................................................... 30 4.3.1中断捕获模块 ............................................................................................ 30 4.3.2 PWM产生模块 .......................................................................................... 32 4.3.3 定时器1中断模块 ................................................................................... 34 4.3.4电机保护中断模块 .................................................................................... 37 4.4 CAN总线接口通信程序设计 .......................................................................... 38 总 结 ......................................................................................................................... 40 参考文献 ..................................................................................................................... 41 致 谢 ......................................................................................................................... 42 附 录 ......................................................................................................................... 43
IV
第一章 绪 论
第一章 绪 论
1.1课题设计的意义
机器人是一个正在蓬勃发展的重要领域。它集精密仪器、光学、电子遥感技术、自动控制技术、信息技术、计算机技术之大成,形成了一门综合的新技术。机器人技术的出现和发展,使传统工业生产的面貌发生了根本变化,对人类的社会生活产生了重大影响。
移动机器人是集环境感知、动态决策、行为控制与执行等多功能于一体的综合系统,是机器人学的一个重要分支。具体来讲,移动机器人就是脱离人的直接控制,采用遥控、自主或半自主等方式在一定范围内完成特定任务的远动物体[1]。
进入21世纪以来,各种恐怖事件不断发生,迫切需要具有自主运动能力的移动机器人的出现,运用移动机器人完成侦查、排爆及消防等任务。近几年发生的几场局部战争中,机器人都发挥了很大的作用。移动机器人越来越多的运用于侦查地形及可疑爆炸物、拆除炸弹等场合。所以,研制能代替人类在危险、恶劣环境下工作的具有一定自主能力的移动机器人成为当前国内外研究的热点。而移动机器人运动控制器则是根据指令以及传感器信息控制机器人完成一定动作或作业任务的装置,它是移动机器人的心脏,决定了机器人性能的优劣。 随着移动机器人的智能化程度越来越高,对机器人运动控制器的性能要求也就越来越高。特别是随着信息化的进程和计算机科学与技术、信息处理理论与方法等的迅速发展,需要处理的数据量越来越大,移动机器人对精度、数据处理速度和实时性的要求也越来越高,这就迫切需要更加强大的运动控制器的出现[2]。
因此,如果能设计出一款适合于特定机器人的运动控制器,它能提升机器人运动控制的实时性和准确性,同时也能实现移动机器人复杂的控制算法,那将对推动机器人的发展非常重要。
1.2 课题来源及国内外研究现状
本课题来源于科研,根据任务书的具体要求,结合当前机器人的发展现状,研究和开发出一种自主移动机器人。
项目的具体要求为:采用ARM9作为主控制器,TI公司的TMS320F2812芯片为分布式控制器,机器人的主要技术指标为:重量≤50kg;工作时间≥5h;
- 1 -
第一章 绪 论
行程≥2km;最大速度≥3km/h;爬坡能力≥30°;跨越台阶高度≥15cm。
近年来,随着芯片技术的飞速发展,国外以DSP或FPGA作为芯片处理器的运动控制器越来越成为发展趋势。这类控制器用DSP取代传统的单片机,充分利用了DSP的高速数据处理功能、FPGA的超强逻辑处理能力,使得控制器具有高速信号处理能力和高效的通讯能力,并具有高集成度及高可靠性。 在工业市场需求的推动下,大部分DSP运动控制器都是针对数控机床或工业机器人,即主要应用于步进电机,而应用于三相电机控制的DSP控制器普及程度还不够广。但随着对三相电机控制技术需求的增加,国外对这方面的研究已经取得很大突破。
国内的DSP运动控制器起步较晚,之前一般都用单片机或电机专用芯片来构建控制器。直到20世纪90年代,国外各DSP厂家在中国建立第三方。它们为中国的用户提供技术支持以及售后服务,一定程度上推动了国内DSP应用的发展。现在,这些DSP厂家的第三方基本都提供了一整套从直流伺服电机到交流伺服电机的DSP控制器,使得国内DSP控制器技术逐渐缩小了与国外的差距。
1.3 课题设计的主要内容
本次设计的主要内容是:根据机器人的技术要求,设计一个以ARM9作为主控制器、DSP作为分布式控制器的运动控制器,用于移动机器人的电机控制,满足控制的实时性和精确性要求。设计DSP的控制系统和驱动系统硬件,同时设计电机控制的软件程序,然后将硬件和软件结合起来,评估控制器的性能,验证控制方案的可行性。 论文的主要章节介绍:
第一章 主要阐述了课题研究的意义,介绍了课题来源,分析了国内外的研究现状以及设计的主要内容。
第二章 对小型地面移动机器人控制系统进行了简要的概述。同时,根据任务书要求,对电动机进行了选型。介绍了电机的结构、工作原理及控制算法,设计出了控制器的总体结构。
第三章 重点对DSP控制器进行了硬件上的设计,包括控制板、驱动板和电源板的设计。
第四章 主要内容是控制器的软件设计,包括主程序设计、各种中断程序的设计以及CAN总线通信程序的设计。
最后,对整个设计过程进行了概述性的总结。
- 2 -
第二章 控制系统总体概述
第二章 控制系统总体概述
机器人控制系统主要需要满足以下几个条件,概括起来讲就是:系统具有较高的运算处理能力,控制性能优良;系统必须具有较高的实时性和可靠性;系统尽可能的标准化、模块化,具有良好的可扩展性;系统应具有良好的抗干扰能力;控制系统总重量轻、集成度高、体积小、功耗小[3]。
根据任务书的要求,机器人控制系统大体上可以分为以下几种功能模块:上位计算机模块、基于ARM的主控制器模块、基于DSP的分布式控制器模块、CAN总线通信模块、电机及电机驱动模块等。上位机主要负责机器人的远程控制,如远程通信等。ARM处理器主要实现机器人的整体控制,并将机器人的信息通过无线通信,实时反馈给上位机。DSP分布式控制器控制机器人的姿态及运动情况。电机及电机驱动模块能够满足直流电机的实时正常运转需要,为机器人的运行提供动力。
2.1 移动机器人运动控制系统总体结构
控制系统的整体框图如图2-1所示。 无 线 通 信 ARM9 控制器 时钟 电路 光电 隔离 复位 电路 系 统 电 源 电 路 滤 波 电 路 外 部 存储器 DSP 控制器 光电 隔离
图2-1基于DSP小型地面移动机器人运动控制系统结构图
以下简要介绍整个控制系统的工作过程:
运动控制器采用电流环和速度环实现电动机的双闭环控制。其外环为速度环,内环采用电流环。首先,通过霍尔位置传感器信息计算出电机运行中的实时转速,然后将实时电机转速和给定的参考值之间的偏差经积分分离PID调节
- 3 -
CAN总线通信光电 隔离 电 机 驱 动 电 路 直流电动机 信号 调理 信号 调理 电流 采样 转速 采样 第二章 控制系统总体概述
后,输出电流参考值。其次,将电流参考值与电机实际电流进行比较,得到的偏差送入电流调节器进行PI调节,调节后的控制量用于改变PWM的占空比。最后,输出的PWM信号经电压逆变后输入电机,实现电机电流环和转速环的双闭环控制。
软件设计中利用DSP的逻辑运算功能,引入积分分离PID速度控制,弥补PID调节的不足,改善系统的控制性能,减小超调量,缩短速度调整时间。这些都充分体现了DSP在运动控制系统中应用的优越性。
本次设计将重点放在DSP最小系统设计以及DSP分布式控制器对电机的控制、DSP与ARM之间的CAN总线通信上。对于拥有路径规划等功能的ARM主控制器系统设计及其与上位机计算机之间的无线通信只作简要述及。
2.2 电机的选择
2.2.1 步进电机、有刷直流电机及无刷直流电机比较
(1)步进电机能够直接实现数字控制,控制性能好,能快速启动、制动和反转,抗干扰能力强,其运行的角位移和线位移误差不会长期积累。但启动频率过高或负载过大时易出现丢步或堵转,停止时转速过高易出现冲击,且一般无过载能力。因此步进电机不适合作为机器人的驱动电机。
(2)直流电机的转动惯性相对较小,控制特性好,响应速度快,满足机器人的灵敏性要求;且有很宽的调速范围,速度快,满足机器人的快速性要求;低速平稳性好,满足稳定性要求;机械特性硬,过载能力强,可以满足机器人的越障和爬坡要求。但是由于有换向器和电刷,导致电机可靠性变差,寿命较短,这将严重影响机器人的实际应用。
(3)无刷直流电机作为一种新型的无级变速电动机,不仅具有交流电机体积小、重量轻、惯性小等特点,而且拥有直流电动机优良的调速性能,没有机械换向器的特点。它结构简单,起动转矩大,启动电流小,运行平稳,噪声低,效率高,工作寿命长,非常适合机器人的运行要求[4]。
无刷直流电机如果采用PWM控制,只需要通过软件改变PWM波形的占空比就可以实现调速,这对提高移动机器人的灵活性非常有帮助。
考虑到机器人的体积和重量,带减速器的电机成为首选,这样只需要将电机输出轴和驱动轮连接起来即可。最后,选择了瑞士MAXON公司的直流无刷伺服电机EC60系列作为机器人驱动电机(重量为2.45Kg),所配减速器为德国艾斯勒公司的产品,减速比70/1,运行效率为75%。表2-1为所选用的移动机器
- 4 -
第二章 控制系统总体概述
人直流电机参数。
表2-1 移动机器人直流电机参数
额定功率 额定电压 额定转矩 堵转电流 400W 48V 堵转转矩 11000mNm 机械时间常数 4.3ms 空载电流 740mA 空载转速 5400rpm 速度常数 113rpm/V 最大效率 相间电阻 相间电感 转子惯量 86% 0.37Ohm 0.27mH 831gcm2 最大工作电流 9.3A 139A 688mNm 转矩常数 85mNm/A 2.2.2 无刷直流电机结构及工作原理
MAXON公司的EC系列电机属于无刷直流电动机,它主要有电机本体,霍尔位置传感器和电子开关线路三部分组成。电机本体主要包括定子和转子两部分。定子绕组分为A、B、C三相,每相相位相差120°,采用星形连接,三相绕组分别与电子开关线路中相应的功率开关器件连接。转子由N、S两极组成,极对数为1。图2-2为三相两极无刷直流电机结构。
图2-2 三相两极无刷电机的结构
电子开关线路用来控制电动机定子上各相绕组通电的顺序和时间,主要有功率逻辑开关单元和霍尔位置传感器信号处理单元两部分组成。功率逻辑开关单元将电源功率以一定的逻辑分配关系分配给电机定子上的各相绕组,以便使电机产生持续不断的转矩。霍尔位置传感器的作用是检测转子磁极相对于定子绕组的位置信号,进而控制逻辑开关单元的各相绕组的导通顺序和导通时间。
当定子绕组的某一相通电时,该电流与转子永久磁钢的磁极所产生的磁场相互作用而产生转矩,驱动转子旋转,再由霍尔位置传感器将转子磁钢位置变换成电信号,去控制电子开关线路,从而使定子各相绕组按一定次序导通,定子相电流随转子位置的变化而按一定的次序换相。由于电子开关线路的导通次序与转子转角同步,因而起到了机械换向器的换向作用。
电机采用全桥驱动方式,下面是电机在全桥驱动方式下的工作原理。图2-3是无刷直流电机三相绕组星形连接全桥驱动电路原理图。采用两相导通三相六
- 5 -
第二章 控制系统总体概述
状态工作方式,每隔1/6周期换相一次,每次换相一个功率管,每个功率管依次导通120°电角度,功率管导通顺序为Q1Q4~Q1Q6~Q3Q6~Q3Q2~Q5Q2~Q5Q4。其中Q1~Q6为六个功率开关管,他们组成三相桥式逆变器。采用霍尔位置传感器来检测电机的转子位置信号,控制器根据电机的位置信息按一定顺序组合六个功率开关管的导通,这样电机的绕组也就按顺序导通,实现电机的运转。图2-4为无刷直流电机驱动时的反电势和电流波形图,梯形波E为三相绕组反电动势波形,矩形波I为所对应绕组流过的电流波形。功率开关管导通方式如图2-5所示。
+Q1Q3Q5ACBQ2-Q4Q6 图 2-3 电机全桥驱动方式电路图
E Ia aE ItEIb b t Ec Ic t
图 2-4 无刷直流电机反电势和电流波形图
1-4T11-63-63-25-25-4wtT2wtT3wtT4 wtT5wtT6wt 图 2-5 三相六状态120°导通方式
- 6 -
第二章 控制系统总体概述
电机运行过程中,电子换相的关键在于:当检测到当前转子位置变化的同时,查询换相逻辑表,并开通下一位置状态所对应的功率电子开关组合。表2-2列出了电机正传和反转时三相逆变器的导通顺序。
表2-2 电机全桥驱动的通电规律 通电顺序 转子位置(电角度) 开关管 A相 B相 C相 0 60 + - 正传(逆时针) 0 60 - + 反转(顺时针) 60 120 180 240 300 360 240 180 120 60 120 180 240 300 360 300 300 240 180 120 + - + - - + - + - + + - + - + - - + - + 1,4 1,6 3,6 3,2 5,2 5,4 3,6 1,6 1,4 5,4 5,2 3,2 注:表中“+”表示正向通电,“-” 表示反向通电。
根据每个导通状态PWM作用管子数目的不同,把PWM调制分成“单斩”
和“双斩”两种方式。采用单斩PWM方式对无刷直流电动机进行控制时,流过电机绕组的最大电流波动值是双斩PWM方式下的一半。并且,在本设计中由于采用电流闭环控制实现对无刷直流电机的转矩控制,当电流波动较大时电机会出现抖动的现象。因此为了减小流过电机的电流脉动和功率管的开关损耗,设计中采用上桥臂直通、下桥臂单斩方式对无刷直流电动机进行调节控制。
2.2.3 无刷直流电机的数学模型
现在仅以“120°导通型”电机为例,对与电动机驱动相关的电磁转矩和转速特性进行研究分析:对于星形连接的三相无刷直流电机,在理想条件下,任何时刻只有两相绕组通电导通。导通的两相电流和两相反电动势大小都分别相等但方向相反。无刷直流电机的电磁转矩方程为:
TemNp(eaiaebibecic)/r
(2-1)
Nec为三相绕组瞬时电势,eb、式中,Tem为电机的电磁转矩,p为电机极对数,ea、ia、ib、ic为三相绕组瞬时电流,r为电机转子角速度。
在理想情况下,由于任何时刻定子绕组只有两相导通,不导通相的电流等于零。则电磁功率又可表示为:
PeNp(eaiaebibecic)2NpEmIm
(2-2)
式中,Em为每相反电动势,Im为逆变器直流侧电流,则电磁转矩又可表示为:
TemPe/r2NpEmIm/r
- 7 -
(2-3)
第二章 控制系统总体概述
考虑到定子每相绕组的反电动势正比于转子角速度,即:
EmKer
(2-4)
式中,Ke为电势常数。将(2-4)代入(2-3),则电磁转矩可表示为:
Tem2NpKeImKTIm
其中,KT2NpKe为转矩常数。
(2-5)
在忽略永磁体阻尼的情况下,转子运动方程表示为:
JdrNp(TemTL) dt (2-6)
式中,TL为负载转矩,J为电机转动惯量。 由式(2-4)可以得出电机的转速方程:
rEmU2RsImU2RsTem KeKeKeKTKe (2-7)
式中,U为电机绕组两端的等效电压值,Rs为电机各相绕组电阻值,UR为电枢
绕组的电阻压降,UL为绕组电感压降。从上公式(2-5) (2-7)可以看出: (1)无刷直流电机输出电磁转矩与逆变器直流侧电流值为常系数关系,调节逆变器直流侧电流的大小可实现电机输出转矩调节;
(2)当逆变器直流侧电流恒定不变,即电机的输出电磁转矩恒定时,电机转速与电机绕组两端所加等效直流电压值成正比,调节电机绕组两端所加等效直流电压值U可实现电机的调速控制。
图2-6是利用开关管进行PWM调速控制的原理图和输入输出电压波形。
UsUiMD20UstTt1t2UiD1t
(a)原理图 (b)输入/输出电压波形图
图2-6 PWM调速控制原理和电压波形图
- 8 -
第二章 控制系统总体概述
电机电枢绕组两端的电压平均值U为:
Ut1US0t1USUS (2-8)
t1t2Tt1T (2-9)
式中,是占空比。改变的值即可以改变端电压的平均值,从而达到调
速的目的,这就是电机的PWM调速原理。在PWM调速时,占空比是一个重要的参数。由上式及Tt1t2可知,以下三种方法可以改变占空比的值:
(1)定频调宽法:保持开关周期T不变,调节开关导通时间t1. (2)定宽调频法:保持开关导通时间t1不变,改变开关周期T。 (3)调宽调频法:t1和T都可调,使占空比改变。
本章小结:本章主要阐明了移动机器人运动控制系统的总体结构,讨论了电机的选型,无刷直流电机的结构、工作原理及数学模型,简要介绍了无刷直流电机的控制方法。
- 9 -
第三章 控制系统硬件电路设计
第三章 控制系统硬件电路设计
3.1 控制系统电源设计
设计电源时要考虑的因素有:输出的电压、电流、功率;输入的电压、电流;安全因素;输出纹波;电磁兼容和干扰;体积和功耗限制;成本限制等。 控制系统中,电源不稳定是系统很大的干扰源。电源在开关时产生的电源噪声沿着电源线传播,或在芯片状态发生改变时,电源功耗的变化均会在电源和地线之间产生噪声。因此在电源电路设计中,要在48V电源信号的电源线和地线之间并联一个大电解电容;在每个集成电路的电源端并联一个0.1uF去耦电容滤除电源波动在芯片电源引脚引起的电压扰动,降低电流冲击的峰值,防止因为电源耦合造成元器件不能正常工作。数字电路中典型的去耦电容值是0.1μF。 考虑到机器人重量和行程限制,且便于给直流电机供电,整个控制系统使用4块天能6-DZM-12型蓄电池串联供电。天能电池容量大、比能量高、自放电率低、循环寿命长、安全可靠。6-DZM-12电池参数见表3-1。
表3-1 天能6-DZM-12型蓄电池参数表
标称电压 12V 额定容量 12HR 参考重量 4.2kg 尺寸(长) 151mm 尺寸(宽) 99mm 尺寸(高) 95mm 3.1.1 驱动板电源设计
由于驱动板上的驱动芯片需要+15V的电压和较大的驱动电流,其电源还要与DSP控制板电源隔离,因此专门为其设计了电源。经过仔细比较各电源芯片,最后选定了LM2576HV-5.0和LM2576HV-15作为电源芯片。图3-1为LM2576的典型应用电路。
VCC15/VCC5VCC481+VINFEEDBACK4L1100uHC21000uFGNDC1ON/OFFOUTPUTU1LM25762100uF5GGNDGGNDGGND3D11N5822GGNDGGND
图 3-1 LM2576的典型应用电路
- 10 -
第三章 控制系统硬件电路设计
LM2576系列稳压器是单片集成电路,能够提供降压开关(BUCK)的各种功能,能驱动3A的负载,有优异的线性和负载调整能力。这些稳压器的内部都含有频率补偿器和固定频率振荡器,将其外部元件减到最少,大大简化了电源的设计。
当使用LM2576HV-15时可输出15V电压,而使用LM2576HV-5.0就可输出5V电压,完全能够满足驱动板的供电需求。使用时输入端接48V直流电压,其输出电流可以达到3A。
3.1.2 DSP供电电源专用芯片的匹配电源设计
(1)从串联的蓄电池中间抽头获取24V电压,经过DC/DC变换器,将24V变换成5V,以满足DSP专用供电芯片的需要。
方案一:应用MC34063 DC/DC变换器控制电路将24V直流降压为5V。MC34063是单片双极型线性集成电路,专用于直流-直流变换器控制部分。片内包含温度补偿带隙基准源、占空比周期控制振荡器、驱动器和大电流输出开关,能输出1.5A的开关电流。它能使用最少的外接元件构成开关式升压变换器、降压式变换器和电源反向器。图3-2为MC34063 DC/DC变换器应用电路。 100uH8VCC24Rsc0.3371220uHVDD5D1(SBD)6MC34063253.6K431.2K470P100uF470uF 图 3-2 MC34063 DC/DC变换器应用电路
方案二:应用LT1936 DC/DC变换器控制电路将24V直流降压为5V。图3-3为LT1936 DC/DC变换器应用电路。
虽然LT1936 DC/DC变换器控制电路与MC34063 DC/DC变换器控制电路的可靠性都比较好,输出电流亦满足设计要求,但是MC34063 DC/DC变换器控制芯片价格非常便宜,外围电路也较为简单,因次选择了方案一。
- 11 -
第三章 控制系统硬件电路设计
15uHVDD5L1C30.22uFVCC24D21234C2R131.6K876510K22uF1N4007BOOSTCOMPVINVCSWFBGNDSHDNLT1936R2VCC24C14.7uFGGND
图 3-3 LT1936 DC/DC变换器应用电路
3.2 ARM9主处理器概述及其与CAN总线的连接简介
3.2.1 ARM9处理器概述
ARM9系列处理器是英国ARM公司设计的主流嵌入式处理器。ARM9采用ARMV4T(Harvard)结构,五级流水处理以及分离的Cache结构,平均功耗为0.7mW/MHz。时钟速度为120MHz~200MHz,每条指令平均执行1.5个时钟周期。与ARM7系列相似,其中的ARM920、ARM940和ARM9E为含Cache的CPU核。性能为132MIPS(120MHz时钟,3.3V供电)或220MIPS(200MHz时钟)。本次设计选择了基于ARM920核的微处理器S3C2410X,利用GPRS进行远程无线通信[5]。
S3C2410X微处理器是一款由SAMSUNG公司设计的低功耗、高集成度微处理器,现在广泛应用于PDA、移动通信、路由器、工业控制等领域。
3.2.2 ARM9处理器S3C2410X与CAN总线的连接
CAN总线是由德国BOSCH公司为实现汽车测量和执行部件之间的数据通讯而设计的、支持分布式控制及实时控制的串行通讯网络。
CAN总线具有如下特点:结构简单,通信介质可以是双绞线、同轴电缆或光纤;通信方式灵活;可以多主从方式工作,可以点对点、点对多点及全局广播方式发送和接收数据;采用短帧通讯格式,保证了实时性和可靠性,可满足一般工业应用;非破坏总线仲裁技术,具有多优先级;集成了CAN协议的物理层和数据链路层功能,可完成对通讯数据的成帧处理工作。
CAN模块一种是独立的,另一种是和微处理器集成在一起的。前者的使用灵活,可以和很多种单片机、微处理器接口;后者可以简化电路的设计,提高设计效率。本系统采用的是一种独立的CAN总线控制器SJA1000。它是Philips
- 12 -
第三章 控制系统硬件电路设计
公司PCA82C200 CAN控制器的替代品,且增加了一种新的操作模式—PeliCAN,这种模式支持CAN2.0B协议[6]。SJA1000的硬件结构框图如图3-4所示。
图 3-4 SJA1000的硬件结构框图
SJA1000的地址数据总线是复用的,通过ALE信号下降沿可以锁存总线上的地址信号。S3C2410X与SAJ1000的连接如图3-5所示。SAJ1000与CAN物理总线的连接将在CAN功能模块硬件设计章节给予说明。
U1S3C2410XVDD5I/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OI/OINPUT/CLKCANRSTGNDVDD5U2CAN AD0CAN AD61C1CAN AD1CAN AD72104CAN AD2CAN ALE3CAN AD3CAN CS4CAN AD4CAN RD5CAN AD5CAN WR6CAN AD6CAN CLKOUT7CAN AD78CAN ALE9CAN CS10CAN RDVDD511CAN WR30P12CAN CLKOUT2TXO13X1CANRST1430MHzR230PSAJ1000AD5AD4AD3AD2AD1AD0VDD1VSS2RX1RX0VDD2RSTINTVSS3VDD52827262524232221201918171615CAN AD5CAN AD4CAN AD3CAN AD2CAN AD1CAN AD0VDD5AD6AD7ALECSRD/EWRCLKOUTVSS1XTAL1XTAL2MODEVDD3TX0TX1R6200C2104TROCAN RST1K
图 3-5 S3C2410X与CAN总线连接示意图
3.3 DSP分布式控制器与DSP最小系统设计
目前,机器人电机控制器的主控芯片主要有三种解决方案:电机专用集成芯片、单片机和DSP芯片。
电动机控制专用集成芯片具有系统使用元件少、集成度高、响应速度快、可靠性好、芯片价格较低及开发周期短等优点。虽然这些芯片集位置检测、译码、过流、过热、欠压及正反转选择等许多功能于一身,但是它们只是将较简
- 13 -
第三章 控制系统硬件电路设计
单的软件算法固化在芯片内部,使其不具备系统扩展和升级的能力,降低了系统的灵活性。同时这种系统的控制精度一般都较低,难以满足移动机器人能高性能、高精度的要求。
单片机作为机器人运动控制器时,也存在很多缺点。首先,一般单片机上不具备电机控制所需要的专用外设(如PWM脉冲发生器、CAP捕获口等),即以单片机为核心的运动控制器仍然需要较多的外围元器件,软硬件设计的工程量较大,并增加了系统硬件的复杂性,降低了系统的可靠性。其次,单片机一般采用冯·诺依曼总线结构,处理器的处理能力有限,难以满足机器人运算量较大的实时信号处理的需求。再次,在对无刷直流伺服电机的控制上,特别是对逆变器的开关控制上,单片机很难达到理想的开关速度,这对无刷直流伺服电机来说会产生很大的转矩波动。
而DSP芯片作为电机控制器的控制芯片,具有如下特点: (1)改进的哈佛结构。 (2)专用的乘法器和累加器。 (3)DSP芯片采用多级流水线技术。 (4)芯片内部集成度高。
(5)片上具有大容量的存储器,能够满足控制系统存储数据及程序的要求。 上述优点都使得DSP控制器成为处理速度快、能力强、精度高及功耗较低的高性能电机控制器。由于之前控制电机的驱动器都是外购的,价格较贵而且每个驱动器只能驱动一个电机,这样八个电机就需要八个驱动器,占据了机器人很大的空间;而本次设计的基于DSP的运动控制器可同时控制两台电机,使得机器人结构更加紧凑。
3.3.1 TMS320F2812 DSP芯片简介
德州仪器所生产的TMS320F2812是基于TMS320C2xx内核的定点数字信号处理器。器件上集成了多种先进的外设,为电机及其他运动控制领域应用的实现提供了良好的平台。针对应用最佳化,并有效缩短产品开发周期,F28x核心支持全新CCS环境的C编译器,可以使用C语言和汇编语言混合编程。值得一提的是,F28x DSP核心支持特殊的IQ-math函式库,系统开发人员可以使用便宜的定点数DSP来发展所需的浮点运算算法[7]。TMS320F2812的功能方块图如附录1所示。
本设计选用TMS320F2812作为分布式控制芯片,充分利用DSP片内丰富的
- 14 -
第三章 控制系统硬件电路设计
外设资源,使控制系统的电路设计大为简化。在本系统中,通过DSP的外设模块单元实现如下功能:
(1)通过事件管理器(EV)模块的PWM完全比较单元产生6路死区可编程的PWM信号,经驱动单元及功率转换电路同时对无刷直流电动机进行控制; (2)利用EV模块中的捕获单元(CAP)中断对电机换相时刻进行捕获;根据换相时捕获端口状态查询换相表,实现对电机的换相控制;
(3)当产生故障信号时,利用EV模块内部的驱动保护中断单元,将所有PWM输出引脚置为高阻态,实现对蓄电池欠压及电机过流保护;
(4)采用片内高精度的A/D转换器实现对电机电流等模拟量的采样; (5)利用DSP内部丰富的中断资源和定时/计数功能实现对电机故障等中断和转速的检测。利用DSP的CAN模块实现与ARM9主控制器的通信。
3.3.2 DSP最小系统设计
1.时钟电路设计
在DSP系统中,时钟电路是处理数字信息的基础,同时也是产生电磁辐射的主要来源,其性能好坏直接影响到系统是否正常运行,所以时钟电路在数字系统设计中占有至关重要的地位。TI DSP系统中的时钟电路主要有三种:无源晶体电路、有源晶振电路、可编程时钟芯片电路[8]。
(1)无源晶体电路最为简单,如图3-6所示。只需晶体和两个电容,价格便宜,体积小,能满足时钟信号电平要求,但驱动能力差,不可提供多个器件使用,频率范围小(20kHz~60MHz),使用时还须注意配置正确的负载电容,使输出时钟频率精确、稳定。
(2)有源晶振电路如图3-7所示,其电路简单、体积小、频率范围宽(1Hz~400MHz)、驱动能力强,可为多个器件使用。但由于晶振频率不能改变,多个独立的时钟需要多个晶振。在使用晶振时,要注意时钟信号电平,一般晶振输出信号电平为5V或3.3V,对于要求输入时钟信号电平为1.8V的器件(如VC5401、 F281X等),不能选用晶振来提供时钟信号。
(3)可编程时钟芯片电路较简单,一般由可编程时钟芯片、晶体和两个外部电容构成。有多个时钟输出,适于多个时钟源的系统。驱动能力强,频宽最高达200MHz,输出信号电平一般为5V或3.3V。常用器件为CY22381(封装如图3-8,有3个独立的PLL,3个时钟输出)和CY2071A(有1个PLL,3个时钟输出)。采用可编程时钟芯片电路,可在线对系统工作时钟进行控制。可以在
- 15 -
CY22381XA2XA3XA4XA5XA6XA7XA8XA9XA10XA11XA12XA13XA14XA15XA16XA17XA18TMS320F2812PGFGPIOB9-CAP5_QEP4GPIOB10-CAP6_QEPI2GPIOB11-TDIRBGPIOB12-TCLKINBGPIOB13-C4TRIPGPIOB14-C5TRIPGPIOB15-C6TRIPGPIOD0-T1CTRIP_PDPINTAGPIOD1-T2CTRIP/EVASOCGPIOD5-T3CTRIP_PDPINTBGPIOD6-T4CTRIP/EVBSOC锁相环倍频,获得所需工作GPIOE0-XINT1_XBIOGPIOE1-XINT2_ADCSOC8GPIOE2-XNMI_XINT13第三章 控制系统硬件电路设计 较低的外部时钟源的情况下,通过内部集成的PLL频率。 DSP(内含OSC)X1X21X1NC312CLKCGNDXTALINFS/OEVDDCLKA晶体765X1晶振2XMP/MCXHOLDXHOLDAXZCS0AND1XZCS2XZCS6AND7XWEXRDXR/WXREADY3C1C2 图 3-6无源晶体电路 3.3VGND4 4GPIOF0-SPISIMOAGPIOF1-SPISOMIAGPIOF2-SPICLKAGPIOF3-SPISTEA01XTALOUTCLKB 图 3-7 有源晶振电路 图 3-8 可编程时钟芯片GPIOF4-SCITXDAGPIOF5-SCIRXDAGPIOF6-CANTXAGPIOF7-CANRXAGPIOF8-MCLKXAGPIOF9-MCLKRAGPIOF10-MFSXAGPIOF11-MFSRAGPIOF12-MDXAGPIOF13-MDRAGPIOG4-SCITXDBGPIOG5-SCIRXDBTKGCPIOF14-XF_XPLLDISTMSTDITEDMOU0X1/XCLKINXCLKOUTTESTSEL一般TI DSP芯片能提供多种灵活的时钟选项,可以使用片内/片外振荡器、片内PLL或由硬件/软件配置PLL分频/倍频系数。本次设计采用封装好的晶体振荡器。为降低时钟的高频噪声干扰,提高系统整体的性能,石英晶体频率等于150MHz(DSP芯片主频)80%25%=30MHz[9]。故选取30MHz的晶体,能够满足DSP的工作要求。两个负载电容选取24pF,可对时钟频率起到微调作用。为使TMS320F2812运行在150MHz频率下,通过内部倍频到150MHz。无源晶体与DSP的连接电路如图3-9所示。 TEST1XRSTEST2EMU1TRSTVSSVSSVSSVSSVSSVSSVSSVSSVSSVSSVSSVSSVSSVSSVSSX219323852587078869190577617196761635113120129142153134160136126131127137146TCKTMSTDITMDOEU0EMU1TRSTX1XRSX2XF_XPLLDISC5024pXCLKOUT14030MHzR9VDD33C5124p 4K7图 3-9 无源晶体与DSP的连接电路
2. DSP复位电路设计
对于实际的DSP应用系统,特别是产品化的DSP系统,可靠性是一个不容忽视的问题。实际上DSP系统的时钟频率较高,在运行时极有可能发生干扰和被干扰的现象,严重时系统可能会出现死机现象[10]。
为克服这种情况,除在软件上采取一些保护措施外,硬件上也必须做相应处理。最有效的措施是采用具有监视功能的自动复位电路。自功复位电路除了具有上电复位功能外,还具有监视系统运行并在系统发生故障或死机时再次进行复位的能力。
其基本原理是提供一个用于监视系统运行的监视线,当系统正常运行时,
- 16 -
第三章 控制系统硬件电路设计
在规定的时间内给监视线提供一个高低电平发生变化的信号。如果在规定的时间内此信号不发生变化,自动复位电路就认为系统运行不正常,对系统进行复位。
图3-10为复位电路原理图。由于上拉电阻R1的作用,复位端保持高电平,当按下按钮SW时,复位端产生一个低电平,使得DSP复位。图中C1的作用是消除抖动,C2协助实现上电复位。本设计的复位电路体现在DSP电源电路中。
VDD33R11KC1SW1103C210uFRESET
图 3-10 复位电路原理
3. DSP电源设计
TMS320LF2812是一种低功耗DSP,工作电压为3.3V,需要设计专门的电源电路来满足要求。DSP最小系统一般有两种电压:核供电(1.8V)和I/O供电(为3.3V),两者供电是分开的。同时,由于芯片的A/D模块属于模拟电路部分,为减少数字电路部分对这部分的干扰,要求提供相隔离的电源电路。可以选用两个电源芯片,也可以使用一个电源芯片,但是通过电感或者磁珠进行隔离[11]。 DSP电源加电顺序:核电压要比 I/O 电压先加载, 至少要同时加载。其原因在于:若只有CPU内核获得供电,周边I/O没有供电,对芯片不会产生任何损害,只是没有输入/输出能力而已;如果反过来,周边I/O得到供电而CPU内核没有加电,那么芯片缓冲/驱动部分的三极管将在一个未知状态下工作,这是非常危险的。在有一定安全措施保障的前提下,允许两个电源同时加电,两个电源都必须在25ms内达到规定电平的95%[12]。如果I/O电压存在而核电压不存在,会损害内核。同时电源关闭也应该遵循这样的条件。一般有如下三种方法:
方法一:两个电同时上,选用两款同样的电压芯片,只是其输出电压可调; 方法二:选用带双路输出的电源芯片,芯片上有控制两路输出顺序的管脚; 方法三:使用两个不同的电源芯片,芯片上有相当于输出使能的管脚。 以下给出具体实现方案:
方案一:采用TPS767D301作为电源芯片,电路如图3-11所示。TPS767D301
- 17 -
第三章 控制系统硬件电路设计
芯片可以输出3.3V和1.8V电压,具有电源监控功能,能够在电源电压波动时及时给DSP复位,确保系统运行的稳定性。
1234567891011121314NC1RESETNCNC1GNDNC1EN1FB/NC1IN1OUT1IN1OUTNC2RESETNCNC2GNDNC2ENNC2IN2OUT2IN2OUTNCNCNCNCTPS767D301R210K2827262524232221201918171615R518.2KVDD18L2R1301KVDD5L1R3R4301K250KC633uFL3C833uFVDD33C347uFC20.1uFC40.1uFC30.1uFC533uFC733uFQ12N2222
图 3-11 应用TPS767D301芯片的DSP电源电路图
方案二:采用TPS70151作为电源芯片,电路如图3-12所示。TPS70151除了可以稳定输出3.3V、1.8V电压外,同时具有复位功能。TPS70151复位脚与DSP复位脚相连接,当电源电路出现波动时,其复位脚可以输出200ms的复位信号,保证DSP芯片复位。该芯片同时具有手动复位功能。另外TPS70151的SEQ引脚接地,保证了电源上电顺序的要求。
VDD33R74K7NCVOUT1VOUT1VSERSOR1/FB1PG1RESETVSENSOR2/FB2VOUT2VOUT2NC20VDD3319181716PG1514131211XRSPGU5VDD5123MR14PG567S1SWC101048910NCVIN1VINMR1MR2ENSEQGNDVIN2VIN2MR1C9104C4447uFR84K7C11104VDD33VDD18C13104TPS70151C4547uFC12104
图 3-12 应用TPS70151芯片的DSP电源电路图
方案一和方案二都可以很好的完成DSP电源设计。方案一的芯片应用电路较为复杂而且本身没有手动复位电路,因此本次设计我们选择方案二。
- 18 -
第三章 控制系统硬件电路设计
4.存储空间扩展
TMS320F2812内置18 KB RAM,本设计又扩展了256 KB SARAM。芯片选用IS61LV25616 (256K×16位),其数据访问时间为10 ns。由于TMS320F2812采用统一寻址方式,因此扩展的SARAM既可以作程序存储器也可以作数据存储器。同时,为了使保存的数据掉电不丢失,扩展了32 KB EEPROM,选用AT28LV256(32K×8位),用2片组成32K×16位。外扩存储器与TMS320F2812的接口电路如图3-13所示。将SARAM分配在ZONE2,地址范围为0x80000~0xBFFFF,片选信号与TMS320F2812的XZCS2相连。EEPROM分配在ZONE6,地址范围为0x10000~0x107FFF,片选信号为ZCS6AND7。
U3D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D038373635323130291615141310987284039XWE17XRD41XZCS26I/O15A17I/O14A16I/O13A15I/O12A14I/O11A13I/O10A12I/O9A11I/O8A10I/O7A9I/O6A8I/O5A7I/O4A6I/O3A5I/O2A4I/O1A3I/O0A2NCA1UBA0LBVCCWEVCCOEGNDCEGNDIS61LV25616444342272625242322212019185432111331234A17A16A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0U4XA14XA13XA12XA11XA10XA9XA8XA7XA6XA5XA4XA3XA2XA1XA0859228341011121314151617A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0AT28LV256VDD33I/O7I/O6I/O5I/O4I/O3I/O2I/O1I/O02625242322201918XA14XA13XA12XA11XA10XA9XA8XA7XA6VDD33XA57XA46XWEXA31XRDXA227XZCS6AND7XA121XA0XD15XD14XD13XD12XD11XD10XD9XD8859228341011121314151617U5A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0AT28LV256I/O7I/O6I/O5I/O4I/O3I/O2I/O1I/O02625242322201918XD7XD6XD5XD4XD3XD2XD1XD0VDD33VCCWEOECEGND76XWE1XRD27XZCS6AND721VCCWEOECEGND
图 3-13 外部存储器与TMS320F2812的接口电路
5. JTAG接口电路设计
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于调试。一般支持JTAG的CPU内都包含了这两个模块。
JTAG是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的JTAG 测试工具对内部节点进行测试。标准的JTAG接口为4线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。本设计中使用JTAG接口实现软件在线调试和仿真[13]。JTAG仿真口电路如图3-14所示。
- 19 -
第三章 控制系统硬件电路设计
P4VDD33TMSTDI135791113JTAG2468101214VDD33R35TRSTTDOC18104TCKEMU0R344K7EMU14K7C19104
图 3-14 JTAG接口电路图
3.4 CAN功能模块硬件设计
TMS320F2812中集成了增强型控制区域网络(eCAN)总线通信接口,该接口与现行的CAN2.0B标准接口完全兼容,带有32个完全可配置邮箱和定时邮递功能的增强型CAN总线模块,能够实现灵活稳定的串行通信接口。TMS320F2812的CAN控制器为CPU提供完整的CAN协议,减少了通信时CPU的开销。 TMS320F2812的CAN控制器模块是一个完全的CAN控制器,具有可编程的位定时器、中断配置可编程、可编程的CAN总线唤醒功能、自动回复远程请求、总线错误诊断等功能,可以工作在标准模式和扩展模式。内置32个可配置的接收/发送邮箱完成数据收发,可进行自测试[14]。
本系统采用TMS320F2812芯片自带的eCAN作为CAN控制器,使DSP方便的介入到CAN总线,不必外加CAN控制器来实现CAN总线的底层协议。 为提供对总线的差动发送和接收功能,一般在CAN控制器和物理总线间以及前面提到的SAJ1000与CAN物理总线之间添加驱动芯片。驱动电路有多种设计方案:
方案一:采用3.3V供电的芯片SN65HVD230 CAN总线收发驱动电路,如图3-15所示。
方案二:采用5V供电的芯片PCA82C250 CAN总线收发驱动电路,如图3-16所示。
一般在CAN控制器和物理总线间采用SN65HVD230驱动芯片,但由于SN65HVD230为3.3V供电,而PCA82C250采用5V供电,为了便于驱动芯片隔离电源的设计,选择了使用5V供电的CAN总线收发驱动芯片的方案二。
- 20 -
第三章 控制系统硬件电路设计
CANGNDCANVDDU36N137VDD3312R1CANTXA341KNCVCCAENKOUTNCGND8765CANGNDVDD338765U46N137VCCNCENAOUTKGNDNC1234VDDR31KR4R54704700.1uC5CANGNDR747KU53412VCCRsRXDCANHTXDCANLGNDVref8765J1CANHCANLR812012HEADER 2CANRXACANGNDSN65HVD230 图 3-15 采用芯片SN65HVD230的CAN总线收发驱动电路
CANGNDCANVDDU36N137VDD3312R1CANTXA341KNCVCCAENKOUTNCGND8765CANGNDVDD338765U46N137VCCNCENAOUTKGNDNC1234VDDR31KR4R533330.1uC5CANGNDR710KU53412VCCRsRXDCANHTXDCANLGNDVref8765J1CANHCANLR812012HEADER 2CANRXACANGNDPCA82C250
图 3-16 采用芯片PCA82C250的CAN总线收发驱动电路
有了以上电路,就可以实现TMS320F2812通过CAN总线的实时通信。如图3-17所示。
图 3-17 TMS320F2812通过CAN总线的实时通信
- 21 -
第三章 控制系统硬件电路设计
3.5 PWM信号隔离及驱动电路
1. PWM信号隔离电路
由于电机为感性负载,大电压干扰信号可能通过信号线窜入DSP控制器,因此DSP控制板上的PWM输出信号需要和驱动板上的控制信号隔离。鉴于本设计中DSP输出PWM信号的频率比较高,因此采用高速光耦HCPL-063A实现对PWM信号的隔离。
PWM信号隔离电路如图3-18所示(图为6路中的2路)。图中输入端VDD33为DSP控制板上的+3.3V电压信号,输出端VCC5为驱动电路板电源产生的+5V电压。PWM1~6为DSP控制器产生的6路PWM信号,GPWM1~6为光耦隔离后输入到电机驱动芯片的6路信号。光耦HCPL-063A输入输出两侧的电源信号不相通,这样就起到了信号隔离的作用。
VCC5R1R212K12KVDD33PWM1PWM2R4470R3470U11234HCPL-063AVCCVO1VO2GND6785GGNDC10.1uGGNDGPWM1GPWM2IN1+IN1-IN2-IN2+VDD33
图 3-18 PWM信号的隔离电路
2.功率驱动电路
功率驱动电路是将输入直流电压逆变成所需要的“交流”电压来驱动无刷直流电机。由于上下桥臂管导通顺序及导通时间的长短不同,从而使电机准确换相并且能达到“变频”调速。系统中功率逆变电路由6只功率开关管组成,电机功率逆变电路设计主要有3种方法[15]:
(1)采用驱动芯片加IGBT的形式,该结构适用于大功率电机。 (2)采用智能功率模块,本身具有过压、欠压、过流和温度保护功能,但体积较大,价格较高。
(3)采用驱动芯片加MOSFET的形式,适用于中小型电机。
本设计中采用驱动芯片加MOSFET的形式。DSP输出的PWM信号经光耦隔离后,送到驱动芯片输入端,由驱动芯片驱动功率MOSFET。驱动芯片采用
- 22 -
第三章 控制系统硬件电路设计
IR2136,该芯片只需一个供电电源即可驱动三相桥式逆变电路中6个MOSFET功率开关器件,使驱动电路简单可靠。
IR2136正常工作时,输入的6路PWM驱动信号经输入信号处理器处理后变为6路输出脉冲,功率管驱动下桥臂的信号LO1~LO3经输出驱动器功率放大后,控制功率开关管。功率管驱动上桥臂的信号HO1~HO3经集成于IR2136内部的3个脉冲处理器和电平移位器中的自举电路进行电位变换,变为3路电位悬浮的驱动脉冲,经严格的驱动脉冲与否检验之后,进行功率放大,加到被驱动的功率管。
如果电机发生过流或直通,导致电流检测单元送来的信号高于0.5V时,则IR2136内部的电流比较器迅速翻转,使故障逻辑处理单元输出低电平,一方面封锁6路输入脉冲信号处理器的输出,使IR2136的输出全为低电平,保护功率开关管;另一方面,IR2136的FAULT脚给出故障指示。当IR2136驱动上桥臂功率管的自举电源工作电压不足时,则该路的驱动信号检测器封锁该路的输出,避免功率器件因驱动信号不足而损坏。若逆变器同一桥臂上两个功率器件的输入信号同时为高电平,则IR2136输出的两路门极驱动信号全为低电平,从而可靠地避免上下桥臂直通[16]。
图3-19给出了IR2136驱动电路图。图中6路GPWM信号为DSP通过光耦隔离后输入到IR2136的驱动控制信号,A、B、C输出作为无刷直流电机的三相输入信号。C2~C4是自举电容,采用10uF/50V钽电容,为上桥臂功率管驱动的悬浮电源存储能量。D1~D3可以防止上桥臂导通时的直流电压母线电压加到IR2136的电源上而使器件损坏,因此D6~D8应有足够的反向耐压。由于D6~D8分别与C17~C19串联,为了满足主电路功率管开关频率的要求,D1~D3选快速恢复二极管。R4~R9是MOSFET的门极驱动电阻,设计中采用47/0.5W电阻。PDPINT为IR2136的电机欠压、过流故障输出信号,该信号经过光耦隔离后输入到DSP的功率保护单元T1CTRIP_PDPINTA。
3.6 主电路设计
由于电机绕组在续流过程中会产生较大的反向电动势,且本设计尚处于研究阶段,为防止反向电动势损坏功率开关管,选用电压和电流额定值均比较大的功率开关芯片。控制系统的主电路如图3-20所示。
功率开关管选用IRFP250,其耐压值可达到200V,最大电流为32A,开通和关断最大延迟时间分别560ns和1000ns。
- 23 -
第三章 控制系统硬件电路设计
D1FR157VCC15R35.1U1D2FR157C1C6104D3FR157C210uFC310uFC410uF10uFVCC15GGNDR110MVCC5R2GPWM1GPWM2GPWM3GPWM4GPWM5GPWM6PDPINTITIRP5.1KC5104GGND1234567891011121314VCCHN1HN2HN3LN1LN2LN3FAULTITIRPENRCINVSSCOMLO3IR2136VB1HO1VS1NCVB2HO2VS2NCVB3HO3VS3NCLO1LO22827262524232221201918171615R447R547R647R747R847R947ZHO1ZHO2ZHO3ZLO1ZLO2ZLO3COM 图 3-19 IR2136驱动电路图
VCC48Q1ZHO1D11N4007ZHO2Q3D31N4007ZHO3Q5D51N4007ABCQ2ZLO1D21N4007ZLO2Q4D41N4007ZLO3Q6D61N4007COMR1功率小电阻R21KITIRPR310KC1104GGND
图 3-20 控制系统主电路
图3-20中,R1和R2、R3组成过流检测电路,其中R1是过流取样电阻,
选用0.05/3W。R2、R3的分压值作为IR2136的过流比较输入端。
- 24 -
第三章 控制系统硬件电路设计
过压信号可以直接由电阻将蓄电池48V电压分压,得到的电压经比较器,与基准电压进行比较,输出值经高速光耦隔离后,输入到DSP的功率保护单元T1CTRIP_PDPINTA[17]。图3-21为欠压信号采集和IR2136故障输出信号隔离电路。
VCC48VCC15VCC5VDD33C3R191KVCC5R33KC2C1R210K104PDPINTR6470104R42KGGNDR5470U1LM3391234U2HCPL-063AVCCVO1VO2GND6785IN1+IN1-IN2-IN2+R712K0.1uT1CTRIP_PDPINTAGGNDGGNDVCC5
图 3-21 欠压信号采集和IR2136故障输出信号的隔离电路
3.7 电流检测电路设计
设计中,在电源负端串联功率小电阻实现对电机直流侧电流的检测。设计中选用线性隔离光耦HCNR200实现对模拟信号的隔离。小电阻两端的电压经过滤波放大处理后,再经过线性光耦隔离接入DSP的模数转换单元,通过A/D采样值计算电机电流的大小。
TMS320F2812的片内A/D模块是一个16通道12位具有流水线结构的模数转换器,模数转换单元的模拟电路包括前向模拟多路复用开关、采样/保持电路、变换内核、电压参考及其他模拟辅助电路。内部16通道输入可配置为2个独立的8通道模块,分别服务于事件管理器A和B(EVA、EVB),两个独立的排序器可以工作在双排序器模式和级联排序模式。输入电压范围0V~3V,单通道最快转换周期为200ns,流水线最快转换周期为60ns[18]。
电流检测电路如图3-22。图中COM为直流侧电流在功率采样电阻
0.05/3W上的压降信号。由于DSP的A/D模块的采样电压范围为0~3V,而设计所用电机额定电流为10A,在小电阻上的最大压降为0.5V,因此设计中将采样电压信号放大6倍,得到0~3V的采样电压范围,经过RC滤波后送入线性隔离光耦,其目的是增大输入信号的量程,减小A/D转换误差。输出端接到DSP的A/D转换单元输入引脚ADCINA0。
- 25 -
第三章 控制系统硬件电路设计
VCC15GGNDR120KD11N4148C333uFR3GGND2KR510KVCC15C10.1uFR22KHA17324COMHA17324GGNDR730KGGNDGGNDAVDD3.3AVDD15R4200C2VCC15104GGNDU112348765HA17324AVDD15R6200AGNDADCINA0D21N4148HCNR200
图 3-22 电机电流信号检测电路
图3-22中,HCNR200左边输入电路采用驱动板上电源提供的VCC15和GGND供电,右边输出电路采用VCC15经过电感隔离的AVDD15电压。由于HCNR200是电流驱动器件,其工作电流要求为1~20mA,因此运放的输出驱动电流必须达到20mA。能达到这种输出电流能力的运放一般其输出级为双极型。设计中采用单电源供电HA17324集成运放,其输出电流可达40mA。 另外,由于ADC输入信号范围为0~3V电压。为了保护芯片,必须将模拟信号输入控制在+3.3V以内。所以本系统在信号输入TMS320F2812之前使用了二极管1N4148,将信号钳位在3.3V以下。
3.8 转速及转子位置检测电路设计
本设计中选用的无刷直流电机内部装有霍尔位置传感元件,传感器输出为三路高速脉冲信号HALL1~HALL3。DSP控制器根据其变化,通过改变驱动电路中功率管的导通顺序,实现对电动机的换相控制和转速测量。
设计中,由于霍尔位置传感器的输出信号带有干扰信号,所以在送入DSP的捕获单元前,需要首先进行处理。本设计中选用74LS14施密特触发反相器来进行滤波和整形,传感器的输出信号经过两次反相并通过光耦隔离后送入DSP的捕获单元。滤波电路和光耦隔离电路如图3-23和图3-24所示。
- 26 -
第三章 控制系统硬件电路设计
C2VCC514GGNDGCAP11310412GCAP21110GCAP3981VCC1A6Y1Y6A2A5Y2Y5A3A4Y3Y4AGND74LS141234567GGNDXCAP1HALL1XCAP2R4XCAP322R522R622R11KR21KR31KJP1XCAP1C3470pGGNDXCAP2C4470pGGNDXCAP3HALL1HALL2C5HALL3470p12345GGNDHEADER05HALL2HALL30.1uFVCC5C1GGNDGGND
图 3-23 三路霍尔信号的滤波电路
VDD33R2R312K12KVCC5GCAP1GCAP2R4470R1470U11234HCPL-063AVCCVO1VO2GND6785VDD33C10.1uIN1+IN1-IN2-IN2+CAP1_QEP1CAP2_QEP2VCC5C2R712KVCC5R5470U21234HCPL-063AVCCVO1VO2GND67850.1uGCAP3R6470IN1+IN1-IN2-IN2+CAP3_QEPI1VCC5
图 3-24 三路霍尔信号滤波后的隔离电路及与DSP接口
本章小结:本章设计了ARM+DSP运动控制器的硬件系统,包括ARM与CAN物理总线的连接、DSP控制模块及驱动模块。控制模块主要包括DSP的电源、时钟、存储器扩展及JTAG仿真接口。驱动模块主要包括电机的驱动电路以及电机位置、速度与电流检测、过压与欠压保护。对硬件系统的各个部分都进行了详细的说明和分析。
- 27 -
第四章 控制系统软件设计
第四章 控制系统软件设计
电机控制系统要正常工作,除了设计稳定可靠的硬件平台、合理的控制算法外,还必须要有高质量的软件部分才能构成一个完整的控制系统。硬件电路是软件程序工作的基础,而软件程序能使硬件电路的功能得到充分的发挥,使电机获得了优良的调速性能,并提供软件保护。
整个控制系统软件采用模块化设计,包括主程序模块和各中断服务子程序模块。中断服务子程序模块主要包括中断捕获模块、PWM产生模块、定时器1中断模块、电机保护中断模块及CAN总线接口通信等几个部分。本章将根据系统硬件,结合DSP的编程特性给出系统的软件实现方法。
4.1 软件开发环境
本系统的软件开发工具采用TI公司的CCS3.1集成开发环境,该软件是一种针对标准TMS320系列DSP调试接口的集成开发环境,它集编辑、调试、仿真、监控等功能于一体,便于实时、嵌入式信号处理程序的编制和调试,能够加快开发过程,提高工作效率,是较为理想的DSP开发工具之一。CCS3.1将TI公司的编译器、编辑器、链接器和调试器等都集成到它的开发环境中,可以从菜单栏中选择TI公司的各种工具,并可以直接观察到流水输出到窗口的编译结果[19]。
开发本控制器应用程序,主要需要4种类型的文件:C语言文件、汇编语言文件、头文件和命令文件。C语言文件为“.c”的格式,主控制程序部分以及不涉及复杂的算法运算的部分用C 语言文件编写;汇编文件为“.asm”的格式,主要是涉及到程序的中断向量和复位;头文件为“.h”的格式,主要定义了DSP内部寄存器的地址分配,书写一次后可被其他程序反复使用;命令文件为“.cmd”的格式,主要定义堆栈、程序空间分配和数据空间分配。
4.2 主程序设计
主程序主要完成变量声明、系统的初始化、设置中断向量表等。主程序流程如图4-1所示。
初始化系统控制寄存器主要包括:设置锁相环控制寄存器PLLCR为0xA(由表4-1可得),即将外部时钟5倍频;设置外设时钟控制器PCLKCR,用于控制片上各种时钟的工作状态,使能或关闭相关外设的时钟;设置看门狗工作方式。初始化GPIO,是为了将EVA的PWM1~6引脚设置为外设功能,将CAP1~3引脚设置为数字量输入状态[20]。
- 28 -
第四章 控制系统软件设计
系统中PIE向量表存放每个中断服务程序的地址,每个中断都有自己的中断向量,所以在程序初始化时,需要定位中断向量,以便中断响应时能够准确的进入中断服务子程序。
开 始 变量声明 常数定义 关中断 初始化子程序 开中断 等待中断 图 4-1 主程序流程图
表4- 1 锁相环控制寄存器(PLLCR bits 15:4保留) DIV3 DIV2 DIV1 DIV0 时钟频率 (CLKIN) 1 0 1 0 OSCCLK ×10 / 2 初始化子程序 初始化系统控制寄存器 设置数字I/O、捕获单元端口 初始化EVA、ADC及捕捉单元初始化PIE 中断向量表 返回 为了在初始化的过程中防止意外中断的到来,在主程序的开始处,先关中断,完成初始化后,打开中断,最后主程序循环等待中断[21]。系统初始化主程序如下:
void init_subpro(void) {
InitSysCtrl(); //初始化系统控制寄存器,PLL等 Eallow; //写EALLOW保护寄存器
GpioMuxRegs.GPAMUX.all=0x003F; //使能EVA PWM1~6输出引脚 GpioMuxRegs.GPADIR.bit.GPIOA8=0; //CAP1引脚为输入 GpioMuxRegs.GPADIR.bit.GPIOA9=0; //CAP2引脚为输入 GpioMuxRegs.GPADIR.bit.GPIOA10=0; //CAP3引脚为输入 EDIS; //禁用写EALLOW保护寄存器
- 29 -
第四章 控制系统软件设计
init_EVA(); //初始化EVA
init_EVA_CAP(); //捕获单元初始化 init_ADC(); //AD初始化
InitPieCtrl(); //初始化PIE控制寄存器位为默认状态 InitPieVectTable(); //将向量表设置为特定状态 }
4.3 中断服务程序设计
4.3.1中断捕获模块
电机运行中,需要对转子位置信号跳变进行检测,实现电机换相。系统采用EVA模块中的捕获单元CAP1~CAP3对两电机霍尔位置传感器输出信号的电平跳变进行中断捕获,T2作为两组捕获单元的时间基准。
电机从静止状态启动时,三路霍尔信号不可能发生跳变,也就不可能产生捕获中断,因此首先需要让电机运行起来。系统中,电机处于静止状态时,将捕获单元的CAP引脚设置为一般I/O功能,查询霍尔输出信号的状态得到电机当前转子位置信号,查表得到该状态下所对应的开关管的导通情况,对应绕组通电后电机转动。当电机转过一定角度后,霍尔输出信号发生变化,DSP产生捕获中断。中断程序中,首先将CAP口设置为一般I/O功能,查询捕获单元输入引脚的电平信号,通过查表改变PWM方式控制寄存器ACTRx,控制PWM输出信号的变换,实现功率开关管的调节导通,完成电机换相。中断返回时,由于EV模块中断标志不能自动清除,因此中断返回时需要软件清除捕获中断标志,并清空捕获堆栈。
在每个换相时刻都要对电机霍尔元件进行检测,通过读定时器T2的T2CNT寄存器的值来获得两次换相的时间间隔t,并由60t计算得到当前速度值。同时,检测三个捕获口电平,判断转子当前位置,查表4-2获得换相控制字,更新比较方式控制字ACTRA为对应的状态表中的值,系统输出相应的PWM信号,控制三相逆变桥中功率管的导通和截止,实现电机的准确换相。程序流程图如图4-2所示。
比较方式控制寄存器ACTRA的第0位和第1位控制PWM1的输出方式(00为输出强制低;01为输出有效电平为低电平;10为输出有效电平为高电平;11为输出强制高),第2位和第3位控制PWM2的输出方式,以此类推第10位和第11位控制PWM6的输出方式。其中PWM1和PWM2控制第一对上下桥臂Q1和Q2;PWM3和PWM4控制第二对上下桥臂Q3和Q4;PWM5和PWM6控制第一对上下桥臂Q5和Q6。
- 30 -
第四章 控制系统软件设计
表4-2 换相控制字 状 霍尔元件电平状态 触发中断 Q1 Q2 各开关管工作状态 Q3 Q4 ON Q5 OFF Q6 OFF ON ON OFF 态 CAP1 CAP2 CAP3 的沿状态 S1 S2 S3 S4 S5 S6 1 1 1 0 0 0 0 0 1 1 1 0 1 0 0 0 1 1 H1上升沿 PWM OFF OFF H3下降沿 PWM OFF OFF H2上升沿 OFF H1下降沿 OFF H3上升沿 OFF H2下降沿 OFF OFF OFF OFF PWM OFF OFF ON ON PWM OFF OFF OFF OFF PWM OFF ON PWM OFF OFF OFF 捕获中断入口 速度计算 保存寄存器内容 检测捕获口电平 获得换相控制字 换 相 恢复捕获功能 中断返回 图 4-2 捕捉中断模块流程图
捕捉中断子程序如下: void EVA_CAP_isr(void) { „
hall=(++GpioDataRegs.GPADAT.bit.GPIOA10)<<1;
hall=((++GpioDataRegs.GPADAT.bit.GPIOA9)+hall)<<1; hall=((++GpioDataRegs.GPADAT.bit.GPIOA8)+hall)<<1; Cmtnpointer=hall<<3; //获得换相控制字 switch(Cmtpointer) {
case 0x28: //PWM1-PWM4 ABN {
{EvaRegs.ACTRA.all=0xF3D;} //换相 break; }
- 31 -
第四章 控制系统软件设计
case 0x08: //PWM1-PWM6 ANC {
{EvaRegs.ACTRA.all=0x3FD;} //换相 break; } „ } }
由于PWM调制采用“单斩”调制方式,在PWM无效期间直流侧电流为零,需要在PWM有效期间进行电流信号进行采样。采用定时器T1的周期中断产生A/D转换的开始信号,这样避免了在功率器件关断时采样电流,提高了电机电流采样精度。A/D中断后,采集电机电流值,并进行过流比较。当电机过流时,读取过流PWM比较寄存器值,并将过流标志位置1。
4.3.2 PWM产生模块
在TMS320F2812中有两种方法产生PWM信号:一种是利用事件管理器中的通用定时器产生,每个通用定时器可以独立提供一个PWM输出通道,所以每个事件管理器可以提供2个PWM输出;另外一种是用事件管理器中断全比较单元产生。每个全比较单元可以产生两个相应的PWM输出,这样EVA的全比较单元1、2、3可以产生6路PWM输出。本次控制器设计PWM信号由后者产生。 为了产生PWM信号,通过定时器1不断地进行计数,器计数周期等于PWM的周期,用比较寄存器CMPR1、CMPR2、CMPR3来保存调制值,比较寄存器中的值不断地和定时器1的计数寄存器的值进行比较,一旦发生匹配,在相应的输出引脚上就会根据比较方式控制寄存器ACTRA的设置产生一个跳变(从低电平到高电平或者从高电平到低电平),当发生第二次匹配或定时器周期结束时,相应的输出引脚上又会产生一个跳变(从高电平到低电平或者从低电平到高电平)。通过这种方式,就能产生一个开关时间和比较寄存器的值成比例的输出脉冲。这个过程在每个定时器周期里都会被重复,但每次比较寄存器里的调制值又是不同的,这样就能够在输出引脚上得到相应的PWM信号。
DSP中的事件管理器模块可以产生非对称和对称PWM波形。在本系统中,采用对称PWM波形。对称PWM信号的调制脉冲关于每个PWM周期中心对称,和非对称PWM信号相比,对称PWM信号优点在于它有两个相同时间长度的无效区:分别位于每个PWM周期的开始和结束。用PWM电路产生的对称PWM波形如图4-3所示。
- 32 -
第四章 控制系统软件设计
定时器周期定时器的值PWMx(低有效)PWMx(高有效)
图 4-3 对称PWM的产生(x=1,3或5)
在产生对称PWM波形时,一个周期有两个比较匹配,一次发生在前半周期的增计数期间,另一次发生在后半周期的减计数期间。
本控制器中,对称PWM的频率fPWM计算公式为:
fPWMf (4-1) 2p(1T1PR)f其中:为系统时钟频率,p为分频系数,T1PR为定时器1的周期寄存值。 设置定时器1的计数器从0开始计数,比较寄存器CMPRx的值与周期寄存器之比即为输出PWM信号的占空比,集通过调整比较寄存器的值即可得到相应的占空比。PWM占空比为:
CMPRx100% (4-2)
T1PR通过对事件管理器寄存器进行配置产生PWM波形。寄存器设置步骤如下: (1)设置和装载ACTRA;
(2)如果用到死区单元,设置和装载DBYTCONA; (3)初始化CMPRx; (4)设置和装载COMCONA;
(5)设置和装载T1CON,启动比较操作; (6)用新值更新CMPRx寄存器。
当换相时刻到来需要换相时,PWM根据获得的换相控制字做出相应的换相;当经过电流控制确定系统需要改变PWM占空比时,根据计算的到的PWM占空比,对比较控制器CMPRx进行相应的数值更新。
- 33 -
第四章 控制系统软件设计
EVA的初始化程序为: void init_EVA() {
EVARegs.T1PR=PWM_per; //定时器1周期
EVARegs.T1CNT=0x0000; //定时器1计数器为0 EVARegs.ACTRA.all=0x0000;//比较方式控制 EVARegs.DBTCONA.all=0x0000; //禁止死区 EVARegs.COMCONA.all=0xA600; EVARegs.CMPR1=PWM_DUTY; EVARegs.CMPR2=PWM_DUTY;
EVARegs.CMPR3=PWM_DUTY; //设置PWM1-PWM6比较寄存器
EVARegs.T1CON.all=0x0842; //连续递增/减计数,定时器使能,比较使能 EVARegs.T2PR=timer2_per; //定时器2周期 EVARegs.T2CNT=0x0000; //定时器2计数器为0
EVARegs.T2CON.all=0x1042; //连续增计数,定时器使能,比较使能 }
4.3.3 定时器1中断模块
在电机运行过程中,有定时器1周期匹配中断服务程序对电机转速和电流进行采样和控制。本设计中设定PWM频率为10KHz,即通用定时器1的周期为100us,因为此电流环采样更新时间为100us,选择速度环采样时间为2ms,为电流环采样时间的20倍。在定时器1周期匹配的中断服务程序中设置了一个软件计数器,用全局变量Count来实现,中断服务程序运行一次,Count就加一次,当Count=2时,调用电流环的控制子程序,当Count=40时,调用速度环的控制子程序,速度环的控制子程序调用之后将Count清零。这样就实现了100us的电流环采样和2ms的速度环采样。定时器1周期匹配中断流程图如图4-4所示。
(1)电流环控制子程序
(输入模拟量DADCLO)3(本该子程序要实现的功能为:由数字量4095设计中DADCLO=0)得到AD转换结果。此结果即为电机相电流测量值;根据速度调节得到的电流参考值和测量值进行比较,对得到的偏差值在经过电流PI控制;最后得到的控制量改变PWM的占空比。电流环子程序的流程图如图4-5所示。
A/D转换设置成通过事件管理器1计数器周期匹配中断来启动,也就是当定时器1计数器的值与周期寄存器的值相同时,产生一个匹配中断。由于PWM的通用定时器1设置成连续递增/递减计数方式,这种方式使得A/D转换始终在功率开关器件导通的中间进行电流采样,保证了同步性,避免了在功率开关器件
- 34 -
第四章 控制系统软件设计
关断时进行采样的情况。
定时器1下溢中断 否 电流环子程序 否 Count=40? 是 速度环控制子程序 Count+改变PWM占空比 开中断 中断返回 图 4-4定时器1周期匹配中断流程图
Count=2? 是 电流环控制子程序 读取A/D转换结果 电流PI控制 返回
图 4-5 电流环子程序流程图
(2)速度环控制子程序
电机速度控制采用积分分离PID控制,速度调节流程如图4-6所示。积分分离PID控制具体实现过程为:
(1)根据实际情况,人为设定一个阈值;
(2)当e(k)时,采用PD控制,避免过大的超调,使系统有较快的响应; (3)当e(k)时,采用PID控制,可保证系统的控制精度。 写成公式,可在PID算法的积分项上乘以一个系数,按下列取值:
10e(k)e(k) (4-3)
当e(k)时,即=0,进行PD控制,其控制算法为:
- 35 -
第四章 控制系统软件设计
TTTu(k)Kpe(k)De(k)e(k1)=Kp1De(k)KpDe(k1)
TTT=Ae(k)Be(k1)=Ae(k)f(k1) (4-4)
其中AKp(1TDT),BKpTDT,f(k1)Be(k1)或者
f(k)Be(k),
Kp为比例系数,TD为微分时间常数,T为采样周期。
速度控制子程序 计算当前速度偏差neer PID控制 是 否 PD控制 neer100? IkAneer(k)g(k1) IkAneer(k)f(k1)f(k)Bneer g(k)I(k)Bneer(k)Cneer(k1) g(k)g(k1);f(k)f(k1);neer(k)neer(k1)获得参考电流IsI(k) 对Is进行限幅 Count=0 返回参考电流值 图 4-6 电机速度调节流程图
- 36 -
第四章 控制系统软件设计
当e(k)时,取=1,进行PID控制,即
u(k)u(k1)Ae(k)Be(k1)Ce(k2) (4-5)
u(k)Ae(k)u(k1)Be(k1)Ce(k2)=Ae(k)g(k1) (4-6) 式中 AKp(1TTI)TDT,BKp(12TDT),CKpTDT,
g(k1)u(k1)Be(k1)Ce(k2)或g(k)u(k)Be(k)Ce(k1)。
本控制器设置当电机的实际速度与给定速度的绝对差值neer100时,采用数字PID控制;当电机实际速度与给定速度的偏差neer100时,采用PD控制,以消除积分校正环节对控制系统动态性能的影响。最后,输出的参考电流Is经过限幅处理后送入电流环进行调节。
4.3.4电机保护中断模块
电机保护中断服务模块完成的主要功能是对系统可能发生的故障进行检测,并采取相应的措施避免电机或驱动器的损坏。本次设计中包含了用于电机保护的硬件电路,即过流保护、过压及欠压保护,但过流保护的实现是通过软件来实现的,所以必须设计软件来实现过流保护。当出现过流时将发生不可屏蔽中断,关闭PWM输出,确保整个电机控制系统的安全。
子程序中,通过比较方式控制寄存器ACTRA设置为0xFFFF,使六路PWM的输出全部为低,保证逆变桥电路的功率管处于截止状态,从而保护电路。电机保护中断流程图如图4-7所示。
故障中断入口 保护现场 设置ACTRA为0xFFFF封锁所有PWM信号 恢复现场 中断返回 图 4-7 电机保护中断流程图
- 37 -
第四章 控制系统软件设计
4.4 CAN总线接口通信程序设计
CAN通信采用短帧格式。数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束组成。图4-8为TMS320F2812支持标准帧和扩展帧格式。
图 4-8 CAN信息帧格式
1.eCAN模块初始化
在使用CAN模块之前,必须进行初始化,并且只有CAN模块工作在初始化模块下才能进行初始化。图4-9为CAN模块的初始化流程图。
标准模式(CCR=0 CCE=0) 配置需要的工作模式(CCR=1 CCE=0) 等待模式配置(CCR=1 CCE=0) 配置模式有效(CCR=1 CCE=1) CCE=0 改变时能的位时序参数 配置需要的标准模式(CCR=0 CCE=1) 等待标准模式配置 (CCR=0 CCE=1) CCE=1 标准模式配置完成 图 4-9 CAN模块的初始化流程图
初始化模式和正常操作模式之间的转换是通过CAN网络同步实现的。也就是在CAN控制器改变工作模式之前,要检测总线空闲序列(等于11接收位)。如果产生支配总线错误,CAN总线将不能检测到总线空闲状态,也就不能完成模式转换。将CCR(CANMC.12)置1,使CAN模块工作在初始化模式。而且只有CCE(CANES.4)=1时,才能执行初始化操作。完成上述设置后,CAN模块的配置寄存器才能完成写操作。
- 38 -
第四章 控制系统软件设计
标准CAN模式(SCC):为了能够调整全局接收屏蔽寄存器(CANGAM)和两个局部接收屏蔽寄存器[LAM(0)和LAM(3)],CAN模块也需要工作在初始化模式。通过将CCR(CANMC.12)清零,可以使CAN模块处于工作模式,硬件复位后,模块就会进入初始化模式。如果CANBTC寄存器的值位0,或者为初始值,则CAN模块将一直工作在初始化模式。也就是当清除CCR位时,CCE(CANES.4)位保持1[22]。 2.发送邮箱
CPU将等待发送的数据存放到发送邮箱。数据和标志位写到发送邮箱后,若已使能了邮箱(ME.n置位),将TR[n]置位就可以把信息发出去。若多个邮箱配置为发送邮箱,且有多个相应的TR[n]置位,则按邮箱优先级的顺序依次发送。 在标准CAN总线模式下,发送邮箱的优先级和邮箱编号有关,15号邮箱具有最高的优先级。在eCAN模式下,它与消息控制寄存器(MSGCTRL)的TPL位的设置有关。TPL中设置的值越大,优先级也就越高。只有当两个邮箱的TPL值设置相同时邮箱编号大的发送邮箱才有较高的优先级。如果仲裁或错误导致发送失败,将重新发送消息。在消息重发之前,CAN模块要检查是否有其他的发送请求,然后根据优先级顺序发送优先级高的消息。
3.接收邮箱
在CAN模块接受消息时,首先比较输入消息的标志符和接受邮箱中存放的标志符,如果相等,接受标志符、控制位和数据字节饿到相应的RAM空间。同时,相应的接受消息挂起位RMP[n](RMP.31~0)置位。如果已经使能了中断,也会产生中断。如果两者的标志符不一致,则不存储输入的消息。
当接收到消息时,消息控制器开始从邮箱编号最高的邮箱搜索标识符匹配的邮箱。标准CAN模式下,邮箱15有最高的接收优先级,而在eCAN模式下,邮箱31有最高的接收优先级。
读取完数据后,CPU必须将RMP[n](RMP.31~0)复位。如果同一个邮箱接收到第二个消息,且接收消息挂起位已经置位,相应的消息丢失位RML[n](RMP.31~0)就会置位。在这种情况下,如果覆盖保护位OPC[n](OPC.31~0)被清零,原有的消息就会被新接收到的消息覆盖,否则检查下一个邮箱。如果邮箱配置为接受邮箱且RTR位置位,则该邮箱可以发送一个远程帧。一旦远程帧发送出去,CAN模块就会清除邮箱的TRS位。
本章小结:本章设计了运动控制器的软件部分,首先简要介绍了软件的开发环境,其次将控制器软件部分模块化,分别介绍了各模块的设计思想及设计流程。对传统的PID控制方法进行了改进,重点提出了积分分离PID控制思想。
- 39 -
总 结
总 结
经过一个学期的不懈努力,基于DSP的小型地面移动机器人运动控制系统取得了一定的成果。总结如下:
(1)选择了适合机器人运动控制且功能强大的DSP芯片TMS320F2812。采用TMS320F2812设计控制器,可以提高控制系统的控制精度和响应速度,增加了系统的可靠性。
(2)为了减少电机在运行过程中积分校正环节对系统动态性能的影响,本设计对用于电机速度控制的PID环节进行改进,提出了积分分离PID算法。积分分离PID算法的优点,改善了系统的动态性能。以下简要介绍整个控制系统的工作过程:运动控制器采用电流环和速度环实现电动机的双闭环控制。其外环为速度环,内环采用电流环。首先,通过霍尔位置传感器信息计算出电机运行中的实时转速,然后将实时电机转速和给定的参考值之间的偏差经积分分离PID调节后,输出电流参考值。其次,将电流参考值与电机实际电流进行比较,得到的偏差送入电流调节器进行PI调节,调节后的控制量用于改变PWM的占空比。最后,输出的PWM信号经电压逆变后输入电机,实现电机电流环和转速环的双闭环控制。
(3) 建立了电机控制器的硬件平台。以ARM9系列处理器和TMS320F2812为核心,设计了TMS320F2812所需电源电路,电机驱动电路。为了保护电机,还设计了电机过流、过压及欠压保护电路。同时控制板与驱动板全部采用光耦隔离,使整个系统安全可靠。
(4)完成了电机控制器的软件设计。整个系统采用模块化设计,包括系统初始化、中断模块、PID控制算法模块、PWM输出模块等。软件的模块化设计增强了程序的可读性,有利于系统的调试、修改以及升级。
由于时间及条件的限制,本课题中还有很多工作需要进一步完善,整个控制器距离实际应用还有一定的差距。以后还需要在以下方面多做工作: (1)本控制器用6个MOSFET来驱动电机,可以考虑改用专用的IPM模块,提高控制器性能,增强驱动能力,减小控制器的体积。
(2)与光电编码器相比,通过霍尔位置信号测算电机的转速很不精确。因此,在电机转速检测这方面,可以考虑使用光电编码器。
(3)如何把先进的控制算法编写成高效的控制程序,是控制器软件设计中必须考虑的很重要的问题。
- 40 -
参考文献
版社,2008
参考文献
[1] (美)Gordon McComb, Myke Predko (著), 庞明(译). 机器人设计与实现. 北京:科学出[2] (美)DavidCook (著), 崔维娜(译). 机器人制作入门. 北京:北京航空航天大学出版社,2005 [3] 刘金琨编著. 机器人控制系统的设计与MATLAB仿真. 北京:清华大学出版社,2008 [4] 夏长亮著. 无刷直流电机控制系统. 北京:科学出版社,2009
[5] 丁峰, 徐靖, 鲁立编著. ARM系统开发从实践到提高. 北京:中国电力出版社,2007 [6] 张绮文, 谢建雄, 谢劲心编著. ARM嵌入式常用模块与综合系统设计实例精讲. 北京:电
子工业出版社,2007
[7] 韩安太, 刘峙飞, 黄海编著. DSP控制器原理及其在运动控制系统中的应用. 北京:清华
大学出版社,2003
[8] 苏涛主编. DSP接口电路设计与编程. 西安:西安电子科技大学出版社,2003 [9] 姜艳波编著. 数字信号处理器DSP应用100例. 北京:化学工业出版社,2009 [10] 宁改娣, 曾翔君, 骆一萍编著. DSP控制器原理及应用. 北京:科学出版社,2009 [11] 郑红, 隋强强, 周星编著. DSP应用系统设计实例. 北京:北京航空航天大学出版社,2008 [12] 郑红编著. DSP应用系统设计实践. 北京:北京航空航天大学出版社,2006 [13] 朱铭锆编著. DSP应用系统设计. 北京:电子工业出版社,2002
[14] 张太镒, 任宏编译. TI DSP在通信系统中的应用. 北京:电子工业出版社,2008 [15] 冬雷编著. DSP原理及电机控制系统应用. 北京:北京航空航天大学出版社,2007 [16] 刘和平编著. DSP原理及电机控制应用:基于TMS320LF240x系列. 北京:北京航空航天
大学出版社,2006
[17] 谢宝昌, 任永德编著.电机的DSP控制技术及其应用. 北京:北京航空航天大学出版
社,2005
[18] 章云编著. DSP控制器及其应用. 北京:机械工业出版社,2001
[19] Andrew Bateman, Iain Paterson-Stephens(著). DSP算法、应用与设计:英文版. 北京:机械
工业出版社,2003
[20] (英)Andrew Bateman, (英)Iain Paterson-Stephens(著), 陈健(译). DSP算法、应用与设计.
北京:机械工业出版社,2003 [21] http://www.ti.com/
[22] 苏奎峰, 吕强, 耿庆锋等编著. TMS320F2812原理与开发. 北京:电子工业出版社,2005.4
- 41 -
致 谢
致 谢
这次设计是在我的指导老师杜钦君教授的严格要求和悉心指导下完成的。从任务书的下达到设计工作的每一步,自始至终都得到了杜老师的耐心指导和热心帮助,使我能够顺利地完成课题设计和论文的撰写。杜老师为人和善、平易近人,治学态度严谨求实,工作作风孜孜不倦,实践经验丰富有效,为我今后的学习和工作树立了典范。在此,我特向杜老师致以最诚挚的敬意和衷心的感谢。
同时,我要感谢在我设计中给我过帮助的老师和同学们。有了他们的帮助,我才得以顺利完成设计任务。
最后,我还要感谢百忙之中抽出时间审阅我论文的老师,对他们的付出表示深深的谢意!
- 42 -
附 录
附 录
附录一 PID控制算法
1. PID控制系统组成
PID控制系统原理如附图1-1所示。
附图1-1 PID控制系统原理图
(1)PID调节器的微分方程:
1u(t)KPe(t)TI式中e(t)r(t)c(t)
(2)PID调节器的传递函数:
t0e(t)dtTDde(t) (1-1) dtD(S)U(S)1KP1TDs (1-2) E(S)TIs(3)数字PID控制器的差分方程
设计中均采用数字PID控制,即根据采样时刻的偏差值计算控制量。现以一系列的采样时刻点kT代表连续时间t,以和式代替积分,以增量代替微分,则可作如下近似变换:
tkT (1-3)
0etdtTejTTej (1-4)
tj0j0kk
detekTek1Tekek1 (1-5) dtTT- 43 -
附 录
式中T为采样周期。
带入到公式(1-1)中得数字PID控制器的差分方程:
Tu(n)KPe(n)TITDe(i)e(n)e(n1) Ti0nuP(n)uI(n)uD(n) (1-6)
式中 uP(n)KPe(n)为比例项;
TuI(n)KPTIe(i)为积分项;
i0nuD(n)KP2. PID调节器各校正环节的作用
TDe(n)e(n1)为微分项。 T(1)比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI,TI越大,积分作用越弱,反之则越强。
(3)微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。 3. PID算法的程序流程 (1)增量型PID控制
增量型PID控制算法表达式为:
u(n)u(n)u(n1)
TTe(n)KPDe(n)2e(n1)e(n2) TITKPe(n)e(n1)KP a0e(n)a1e(n1)a2e(n2) (1-7)
- 44 -
附 录
式中 a0KP(12TTTTD),a1KP(1D), a2KPD。
TTTIT增量型PID控制流程图如附图1-2所示。 (2)位置型PID控制
增量型PID控制算法表达式为:
Tu(n)KPe(n)TIe(i)i0nTDe(n)e(n1)u0 (1-8) T位置型PID控制的递推形式:
u(n)u(n1)u(n)u(n1)a0e(n)a1e(n1)a2e(n2) (1-9) 位置型PID算法的程序流程如附图1-3所示。只需在增量型PID算法的程
序流程基础上增加一次加运算Δu(n)+u(n-1)=u(n)和更新u(n-1)即可。
附图1-2 增量型PID算法的程序流程 附图1-3位置型PID算法的程序流程
- 45 -
附 录
附录二 TMS320F2812的功能方块图
TMS320F2812的功能方块图如附图2-1所示。
附图2-1 TMS320F2812的功能方块图
- 46 -
附 录
附录三 基于DSP小型地面移动机器人运动控制系统设计电路图
附图3-1 系统电源板原理图 附图3-2 系统驱动板原理图 附图3-3 系统控制板原理图
- 47 -
D附 录
ND210uFCANGND3E25DL5G3DRK2NCDA1VC34C018765D电源电源DVVCVCVVD138N0N+NN..AG312电源++ D5CNA312P 4123隔离JJP 3NCC0IN5SS1GNNVO5C4D31DUBD31314DJDC01V总线通信0D1234N31483C0V1AD1D0DD34VV94C017C01Fu控制器CF4K08uR491C724C7CFuRS7X4GDPN0987654321FG2111111111uG081D2NC17GCB1GTB2T2T2CG24PNT1T1UUFPSEFUUNGC01OO//VV1E2OORRRVVOO8765SS电源5ERENC1隔离7SS3VVCVCVCD0N+VNNG2VRK1G3545+13112D2203D52DCININRR7NCC0IN514采样NVVMMNEQNININESGVVS15JD3P1GNNVOUBDVUTD电流V1234567890123411R64MG20PC1F564uCC004151021CD551NDKKGD1WDD00GVSSV00A11XX33115522电源22I354212V1电源LI35M112M5CJ5LCJV15CD++DFD5DVu0N1N7G45驱动板CG1GCVD5G驱动板DCNCNHKCFGCG3uGV2FuGu26V.0200R3KC0C2000212R.111HH37Lu2u20020322D020184014NL1D5L1ND85N11D1DNN25P42G42G20GG36C7403146KTKT3CC0435PU0C.M3APUTC-1ABT-5B66UHM7DUOu8245D7DO5D0U2EEMFN2EEFN01L3GMGL3G76DNGDNGG1IND9IND1FUVNUVNc3u+G+s3?1055GR.0GG0C1DD1FN1FN8FFO/NOuGGD40G84FF9O/NOu0NC10C10G11GCCCCGVV电源V321电源032181V14J4J+2+- 48 -
图理原板源电统系1-3图附
L1
J1712J9123附 录
刷电机流采样接口电流无DNDABCGN连接直GGG77102011D04ND04N1140561QQ3044RKC031O3HLOZZP77000电阻IRTI91D04ND04N01411R功率小4KR18434CQQCVM2O2OHCLOZZ770078D04ND04N1112QQ1O1HLOZZMODCNGG123OOO123HHHLOLOLO12电源ZZZZZZ8VJ84+7893451R7134R7174R4R737374R4R48F1uC017F1uC016F1uC01876543210987652222222221111177711122212555111BOSCSC333OORRRVHVNBOVHVNBOSCVHVNLLFFF456TDDDLC6123UPNSM3CNNN123316VHHHNNNAIRILLLFTNCSOIERVOCL2UIR1234567890123411111611123456.R551MMMMMMTN5CT1CWWWWWWPPIPPPPPPIRNCVGGGGGGDPTI5KPIC11DV5.14DR505N112板PDC15JG4534N电源51MCC01GF1GDG4V1uCR01CVN至控制5C0CG11VGD12+N7GJ控制板G4u12MM31.3uWW11D34C0D56.2uPPC0NMMNMM11D.GGGC0NWWGWW2G3PPP1K1KGGG6GP2KGGR2G1R21R2101551K51K52KCR21CR21CR21CCCVVVDDDNNN6785G6785G6785GDGGGNGAAAG36C33126C126C120COODN0COOD0COODL-VVVGL-VVVNGL-VVVNG12电源PPP6CCCJVH5+--+H+--+H+--++112211224NNNNNNNN41122IIII5IIII1NNNNIIIIUUU控制板12341234123400000077777744444434678922RRRRRR333333333333DDDDDDDV12DDDDMMVV34MMVV56DMMVWWWWWWPPPPPP输出M123456W5J板P 至控制- 49 -
图理原板动驱统系 2-3图附
附 录
- 50 -
因篇幅问题不能全部显示,请点此查看更多更全内容