TI中文支持网
TI专业的中文技术问题搜集分享网站

探讨TMS320F2812与TMS320F28335实现Brush-Less DC Motor控制

利用机组末端的光电编码器获取转速信息

利用Brush-Less DC Motor的霍尔传感器信号获取换相码

 

对于换相码的获取,在TMS320F2812中,首先将对应的GPIO设置为捕获功能,要同时捕获霍尔传感器信号的上升沿和下降沿。当捕获到边沿信号后,在捕获中断服务子程序中将对应的管脚设置为GPIO功能,读取IO状态,获取换相码。退出中断服务程序之前恢复GPIO的捕获功能。

 

在利用TMS320F28335实现Brush-Less DC Motor控制时,对于霍尔传感器信号的捕获,该芯片的eCAP单元与TMS320F2812的捕获单元存在一定区别。TMS320F28335的捕获单元似乎更偏向于对捕获管脚输入信号变化时间的计算,我在手册中没有想到如何用TMS320F28335的捕获单元实现类似TMS320F2812捕获单元的功能。因此,我才用了GPIO外部中断方式获取换相字:

GPIO24 as source of XINT1 (source: GPIO0 ~ GPIO31) to capture Hall U

GPIO25 as source of XINT2 (source: GPIO0 ~ GPIO31) to capture Hall V

GPIO48 as source of XINT3 (source: GPIO32 ~ GPIO63) to capture Hall W

需要特别注意的是TMS320F28335的外部中断有7个:XINT1~XINT7,其中XINT1和XINT2只可以GPIO0 ~ GPIO31作为中断源,XINT3~XINT7只可以GPIO32 ~ GPIO63作为中断源。

 

还有一点需要注意,由于同一桥臂的一个开关管处于工作状态时,令一个开关管应处于关闭的状态,关闭开关管利用TMS320F28335 ePWM单元的AQCSFRC寄存器实现,该寄存器包含一个shadow寄存器,其装载条件由AQSFRC. RLDCSF(AQCSFRC Active Register Reload From Shadow Options)决定:

RLDCSF = 00 Load on event counter equals zero

RLDCSF = 01 Load on event counter equals period

RLDCSF = 10 Load on event counter equals zero or counter equals period

RLDCSF = 11 Load immediately

在代码中,应将RLDCSF设置为11,以避免出现同一桥臂两个开关管同时导通的现象。

以上观点欢迎大家指正。

利用TMS320F28335实现Brush-Less DC Motor控制的main函数源码如下:

以上代码截屏缺少的行为空行。

mangui zhang:

就当做学习啦     感谢分享 

2812新产品不建议使用了

赞(0)
未经允许不得转载:TI中文支持网 » 探讨TMS320F2812与TMS320F28335实现Brush-Less DC Motor控制
分享到: 更多 (0)