设为首页收藏本站

极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: hi55234

菜鸟玩步进电机 与 TB6560 驱动频率的测试

[复制链接]
 楼主| 发表于 2015-2-25 19:04:08 | 显示全部楼层
[pre lang="arduino" line="1"]/*
纯串口控制
  加入脱机控制
*/


//电机的高电平持续时间 us
int maichongjiangeMax=357;
int maichongjiangeMin=120;

//电机的高电平持续时间的初始值 357us,1.75圈/S

int maichongjiange=357;

//脉冲的占空比为1/maichongzhankongbi
int maichongzhankongbi=4;

////////////////////////////////////////////

int tempint;
int maichongjsq=0;//脉冲计数器


unsigned long time2=micros();


void setup(){

Serial.begin(9600);

pinMode(7, OUTPUT);// EN+,脱机,高电平有效
pinMode(8, OUTPUT);// CW+,方向
pinMode(9, OUTPUT);// CLK+,频率(转速)

digitalWrite(7, HIGH);//电机默认脱机
digitalWrite(8, LOW);//
digitalWrite(9, LOW);

}


void loop(){




   while (Serial.available() > 0) {

    //丧心病狂的单字节控制,0延迟,纯ASCII分拆
        //定义1 0-9表示转速,每一个表示10%
        //定义2 A正转、B反转
        //定义3 C联机、D脱机

   tempint=Serial.read();

   //调速度
   if(tempint>47 && tempint< 58) maichongjiange = 625/(1.75+3.25*(tempint-48)/10);//0-1023
   //调方向
   else if(tempint==65)digitalWrite(8, 0);
   else if(tempint==66)digitalWrite(8, 1);
    //脱机
   else if(tempint==67)digitalWrite(7, 0);
   else if(tempint==68)digitalWrite(7, 1);

//E jiansu   F jiasu
   else if(tempint==69){
           maichongjiange=maichongjiange+10;
           if(maichongjiange>maichongjiangeMax)maichongjiange=maichongjiangeMax;
   }
   else if(tempint==70){
           maichongjiange=maichongjiange-10;
           if(maichongjiange<maichongjiangeMin)maichongjiange=maichongjiangeMin;
   }
   
   
  
  
  
   //Serial.println(maichongjiange);
   
   tempint=0;

}

  
//在脉冲频率无变化的时候驱动电机正常运行
maichongqudong();


}



void maichongqudong()//脉冲驱动
{



//步进电机控制脉冲
if (micros()-time2 > maichongjiange){

        maichongjsq++;//每过一个“脉冲间隔”时间段,则“脉冲计数器”自增1
        maichongjsq=maichongjsq%maichongzhankongbi;//对“脉冲计数器”取模,这个取摸结果实质就是对占空比的调节(占空比为1/模),以4为例,则“脉冲计数器”的变化为:0——1——2——3——0

        if(maichongjsq==0)digitalWrite(9, HIGH);//输出控制步进电机的电平
        else digitalWrite(9, LOW);

     time2= micros();
}

}
[/pre]
回复 支持 反对

使用道具 举报

发表于 2015-3-2 14:56:10 | 显示全部楼层
TB6560和L298有什么区别吗?
回复 支持 反对

使用道具 举报

发表于 2015-5-9 20:04:57 | 显示全部楼层
说好的6560最后怎么变了。
回复 支持 反对

使用道具 举报

发表于 2015-6-16 11:10:35 | 显示全部楼层
请教6560衰减设置如何设定,看了英文资料没有看懂。
回复 支持 反对

使用道具 举报

发表于 2015-8-1 16:00:07 | 显示全部楼层
请问占空比大小会影响步进电机什么?
周期是影响他的速度对吧??
回复 支持 反对

使用道具 举报

发表于 2015-9-2 13:43:53 | 显示全部楼层
楼主研究的太细致了,留着学习了
回复 支持 反对

使用道具 举报

发表于 2015-10-19 20:43:05 | 显示全部楼层
楼主  能不能写51单片机程序呢  
回复 支持 反对

使用道具 举报

发表于 2015-11-8 22:57:57 | 显示全部楼层
感觉很牛,步进电机我还不是很会。。。
回复 支持 反对

使用道具 举报

发表于 2016-4-4 11:22:18 | 显示全部楼层
hi55234 发表于 2015-2-25 15:12
/*
纯串口控制
  加入脱机控制

你好,可以把你演示视频的程序和接线图详细资料分享一下吗?邮箱:376624279@qq.com
回复 支持 反对

使用道具 举报

发表于 2016-6-28 16:55:27 | 显示全部楼层
我学搞同步电机,可以把你演示视频的程序和接线图详细资料分享一下吗?谢谢!邮箱:xuenyi0513@163.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊 ( 浙ICP备09023225号  

GMT+8, 2017-1-17 01:12 , Processed in 0.196867 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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