设为首页收藏本站

极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: hi55234

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

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


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

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

  9. int maichongjiange=357;

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

  12. ////////////////////////////////////////////

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


  15. unsigned long time2=micros();


  16. void setup(){

  17. Serial.begin(9600);

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

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

  24. }


  25. void loop(){




  26.    while (Serial.available() > 0) {

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

  31.    tempint=Serial.read();

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

  40. //E jiansu   F jiasu
  41.    else if(tempint==69){
  42.            maichongjiange=maichongjiange+10;
  43.            if(maichongjiange>maichongjiangeMax)maichongjiange=maichongjiangeMax;
  44.    }
  45.    else if(tempint==70){
  46.            maichongjiange=maichongjiange-10;
  47.            if(maichongjiange<maichongjiangeMin)maichongjiange=maichongjiangeMin;
  48.    }
  49.    
  50.    
  51.   
  52.   
  53.   
  54.    //Serial.println(maichongjiange);
  55.    
  56.    tempint=0;

  57. }

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


  61. }



  62. void maichongqudong()//脉冲驱动
  63. {



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

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

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

  70.      time2= micros();
  71. }

  72. }
复制代码
回复 支持 反对

使用道具 举报

发表于 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-6-27 01:08 , Processed in 0.049851 second(s), 11 queries , File On.

Powered by Discuz! X3.3 Licensed

© 2001-2017 Comsenz Inc.

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