4个回答
展开全部
方法1:使用数字模拟开关,或输入缓冲器,见下图。采样的时候通过两个IO口选择需要采样的编码器,让对应的测速脉冲输入到XS128 PT7口。IO口的切换频率决定了你采样的频率,例如0.5ms切换一次。那么单个编码器的采样速率就是1ms,相当于1KHz的采样的频率,对于电机控制来说应该是足够了。
方法2:采用外部计数器。例如使用级联二进制计数器,两个编码器同时计数,XS128只用通过IO口读入数据即可,并可以实现同时计数,同时清零,只是增加了硬件负担。
常用的外部计数器 CD4520
其实我也在纠结这个问题
因为我把PWM67被我级联控制电机了 就是说PT7这个口被我占用了。。。问学长说 还可以用中断的方法测速
方法2:采用外部计数器。例如使用级联二进制计数器,两个编码器同时计数,XS128只用通过IO口读入数据即可,并可以实现同时计数,同时清零,只是增加了硬件负担。
常用的外部计数器 CD4520
其实我也在纠结这个问题
因为我把PWM67被我级联控制电机了 就是说PT7这个口被我占用了。。。问学长说 还可以用中断的方法测速
展开全部
1、你说的脉冲累加器一般称计数器/定时器的话。一个计数器测量两路脉冲信号,原则上是可以的。
2、计数器工作在定时器方式,循环计数,不受任何一路脉冲信号的控制。你可以采用两个外部中断分别响应两路脉冲信号下降沿或上升沿,在每个中断服务程序中,分别读取同一个定时器的参数,连续两次读取参数的差值就是该脉冲的周期。
3、如果精度要求较高,最好的方法是采用计数器的脉冲捕获方式,当然,这样就只能做一路了。
2、计数器工作在定时器方式,循环计数,不受任何一路脉冲信号的控制。你可以采用两个外部中断分别响应两路脉冲信号下降沿或上升沿,在每个中断服务程序中,分别读取同一个定时器的参数,连续两次读取参数的差值就是该脉冲的周期。
3、如果精度要求较高,最好的方法是采用计数器的脉冲捕获方式,当然,这样就只能做一路了。
追问
额。。这个方法我也考虑过,不过如果采用中断过多怕会影响程序的响应,我想通过输入捕捉的方法试试,还有想问一下,这个单片机的PIT模块中有个16位递减计数器值PITCNT[0..4]这个知道怎么使用吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一路用累加器,另一路可以使用一路输入捕捉通道来做。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
外置另一路累加器,用TTL芯片。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |