最近的一个想法是用编码器的旋转来控制步进电机,旋转编码器的转一圈发出的脉冲和小步进电机28BYJ-48转一圈所需的脉冲不一样,不能做到手转一圈编码器,步进电机也同步转一圈。而且手转的速度,这个64减速比的小电机也跟不上。但是能实现电机转动和编码器转动的方向一致。电机转动很顺滑。
实现方法是:编码器A相产生中断,就在中断里面给步进电机发一个脉冲。
#include <AccelStepper.h>
#define encoder0PinA 2
#define encoder0PinB 4
#define motorPin1 8 // Blue - 28BYJ-48 pin 1
#define motorPin2 9 // Pink - 28BYJ-48 pin 2
#define motorPin3 10 // Yellow - 28BYJ-48 pin 3
#define motorPin4 11 // Orange - 28BYJ-48 pin 4
AccelStepper stepper