亿加合和智能车制作

标题: xs128。。pt7引脚测速时低电平,怎么破? [打印本页]

作者: suD轩    时间: 2015-4-3 10:07
标题: xs128。。pt7引脚测速时低电平,怎么破?
求解,,例程有用啊,我的反而没用

作者: 泰庆电子    时间: 2015-4-3 16:15
初始化要设置。
作者: 泰庆电子    时间: 2015-4-3 16:16
void Init_Event_Count(void)
{
          PACTL = (1<<6);//脉冲累加器启动,外部发生一次下降沿就计数一次。外部编码器连接到IOC7.
          //在中断里读取PACNT的值就是脉冲个数。读取后清零PACNT。
}
作者: 泰庆电子    时间: 2015-4-3 16:17
DDRT&=~(1<<7);
  PERT|=(1<<7);//编码器脉冲累加器口为输入,上拉有效。其他口没作用。
  PPST&=~(1<<7);//T口是输入,上啦电阻全部有效(如果作为外部输入口,要读取PTIT)
作者: woshichuanqi    时间: 2015-4-3 19:34
楼主怎么测正反转的啊?求解啊。。。128只有pt7一个端口啊
作者: TianMao    时间: 2015-4-27 21:25
外加计数器

作者: 49741933o    时间: 2016-3-28 20:41
本帖最后由 49741933o 于 2016-3-28 20:42 编辑
woshichuanqi 发表于 2015-4-3 19:34
楼主怎么测正反转的啊?求解啊。。。128只有pt7一个端口啊

只有一个也没事,可以用中断定时加中断计数的方式来判断正反转和测转速。
欧姆龙编码器有四根线:+,-,A,B,500线。测速:比如把A相作为脉冲输入端(你可以设置为高电平触发,也可低电平触发,这里按照高电平触发来说,下同),来一次脉冲就加一,定时100ms之后读取脉冲数,那么编码器转速 = 脉冲数*10/500(r/s)
转向:由于AB两相相位总是相差90度,你就可以这样做,当A相产生中断(高电平)时,读取B相的状态,若B相位为低电平,则电机正转(反转);若B相位为高电平,则电机反转(正转)。
但是,其实还可以硬件处理,用个D触发器就可以啦!





欢迎光临 亿加合和智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2