TI中文支持网
TI专业的中文技术问题咨询交流网站

TMS320F28027F: Motorware 工程 中 DRV8305问题

Part Number:TMS320F28027FOther Parts Discussed in Thread:MOTORWARE, DRV8305

现在正在使用Motorware里的例程

C:\ti\motorware\motorware_1_01_00_18\sw\solutions\instaspin_foc\boards\boostxldrv8305_revA\f28x\f2802xF\projects

发现初始化 DRV8305 的程序 并没有往cotrol 寄存器里写,只是从DRV8305里把所有寄存器全部读出来,如下图

请问这些例程中,是如何写DRV8305的,如内部的增益,死区,模式等等,谢谢

Yale Li:

好的,我看一下

,

Yale Li:

在所有motorware的例程中,都是通过handle来对object进行操作[1]:

在proj_lab07.c的第470行是对DRV8305进行操作的地方:

Charles Ji 说:

只是从DRV8305里把所有寄存器全部读出来,如下图

这个是main函数的第282行。

从第297行到第493行是后台运行的 for(;;) 循环,里面主要是第306行到483行的 while() 循环,在系统运行正常的情况下,来做相关运算,并通过上述第470行的语句,将相关参数通过SPI配置到DRV8305。

如果发生了什么错误,从最内层开始说,

第323行到第333行,会失能控制器,失能系统,关闭PWM输出。之后的估算器相关的代码做完相关处理之后,便退出大的while循环;
之后进一步保证封锁PWM输出,重新以缺省参数配置控制器,电机的运行识别标志置0;
程序停在第300行,等待人为干预。

参考文档:

[1]file:///C:/ti/motorware/motorware_1_01_00_18/docs/motorware_software_architecture.pdf 2.3 Handles

,

Charles Ji:

谢谢,但我看,第470行 写入DRV8305 的变量 ,都是从8305中读出来的(第282行,和 472行),感觉是将8305中的数读出来又写了进去,没有进行真正的初始化写操作(如 设置 gate driver peak sink current,PWM Mode,Dead time)

,

Yale Li:

如我之前所说,都是通过handle来进行操作的。你具体看进去每一个函数就知道了。

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28027F: Motorware 工程 中 DRV8305问题
分享到: 更多 (0)

© 2024 TI中文支持网   网站地图 鲁ICP备2022002796号-1