是不是控制delaytime的数值就可以控制步进电机转速了?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 620|回复: 1

[未解决] 是不是控制delaytime的数值就可以控制步进电机转速了?

[复制链接]
发表于 2021-12-30 16:30 | 显示全部楼层 |阅读模式
const int dir = 2;
const int ste = 3;
const int MaximumDelaytime = 2000;
int ch1 = 12;
int val = 0;
int val1= 0;
int delaytime = 0;
void setup() {
  Serial.begin(115200);
  pinMode(ch1, INPUT_PULLUP);
  pinMode(ste, OUTPUT);  
  pinMode(dir, OUTPUT);
}
void loop() {
  val = pulseIn(ch1, HIGH);
  if(val< 995) val = 995;
  if(val> 1985) val = 1985;
  val1 = map(val, 995, 1985 , 0, 1000);
  Serial.print("VaL=");   Serial.println(val);
  Serial.print("Val1=");  Serial.println(val1);
  Serial.print("delaytime=");   Serial.println(delaytime);
     if (val<1400){
      delaytime=MaximumDelaytime*(val-325)/182;
       //if (delaytime<0) delaytime=0;
        digitalWrite(dir,HIGH);
        digitalWrite(ste,HIGH);
        delayMicroseconds(delaytime);
        digitalWrite(ste,LOW);
        delayMicroseconds(delaytime);
      }
         else if (val>1600){
           delaytime=MaximumDelaytime*(694-val)/184;
            // if (delaytime<0) delaytime=0;
                digitalWrite(dir,LOW);
                digitalWrite(ste,HIGH);
                delayMicroseconds(delaytime);
                digitalWrite(ste,LOW);
                delayMicroseconds(delaytime);  
                }   
}
为什么通电后电机没有明显的转速变化啊,还有各位大佬,还有其他的控制步进电机转速和方向的方法么?

发表于 2021-12-31 20:55 | 显示全部楼层
本帖最后由 bgsdd 于 2021-12-31 20:58 编辑

你这个是干嘛用的?用电位器控制电机转速?接线是啥?还是网上的教程?你这个程序看上去好像只是调节电机旋转的圈速,电机速度一直是个固定数值,没变
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 17:39 , Processed in 0.074653 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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