0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于FPGA的步进电机控制实现

西西 来源:博客园 作者:logic3 2020-09-10 16:34 次阅读

1、步进电机概述

步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。多相步进电动机有多相方波脉冲驱动,用途很广。使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。

2、步进电机的种类

目前常用的步进电机有三类:

(1)反应式步进电动机(VR):它的结构简单,生产成本低,步距角可以做的相当小,但动态性能相对较差。

(2)永磁式步进电动机(PM):它的出力大,动态性能好;但步距角一般比较大。

(3)混合步进电动机(HB):它综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机。

如果还想做更深入的了解,自行查找相关资料

实验使用的电机如下

5V减速步进电机(5线4相)

型号:28BYJ-48

尺寸:28mm(直径)

电压:5V

步进角度:5.625 x 1/64

减速比:1/64

应用:适用于51/AVR/ARM等各种平台。

电机驱动电路

基于FPGA的步进电机控制实现

3、步进电机控制的实现

我们实验中所使用的步进电机为四相步进电机。转子小齿数为64。系统中采用四路I/O进行并行控制,FPGA直接发出多相脉冲信号,在通过功率放大后,进入步进电机的各相绕组。这样就不再需要脉冲分配器。脉冲分配器的功能可以由纯软件的方法实现。

四相步距电机的控制方法有四相单四拍,四相单、双八拍和四相双四拍三种控制方式。步距角的计算公式为:

其中:m为相数,控制方法是四相单四拍和四相双四拍时C为1,控制方法是四相单、双八拍时C为2,Zk为转子小齿数。本系统中采用的是四相单、双八拍控制方法,所以步距角为360°/512。但步进电机经过一个1/8的减速器引出,实际的步距角应为360°/512/8。

试验中使用EXI/O的高四位控制四相步进电机的四个相。按照四相单、双八拍控制方法,电机正转时的控制顺序为A→AB→B→BC→C→CD→D→DA。 参见表如下:

基于FPGA的步进电机控制实现

反转时,只要将控制信号按相反的顺序给出即可。

步进电机的频率不能太快,也不能太慢。在200Hz附近最好。频率太快是转动不起来的。

注:为什么步进电机高于一定速度就无法启动:

步进电机有一个技术参数:空载启动频率,即步进电机在空载情况下能够正常启动的脉冲频率,如果脉冲频率高于该值,电机不能正常启动,可能发生丢步或堵转。在有负载的情况下,启动频率应更低。如果要使电机达到高速转动,脉冲频率应该有加速过程,即启动频率较低,然后按一定加速度升到所希望的高频(电机转速从低速升到高速)。

4、设计原理图

基于FPGA的步进电机控制实现

clk接时钟;Dir接按键,控制正转还是反转; rst接复位信号;StepDrive接步进电机的4个引脚。

电路板连接

电源连接

基于FPGA的步进电机控制实现

FPGA IO连接

仿真

必须用Quartus 9.0版本软件

工程文件

代码文件

仿真波形文件

仿真结果

修改步进电机的速度请在这里修改:

// 此处的数值为200000,因为实验中所使用的晶振时钟频率是50MHz,

// 这样我们为步进电机提供了250Hz的频率,使之能正常工作。

仿真验证正确。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1600

    文章

    21286

    浏览量

    592883
  • 步进电机
    +关注

    关注

    149

    文章

    2926

    浏览量

    146009
  • 微机控制
    +关注

    关注

    0

    文章

    23

    浏览量

    8482
收藏 人收藏

    评论

    相关推荐

    什么是步进电机的细分控制步进电机为什么要细分,如何细分?

    什么是步进电机的细分控制步进电机为什么要细分,如何细分? 步进
    的头像 发表于 02-18 09:39 1475次阅读

    arduino控制步进电机代码

    中,我们将详细介绍如何使用Arduino来控制步进电机的代码。 步进电机通常用于需要精确控制角度
    的头像 发表于 02-14 16:29 561次阅读

    步进电机控制方法 步进电机和伺服电机的区别

    步进电机控制方法 步进电机是一种将电信号转化为机械转动的电动机,其输出转角是按照电脉冲控制信号的
    的头像 发表于 01-22 17:18 381次阅读

    步进电机控制方法 步进电机控制器参数设置

    步进电机是一种在控制系统中常见的电机类型,它以步进角度为单位进行旋转,并且可以精确控制位置和速度
    的头像 发表于 01-19 10:50 726次阅读

    基于单片机的步进电机控制系统设计

    该项目利用51单片机实现了一个步进电机控制系统,可以实现步进
    的头像 发表于 12-06 16:39 1219次阅读
    基于单片机的<b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>系统设计

    如何实现同时控制多个步进电机

    如何实现同时控制多个步进电机
    发表于 11-02 10:06

    如何实现简单的步进电机多段控制呢?

    输入多个目标角度,以及每个角度对应的速度,实现步进电机的多段多速度转动
    的头像 发表于 10-26 16:38 690次阅读
    如何<b class='flag-5'>实现</b>简单的<b class='flag-5'>步进</b><b class='flag-5'>电机</b>多段<b class='flag-5'>控制</b>呢?

    基于FPGA步进电机伺服控制器设计

    电子发烧友网站提供《基于FPGA步进电机伺服控制器设计.pdf》资料免费下载
    发表于 10-25 09:10 0次下载
    基于<b class='flag-5'>FPGA</b>的<b class='flag-5'>步进</b><b class='flag-5'>电机</b>伺服<b class='flag-5'>控制</b>器设计

    STM32控制步进电机的怎么实现平滑调速?

    STM32控制步进电机的怎么实现平滑调速
    发表于 10-23 06:39

    步进电机控制,加速和减速是如何实现的?

    控制步进电机加速和减速是如何实现
    发表于 10-15 07:00

    步进电机怎么实现高精度的位置控制

    怎么才能实现高精度的步进电机位置控制
    发表于 10-13 07:40

    步进电机控制器的FPGA实现

    电子发烧友网站提供《步进电机控制器的FPGA实现.pdf》资料免费下载
    发表于 10-07 16:29 1次下载
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器的<b class='flag-5'>FPGA</b>的<b class='flag-5'>实现</b>

    plc如何控制步进电机的速度和方向?

    plc作为一种工业控制计算机,具有模块化结构、配置灵活、高速的处理速度、精确的数据处理能力、PLC对步进电机也具有良好的控制能力,利用其高速脉冲输出功能或运动
    的头像 发表于 08-07 08:09 1174次阅读
    plc如何<b class='flag-5'>控制</b><b class='flag-5'>步进</b><b class='flag-5'>电机</b>的速度和方向?

    步进电机控制原理是什么?如何实现步进电机控制

    先来看一下硬件原理图,可看到控制步进电机的管脚分别为:GPIO6[2]、GPIO6[3]、GPIO6[4]和GPIO1[15]。使用的是一路四相五线步进
    发表于 08-04 14:45 2707次阅读
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b>的<b class='flag-5'>控制</b>原理是什么?如何<b class='flag-5'>实现</b><b class='flag-5'>步进</b><b class='flag-5'>电机</b>的<b class='flag-5'>控制</b>?

    步进电机控制器原理 步进电机控制器的应用设置

    步进电机控制器是一种能够发出均匀脉冲信号的电子产品,它发出的信号进入步进电机驱动器后,会由驱动器转换成
    发表于 05-05 14:16 4次下载
    <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器原理 <b class='flag-5'>步进</b><b class='flag-5'>电机</b><b class='flag-5'>控制</b>器的应用设置