搜索
bottom↓
回复: 4

求助 步进电机加速度程序

[复制链接]

出0入0汤圆

发表于 2010-6-10 13:50:29 | 显示全部楼层 |阅读模式
程序功能是用定时器0定时,通过修改定时器初值,达到加速的功能。程序试验过程中已经有加速过程,但是最大只能到500HZ ,步知道什么原因。本来想让信号从100HZ一直慢慢加速到16KHZ   .程序如下,请各位大侠帮分析一下,程序问题出在哪里  ?
#include<W78E58B.H>
#define uchar unsigned char
#define uint unsigned int
sbit dir=P1^0;
sbit en=P1^1;
sbit clk=P1^2;
sbit start=P1^3;                                         
sbit stop=P1^4;
uint rate;
uchar flag1,flag2;
uint i=50000;

void main()
{

EA=1;
ET0=1;
TR0=1;
TMOD=0X01;
TH0=(65536-i)/256;
TL0=(65536-i)%256;                         
  while(1)
       {
            ;
           }
}

void t0(void) interrupt 1 using 0
{

  TH0=(65536-i)/256;
  TL0=(65536-i)%256;
  if(i>40)                                                 
  {
    i=i-20;
  }       

                                                  
  else
     {
           i=20;                  
         }                 

    clk=~clk;
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2010-6-10 14:49:27 | 显示全部楼层
自己顶一个 。

出0入0汤圆

发表于 2010-7-10 21:58:27 | 显示全部楼层
可以使用TMC428控制芯片,自带加减速控制
点击此处下载 ourdev_567067JZBGUX.rar(文件大小:677K) (原文件名:TMC428 Technical Information.rar)

出0入0汤圆

发表于 2010-7-15 14:57:30 | 显示全部楼层
i从50000减到20,定时时间就是从50000个机器周期慢慢变成20个机器周期,如果你用的是12M晶振,一个周期1us,两个中断产生一个脉冲,计算得出频率从10HZ变成25KHZ。

这个算法每次减少相同的定时时间,如果你换算成电机转速就会发现一个很大的问题。

比如电机8细分1600脉冲一转,10HZ时的转速是0.375RPM,第一次变速后(50000-20)*2 = 99960us一个脉冲,频率10.004HZ,转速为0.37515RPM,第二步比第一步块了0.00015转每分钟

再看最后一次变速,40*2 = 80us一个脉冲,频率12.5KHZ,转速为468.75RPM,最后一步937.5RPM,比前一步块了468.75转每分钟

出0入0汤圆

发表于 2010-11-6 14:30:21 | 显示全部楼层
回复【楼主位】lucky girl  
-----------------------------------------------------------------------

怎么可能达到i=20呢!
光是你那个乘法除法运算就占去一堆的CPU时间。
到最后的i值决定于你cpu运算那两个乘除法的运算时间加上20个机器周期。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 23:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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