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

关于利用cap进行电机的测速

本人做的事28335的电机控制 ,目前做的是直流无刷

在看了很多程序后,发现,所有的程序里,测量电机的速度,用的都是自己写的程序,比如下面这个:

但是,我们都知道28335的cap是拥有一个计数器的。也就是说,当外部信号和当前CAP设置一致时,并将当前计数器CTR值,赋给CAP寄存器。

那么为什么大家还要另外写一个程序,来计算电机的速度呢?直接用CAP寄存器里,计数器CTR值,不也能计算出电机的转速吗?

谢谢。

Eric Ma:

CAP一般是用来计算脉冲的周期和占空比的。不能区别正反转。

ERIC

本人做的事28335的电机控制 ,目前做的是直流无刷

在看了很多程序后,发现,所有的程序里,测量电机的速度,用的都是自己写的程序,比如下面这个:

但是,我们都知道28335的cap是拥有一个计数器的。也就是说,当外部信号和当前CAP设置一致时,并将当前计数器CTR值,赋给CAP寄存器。

那么为什么大家还要另外写一个程序,来计算电机的速度呢?直接用CAP寄存器里,计数器CTR值,不也能计算出电机的转速吗?

谢谢。

Chess Shung:

回复 Eric Ma:

Eric Ma

CAP一般是用来计算脉冲的周期和占空比的。不能区别正反转。

ERIC

本人做的事28335的电机控制 ,目前做的是直流无刷

在看了很多程序后,发现,所有的程序里,测量电机的速度,用的都是自己写的程序,比如下面这个:

但是,我们都知道28335的cap是拥有一个计数器的。也就是说,当外部信号和当前CAP设置一致时,并将当前计数器CTR值,赋给CAP寄存器。

那么为什么大家还要另外写一个程序,来计算电机的速度呢?直接用CAP寄存器里,计数器CTR值,不也能计算出电机的转速吗?

谢谢。

Jason Wu4:

恩,完全可以使用CAP中断测量电机转速,通过捕获脉宽对应电角度进而得到电机转速大小,还需根据相位差计算转速方向。

本人做的事28335的电机控制 ,目前做的是直流无刷

在看了很多程序后,发现,所有的程序里,测量电机的速度,用的都是自己写的程序,比如下面这个:

但是,我们都知道28335的cap是拥有一个计数器的。也就是说,当外部信号和当前CAP设置一致时,并将当前计数器CTR值,赋给CAP寄存器。

那么为什么大家还要另外写一个程序,来计算电机的速度呢?直接用CAP寄存器里,计数器CTR值,不也能计算出电机的转速吗?

谢谢。

Chess Shung:

回复 Eric Ma:

Eric Ma

不建议。

例如,1024线的光电编码器转动一圈会产生4096个脉冲,你如果用CAP对每个脉冲进行捕获,太浪费CPU时间,速度环本来就不需要这么大的控制频率。

另外,你用一个脉冲的周期就确定转速,不知道是否会造成转速波动较大。

ERIC

本人做的事28335的电机控制 ,目前做的是直流无刷

在看了很多程序后,发现,所有的程序里,测量电机的速度,用的都是自己写的程序,比如下面这个:

但是,我们都知道28335的cap是拥有一个计数器的。也就是说,当外部信号和当前CAP设置一致时,并将当前计数器CTR值,赋给CAP寄存器。

那么为什么大家还要另外写一个程序,来计算电机的速度呢?直接用CAP寄存器里,计数器CTR值,不也能计算出电机的转速吗?

谢谢。

Chess Shung:

回复 Jason Wu4:

Jason Wu4

恩,完全可以使用CAP中断测量电机转速,通过捕获脉宽对应电角度进而得到电机转速大小,还需根据相位差计算转速方向。

赞(0)
未经允许不得转载:TI中文支持网 » 关于利用cap进行电机的测速
分享到: 更多 (0)