ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:894.41KB ,
资源ID:4474140      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4474140.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第三章无刷直流电动机PWM 控制方案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第三章无刷直流电动机PWM 控制方案.docx

1、第三章无刷直流电动机PWM 控制方案第三章、用EL-DSPMCKIV实现无刷直流电动机PWM 控制方案实验概述:本实验是一个无刷直流电动机的PWM控制系统。结构简单,用到的模块也较少。下面给出每个模块的输入与输出量名称及其量值格式(一)、无刷直流电动机PWM 控制原理简介无刷直流电动机从结构上讲更接近永磁同步电动机(我们在下一章节中做详细介绍),控制方法也很简单,主要是通过检测转子的位置传感器给出的转子磁极位置信号来确定励磁的方向,从而保证转矩角在90 度附近变化,保证电机工作的高效率。定子换相是通过转子位置信号来控制,转矩的大小则通过PWM的方法控制有效占空比来调控。我公司提供过两种直流无刷

2、电机,一种以前提供过的57BL-02直流无刷电机的额定电压为24V,额定转速为1600rpm,转子极数为4,也就是2 极对,还有一种是现在提供的57BL-0730N1直流无刷电机,该电机额定转速为3000rpm,转子极数为10,也就是5极对,这两种电机的转子位置都由霍尔传感器提供,同时由此计算出电机的转速,控制程序样例没有电流环。(二)、系统组成方案及功能模块划分本实验为开环和闭环实验,通过几个模块信号处理最终用BLDCPWM模块产生IPM驱动信号来控制直流无刷电机转动。下图为一个开环控制的系统功能框图,参考占空比信号经由RMP2CNTL 模块处理,变成缓变信号送到PWM产生模块。霍尔传感器的

3、输出脉冲信号,经由DSP的CAP1、CAP2、CAP3端口被DSP获取。通过霍尔提供的转子位置信息HALL3_DRV模块判断转子位置,并将该转子位置信息通过计数器传递给BLDC_3PWM_DRV 模块,该模块通过占空比输入、设定开关频率以及转子的位置信息产生相应的PWM 信号作用于逆变器中的开关管,从而驱动电动机旋转。(三)、系统测试步骤和方法进行该系统测试的前提是已经在电脑上安装好CCS3.3版本的软件了,我们提供的软件是在CCS3.3 版本下进行调试的,尤其是我们提供的工作环境wks 文件是在此版本下保存的,在不同的版本下并不兼容,所以建议客户安装CCS3.3 版本,如果非要在CCS 其他

4、版本下运行该套软件,请客户自行建立工作环境wks文件。另外该系统测试的前提也认为是将DSP的USB仿真驱动也已经安装好了。首先将公司提供的光盘根目录下的mckiv文件夹拷贝到电脑E 盘的根目录下,由于TI 公司的CCS 集成软件是有路径记忆功能的,所以最好是拷贝到E盘。首先按照以下方法连接好控制器和机组:1. 将控制器背板上的带单芯插头的灰色大地线插到直流有刷电机机组上。2. 将 M002 号电缆的10 芯航空插头连接到控制器的背板上。将另一头4 芯航空插头连接到直流无刷电机的5芯插座上。3. 将M007号霍尔信号电缆一端的9芯航空插头连接到直流无刷电机的9芯航空插座上,另一端9芯航空插头连接

5、到控制器前面DSPCPU板下面的那块接口板INF2上的9芯航空插座上,并将INF2上的JP1拨向左侧,标有“LINE1000”字样。4. 将连接在磁粉制动器上的M006号负载电缆的4芯卡式插头连接到控制器背板的4芯圆形卡式插座上。5. 将仿真器连接到DSP28335CPU板上的J8上(右上角14P插座)。6. 将3芯电源线插入控制器的背板上,并将电源线插在电源接线板上,注意,一定要确保插座板上的大地线是接触良好的。7. 打开控制器背板上的的红色船形电源开关,如果有电,此开关的指示灯应点亮。同时控制器前面的液晶显示器应显示开机画面,然后停留在菜单画面。9. 启动CCS软件(CCStudio v3

6、.3)(在此之前应该已经用Setup CCStudio v3.3文件设置好CPU 类型和仿真器类型),如果8 秒之内还没有进入到CCS 软件的操作页面,并且发现DSPCPU 板上的“LED3”指示灯不闪烁,请按DSPCPU 板上的复位键(在LED4灯的右边),直到该指示灯闪烁为止,然后就应该能进入CCS3.3了。注意.CCS3.3软件界面出现后,在界面的右下角出现如下提示:说明CCS3.3 软件没有连接目标CPU,所以此时要用“Debug-Collect”命令来连接目标CPU,执行完后再界面的右下角会出现如下提示: 说明软件可以正常使用了。最后用“FileWorkspaceLoad Works

7、pace”菜单命令打开E:MCKIV28335softbldc28335100305DMCC28V32XsysBLDC3_1_2833xcfloatbuild bldc_2833xDebug” 文件夹下的工作环境文件“bldc_2833x.wks”文件。步骤 1、开环启动,寻找最佳换相表测试此实验用RMP2_CNTL、MOD6_CNT和 BLDCPWM及硬件电路连接来实验直流无刷电机的开环控制,通过实验过程来验证以上几个模块及逆变电路工作是否正常,并分析模块在系统中的作用,关键是通过转子在不同起始位置的不同换相控制表来找到让转矩和转子正交的最佳换相表。图4-1-1和图4-1-2分别给出了此步骤

8、的功能框图和软件流程图。以下给出步骤1中的控制参数及其调节范围:仿真测试具体操作方法如下:1. 将头文件“build.h”中的编译指令BUILDLEVEL设为“LEVEL1” ,目前公司配置的直流无刷电机是5 极对的,以前公司配置过2 极对的直流无刷电机,如果电机是2极对的,请打开“PARAMETER.H”头文件,并修改这一行程序:#define P 10 / Number of poles, 将10修改为4.#define BASE_FREQ 250 将250修改为50如果是5极对电机则不用修改。然后用“Project-Build”指令重新编译连接程序;2. 用“File-Load Prog

9、ram”菜单命令加载“bldc_2833x.out”文件到目标板,此时注意观察加载的文件“bldc_2833x.out”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时“bldc_2833x.out”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内容,那么编译的时候就肯定会生成新时间的输出文件。3. 点击“Debug-Real time Mode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug-Run” 或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。4. 在“Watch windo

10、w”窗口中左键点击“Build1”标签并在空白处点击右键,选择连续刷新模式“Continuous Refresh” ,此时应能观察到“BackTicker”变量在不断变化,说明主程序已经运行。在控制器面板上进行电机选择,选择直流无刷电机正确后,进入状态页面(F1),打开主电源(按钮:电源)。将电机转子转动到任意一个可识别的位置,例如,将轴的安装端面水平,或者将安装销位置朝上,或者给转子贴一个标记,让标记朝上,目的就是要能识别这个位置,然后在下次启动是能让转子相对这个位置转动一个角度,然后设置变量“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程

11、序已经正常运行,此时如果各电路部分正确,机组连接正确的话,电机应稳定运行。如果电机没有运转,请检查各电缆是否连接可靠,检查INF2电路板上的JP1拨动开关是否拨向左侧,都没有错误的话,检查INF2 上的LED2 是否熄灭,如果熄灭,说明产生了功率保护中断,更换DSPCPU板后实验现象依旧,则可能需要返修。5. 分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“Continuous Refresh” ,观察mod1.Counter、hall1.HallGpioAccepted、mod1.TrigInput 以及hall1.CmtnTrigHall 的波

12、形,如图4-1-3,图4-1-4 所示。mod1.Counter 是检测到的转子换相计数器,从0 到5 之间变化,hall1.HallGpioAccepted表示的是转子换相对应的霍尔状态,mod1.TrigInput表示的是检测到了换相的信号标志,hall1.CmtnTrigHall表示的也是换相标志。记录下此时的“Build1”标签中的变量FirstHallState,这是转子在启动之初的霍尔位置,再记录下“Build1”标签中的speed1.SpeedRpm,这是电机当前的转速,再记录下hall1.HallMap0 hall1.HallMap5这个数组的6 个值,这就是换相表。这三部分的

13、变量值记录下来以后,点击“Debug-Halt”,再点击“Debug-Real time Mode”,最后点击“Debug-Reset CPU”和“DebugRestart”,退出实时运行模式,将转子转动到和刚才的初始位置偏移30度左右的位置,然后点击“Debug-Real time Mode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug-Run” 或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。电机应该运行起来,记录下此时的“Build1”标签中的变量FirstHallState,“Build1”标签中的speed1.SpeedRpm,再记录下hall1

14、.HallMap0 hall1.HallMap5这个数组的6个值,然后又退出实时模式,电机停止运行,再次转动转子的初始位置,和刚才第二次的位置相差30度左右,如此循环下去,直到转子6个初始位置都试运行完成,我们会发现,电机在相同的转矩作用下,速度相差较多,其中那个转速最快的换相表就是我们需要的保证转矩和转子正交的换相表,一般情况下,应该是hall1.HallMap0 hall1.HallMap5 中的数值为“ 451326 ”, 最后点击“Debug-Halt” ,再点击“Debug-Real time Mode” ,最后点击“Debug-ResetCPU” ,退出实时运行模式。公司原先配套的

15、直流无刷电机为2 极对的,所以转子机械位置从0 到360 度对应转子电气位置有两个360 度,具体表现就是转子在某一个位置的霍尔位置信号和转子转动180 度后的霍尔位置信号是相同的。现在配置的是5 极对的直流无刷电机,那么转子转动一圈,会有5 个电气周期,每次手动转的角度就要更小了。6. 打开“bldc3_1.c”源文件,找到“float32 DFuncDesired = 0.375;”这一行,将0.375修改为-0.375,编译文件,重新下载“bldc_2833x.out”文件到28335CPU目标板,重复4,5,6 步,找到电机反转时的最佳换相表。一般情况下,应该是hall1.HallMa

16、p0 hall1.HallMap5中的数值为“645132”,这就是电机反转时的最佳换相表。最后点击“Debug-Halt” ,再点击“Debug-Real time Mode” ,最后点击“Debug-Reset CPU” ,退出实时运行模式。7. 完成 4,5,6,7 步后找到电机正转和反转的最佳换相表后,打开“bldc3_1.c”源文件,找到“float32 DFuncDesired = -0.375;”这一行,将-0.375修改为0.375,编译文件,重新下载“bldc_2833x.out”文件到28335CPU目标板,让电机运行起来,在“Watch window”窗口中的“Build

17、2”标签中双击DFuncDesired变量右侧的数据,输入要改变的值,观察电机速度的变化,例如输入0.4 后回车,观察电机速度的变化,然后改变为0.5 后回车观察电机速度的变化。也可以改变转矩的值为负值,例如改为-0.5,看电机换向情况。8. 点击“Debug-Halt”,再点击“Debug-Real time Mode”,最后点击“Debug-ResetCPU”,“DebugRestart ”,退出实时运行模式,并停止程序运行。9. 如果继续实验,请转步骤2,否则先关闭控制器的功率部分主电源(在液晶显示状态页面时按下电源按钮),然后关闭CCS3.3软件退出程序,关闭控制电源。步骤2、在最佳换

18、相表下开环启动并换向测试通过上一步获得让转矩和转子正交的最佳换相表,在最佳换相表控制下进行换相,观察电机的运转情况,及其换相控制过程。图4-2-1和图4-2-2分别给出了此步骤的功能框图和软件流程图。以下给出步骤2中的控制参数及其调节范围:EnableFlag :启动控制(0,1)DfuncDesired :转矩设定值,-7fffh +7fffh如果不是从第一步继续实验到这里,请按照前面系统测试和步骤所描述的方法操作,否则请直接进行下面的操作:1. 将头文件“build.h”中的编译指令BUILDLEVEL 设为“LEVEL2” ,然后用“Project-Build”指令重新编译连接程序;2.

19、 用“File-Load Program”菜单命令加载“bldc_2833x.out”文件到目标板,此时注意观察加载的文件“bldc_2833x.out”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时“bldc_2833x.out”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内容,那么编译的时候就肯定会生成新时间的输出文件。3. 点击“Debug-Real time Mode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug-Run” 或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行

20、。4. 在“Watch window”窗口中左键点击“Build2”标签并在空白处点击右键,选择连续刷新模式“Continuous Refresh” ,此时应能观察到“BackTicker”变量在不断变化,说明主程序已经运行。5. 如果从步骤1 继续实验而来,跳过此步。否则在控制器面板上进行电机选择,选择直流无刷电机正确后,进入状态页面(F1),打开主电源(按钮:电源)。6. 设置变量“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程序已经正常运行,此时如果各电路部分正确,机组连接正确的话,电机应稳定运行。观察控制器上液晶显示的速度是否稳定,如

21、果跳动较大,请检查大地线是否连接良好。7. 分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“Continuous Refresh” ,观察mod1.Counter、hall1.HallGpioAccepted的波形,如图4-2-3 所示和图4-2-4 所示。mod1.Counter 是检测到的转子换相计数器,从0到5之间变化,hall1.HallGpioAccepted表示的是转子换相对应的霍尔状态,从图形显示窗口“Channel1&2”中仔细观察对应与换相计数器mod1.Counter的霍尔状态表hall1.HallGpioAccepted ,看

22、是不是第一步我们检测到的最佳换相表,图形显示窗口“Channel3&4”显示的是电机的转速speed1.SpeedRpm,单位为转每分和hall1.CmtnTrigHall,表示的是霍尔换相触发信号。8. 让电机运行起来,在“Watch window”窗口中的“Build2”标签中双击DFuncDesired变量右侧的数据,输入要改变的值,观察电机速度的变化,例如改变为“-0.375”后回车观察电机速度的变化,电机应该换向运行,从图形显示窗口“Channel1&2”中仔细观察对应与换相计数器mod1.Counter 的霍尔状态表hall1.HallGpioAccepted 。看是不是第一步我们

23、检测到的反向最佳换相顺序,注意此时mod1.Counter是从5到0变化的,所以我们看到的换相顺序有所不同。9. 点击“Debug-Halt”,再点击“Debug-Real time Mode”,最后点击“Debug-ResetCPU”,“DebugRestart ”,退出实时运行模式,并停止程序运行。10.如果继续实验,请转步骤3,否则先关闭控制器的功率部分主电源(在液晶显示状态页面时按下电源按钮),然后关闭CCS3.3软件退出程序,关闭控制电源。步骤 3、速度闭环系统功能测试速度闭环PI 调节器的模拟实验所用到的模块框图和程序流程图如图431 和图432所示:如果不是从第二步继续实验到这里

24、,请按照前面系统测试步骤和方法所描述的步骤进行处理,否则请直接按照下面的操作方法进行实验:1. 将头文件“build.h”中的编译指令BUILDLEVEL 设为“LEVEL3” ,然后用“Project-Build”指令重新编译连接程序;2. 用“File-Load Program”菜单命令加载“bldc_2833x.out”文件到目标板,此时注意观察加载的文件“bldc_2833x.out”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时“bldc_2833x.out”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内

25、容,那么编译的时候就肯定会生成新时间的输出文件。3. 点击“Debug-Real time Mode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug-Run” 或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。4. 在“Watch window”窗口中左键点击“Build 3”标签并在空白处点击右键,选择连续刷新模式“Continuous Refresh” ,此时应能观察到“BackTicker”变量在不断变化,说明主程序已经运行。5. 如果从步骤2 继续实验而来,跳过此步。在控制器面板上进行电机选择,选择直流无刷电机正确后,进入状态页面(F1),打开主电源(

26、按钮:电源)。如果是单一的直流无刷电机控制器则不需要进行电机选择,进入状态页面后直接打开主电源即可。6. 设置变量“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程序已经正常运行,此时如果各电路部分正确,机组连接正确的话,应该稳定在600转每分。7. 分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“Continuous Refresh” ,观察mod1.Counter、hall1.HallGpioAccepted的波形。mod1.Counter是检测到的转子换相计数器,电机正转时从0到5变化,或者电

27、机反转时从5到0之间变化,hall1.HallGpioAccepted表示的是转子换相对应的霍尔状态。图形显示窗口“Channel3&4”显示的是检测到的A相电流ilg2_vdc1.ImeasA,下面显示的是ilg2_vdc1.ImeasB,表示的是检测到的B相电流。在“Watch window”窗口中的“Build3”标签中的speed1.SpeedRpm 变量显示的值是电机的转速,注意和控制器面板上显示的速度进行比较,应该差不多。如图4-3-3和图4-3-4所示。8. 在“Watch window”窗口中的“Build3”标签中双击SpeedRef变量右侧的数据,输入要改变的值,观察电机速

28、度的变化,例如输入-0.4后回车,观察电机速度的变化。在确认电机速度能及时准确的跟随速度给定值变化后,在某一速度下,通过控制器的面板设定不同的负载,观察电机的带负载能力。在控制器面板上按下“菜单”按键,出现菜单页面后按下向下按键,“设定”条目前面的光标闪烁,按下“确定”按键,出现设定页面,“负载”条目前面的光标闪烁,继续按下“确定”按键,利用向上或者向下按键改变负载电流值,首先修改百位的电流值,然后按“shift”按键移动到十位,利用向上或者向下按键改变十位的数据,再按“shift”按键移动到个位,改变数值,最后按“确定”按键。负载是一个500毫安,2牛米的一个磁粉制动器,产生的扭矩为:输入电

29、流值/500*2 牛米。控制器限制电流输入值为0 到300 毫安。例如我们将十位的0变为5后按“确定”键,就是设定负载为50毫安,磁粉制动器产生的转矩= 50/500*2 = 0.2牛米。机组配置的直流无刷电机额定带负载能力为0.23牛米,所以我们输入的负载不要超过50毫安,带负载实验也不要时间过长,以免损坏电机和功率器件。因为没有电流环,严禁做堵转实验。注意加载后,电机的速度会降低,但是经过速度PI调节后,很快就回到原来的速度,这样说明速度闭环是成功的。加载后可以明显的看到ImeasA和ImeasB电流峰值增大,去载后电流明显减小。9. 点击“Debug-Halt”,再点击“Debug-Real time Mode”,最后点击“Debug-ResetCPU”,“DebugRestart ”,退出实时运行模式。10.先关闭控制器的功率部分主电源(在液晶显示状态页面时按下电源按钮),然后关闭CCS3.3软件退出程序,再关闭控制器的控制电源。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1