金牌会员
- 积分
- 1887
- 威望
- 319
- 贡献
- 1204
- 兑换币
- 37
- 注册时间
- 2009-1-30
- 在线时间
- 182 小时
|
本帖最后由 jiahangsonic 于 2011-4-11 23:05 编辑
同样只是技术交流,没有任何广告成分。
先上图吧:
(图片请下载后看吧,否则可能显示不全!)
原理很简单,用了三个非门和三个与门,简单说下具体操作:
连线说明:LeftSpeed接左边编码器的脉冲输出,RightSpeed接右边编码器的脉冲输出。Speed接单片机的PT7口。L_R_CTRL随便接一个单片机的IO口,用来控制选通左右哪个编码器的脉冲输入到PT7口。
具体操作如下:首先建立一个中断,比如5MS一次,第一个5MS内L_R_CTRL=0,那么右边的编码器的脉冲就会通过U5B,U2B,U5C流进PT7口,这个5MS内是对右边编码器的脉冲计数,相反在第二个5MS内我们将L_R_CTRL=1,就映射到左边编码器了。这样我们就在10MS内分时读取了两个编码器5MS内的脉冲值,等全部读取完毕以后,我们就可以用双PID来控制两个电机转速,也可以读取一次控制一次。
优点:
所以这样一来四根线就可以实现双测速,而且用的就是最简单的数字电路,嫌弃9个IO太费的同学,就可以采用这个方法,没什么神秘的,一说到四根线就双测速,都认为很难,其实很简单。大家抓紧做吧。
缺点:两个电机不是同时控制的,速度低的时候,可能没什么问题,一旦速度高了,可能会造成一部分的延迟。自己取舍吧! |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|