搜索
bottom↓
回复: 14

如何用STC15单片机实现步进电机S曲线加减速?

[复制链接]

出100入85汤圆

发表于 2015-6-9 09:30:53 | 显示全部楼层
可以明确高速你肯定是可以的

就算定时器不支持PWM也可以实现,当然速度高了是不行的
大致流程如下

S曲线速度列表请查询本论坛

Motor_Init
{
    脉冲输出口PUL_Pin初始化为低电平
}

Motor_Interrupt   //代码放入 定时器中断
{

    如果(PUL_Pin > 0)
    {
        PUL_Pin = 0;
    }
    else
    {
        PUL_Pin = 1;
    }

    脉冲数每进两次中断
    {
        脉冲数-1

        如果是正方向
        {
              正方向脉冲数++
        }
        否则
        {
             反方向脉冲数++
        }

        如果 是停止指令
        {
            如果速度低到可以直接停止
            {
                关闭定时器
                恢复初始状态
            }
             否则
             {
                 按速度列表减慢速度  
             }
             更新速度
        }
        如果是 加速指令
        {
            按速度列表减慢速度
            更新速度
        }
        如果是减速指令
        {
            按速度列表减慢速度
            更新速度
        }
        否则
        {
  
        }
    }
        
   
}

Motor_Start
{
    脉冲输出口PUL_Pin强制置为低电平

    设置脉冲数
    设置初始速度
    设置方向

    启动定时器
}

Motor_Stop
{
    发送停止命令
}

Motor_SuddenStop
{
    脉冲输出口PUL_Pin强制置为低电平
    关闭定时器
}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-5 17:40

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

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