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

上传人:b****3 文档编号:10899415 上传时间:2023-05-28 格式:DOCX 页数:14 大小:1.13MB
下载 相关 举报
第三章无刷直流电动机pwm控制方案.docx_第1页
第1页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第2页
第2页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第3页
第3页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第4页
第4页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第5页
第5页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第6页
第6页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第7页
第7页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第8页
第8页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第9页
第9页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第10页
第10页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第11页
第11页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第12页
第12页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第13页
第13页 / 共14页
第三章无刷直流电动机pwm控制方案.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

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

《第三章无刷直流电动机pwm控制方案.docx》由会员分享,可在线阅读,更多相关《第三章无刷直流电动机pwm控制方案.docx(14页珍藏版)》请在冰点文库上搜索。

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

第三章无刷直流电动机pwm控制方案

第三章、用EL-DSPMCKIV实现无刷直流电动机PWM控制方案

实验概述:

本实验是一个无刷直流电动机的PWM控制系统。

结构简单,用到的模块也较少。

下面给出每个模块的输入与输出量名称及其量值格式

(一)、无刷直流电动机PWM控制原理简介

无刷直流电动机从结构上讲更接近永磁同步电动机(我们在下一章节中做详细介绍),控制方法也很简单,主要是通过检测转子的位置传感器给出的转子磁极位置信号来确定励磁的方向,从而保证转矩角在90度附近变化,保证电机工作的高效率。

定子换相是通过转子位置信号来控制,转矩的大小则通过PWM的方法控制有效占空比来调控。

我公司提供过两种直流无刷电机,一种以前提供过的57BL-02直流无刷电机的额定电压为24V,额定转速为1600rpm,转子极数为4,也就是2极对,还有一种是现在提供的57BL-0730N1直流无刷电机,该电机额定转速为3000rpm,转子极数为10,也就是5极对,这两种电机的转子位置都由霍尔传感器提供,同时由此计算出电机的转速,控制程序样例没有电流环。

(二)、系统组成方案及功能模块划分

本实验为开环和闭环实验,通过几个模块信号处理最终用BLDCPWM模块产生IPM驱动信号来控制直流无刷电机转动。

下图为一个开环控制的系统功能框图,参考占空比信号经由RMP2CNTL模块处理,变成缓变信号送到PWM产生模块。

霍尔传感器的输出脉冲信号,经由DSP的CAP1、CAP2、CAP3端口被DSP获取。

通过霍尔提供的转子位置信息HALL3_DRV模块判断转子位置,并将该转子位置信息通过计数器传递给BLDC_3PWM_DRV模块,该模块通过占空比输入、设定开关频率以及转子的位置信息产生相应的PWM信号作用于逆变器中的开关管,从而驱动电动机旋转。

(三)、系统测试步骤和方法

进行该系统测试的前提是已经在电脑上安装好版本的软件了,我们提供的软件是在版本下进行调试的,尤其是我们提供的工作环境wks文件是在此版本下保存的,在不同的版本下并不兼容,所以建议客户安装版本,如果非要在CCS其他版本下运行该套软件,请客户自行建立工作环境wks文件。

另外该系统测试的前提也认为是将DSP的USB仿真驱动也已经安装好了。

首先将公司提供的光盘根目录下的mckiv文件夹拷贝到电脑E盘的根目录下,由于TI公司的CCS集成软件是有路径记忆功能的,所以最好是拷贝到E盘。

首先按照以下方法连接好控制器和机组:

1.将控制器背板上的带单芯插头的灰色大地线插到直流有刷电机机组上。

2.将M002号电缆的10芯航空插头连接到控制器的背板上。

将另一头4芯航空插头连接到直流无刷电机的5芯插座上。

3.将M007号霍尔信号电缆一端的9芯航空插头连接到直流无刷电机的9芯航空插座上,另一端9芯航空插头连接到控制器前面DSPCPU板下面的那块接口板INF2上的9芯航空插座上,并将INF2上的JP1拨向左侧,标有“LINE1000”字样。

4.将连接在磁粉制动器上的M006号负载电缆的4芯卡式插头连接到控制器背板的4芯圆形卡式插座上。

5.将仿真器连接到DSP28335CPU板上的J8上(右上角14P插座)。

6.将3芯电源线插入控制器的背板上,并将电源线插在电源接线板上,注意,一定要确保插座板上的大地线是接触良好的。

7.打开控制器背板上的的红色船形电源开关,如果有电,此开关的指示灯应点亮。

同时控制器前面的液晶显示器应显示开机画面,然后停留在菜单画面。

9.启动CCS软件(CCStudio)(在此之前应该已经用SetupCCStudio文件设置好CPU类型和仿真器类型),如果8秒之内还没有进入到CCS软件的操作页面,并且发现DSPCPU板上的“LED3”指示灯不闪烁,请按DSPCPU板上的复位键(在LED4灯的右边),直到该指示灯闪烁为止,然后就应该能进入了。

注意.软件界面出现后,在界面的右下角出现如下提示:

说明软件没有连接目标CPU,所以此时要用“Debug--Collect”命令来连接目标CPU,执行完后再界面的右下角会出现如下提示:

说明软件可以正常使用了。

最后用“File—Workspace—LoadWorkspace…”菜单命令打开E:

MCKIV\28335soft\bldc305\DMC\C28\V32X\sys\BLDC3_1_2833x\cfloat\build\bldc_2833x\Debug”文件夹下的工作环境文件“”文件。

步骤1、开环启动,寻找最佳换相表测试

此实验用RMP2_CNTL、MOD6_CNT和BLDCPWM及硬件电路连接来实验直流无刷电机的开环控制,通过实验过程来验证以上几个模块及逆变电路工作是否正常,并分析模块在系统中的作用,关键是通过转子在不同起始位置的不同换相控制表来找到让转矩和转子正交的最佳换相表。

图4-1-1和图4-1-2分别给出了此步骤的功能框图和软件流程图。

以下给出步骤1中的控制参数及其调节范围:

仿真测试具体操作方法如下:

1.将头文件“”中的编译指令BUILDLEVEL设为“LEVEL1”,目前公司配置的直流无刷电机是5极对的,以前公司配置过2极对的直流无刷电机,如果电机是2极对的,请打开“”头文件,并修改这一行程序:

#defineP10#defineBASE_FREQ250将250修改为50

如果是5极对电机则不用修改。

然后用“Project--Build”指令重新编译连接程序;

2.用“File--LoadProgram”菜单命令加载“”文件到目标板,此时注意观察加载的文件“”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时“”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内容,那么编译的时候就肯定会生成新时间的输出文件。

3.点击“Debug--RealtimeMode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug--Run”或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。

4.在“Watchwindow”窗口中左键点击“Build1”标签并在空白处点击右键,选择连续刷新模式“ContinuousRefresh”,此时应能观察到“BackTicker”变量在不断变化,说明主程序已经运行。

在控制器面板上进行电机选择,选择直流无刷电机正确后,进入状态页面(F1),打开主电源(按钮:

电源)。

将电机转子转动到任意一个可识别的位置,例如,将轴的安装端面水平,或者将安装销位置朝上,或者给转子贴一个标记,让标记朝上,目的就是要能识别这个位置,然后在下次启动是能让转子相对这个位置转动一个角度,然后设置变量“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程序已经正常运行,此时如果各电路部分正确,机组连接正确的话,电机应稳定运行。

如果电机没有运转,请检查各电缆是否连接可靠,检查INF2电路板上的JP1拨动开关是否拨向左侧,都没有错误的话,检查INF2上的LED2是否熄灭,如果熄灭,说明产生了功率保护中断,更换DSPCPU板后实验现象依旧,则可能需要返修。

5.分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“ContinuousRefresh”,观察、、

以及的波形,如图4-1-3,图4-1-4所示。

是检测到的转子换相计数器,从0到5之间变化,表示的是转子换相对应的霍尔状态,表示的是检测到了换相的信号标志,表示的也是换相标志。

记录下此时的“Build1”标签中的变量FirstHallState,这是转子在启动之初的霍尔位置,再记录下“Build1”标签中的,这是电机当前的转速,再记录下[0]~[5]这个数组的6个值,这就是换相表。

这三部分的变量值记录下来以后,点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”和“Debug—Restart”,退出实时运行模式,将转子转动到和刚才的初始位置偏移30度左右的位置,然后点击“Debug--RealtimeMode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug--Run”或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。

电机应该运行起来,记录下此时的“Build1”标签中的变量FirstHallState,“Build1”标签中的,再记录下[0]~[5]这个数组的6个值,然后又退出实时模式,电机停止运行,再次转动转子的初始位置,和刚才第二次的位置相差30度左右,如此循环下去,直到转子6个初始位置都试运行完成,我们会发现,电机在相同的转矩作用下,速度相差较多,其中那个转速最快的换相表就是我们需要的保证转矩和转子正交的换相表,一般情况下,应该是[0]~[5]中的数值为“451326”,最后点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,退出实时运行模式。

公司原先配套的直流无刷电机为2极对的,所以转子机械位置从0到360度对应转子电气位置有两个360度,具体表现就是转子在某一个位置的霍尔位置信号和转子转动180度后的霍尔位置信号是相同的。

现在配置的是5极对的直流无刷电机,那么转子转动一圈,会有5个电气周期,每次手动转的角度就要更小了。

6.打开“”源文件,找到“float32DFuncDesired=;;”这一行,将修改为,编译文件,重新下载“”文件到28335CPU目标板,重复4,5,6步,找到电机反转时的最佳换相表。

一般情况下,应该是[0]~[5]中的数值为“645132”,这就是电机反转时的最佳换相表。

最后点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,退出实时运行模式。

7.完成4,5,6,7步后找到电机正转和反转的最佳换相表后,打开“”源文件,找到“float32DFuncDesired=;;”这一行,将修改为,编译文件,重新下载“”文件到28335CPU目标板,让电机运行起来,在“Watchwindow”窗口中的“Build2”标签中双击DFuncDesired变量右侧的数据,输入要改变的值,观察电机速度的变化,例如输入后回车,观察电机速度的变化,然后改变为后回车观察电机速度的变化。

也可以改变转矩的值为负值,例如改为,看电机换向情况。

8.点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,“Debug—Restart”,退出实时运行模式,并停止程序运行。

9.如果继续实验,请转步骤2,否则先关闭控制器的功率部分主电源(在液晶显示状态页面时按下电源按钮),然后关闭软件退出程序,关闭控制电源。

步骤2、在最佳换相表下开环启动并换向测试

通过上一步获得让转矩和转子正交的最佳换相表,在最佳换相表控制下进行换相,观察电机的运转情况,及其换相控制过程。

图4-2-1和图4-2-2分别给出了此步骤的功能框图和软件流程图。

以下给出步骤2中的控制参数及其调节范围:

EnableFlag:

启动控制(0,1)

DfuncDesired:

转矩设定值,-7fffh~+7fffh

如果不是从第一步继续实验到这里,请按照前面系统测试和步骤所描述的方法操作,否则请直接进行下面的操作:

1.将头文件“”中的编译指令BUILDLEVEL设为“LEVEL2”,然后用

“Project--Build”指令重新编译连接程序;

2.用“File--LoadProgram”菜单命令加载“”文件到目标板,此时注意观察加载的文件“”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时“”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内容,那么编译的时候就肯定会生成新时间的输出文件。

3.点击“Debug--RealtimeMode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug--Run”或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。

4.在“Watchwindow”窗口中左键点击“Build2”标签并在空白处点击右键,选择连续刷新模式“ContinuousRefresh”,此时应能观察到“BackTicker”变量在不断变化,说明主程序已经运行。

5.如果从步骤1继续实验而来,跳过此步。

否则在控制器面板上进行电机选择,选择直流无刷电机正确后,进入状态页面(F1),打开主电源(按钮:

电源)。

6.设置变量“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程序已经正常运行,此时如果各电路部分正确,机组连接正确的话,电机应稳定运行。

观察控制器上液晶显示的速度是否稳定,如果跳动较大,请检查大地线是否连接良好。

7.分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“ContinuousRefresh”,观察、的波形,如图4-2-3所示和图4-2-4所示。

是检测到的转子换相计数器,从0到5之间变化,表示的是转子换相对应的霍尔状态,从图形显示窗口“Channel1&2”中仔细观察对应与换相计数器的霍尔状态表,看是不是第一步我们检测到的最佳换相表,图形显示窗口“Channel3&4”显示的是电机的转速,单位为转每分和,表示的是霍尔换相触发信号。

8.让电机运行起来,在“Watchwindow”窗口中的“Build2”标签中双击DFuncDesired变量右侧的数据,输入要改变的值,观察电机速度的变化,例如改变为“”后回车观察电机速度的变化,电机应该换向运行,从图形显示窗口“Channel1&2”中仔细观察对应与换相计数器的霍尔状态表。

看是不是第一步我们检测到的反向最佳换相顺序,注意此时是从5到0变化的,所以我们看到的换相顺序有所不同。

9.点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,“Debug—Restart”,退出实时运行模式,并停止程序运行。

10.如果继续实验,请转步骤3,否则先关闭控制器的功率部分主电源(在液晶显示状态页面时按下电源按钮),然后关闭软件退出程序,关闭控制电源。

步骤3、速度闭环系统功能测试

速度闭环PI调节器的模拟实验所用到的模块框图和程序流程图如图4-3-1和图4-3-2所示:

如果不是从第二步继续实验到这里,请按照前面系统测试步骤和方法所描述的步骤进行处理,否则请直接按照下面的操作方法进行实验:

1.将头文件“”中的编译指令BUILDLEVEL设为“LEVEL3”,然后用

“Project--Build”指令重新编译连接程序;

2.用“File--LoadProgram”菜单命令加载“”文件到目标板,此时注意观察加载的文件“”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时“”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内容,那么编译的时候就肯定会生成新时间的输出文件。

3.点击“Debug--RealtimeMode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug--Run”或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。

4.在“Watchwindow”窗口中左键点击“Build3”标签并在空白处点击右键,选择连续刷新模式“ContinuousRefresh”,此时应能观察到“BackTicker”变量在不断变化,说明主程序已经运行。

5.如果从步骤2继续实验而来,跳过此步。

在控制器面板上进行电机选择,选择直流无刷电机正确后,进入状态页面(F1),打开主电源(按钮:

电源)。

如果是单一的直流无刷电机控制器则不需要进行电机选择,进入状态页面后直接打开主电源即可。

6.设置变量“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程序已经正常运行,此时如果各电路部分正确,机组连接正确的话,应该稳定在600转每分。

7.分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“ContinuousRefresh”,观察、的波形。

是检测到的转子换相计数器,电机正转时从0到5变化,或者电机反转时从5到0之间变化,表示的是转子换相对应的霍尔状态。

图形显示窗口“Channel3&4”显示的是检测到的A相电流,下面显示的是,表示的是检测到的B相电流。

在“Watchwindow”窗口中的“Build3”标签中的变量显示的值是电机的转速,注意和控制器面板上显示的速度进行比较,应该差不多。

如图4-3-3和图4-3-4所示。

8.在“Watchwindow”窗口中的“Build3”标签中双击SpeedRef变量右侧的数据,输入要改变的值,观察电机速度的变化,例如输入后回车,观察电机速度的变化。

在确认电机速度能及时准确的跟随速度给定值变化后,在某一速度下,通过控制器的面板设定不同的负载,观察电机的带负载能力。

在控制器面板上按下“菜单”按键,出现菜单页面后按下向下按键,“设定”条目前面的光标闪烁,按下“确定”按键,出现设定页面,“负载”条目前面的光标闪烁,继续按下“确定”按键,利用向上或者向下按键改变负载电流值,首先修改百位的电流值,然后按“shift”按键移动到十位,利用向上或者向下按键改变十位的数据,再按“shift”按键移动到个位,改变数值,最后按“确定”按键。

负载是一个500毫安,2牛米的一个磁粉制动器,产生的扭矩为:

输入电流值/500*2牛米。

控制器限制电流输入值为0到300毫安。

例如我们将十位的0变为5后按“确定”键,就是设定负载为50毫安,磁粉制动器产生的转矩=50/500*2=牛米。

机组配置的直流无刷电机额定带负载能力为牛米,所以我们输入的负载不要超过50毫安,带负载实验也不要时间过长,以免损坏电机和功率器件。

因为没有电流环,严禁做堵转实验。

注意加载后,电机的速度会降低,但是经过速度PI调节后,很快就回到原来的速度,这样说明速度闭环是成功的。

加载后可以明显的看到ImeasA和ImeasB电流峰值增大,去载后电流明显减小。

9.点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,“Debug—Restart”,退出实时运行模式。

10.先关闭控制器的功率部分主电源(在液晶显示状态页面时按下电源按钮),然后关闭软件退出程序,再关闭控制器的控制电源。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2