查看: 22279|回复: 47

【探索STM32F303VC-EVAL开发板】系列之四--步进电机驱动(视频)

    [复制链接]
  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-6-8 16:04:55 | 显示全部楼层 |阅读模式
    分享到:
    【探索STM32F303VC-EVAL开发板】系列之四
    ——步进电机驱动
                     Fengye5340
         STM32F303C-EVAL开发板,带有两路专业电机驱动端口,可惜目前手头无现成的电机,考虑到STM32F3定时器资源丰富,具有两路高级定时器TIMER1/TIMER8,支持12路互补输出带死区的PWM。另有3路通用定时器TIMER2/TIMER3/TIEMER4,可实现普通PWM波形输出。为了验证定时器性能,特用了一下通用定时器的PWM输出功能。TIMER2/TIMER3/TIEMER43路通用定时器,每路可以输出4PWM波形。在这个部分中,验证了两个地方,一个是用TIMER3输出4路不同的PWM,并调整其频率和占空比,通过示波器验证,发现占空比步进能够实现1%的精度,跟程序预设想符合。第二个部分,就是用两个定时器的各2PWM波组成一个4路波形,驱动常见的28BYJ-48-5型步进电机,这个电机是一款具有1/64的减速步进,转速非常慢,用于验证定时器性能尚可,无任何实际应用。下面介绍一下第二部分的实现过程。
    第一  电机介绍
       步进电机是一种将电脉冲转化为角位移的执行机构。通俗一点讲:当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(及步进角)。您可以通过控制脉冲个来控制角位移量,从而达到准确定位的目的;同时您可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。
    28BYJ48型四相八拍电机,电压为DC5VDC12V。当对步进电机施加一系列连续不断的控制脉冲时,它可以连续不断地转动。每一个脉冲信号对应步进电机的某一相或两相绕组的通电状态改变一次,也就对应转子转过一定的角度(一个步距角)。当通电状态的改变完成一个循环时,转子转过一个齿距。
    步进电机常见的通电方式有单(单相绕组通电)四拍(A-B-C-D-A),双(双相绕组通电(四拍AB-BC-CD-DA-AB)和八拍(A-AB-B-BC-C-CD-D-DA-A),本人现在用的是DC5V的电机,图片如下:
                 1.jpg
       技术参数如下:
                 2.jpg

       
       
    第二  程序说明
         在这里,为了方便演示,采用了双四拍(AB-BC-CD-DA-AB)的控制方式。单四拍的方式采用IO翻转的方法比较容易实现,八拍的方式和双四拍的控制方式类似,都是采用两个定时器各输出2PWM,然后通过一个定时器延时相位的方法实现。
    具体点就是:利用1个定时器A实现CH1/CH3,1个定时器B实现CH2/CH4,它们具有共同的周期P,然后再利用一个定时器C实现一个定时,延时时间是P/4
    步骤如下:
    1、配置好3路定时器A,B, C,
    2、启动定时器A,定时器C,关闭定时器B,
    3、定时P/4时间到,关闭定时器C,启动定时器B。这样就能输出所要的波形了,我拍了一张示波器采集的波形图:如下:
                             3.jpg

             通过波形,可以看出,相位延时的效果还是比较明显的。在实现定时器输出PWM方面,这里用到了TIMER2/TIMER3来输出,因为这些引脚都在开发板上引出了端口,方便插线。刚开始,采用了TIMER3/TIMER4作为输出,在波形中,看到了这样的问题:
                             4.jpg

            
             TIMER4的通道输出的不是矩形波,奇怪了。这个问题放在以后研究,现在忽略。
    采用TIMER2/TIMER3CH3/CH4来输出PWM,TIMER4来进行定时。占空比固定50%,采用八拍方式的占空比就变了,不是50%了。
          在本程序中,实现了步进电机的加减速,和正反转。反转顺序(DA- CD-BC- AB)。通过改变TIMER3PWM输出模式来实现。
    第三  程序实现
    A 定时器初始化
    1、定时器4初始化:
              5.jpg
      
    2、定时器3初始化生成2PWM
                6.jpg
          3、定时器2—初始化生成2PWM
                7.jpg       
    B、定时器资源设置:
    1、定时器3打开,定时器2关闭,打开定时器4计时。
                    8.jpg
       
       2、定时器4中断函数实现,定时时间到,打开定时器2,关闭定时器4
                    10.jpg
    C、步进电机正反转/加减速处理
    1、在按键中断里处理步进电机正反转
                 11.jpg
               
           12.jpg
    2、在按键中断里处理加减速:
                 13.jpg
       
      由于电机速度较慢,仅做了简单的设计,没有设计复杂的加减速算法及平滑处理。
    第三   后记
    STM32F3系列定时器资源非常强大,这里仅用了一小部分资源,还有更强大的高级定时器1/8没有验证。另外,在控制步进电机过程中,未增加的功能有控制步进电机的停止和启动,这个因为简单没有增加,控制步进电机实现一定的位置移动,也即实现一定数量的脉冲计数,这个比较复杂,实现需要不少时间,这个留给感兴趣的朋友来深入和探究。
            

    【探索STM32F303VC-EVAL开发板】系列之四--步进电机_视频_.pdf

    545.85 KB, 阅读权限: 20, 下载次数: 45

    STM32F303C-TIMER--PWM-步进电机.rar

    305.24 KB, 阅读权限: 20, 下载次数: 47

    评分

    参与人数 2声望 +10 与非币 +20 收起 理由
    kk5290122 + 5 + 10 很给力!
    小菜儿 + 5 + 10 赞一个!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2015-8-7 21:35
  • 签到天数: 340 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-6-8 17:04:55 | 显示全部楼层
    fengye老大的教程终于出来了,必须支持……
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-25 12:42
  • 签到天数: 692 天

    连续签到: 1 天

    [LV.9]以坛为家II

     楼主| 发表于 2013-6-8 19:27:18 | 显示全部楼层
    kk5290122 发表于 2013-6-8 17:04
    fengye老大的教程终于出来了,必须支持……

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-11-23 14:54
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2013-6-8 19:35:58 | 显示全部楼层
    very good but  the board is a little more dear ~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-11-14 10:54
  • 签到天数: 266 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-6-8 20:00:06 | 显示全部楼层
    赞一个~~~!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-1-19 22:39
  • 签到天数: 303 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2013-6-8 22:26:06 | 显示全部楼层
    下载下来,好好学习,做的好
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-6-12 21:59
  • 签到天数: 647 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-6-10 14:55:06 | 显示全部楼层
    好啊,搞个小车跑跑~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2018-1-4 23:41
  • 签到天数: 1433 天

    连续签到: 7 天

    [LV.10]以坛为家III

    发表于 2013-6-12 22:19:42 | 显示全部楼层
    不错哦,可以先看看预习一下
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-11-4 08:32
  • 签到天数: 773 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-6-14 09:33:39 | 显示全部楼层
    这个不错啊,学习学习。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-29 20:40
  • 签到天数: 1341 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2013-6-14 11:18:53 | 显示全部楼层
    学习啦  谢谢啦!
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-12 03:51 , Processed in 0.234789 second(s), 34 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.