n95 发表于 2018-4-17 19:26:54

关于arduino读取脉冲数的问题

萌新目前在做电机控制现在能够读取电机转动反馈回来的脉冲数 当电机反转时希望能够使计数变为自减 而不是现在的继续自加代码如下求指导
#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 ++ ;
}

275891381 发表于 2018-4-17 21:06:50

中断内同时读取,控制电子正反转的引脚电平

n95 发表于 2018-4-17 21:08:04

joyduino 发表于 2018-4-17 19:55
非常新的萌新 路过帮顶

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

我用的自带编码器的电机

wwwusr 发表于 2018-4-17 21:30:43

下一个库:Encoder
可以帮到你

n95 发表于 2018-4-18 10:57:49

275891381 发表于 2018-4-17 21:06
中断内同时读取,控制电子正反转的引脚电平

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

275891381 发表于 2018-4-24 12:00:22

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

你的光栅多密呀,做位置控制,

wxws 发表于 2018-4-24 13:55:34

直接去看下 编码器波形就明白了.正转,反转不同的.
程序中只要在中断里,判断另一个脚 是高还是低,来分别加或减.
页: [1]
查看完整版本: 关于arduino读取脉冲数的问题