无刷直流电动机PWM控制方案样本.docx
- 文档编号:25344532
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:15
- 大小:1.13MB
无刷直流电动机PWM控制方案样本.docx
《无刷直流电动机PWM控制方案样本.docx》由会员分享,可在线阅读,更多相关《无刷直流电动机PWM控制方案样本.docx(15页珍藏版)》请在冰豆网上搜索。
无刷直流电动机PWM控制方案样本
第三章、用EL-DSPMCKIV实现无刷直流电动机PWM控制方案
实验概述:
本实验是一种无刷直流电动机PWM控制系统。
构造简朴,用到模块也较少。
下面给出每个模块输入与输出量名称及其量值格式
(一)、无刷直流电动机PWM控制原理简介
无刷直流电动机从构造上讲更接近永磁同步电动机(咱们在下一章节中做详细简介),控制办法也很简朴,重要是通过检测转子位置传感器给出转子磁极位置信号来拟定励磁方向,从而保证转矩角在90度附近变化,保证电机工作高效率。
定子换相是通过转子位置信号来控制,转矩大小则通过PWM办法控制有效占空比来调控。
我公司提供过两种直流无刷电机,一种此前提供过57BL-02直流无刷电机额定电压为24V,额定转速为1600rpm,转子极数为4,也就是2极对,尚有一种是当前提供57BL-0730N1直流无刷电机,该电机额定转速为3000rpm,转子极数为10,也就是5极对,这两种电机转子位置都由霍尔传感器提供,同步由此计算出电机转速,控制程序样例没有电流环。
(二)、系统构成方案及功能模块划分
本实验为开环和闭环实验,通过几种模块信号解决最后用BLDCPWM模块产生IPM驱动信号来控制直流无刷电机转动。
下图为一种开环控制系统功能框图,参照占空比信号经由RMP2CNTL模块解决,变成缓变信号送到PWM产生模块。
霍尔传感器输出脉冲信号,经由DSPCAP1、CAP2、CAP3端口被DSP获取。
通过霍尔提供转子位置信息HALL3_DRV模块判断转子位置,并将该转子位置信息通过计数器传递给BLDC_3PWM_DRV模块,该模块通过占空比输入、设定开关频率以及转子位置信息产生相应PWM信号作用于逆变器中开关管,从而驱动电动机旋转。
(三)、系统测试环节和办法
进行该系统测试前提是已经在电脑上安装好CCS3.3版本软件了,咱们提供软件是在CCS3.3版本下进行调试,特别是咱们提供工作环境wks文献是在此版本下保存,在不同版本下并不兼容,因此建议客户安装CCS3.3版本,如果非要在CCS其她版本下运营该套软件,请客户自行建立工作环境wks文献。
此外该系统测试前提也以为是将DSPUSB仿真驱动也已经安装好了。
一方面将公司提供光盘根目录下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软件(CCStudiov3.3)(在此之前应当已经用SetupCCStudiov3.3文献设立好CPU类型和仿真器类型),如果8秒之内还没有进入到CCS软件操作页面,并且发现DSPCPU板上“LED3”批示灯不闪烁,请按DSPCPU板上复位键(在LED4灯右边),直到该批示灯闪烁为止,然后就应当能进入CCS3.3了。
注意.CCS3.3软件界面浮现后,在界面右下角浮现如下提示:
阐明CCS3.3软件没有连接目的CPU,因此此时要用“Debug--Collect”命令来连接目的CPU,执行完后再界面右下角会浮现如下提示:
阐明软件可以正常使用了。
最后用“File—Workspace—LoadWorkspace…”菜单命令打开E:
MCKIV\28335soft\bldc\DMC\C28\V32X\sys\BLDC3_1_2833x\cfloat\build\bldc_2833x\Debug”文献夹下工作环境文献“bldc_2833x.wks”文献。
环节1、开环启动,寻找最佳换相表测试
此实验用RMP2_CNTL、MOD6_CNT和BLDCPWM及硬件电路连接来实验直流无刷电机开环控制,通过实验过程来验证以上几种模块及逆变电路工作与否正常,并分析模块在系统中作用,核心是通过转子在不同起始位置不同换相控制表来找到让转矩和转子正交最佳换相表。
图4-1-1和图4-1-2分别给出了此环节功能框图和软件流程图。
如下给出环节1中控制参数及其调节范畴:
仿真测试详细操作办法如下:
1.将头文献“build.h”中编译指令BUILDLEVEL设为“LEVEL1”,当前公司配备直流无刷电机是5极对,此前公司配备过2极对直流无刷电机,如果电机是2极对,请打开“PARAMETER.H”头文献,并修改这一行程序:
#defineP10//Numberofpoles,将10修改为4.
#defineBASE_FREQ250将250修改为50
如果是5极对电机则不用修改。
然后用“Project--Build”指令重新编译连接程序;
2.用“File--LoadProgram”菜单命令加载“bldc_2833x.out”文献到目的板,此时注意观测加载文献“bldc_2833x.out”与否您刚才编译链接生成文献,看一下文献生成时间就懂得了,如果所有源文献都没有修改,此时“bldc_2833x.out”生成时间不会变化;如果想证明源文献编译与否执行,可以在主程序中随便修改一点注释内容,那么编译时候就必定会生成新时间输出文献。
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”,观测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--RealtimeMode”,最后点击“Debug--ResetCPU”和“Debug—Restart”,退出实时运营模式,将转子转动到和刚才初始位置偏移30度左右位置,然后点击“Debug--RealtimeMode”选取实时模式,此时浮现一种对话框,选取“是(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--RealtimeMode”,最后点击“Debug--ResetCPU”,退出实时运营模式。
公司原先配套直流无刷电机为2极对,因此转子机械位置从0到360度相应转子电气位置有两个360度,详细体现就是转子在某一种位置霍尔位置信号和转子转动180度后霍尔位置信号是相似。
当前配备是5极对直流无刷电机,那么转子转动一圈,会有5个电气周期,每次手动转角度就要更小了。
6.打开“bldc3_1.c”源文献,找到“float32DFuncDesired=0.375;;”这一行,将0.375修改为-0.375,编译文献,重新下载“bldc_2833x.out”文献到28335CPU目的板,重复4,5,6步,找到电机反转时最佳换相表。
普通状况下,应当是hall1.HallMap[0]~hall1.HallMap[5]中数值为“645132”,这就是电机反转时最佳换相表。
最后点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,退出实时运营模式。
7.完毕4,5,6,7步后找到电机正转和反转最佳换相表后,打开“bldc3_1.c”源文献,找到“float32DFuncDesired=-0.375;;”这一行,将-0.375修改为0.375,编译文献,重新下载“bldc_2833x.out”文献到28335CPU目的板,让电机运营起来,在“Watchwindow”窗口中“Build2”标签中双击DFuncDesired变量右侧数据,输入要变化值,观测电机速度变化,例如输入0.4后回车,观测电机速度变化,然后变化为0.5后回车观测电机速度变化。
也可以变化转矩值为负值,例如改为-0.5,看电机换向状况。
8.点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“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--LoadProgram”菜单命令加载“bldc_2833x.out”文献到目的板,此时注意观测加载文献“bldc_2833x.out”与否您刚才编译链接生成文献,看一下文献生成时间就懂得了,如果所有源文献都没有修改,此时“bldc_2833x.out”生成时间不会变化;如果想证明源文献编译与否执行,可以在主程序中随便修改一点注释内容,那么编译时候就必定会生成新时间输出文献。
3.点击“Debug--RealtimeMode”选取实时模式,此时浮现一种对话框,选取“是(Y)”,再点击“Debug--Run”或者点击左侧运营图标运营程序,此时程序在实时运营模式下运营。
4.在“Watchwindow”窗口中左键点击“Build2”标签并在空白处点击右键,选取持续刷新模式“ContinuousRefresh”,此时应能观测到“BackTicker”变量在不断变化,阐明主程序已经运营。
5.如果从环节1继续实验而来,跳过此步。
否则在控制器面板上进行电机选取,选取直流无刷电机对的后,进入状态页面(F1),打开主电源(按钮:
电源)。
6.设立变量“EnableFlag”为1,此时应能观测到变量“IsrTicker”也在不断变化,阐明主中断服务程序已经正常运营,此时如果各电路某些对的,机组连接对的话,电机应稳定运营。
观测控制器上液晶显示速度与否稳定,如果跳动较大,请检查大地线与否连接良好。
7.分别右键点击图形显示窗口“Channel1&2”、“Channel3&4”,选取持续刷新模式“ContinuousRefresh”,观测mod1.Counter、hall1.HallGpioAccepted波形,如图4-2-3所示和图4-2-4所示。
mod1.Counter是检测到转子换相计数器,从0到5之间变化,hall1.HallGpioAccepted表达是转子换相相应霍尔状态,从图形显示窗口“Channel1&2”中仔细观测相应与换相计数器mod1.Counter霍尔状态表hall1.HallGpioAccepted,看是不是第一步咱们检测到最佳换相表,图形显示窗口“Channel3&4”显示是电机转速speed1.SpeedRpm,单位为转每分和hall1.CmtnTrigHall,表达是霍尔换相触发信号。
8.让电机运营起来,在“Watchwindow”窗口中“Build2”标签中双击DFuncDesired变量右侧数据,输入要变化值,观测电机速度变化,例如变化为“-0.375”后回车观测电机速度变化,电机应当换向运营,从图形显示窗口“Channel1&2”中仔细观测相应与换相计数器mod1.Counter霍尔状态表hall1.HallGpioAccepted。
看是不是第一步咱们检测到反向最佳换相顺序,注意此时mod1.Counter是从5到0变化,因此咱们看到换相顺序有所不同。
9.点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,“Debug—Restart”,退出实时运营模式,并停止程序运营。
10.如果继续实验,请转环节3,否则先关闭控制器功率某些主电源(在液晶显示状态页面时按下电源按钮),然后关闭CCS3.3软件退出程序,关闭控制电源。
环节3、速度闭环系统功能测试
速度闭环PI调节器模仿实验所用到模块框图和程序流程图如图4-3-1和图4-3-2所示:
如果不是从第二步继续实验到这里,请按照前面系统测试环节和办法所描述环节进行解决,否则请直接按照下面操作办法进行实验:
1.将头文献“build.h”中编译指令BUILDLEVEL设为“LEVEL3”,然后用
“Project--Build”指令重新编译连接程序;
2.用“File--LoadProgram”菜单命令加载“bldc_2833x.out”文献到目的板,此时注意观测加载文献“bldc_2833x.out”与否您刚才编译链接生成文献,看一下文献生成时间就懂得了,如果所有源文献都没有修改,此时“bldc_2833x.out”生成时间不会变化;如果想证明源文献编译与否执行,可以在主程序中随便修改一点注释内容,那么编译时候就必定会生成新时间输出文献。
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”,观测mod1.Counter、hall1.HallGpioAccepted波形。
mod1.Counter是检测到转子换相计数器,电机正转时从0到5变化,或者电机反转时从5到0之间变化,hall1.HallGpioAccepted表达是转子换相相应霍尔状态。
图形显示窗口“Channel3&4”显示是检测到A相电流ilg2_vdc1.ImeasA,下面显示是ilg2_vdc1.ImeasB,表达是检测到B相电流。
在“Watchwindow”窗口中“Build3”标签中speed1.SpeedRpm变量显示值是电机转速,注意和控制器面板上显示速度进行比较,应当差不多。
如图4-3-3和图4-3-4所示。
8.在“Watchwindow”窗口中“Build3”标签中双击SpeedRef变量右侧数据,输入要变化值,观测电机速度变化,例如输入-0.4后回车,观测电机速度变化。
在确认电机速度能及时精确跟随速度给定值变化后,在某一速度下,通过控制器面板设定不同负载,观测电机带负载能力。
在控制器面板上按下“菜单”按键,浮现菜单页面后按下向下按键,“设定”条当前面光标闪烁,按下“拟定”按键,浮现设定页面,“负载”条当前面光标闪烁,继续按下“拟定”按键,运用向上或者向下按键变化负载电流值,一方面修改百位电流值,然后按“shift”按键移动到十位,运用向上或者向下按键变化十位数据,再按“shift”按键移动到个位,变化数值,最后按“拟定”按键。
负载是一种500毫安,2牛米一种磁粉制动器,产生扭矩为:
输入电流值/500*2牛米。
控制器限制电流输入值为0到300毫安。
例如咱们将十位0变为5后按“拟定”键,就是设定负载为50毫安,磁粉制动器产生转矩=50/500*2=0.2牛米。
机组配备直流无刷电机额定带负载能力为0.23牛米,因此咱们输入负载不要超过50毫安,带负载实验也不要时间过长,以免损坏电机和功率器件。
由于没有电流环,禁止做堵转实验。
注意加载后,电机速度会减少,但是通过速度PI调节后,不久就回到本来速度,这样阐明速度闭环是成功。
加载后可以明显看到ImeasA和ImeasB电流峰值增大,去载后电流明显减小。
9.点击“Debug--Halt”,再点击“Debug--RealtimeMode”,最后点击“Debug--ResetCPU”,“Debug—Restart”,退出实时运营模式。
10.先关闭控制器功率某些主电源(在液晶显示状态页面时按下电源按钮),然后关闭CCS3.3软件退出程序,再关闭控制器控制电源。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 直流电动机 PWM 控制 方案 样本