利用DSP控制直流无刷电机_第1页
利用DSP控制直流无刷电机_第2页
利用DSP控制直流无刷电机_第3页
利用DSP控制直流无刷电机_第4页
利用DSP控制直流无刷电机_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、利用利用 DSPDSP 控制直流无刷电机控制直流无刷电机摘摘 要要:介绍了一种利用双口 RAM 实现 DSP 与单片机高速数据通信的方法,给出了它们之间的接口电路以及软件实现方案。关键词关键词:DSP;双口 RAM;接口电路;数据通信直流无刷电机实际属于永磁同步电机,一般转子为永磁材料,随定子磁场同步转动。这种电机结构简单,而且由于移去了物理电刷,使得电磁性能可靠,维护简单,从而被广泛应用于办公自动化、家电等领域。直流无刷电机运行过程要进行两种控制,一种是转速控制,也即控制提供给定子线圈的电流;另一种是换相控制,在转子到达指定位置改变定子导通相,实现定子磁场改变,这种控制实际上实现了物理电刷的

2、机制。因此这种电机需要有位置反馈机制,比如霍尔元件、光电码盘,或者利用梯形反电动势特点进行反电动势过零检测等。利用光电编码器的系统在软件实现上更方便。电机速度控制也是根据位置反馈信号,计算出转子速度,再利用 PI 或 PID 等控制方法,实时调整 PWM 占空比等来实现定子电流调节。因此,控制芯片要进行较多的计算过程。当然也有专门的直流无刷电机控制芯片;但一般来说,在大多数应用中,除了电机控制,总还需要做一些其他的控制和通信等事情,所以,选用带 PWM,同时又有较强数学运算功能的芯片也是一种很好的选择。Motorola 的数字信号处理器 DSP568xx 系列整合了通用数字信号处理器快速运算功

3、能和单片机外围丰富的特点,使得该系列特别适合于那些要求有较强的数据处理能力,同时又要有较多控制功能的应用中,对直流无刷电机的控制就是这一系列 DSP 的典型应用之一。直流无刷电机结构和连接直流无刷电机结构和连接三相直流无刷电机采用二二导通、三相六状态 PWM 调制方式。电机定子绕组轴向示意图如图 1 所示。当电流从 A 到 B 时,定子绕组产生的磁场为图 1 中 AB 方向,如果电机顺时针运行,此时,永磁转子磁场应位于 III 区,产生的扭矩最大。当转子转过 III 区和 IV 区的交界,到达 IV 区时,定子绕组电流应相应改变成为从 A 到 C,即产生的磁场成为图 1 中 AC 方向。这样,

4、定子磁场总超前转子磁场约 90,使转子不断的向前跟进。实现这个过程的关键是取得转子位置,积分编码器就起这个作用,如它的三路输出:PHASEA、PHASEB、PHASEC,在转子分别位于图 1 中的 I 到 VI 各区时,输出信号相应为:011、001、101、100、110、010。这样,通过捕捉积分编码器任一路输出上的跳变沿,读取跳变沿后的积分编码器输出状态,就可以确定转子的新位置,实现定子绕组电流换向。同时,利用定时器检测两次换向之间的时间间隔,计算出电机运行的速度,再通过调整 PWM 信号的占空比,调整定子电流,实现调速。DSP568xxDSP568xx 中使用到的主要模块中使用到的主要

5、模块在 Motorola 的 DSP568xx 系列数字信号处理器的软件开发包中,给出了一个利用上述思路对直流无刷电机控制的应用程序:bldc_sensors。主要用到了 DSP 的脉宽调制 PWM 模块、定时器模块、相位检测器 DECODER 模块。PWM 模块共有六路输出,分别用来控制三相的顶底共六个功率管。模块可以被配置成互补通道模式,即 PWM0 与 PWM1 为一对互补对,共三对互补对,如图 2 所示。互补对内的两个信号可以在芯片内部被互相交换,如图 2 中 C 相所示;也可以同时被屏蔽,使得输出全为 0,该相就关断,如图 2 中 A 相所示。定时器模块是最普通的外设,在这个应用中,

6、使用了 5 个定时器模块,它们分别是 A0、A1、A2、A3 和 D0。前 3 个分别接积分编码器的一路输出,利用它们的输入捕捉功能,产生中断,在中断子程序内检测新的积分编码器输出状态,实现换相。A3 接的也是积分编码器的一路输出,它用来测量某路霍尔信号两个跳变沿间的时间间隔,计算转子速度。D0 用来产生 20ms 间隔的节拍,周期性的对系统状态进行转换和检测。相位检测器 DECODER 模块对于电机控制非常有用,它不仅能用于本文所说的六状态积分编码器,还能用于转子每转一圈产生相当多数目脉冲的积分编码器。该模块框图如图 3 所示。但在本应用中,只用到了它的干扰信号滤波器,即使用了积分编码器的三

7、路输出经过滤波后的值。六状态积分编码器的三个输出 PHASEA、PHASEB、PHASEC 分别接到相位检测器的 PHASEA、PHASEB、INDEX 三个输入端上。控制算法控制算法对于无刷直流电机的控制,软件上的内容是主体。程序是一种前后台结构,前台是一个死循环,死循环内作两个工作,一个是程序状态转换 ApplicationStateMachine(),另一个是 20ms 时钟节拍触发的 LED 控制、直流电压数字值读取和速度控制等服务性工作ServiceLedISR()。程序中有一个全局变量 ApplicationMode,取值可以是Init、Stopped、Running 和 Faul

8、t,用来指示系统的状态。main()函数一开始在初始化函数 Initialize()中先把系统状态设置为 Init,然后在程序状态机 ApplicationStateMachine()里实现如图 4 所示的转换。状态之间转换的各种条件均标在图 4 的各个箭头上。硬件上的其他事件:定时器 A0、A1、A2 的输入捕捉,A3 的输入捕捉和溢出,D0 的输出比较以及加减速按键都是通过中断的方式打入。所以整个软件的结构如图 5 所示。系统一加电,程序进入初始化函数 Initialize(),在这个函数中,做了以下工作:启动直流电压 ADC;初始化 Led,开始 20ms 的周期时钟中断 D0;开关状态

9、初始化;PWM 参数初始化;捕捉积分编码器跳变沿的定时器 A0、A1、A2 初始化;相位检测器初始化;ApplicationMode = Init;取得转子位置,设好初始的导通相;PI 控制器初始化;用于测量转速的定时器 A3 的初始化。从 Initialize()返回后,立刻进入前台死循环。在转子运行过程中,定时器 A0、A1、A2 输入捕捉的发生,标志着转子运行到了一个需要换相的位置。输入捕捉事件触发中断 ISRQTimer(),在这个中断服务程序中,完成以下的工作:从相位检测器取得当前积分编码器的三路输出状态;根据当前积分编码器输出状态,判断转子运转方向;并调整 PWM 模块的交换和屏蔽

10、,即定子电流换相。所以说,定子电流的换相,是在紧随着积分编码器输出跳变沿的中断服务子程序中完成的。在判断转子运转方向的时候,使用了一个常数组:DIRECTION_TABLE8 = 0, 5, 3, 1, 6, 4, 2, 0。这个数组元素的下标和元素的值对应转子在顺时针运转情况下,当前编码器状态和下一个编码器状态(见图 1)。比如,当前编码器输出 011,转子磁场位于 I 区,那么顺时针运转时,下一个编码器状态应为 001,这正好对应于上述数组中,下标为011 的元素值为 001。这样,通过比较以编码器上一个状态作为下标的数组元素值与当前状态是否相同,就可以判断转子运转方向。在实现定子电流换相

11、时,也以当前状态为下标,从专门数组中取得 PWM 模块通道交换与屏蔽所需的参数。在本应用中,将三对 PWM 互补通道对的参数设成一致,通过屏蔽某一相,交换另外一相,实现定子绕组电流状态的控制,如在图 2 中,A 相被屏蔽,B 相顶功率管开关占空比为 70,而将 C 相两个 PWM 通道交换,C相的底功率管开关占空比就由原来的 30成为 70,从而使电流由 B 相流入定子绕组而从 C 相流出,确定定子绕组 BC 的电流状态。积分编码器的某一路输出,比如 PHASEC 的跳变,还触发了定时器 A3 的输入捕捉中断。在输入捕捉中断中,取得各个跳变沿之间的时间间隔,用来计算转子速度。定时器 A3 的溢

12、出中断,也是为取得各个跳变沿之间的时间间隔服务。在 Initialize()函数中调用的 LedInit()函数内部已经将定时器 D0 进行了初始化,所以从那时开始,定时器 D0 开始运行,每 20ms 产生一个中断,触发中断服务子程序 LedISR()的运行。在 LedISR()中,只是设了一个标志位 bLedISROccurred 为真。但这会使得死循环内 ServiceLedISR()函数的具体内容被执行,而不是直接返回。ServiceLedISR()函数的具体代码完成以下工作:Led 闪烁周期计算和控制;UpButton、DownButton 按键延时控制;从 ADC 读取直流电压值并重启 ADC;取得一路积分编码器的跳变沿间隔并计算速度,进行速度控制。所以,转子运转的速度控制是在几乎每 20ms 周期的 ServiceLedISR()内完成。加减速

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论