基于dsPIC30F4011的BLDC控制_第1页
基于dsPIC30F4011的BLDC控制_第2页
基于dsPIC30F4011的BLDC控制_第3页
基于dsPIC30F4011的BLDC控制_第4页
基于dsPIC30F4011的BLDC控制_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、1dsP IC30F4011概述M ICROCH IP公司推出的dsPIC30FXXX系列单片机将16位单片机的控制特点和DSP高速运算的优点相结合,为嵌入式系统设计提供了适合的,单芯片、单指令流的解决方案。其内部采用改进型哈佛结构。dsP IC30F4011 是M ICROCH IP公司专为电机高速控制设计的一种16位微处理器,具有以下基本特点。(1) 1个16位CPU和1个DSP内核;(2)当内部时钟频率为最高120MHz时,进行1次16位乘法运算为8. 3 ns;(3)包括2048B 的RAM、48 kB 片内程序空间和1024B E2 PROM;(4) 7个中断、21条I/O口线;(5

2、) 1路全双工UART功能模块, 1个同步串行SPI功能模块, 1个I2C串行通信模块和1 个CAN串行通信模块;(6) 1个6通道A /D 转换器,工作于10 位模式,采样保持时间、转换时间、阀值检测方式和零偏补偿校正均可编程;(7) 5个16 位定时器, 4 路捕捉器, 2 路比较/标准脉宽调制( PWM)单元模块;(8) 1个6通道的电机专用MCPWM控制器 1 。dsP IC30F4011片内的MCPWM 控制器是其特色之一。此装置大大简化了产生脉宽调制( PWM)波形的控制软件和外部硬件,通过编程可产生独立的、具有相同频率工作方式的三相6路PWM波形,并由RE口直接输出6路PWM信号

3、至逆变器,且三相互补不重叠。每个引脚驱动电流达25 mA。为了防止同一桥臂上2个功率管发生直通造成短路,该控制器还通过编程设置了死区互锁时间。2无刷直流电机基本工作原理如图1所示,无刷直流电动机由电机本体、转子位置传感器、电子开关线路三部分组成,电机本体的主转子由永磁钢组成,主要作用是在电动机气隙中产生磁场。主定子上的线圈通电后产生反应磁场,该磁场方向与转子磁场方向保持90左右的角度,驱动转子转动。但是由于无刷电机没有机械换向装置,不能使定子绕组依次通电,所以还要由位置传感器、位置逻辑控制单元、功率开关管共同构成一个保证电机正常运行的换向装置。电路中,以光电器件作为位置传感器,遮光板的透光部分

4、为120,三个光电器件相差120位置,因而其导通角也是120,随着位置传感器遮光板的转动,定子绕组在位置传感器件Sa、Sb、Sc的控制下, A、B、C三相依次通电,实现了各相绕组电流的换相。无刷直流电机速度和转矩控制主要依据如下反电动势和转矩工程计算方程:其中: N 为电机定子每相线圈数; l为转子的长度;r为转子的内径; B 为转子的磁通密度; 为电机的角速度; i为相电流; 为转子位置。从上述方程可以看出, 无刷直流电机的反电动势与转速成比例, 转矩与相电流也几乎是成比例的 2 。3硬件电路的设计3. 1硬件组成基于dsPIC30F4011的无刷直流电机控制系统的原理框图如图2所示。dsP

5、 IC通过捕获单元捕捉电机转子位置传感器上的脉冲信号,计算转子位置, dsP IC根据捕获的霍尔位置传感器脉冲信号的宽度计算出电机的当前速度,与电机的设定速度比较后,产生转速偏差信号。该偏差信号经P I调节产生电流参考给定;将该给定参考电流与实际电流再作比较,产生电流偏差信号,经P I算法产生适当的PWM信号供给智能功率模块IRAMS10UP60A以控制电机的转速。dsP IC 通过A /D、I/O口采集电机转速设定值和电机的起停、正反转、制动命令来控制电机的运转状态,驱动保护电路可完成电机的过流、过电压、驱动时序异常等故障保护。3. 2智能功率驱动功率驱动部分是控制系统的一个重要组成部分,

6、智能功率模块IRAMS10UP60A 内部集成了多种功能电路, 大大地简化了系统硬件电路, 而且同分离元件组成的功率驱动电路相比, 它的安全性、稳定性和可靠性都要更好。模块的自举电路和过温/过流保护电路需要外围电路协同工作, 其它电路都为内置电路, 由内外部电路一起实现的自举电路和过温/过流保护电路, 这是该模块正常使用的关键, 也是保证闭环速度调节控制系统功能实现的重要电路 3 。3. 2. 1自举电路对于每个给高端IGBTs提供门极的3个高端电路, 高端和低端驱动器需要1个浮动的电源供电,自举电路是一种非常方便地获得浮动电源的方法,图3给出了三相开关逆变器驱动电路的其中一相的实现方法,并在

7、下面阐述自举工作的原理, 该电路适用于每一相。当低端IGBT导通时, 自举电容Cbs(外置) 通过自举二极管Dbs , 电阻R bs和低端开关S2进行充电,因为S 7 的发射极接近地电位, 自举电容Cbs上的充电电压接近1V。当低端开关断开时, S7的发射极电位上升, 由于自举电容Cbs上的充电电压接近15V , 因而自举二极管D bs反向截止, 自举电容C bs上的电压为S7 提供静态电压, 对输入的开关脉冲信号进在使用这个模块时,首先要看3 个外加的自举电容是否都能正常充电,这是自举电路正常工作的关键。自举电路的功能保证了功率部分可以由单一电源供电,简化了硬件电路, 增加了功率部分的安全性

8、。3. 2. 2过温/过流保护电路图4为内外电路构成的过温/过流保护电路, 21脚T/Trip 有双重功能, 输入引脚为过流触发, 热敏电阻所感应出的模拟温度信号是输出引脚。RNTC为热敏电阻, 过温电路一直有效; 过流控制晶体管是常开的。正常时, 21脚加5 V输入;过温时, 21脚自动从5 V下降, 外控器工作;过流时, 过流控制晶体管工作, 集电极为0 V , 21脚无外电源工作, 电压自动下降, 外控器工作。过温/过流保护电路避免了功率模块因温度过高或电流过大而引起的故障。4 软件实现在本实验的闭环控制实现中,软件主要有初始化程序、电机起动程序、转子位置检测及换相程序、电压和电流保护程

9、序及运行控制程序等组成。程序流程图如图5 4 。程序用C语言编写,通过MPLABC30C编译器实现,MPLABC30C 编译器是一个全功能的优化编译器,可将标准的ANSI C程序翻译为dsP IC汇编语言源代码。同时它还支持许多命令行选项和语言扩展,可以对dsP IC器件的硬件功能进行完全访问,可以更好地控制代码的生成。4. 1转子位置检测三相BLDC电机具有3相定子,同一时刻为其中的两相通电,以产生旋转磁场。此方法较容易实现,但是为了防止永磁体转子被定子锁住,在知道转子磁体的精确位置的前提下,必须以特定的方式按顺序为定子通电。位置信息用霍尔传感器检测转子磁体位置获得。对于典型的三相带传感器的

10、BLDC电机,有6个不同的工作区间,每个区间中有特定的两相绕组通电。如图6所示通过检测霍尔传感器,可以得到一个3位编码,编码值的范围从1到6。每个编码值代表转子当前所处的区间。从而提供了需要对哪些绕组通电的信息。因此程序可以使用简单的查表操作来确定要对哪两对特定的绕组通电以使转子转动。注意状态“0”和“7”对于霍尔效应传感器而言是无效状态。软件应该检查出这些值并相应地禁止PWM。查表程序如下以下是低端驱动器表。在此StateLoTable 中,在低端驱动器上施加PWM 信号,而高端驱动器为“导通”或“截止”状态。在本实验中使用此表。unsigned int StateLoTable = 0x0

11、000, 0x1002, 0x0420,0x0402, 0x0108, 0x1008, 0x0120, 0x0000;412PWM 信号的产生PWM信号通过控制功率器件的导通和截止改变加在电机绕组上的平均电流,达到控制电机转速的目的。在dsP IC中用一个计数器产生PWM信号三角波,计数器的峰值和载波周期不变,经过驱动后控制IRAMS10UP60A 的导通与关断。通过改变比较寄存器的值VCOMP ,可以改变PWM信号的占空比,调节电机的平均相电流,实现电机的调速。PWM信号产生的寄存器设置:InitMCPWM,对PWM做以下初始化:(1) FPWM = 16 000 Hz;(2)独立的PWM;

12、(3)使用OVDCON 控制输出;(4)使用P I算法和速度误差设置占空比;(5) 将ADC 设置为由PWM 特殊触发信号触发。程序如下:void InitMCPWM ( void)PTPER = FCY/FPWM - 1;PWMCON1 = 0x0700; / / 禁止PWMOVDCON = 0x0000; / / 允许使用OVD 控制PDC1 = 100; / / 将PWM1、PWM2 和PWM3 初始化为100PDC2 = 100;PDC3 = 100;SEVTCMP = PTPER; / / 特殊触发值等于16个周期值PWMCON2 = 0x0F00; / / 后分频比设为1: 16P

13、TCON = 0x8000; / / 启动PWM413速度检测要测量实际速度,可以使用TMR3 作为定时器来选通一个完整的电周期。由于我们使用的是10极电机,因此一个机械周期将由5 个电周期构成。如果T (秒)是一个电周期的时间,那么速度S = 60 / ( P /2 ) T r /min, 其中P 是电机的极数。GetSpeed子程序,通过使用每个机械周期内TMR3中的值确定电机的精确速度。void GetSpeed ( void)if ( Timer3 23000) / / 如果TMR3 值很大,则忽略此次读取return;if ( Timer3 0)Speed = RPMConstant

14、/ ( long) Timer3; / / 获得以RPM 为单位的速度ActualSpeed + = Speed;ActualSpeed = ActualSpeed 1;if ( + + SpeedCount = = 1)SpeedCount = 0; CalculateDC ( ) ; 4. 4P I参数的设定电机速度的给定是通过给定电位器来确定。然后根据要求的速度值和实际的速度值来确定比例速度误差和积分速度误差。有了这两个值,就可以使用下面的公式计算出新的占空比:NewDutyCycle (新的占空比) = Kp ( 比例速度误差) + Ki ( 积分速度误差) ;然后将10位的NewDu

15、tyCycle (新占空比值)装入所有的3个PWM占空比寄存器中。使用P I算法来计算新的DutyCycle (占空比)值,该值将被载入PDCx寄存器。void CalculateDC ( void)DesiredSpeed = DesiredSpeed3 3;Flags. Minus = 0;if (ActualSpeed DesiredSpeed)SpeedError = ActualSpeed - DesiredSpeed;elseSpeedError = DesiredSpeed - ActualSpeed;Flags. Minus = 1;Speed Integral + = Spe

16、edError;if ( Speed Integral 9000)Speed Integral = 0;DutyCycle = ( ( ( long) Ksp 3 ( long) SpeedError + ( long) Ksi3( long) Speed Integral) 12) ;DesiredSpeed = DesiredSpeed /3;if ( Flags. Minus)DutyCycle = DesiredSpeed + DutyCycle;else DutyCycle = DesiredSpeed - DutyCycle;if (DutyCycle 1250)DutyCycle = 1250; Speed Integral = 0; PDC1 = DutyCycle;PDC2 = PDC1;PDC3 = PDC1;5结论经过实践应用, 基于dsP IC30f系列单片机的无刷直流电机控制系统具有电路简单, 调速性能好,抗干扰性强, 可靠性高

温馨提示

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

评论

0/150

提交评论