第三章无刷直流电动机PWM 控制方案 联系客服

发布时间 : 星期三 文章第三章无刷直流电动机PWM 控制方案更新完毕开始阅读91549c3caef8941ea66e0512

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

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 Program”菜单命令加载“bldc_2833x.out”文件到目标板,此时注意观察加载的文件“bldc_2833x.out”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时

“bldc_2833x.out”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内容,那么编译的时候就肯定会生成新时间的输出文件。

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

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

“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程序已经正常运行,此时如果各电路部分正确,机组连接正确的话,电机应稳定运行。如果电机没有运转,请检查各电缆是否连接可靠,检查INF2电路板上的JP1拨动开关是否拨向左侧,都没有错误的话,检查INF2 上的LED2 是否熄灭,如果熄灭,说明产生了功率保护中断,更换DSPCPU板后实验现象依旧,则可能需要返修。

5. 分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“Continuous Refresh” ,观察mod1.Counter、hall1.HallGpioAccepted、 mod1.TrigInput 以及hall1.CmtnTrigHall 的波形,如图4-1-3,图4-1-4 所示。mod1.Counter 是检测到的转子换相计数器,从0 到5 之间变化,

hall1.HallGpioAccepted表示的是转子换相对应的霍尔状态,mod1.TrigInput表示的是检测到了换相的信号标志,hall1.CmtnTrigHall表示的也是换相标志。记录下此时的“Build1”标签中的变量FirstHallState,这是转子在启动之初的霍尔位置,再记录下“Build1”标签中的speed1.SpeedRpm,这是电机当前的转速,再记录下hall1.HallMap[0]~ hall1.HallMap[5]这个数组的6 个值,这就是换相表。这三部分的变量值记录下来以后,点击“Debug--Halt”,再点击“Debug--Real time Mode”,最后点击“Debug--Reset CPU”和“Debug—Restart”,退出实时运行模式,将转子转动到和刚才的初始位置偏移30度左右的位置,然后点击“Debug--Real time Mode”选择实时模式,此时出现一个对话框,选择“是(Y)”,再点击“Debug--Run” 或者点击左侧运行图标运行程序,此时程序在实时运行模式下运行。电机应该运行起来,记录下此时的“Build1”标签中的变量FirstHallState,“Build1”标签中的speed1.SpeedRpm,再记录下

hall1.HallMap[0]~ hall1.HallMap[5]这个数组的6个值,然后又退出实时模式,电机停止运行,再次转动转子的初始位置,和刚才第二次的位置相差30度左右,如此循环下去,直到转子6个初始位置都试运行完成,我们会发现,电机在相同的转矩作用下,速度相差较多,其中那个转速最快的换相表就是我们需要的保证转矩和转子正交的换相表,一般情况下,应该是hall1.HallMap[0]~

hall1.HallMap[5] 中的数值为“ 451326 ”, 最后点击“Debug--Halt” ,再点击“Debug--Real time Mode” ,最后点击“Debug--ResetCPU” ,退出实时运行模式。公司原先配套的直流无刷电机为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.HallMap[0]~ hall1.HallMap[5]中的数值为“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”窗口中的“Build2”标签中双击DFuncDesired变量右侧的数据,输入要改变的值,观察电机速度的变化,例如输入0.4 后回车,观察电机速度的变化,然后改变为0.5 后回车观察电机速度的变化。也可以改变转矩的值为负值,例如改为-0.5,看电机换向情况。

8. 点击“Debug--Halt”,再点击“Debug--Real time Mode”,最后点击

“Debug--ResetCPU”,“Debug—Restart ”,退出实时运行模式,并停止程序运行。

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

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

通过上一步获得让转矩和转子正交的最佳换相表,在最佳换相表控制下进行换相,观察电机的运转情况,及其换相控制过程。图4-2-1和图4-2-2分别给出了此步骤的功能框图和软件流程图。以下给出步骤2中的控制参数及其调节范围: EnableFlag :启动控制(0,1)

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

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

1. 将头文件“build.h”中的编译指令BUILDLEVEL 设为“LEVEL2” ,然后用 “Project--Build”指令重新编译连接程序;

2. 用“File--Load Program”菜单命令加载“bldc_2833x.out”文件到目标板,此时注意观察加载的文件“bldc_2833x.out”是否您刚才编译链接生成的文件,看一下文件的生成时间就知道了,如果所有源文件都没有修改,此时

“bldc_2833x.out”的生成时间不会变化;如果想证实源文件编译是否执行,可以在主程序中随便修改一点注释内容,那么编译的时候就肯定会生成新时间的输出文件。

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

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

5. 如果从步骤1 继续实验而来,跳过此步。否则在控制器面板上进行电机选择,选择直流无刷电机正确后,进入状态页面(F1),打开主电源(按钮:电源)。 6. 设置变量“EnableFlag”为1,此时应能观察到变量“IsrTicker”也在不断变化,说明主中断服务程序已经正常运行,此时如果各电路部分正确,机组连接正确的话,电机应稳定运行。观察控制器上液晶显示的速度是否稳定,如果跳动较大,请检查大地线是否连接良好。

7. 分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选择连续刷新模式“Continuous Refresh” ,观察mod1.Counter、hall1.HallGpioAccepted的波形,如图4-2-3 所示和图4-2-4 所示。mod1.Counter 是检测到的转子换相计数器,从0到5之间变化,hall1.HallGpioAccepted表示的是转子换相对应的霍