本帖最后由 微风 于 2014-10-25 22:08 编辑
t10.jpg (16.94 KB, 下载次数: 0)
下载附件
2014-10-25 21:08 上传
采样周期Tc可以用一个定时器中断来实现,单片机对外唯一需要做的是捕获脉冲,而捕获脉冲的方法大体有:
(1)定时器的计数器模式,来一个脉冲计一个数(传统的51单片机都有Timer0、Timer1,STC89C52和IAP15F2K61S2均有Timer2,STC12系列没有Timer2。STM32的定时器有一大堆,不过可以直接配置为正交编码模式)。
(2)外部中断(一般都有INT0、INT1,有的有INT2、INT3等),如STC89C52有INT0、INT1,支持下降沿触发和低电平触发。IAPF2K61S2有INT0~4共5路外部中断,其中INT0和INT1支持上升沿或下降沿均可触发方式和仅下降沿触发方式、INT2、INT3和INT4仅支持下降沿触发模式。
(3)PCA (可编程计数器阵列Programmable Counter Array)脉冲捕获(STC12C5A有2路、STC12C56有4路、STC15F2K有3路。STM32的普通定时器即可实现脉冲捕获)。
使用IAP15F2K61S2的一个定时器做时基定时器测速,剩余的2个定时器计数器+5路外部中断+3路PCA=10路编码器测速,再占用10个IO口可以判断编码器旋转方向。其中INT0、INT1和3路PCA是可以上升沿下降沿均捕获,是可以编码器2倍频的。
那么问题来了:
这样,给10个编码器测速,合适么?小伙伴们可以自由讨论,演示程序使用了定时器1的计数器模式来计数,只记数不中断,这样,基本避免了CPU频繁中断,另一方面,在定时器0的中断中速度也能测出来了!
上传手册:
慕司手册(IAP15)v20141025.pdf
(8.15 MB, 下载次数: 130)
2014-10-25 21:11 上传
点击文件名下载附件
视频教程、演示程序及其他文档放在度盘:
http://pan.baidu.com/s/1sjPTMMh
最新的视频、例程、BUG修复会第一时间在我的新浪微博:weifengdq 中更新,不过也会贴在此贴中,希望小伙伴们直接到此贴提供意见和反馈问题!
90初后,小时候我们的理想是什么?多半是科学家吧!但愿,我们都还没有长大!(以此作结)
编辑原因:文字错误修改,上传错误修改
用M3呗~M3好用很多嘛
一周热门 更多>