网站大量收购独家精品文档,联系QQ:2885784924

基于fpga的步进电机控制.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于fpga的步进电机控制

《集成电路课程设计》报告 基于FPGA的三组电机旋转控制设计 目 录 一、原理与系统设计 3 1.1 功能要求 3 1.2 设计工具及测试软硬件介绍 3 1.3 电机的控制原理 4 1.3.1 电机及驱动芯片介绍 4 1.3.2 电机控制原理 5 二、模块设计 6 2.1 数据输入模块 6 2.2 字符型液晶屏显示控制模块 8 2.2.1 字符型液晶显示屏1602介绍 8 2.2.2 FPGA的控制原理 10 2.3电机控制模块 12 2.3.1电机控制模块引脚说明 12 2.3.2 电机控制模块状态转换图 13 2.4外围电路设计与制作 14 2.4.1逻辑表达式 14 2.4.2电路连接原理图 15 三、功能实现及综合后整体电路图 16 四、modelsim仿真结果与分析 18 五、心得体会 19 一、原理与系统设计 1.1 功能要求 使用verilog HDL语言编程实现对三个电动机转角进行控制,并将转过角度用显示设备显示出来,要求所输入的数据有两种形式,第一种为外界设备输入转过的角度,另一种由FPGA自己产生一个随机角度。 其过程如下图1所示。 图1 1.2 设计工具及测试软硬件介绍 本次设计使用ISE9.1实现编程,使用modelsim6.2进行仿真测试,使用Red cyclone RCII-SP3S400开发板进行硬件测试及功能实现。 1.3 电机的控制原理 1.3.1 电机及驱动芯片介绍 如下图2所示,本次设计使用MP28GA(左)步进电机。以ULN2003APG(右)作为驱动步进电机必须加驱动才可以运转,驱动必须为脉冲信号,没有脉冲的时候,步进电机静止,如果加入适当的脉冲信号,就会以一定的角度(称为步角)转动。转动的速度和脉冲的频率成正比。 图2 驱动芯片与电机实物连接图 1.3.1.1 MP28GA步进电机特点如下: 该步进电机步进角为 5.625度一圈360度需要64个脉冲完成具有瞬间启动和急速停止的优越特性。改变脉冲的顺序,可以方便的改变转动的方向。最大转速约0.33r/s具体参数如:MP28GA的步进电机相关参数 电压 DC.V 电阻(25°C) Ω 步距角 ° 减速比 牵入转矩 mN.m 自定位转矩 mN.m 5 50 5.625/64 1/64 ≥40 ≥34.3 空载牵入频率 Hz 空载牵出频率 Hz 绝缘电阻 DC.500V 绝缘介电强度 AC.600V.1mA.1S 温升 K 噪音 dB(A) ≥500 ≥900 ≥50MΩ 无击穿或飞弧 <40 <40 ULN2003APG的驱动芯片驱动原理图如所示: 图3 LUN2003驱动原理图 uln2003主要用于驱动步进电机工作,因为步进电机的工作电压高电流大,FPGA是不能直接提供这么高的功率的,所以要用uln2003来提供。即为实现功率放大的作用。 1.3.2 电机控制原理 步进电机相励磁的励磁顺序如下表所示:接线端 导线 ? ? 分 配 顺 序 ? ? 序号 颜色 1 2 3 4 5 6 7 8 5 红 5V 5V 5V 5V 5V 5V 4(pin4) 橙 ?0 ?0 ?0 ?0 ?0 1 3(pin3) 黄 ??0 ?0 ?0 ?0 2(pin2) 粉 ??0 ?0 1 1 1 ?0 ?0 1(pin1) 蓝 ??0 ?0 ?0 ?0 1 1 1 红线接+5V的电源线,剩下pin1至pin4为信号线,步进电机每转过一格即5.625度需要8拍完成,分别为上表中所示的8个分配顺序。即pin1至pin4:依次给信号0001-0011-0010-0110-0100-1100-1000-1001,则步进电机转过一格(5.625度),如果需要转过多格,则只需要重复给这8拍信号。如果需要反转则只需要倒着给脉冲信号,即pin1至pin4:依次给信号1001-1000-1100-0100-0110-0010-0011-0001即可倒转一格(-5.625度)。 二、模块设计 2.1 数据输入模块 数据输入模块RTL级如图4所示: 图4 输入模块RTL视图 数据输入使用两个拨码开关及四个按钮开关做为输入,拨码开关对就图4中的hl_sel和in_allow两个信号线,四个按钮开关分别对应sw3,sw2,sw1和sw0。拨码开关实现工作模式选择,按钮实现数据输入,输入方式如表3所示。数据输出采用14位输出(图4中的data_out[13:0]),其输出各位所代表意义如图5所示,默认输出全为零,按钮按下代表对应位输入1,不按则代表输入为0。 表3 拨码开关 {hl_sel,in_allow} 按钮开关 sw[3:0] 所处工作模式 00 Dat

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档