高速脉冲输出控制步进电机,怎样控制其旋转方向(正反转)?plcs7-200高速脉冲输出步进电机,怎样其旋转方向(正反转)?
假设你是用共阴极的接法接驱动器且步进电机处于全步每脉冲1.8度
int i,pin_read,flag=1;
pin_read=analogRead
(5); //读取按钮的信号
if(pin_read>200 &&flag==1){ //按钮收到信号
for(i=0;i<200;i++){
digitalWrite(direction
,HIGH); //给方向引脚一个高电平,设置方向正转
digitalWrite(led,HIGH); //给一个引脚高电平
delay(10);
digitalWrite(led,LOW); //给一个引脚低电平
delay(10);
} //向步进电机发送两百个脉冲,以一个脉冲1.8度大约360度
flag=0; //标志位置0表示正转完成
}
if(flag==0){ //反转收到正转完成信号
for( i=0;i<200;i++){
digitalWrite(direction
,LOW); //给方向引脚一个高电平,设置方向反转
digitalWrite(led,HIGH); //给一个引脚高电平
delay(10);
digitalWrite(led,LOW); //给一个引脚低电平
delay(10);
} //向步进电机发送两百个脉冲,以一个脉冲1.8度大约360度
flag=1; 反转完成置1
}
嘛这只是个简单的思路,没怎么用过arduino所以可能有哪些不规范的地方,如果真想玩步进电机控制和不想多花钱的话个人建议最好用stc15或者stm32 c8t6
附加句这个程序是基于你买了步进电机驱动器的情况;假设你买了l298n那种的h桥的驱动器得写上步进电机的拍数还得写上pwm,毕竟正常的h桥不会给你加恒流斩波