极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17767|回复: 6

关于arduino读取脉冲数的问题

[复制链接]
发表于 2018-4-17 19:26:54 | 显示全部楼层 |阅读模式
萌新目前在做电机控制  现在能够读取电机转动反馈回来的脉冲数 当电机反转时希望能够使计数变为自减 而不是现在的继续自加  代码如下  求指导
#define PinA 2
#define PinB 3
volatile long count = 0;
void setup()
{
pinMode(PinA,INPUT);
pinMode(PinB,INPUT);
attachInterrupt(0,blinkA,FALLING);
attachInterrupt(0,blinkB,FALLING);
Serial.begin(9600);
}
void loop()
{
   analogWrite(11,255);
  Serial.println(count);
  delay(1000);
}
void blinkA()  
{
  count ++ ;
}
void blinkB()  
{
  count ++ ;
}
回复

使用道具 举报

发表于 2018-4-17 21:06:50 | 显示全部楼层
中断内同时读取,控制电子正反转的引脚电平
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-17 21:08:04 | 显示全部楼层
joyduino 发表于 2018-4-17 19:55
非常新的萌新 路过帮顶

请问用什么器件反馈电机?  得用个AB相的编码器吧,同轴连接

我用的自带编码器的电机
回复 支持 反对

使用道具 举报

发表于 2018-4-17 21:30:43 | 显示全部楼层
下一个库:Encoder
可以帮到你
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-18 10:57:49 | 显示全部楼层
275891381 发表于 2018-4-17 21:06
中断内同时读取,控制电子正反转的引脚电平

多谢指点  我还有个问题 就是我现在在做PID库控制电机位置  输入是电机反馈回来的脉冲数  计算出的Output直接作为PWM输出  总感觉这样有点别扭 请问应该怎么改进
回复 支持 反对

使用道具 举报

发表于 2018-4-24 12:00:22 | 显示全部楼层
n95 发表于 2018-4-18 10:57
多谢指点  我还有个问题 就是我现在在做PID库控制电机位置  输入是电机反馈回来的脉冲数  计算出的Output ...

你的光栅多密呀,做位置控制,
回复 支持 反对

使用道具 举报

发表于 2018-4-24 13:55:34 | 显示全部楼层
直接去看下 编码器波形就明白了.  正转,反转不同的.
程序中只要在中断里,判断另一个脚 是高还是低,来分别加或减.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-3-29 20:29 , Processed in 0.056029 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表