FPGA控制_步进电机模块使用说明

今天给大侠带来步进电机模块使用说明,话不多说,上货。

一、步进电机简介

步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度,称为“步距角”,它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。

二、步进电机的种类

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

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

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

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

三、步进电机控制的FPGA实现

我们实验中所使用的步进电机为四相步进电机,型号为28BYJ-48。

转子小齿数为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。EXI/O的高四位的值参见下表。

上表电机正转时,FPGA四位IO口的值反转时,只要将控制信号按相反的顺序给出即可。

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

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

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

四、步进电机驱动模块

<1>、模块实物图以及电路图,如下图。

<2>、ULN2003是高耐压、大电流复合晶体管阵列,由七个硅NPN 复合晶体管组成,每一对达林顿都串联一个2.7K 的基极电阻,在5V 的工作电压下它能与TTL 和CMOS 电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。由于芯片管脚输出驱动能力不够,所以需要uln2003芯片来驱动,增加其驱动能力。

视频演示如下:

https://mp.weixin.qq.com/s/m7sVCNBUPqBgLgKBC_34oA

五、FPGA控制代码分享

module step_motor_v1(clk, rst_n, key_en, key_dir, step_port);input              clk;input              rst_n;input              key_en;input              key_dir;output  reg [3:0] step_port;parameter t = 97600;reg [17:0] cnt;reg [2:0] state;reg en;always @ (posedge clk, negedge rst_n)beginif(rst_n == 1'b0)cnt <= 18'
d0;else if(key_en)beginif(cnt == t - 1)cnt <= 18'd0;else  cnt <= cnt + 1'
b1;endelsecnt <= cnt;endalways @ (posedge clk, negedge rst_n)beginif(rst_n == 1'b0)state <= 3'
d0;else if(key_en && cnt == t - 1)beginif(key_dir)state <= state + 1'b1;elsestate <= state - 1'
b1;endelsestate <= state;endalways @ (posedge clk, negedge rst_n)beginif(rst_n == 1'b0)step_port <= 4'
d0;else if(key_en && cnt == t - 1)case(state)3'b000  :  step_port <= 4'b0001;3'b001  :  step_port <= 4'b0011;3'b010  :  step_port <= 4'b0010;3'b011  :  step_port <= 4'b0110;3'b100  :  step_port <= 4'b0100;3'b101  :  step_port <= 4'b1100;3'b110  :  step_port <= 4'b1000;3'b111  :  step_port <= 4'b1001;endcaseelsestep_port <= step_port;endendmodule

【QQ交流群】

群号:173560979,进群暗语:FPGA技术江湖粉丝。

多年的FPGA企业开发经验,各种通俗易懂的学习资料以及学习方法,浓厚的交流学习氛围,QQ群目前已有1000多名志同道合的小伙伴,无广告纯净模式,给技术交流一片净土,从初学小白到行业精英业界大佬等,从军工领域到民用企业等,从通信、图像处理到人工智能等各个方向应有尽有。

【微信交流群】

现微信交流群已建立09群,人数已达数千人,欢迎关注“FPGA技术江湖”微信公众号,可获取进群方式。

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

FPGA控制_步进电机模块使用说明相关推荐

  1. FPGA控制 | 步进电机模块使用说明

    今天给大侠带来步进电机模块使用说明,话不多说,上货. 如有想要入手步进电机以及驱动模块,可在"叁芯智能科技"企业淘宝店下单. FPGA开发板,初学小白必备! 01 步进电机简介 步 ...

  2. 17-基于单片机的矿井提升机_步进电机控制装置设计(原理图+仿真+源代码+实物图+答辩论文+答辩PPT)

    17-基于单片机的矿井提升机_步进电机控制装置设计(原理图+仿真+源代码+实物图+答辩论文+答辩PPT) 文章目录 17-基于单片机的矿井提升机_步进电机控制装置设计(原理图+仿真+源代码+实物图+答 ...

  3. c52单片机控制l298n步进电机角度_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...

    点击标题上方"微Life梦Heart阅读",关注. 设计图文626 摘  要[快速浏览摘要]单片微型计算机简称单片机.它是把组成微型计算机的各功能部件:中央处理器.CPU.随机存取 ...

  4. FPGA与Vince步进电机驱动器

    一.工程简介 1. 本工程实现的功能:用FPGA通过两个按键控制步进电机的启动和停止,硬件包括:黑金开发板.步进电机和Vince步进电机驱动器和电脑. 2.FPGA通过控制电机驱动器来控制步进电机的旋 ...

  5. 基于FPGA实现uart串口模块(Verilog)--------发送模块及整合

    基于FPGA实现uart串口模块(Verilog)--------发送模块及整合 当接收模块接收到数据后,需要重新发送形成回环验证模块正确性.思路和结束模块有一点点的小差异.接收模块最终输出的是一个并 ...

  6. FPGA控制DDR读写(AXI4总线接口)

    FPGA控制DDR读写(AXI4总线接口) 范围 本文适用于FPGA控制DDR读写 MIG核 MIG信号注释 DDR型号为 MT41K256M16TW-107 下面是MIG IP核的相关信号 图2.1 ...

  7. 【Verilog】FPGA控制RGB灯WS2812B

    [Verilog]FPGA控制RGB灯WS2812B 最近学业繁忙,因此好久没有更新博客,今日闲来无事,准备开始整理一下最近写的东西 今天先更新一下短学期做的东西吧--FPGA控制RGB灯WS2812 ...

  8. Python 中 concurrent.futures 模块使用说明

    Python 中 concurrent.futures 模块使用说明 转载请注明出处:https://blog.csdn.net/jpch89/article/details/87643972 文章目 ...

  9. FPGA控制W5500完成UDP环回测试

    FPGA控制W5500完成UDP环回测试 1 前言 2 前期准备 3 W5500寄存器描述 4 W5500 环回测试 4.1 W5500初始化 4.1.1 通用寄存器初始化 4.1.2 socket寄 ...

  10. quartus频率计 时钟设置_频率计的使用说明

    在电子测量领域,频率是一个重要的参数,往往作为计 算的基础参量与参考数值,随着计算机网络和电子科学技术 的不断发展,频率的测量要求越来越高.这时一台高精度的频率计就显得尤为重要 频率测量技术发展到今天 ...

最新文章

  1. jpa SessionFactory事物失效
  2. Symantec Endpoint Protection下载方法
  3. Windows 技术篇-LDSGameMaster文件夹有什么用,删除方法
  4. vue-cli-3.0 axios 配置
  5. pssh远程批量执行命令
  6. padavan支持惠普打印服务器,Y1S 用了老毛子Padavan连接打印机问题
  7. Codeforces #555 (Div. 3)--C2 Increasing Subsequence (hard version)--投石问路+deque/双指针
  8. 唱吧录制的歌曲转换成mp3_录制开放文化歌曲
  9. Simulink与Siemens PLC联合调试
  10. 计算机连接小米usb驱动,win7系统安装小米usb驱动的操作方法
  11. usb驱动开发21——驱动生命线
  12. linux内核源码分析之proc文件系统(二)
  13. spring加载流程之AnnotatedBeanDefinitionReader
  14. 她力量系列七丨兰艳艳:理想温暖10年科研路,女性可以柔和,更要自信、专业 | 妇女节特辑
  15. 022-互惠合作|离职员工的关系网
  16. [乡土民间故事_徐苟三传奇]第四四回_赵员外苕吃假香肠
  17. protoc 命令参数
  18. 基于Quartus-FPGA制作蜂鸣器的相关教程
  19. 在数据库中一个汉字到底占几个字节
  20. 2019.10.8 多校赛Day1【including 流量,个人练习生,假摔

热门文章

  1. H5游戏忆童年—承载梦想的纸飞机回来了吗?
  2. vue前端使用xlsx和 xlsx-style 导出excel,并修改样式
  3. 带你快速入门AXI4总线--AXI4-Full篇(2)----XILINX AXI4-Full接口IP源码仿真分析(Slave接口)
  4. ufs 固态硬盘_看够了UFS/eMMC纠纷 再看笔记本固态硬盘速度的区别吧
  5. PHP代码审计入门学习过程
  6. 【哈佛幸福课笔记】【1】
  7. excel取消密码_【Excel神技能】如何锁定Excel表中的公式,防止被修改?
  8. GitLab CI/CD 初体验
  9. pcb外观维修_5种最常见的PCB维修
  10. 厦门龙凤419_福建生物工程职业技术学校2019招生通知书EMS单号