zoukankan      html  css  js  c++  java
  • 步进电机驱动总结

    步进电机的执行过程具有一个经典过程是:  加速阶段--运行阶段--减速阶段

     参考链接:https://www.cnblogs.com/heyxiaotang/p/5701087.html

    arduino的线性控制简单示例:

    int x;
    int s=110;
    int step_l=7000;
    void setup()
     { 
        pinMode(6,OUTPUT);  // Enable 
        pinMode(5,OUTPUT);  // Step 
        pinMode(4,OUTPUT);  // Direction
        digitalWrite(6,LOW);   // Set Enable low
     }
    
    void loop()
     {
        digitalWrite(4,LOW);   // Set Direction high 正转
        for(x = 400; x > s; x--)   // Loop 200 times  加速阶段
        { 
            digitalWrite(5,HIGH);   // Output high 
            delayMicroseconds(x);   // Wait 1/2 a ms 
            digitalWrite(5,LOW);   // Output low 
            delayMicroseconds(x);   // Wait 1/2 a ms
         } 
        
        for(x = 0; x < step_l; x++)   // Loop 200 times  运行阶段
        { 
            digitalWrite(5,HIGH);   // Output high 
            delayMicroseconds(s);   // Wait 1/2 a ms 
            digitalWrite(5,LOW);   // Output low 
            delayMicroseconds(s);   // Wait 1/2 a ms
         } 
        for(x = s; x < 400; x++)   // Loop 200 times 减速阶段
        { 
            digitalWrite(5,HIGH);   // Output high 
            delayMicroseconds(x);   // Wait 1/2 a ms 
            digitalWrite(5,LOW);   // Output low 
            delayMicroseconds(x);   // Wait 1/2 a ms
         } 
        delay(1000);   // pause one second
    
    
        
        digitalWrite(4,HIGH);       // Set Direction low  反转
        
        for(x = 400; x > s; x--)   // Loop 200 times  加速阶段
        { 
            digitalWrite(5,HIGH);   // Output high 
            delayMicroseconds(x);   // Wait 1/2 a ms 
            digitalWrite(5,LOW);   // Output low 
            delayMicroseconds(x);   // Wait 1/2 a ms
         } 
         
        for(x = 0; x < step_l; x++)   // Loop 200 times  运行阶段
       {
            digitalWrite(5,HIGH);     // Output high 
            delayMicroseconds(s);   // Wait 1/2 a ms
            digitalWrite(5,LOW);      // Output low
            delayMicroseconds(s);   // Wait 1/2 a ms 
        } 
    
        for(x = s; x < 400; x++)   // Loop 200 times  减速阶段
        { 
            digitalWrite(5,HIGH);   // Output high 
            delayMicroseconds(x);   // Wait 1/2 a ms 
            digitalWrite(5,LOW);   // Output low 
            delayMicroseconds(x);   // Wait 1/2 a ms
         } 
        delay(1000);   // pause one second 
    }
  • 相关阅读:
    Linux学习路径 -- 1、文件目录操作命令
    第一次认识Postman
    接口测试的基础理论
    浅浅记录一哈HTTP接口
    Linux 的安装和使用
    QTP11 安装笔记:win10
    fiddler的下载安装与配置
    adb 下载安装
    maven 下载 安装 环境配置
    idea 2018.3.4安装破解
  • 原文地址:https://www.cnblogs.com/mlh-bky/p/10296447.html
Copyright © 2011-2022 走看看