差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
上一修订版 两侧同时换到之后的修订记录
旋转调节系统设计 [2019/09/06 12:05]
gongyu
旋转调节系统设计 [2019/09/06 12:06]
gongyu
行 1: 行 1:
-###​旋转编码器调节系统设计+#### 基于旋转编码器调节系统设计
  
------+---
  
-###​实验任务+#### 实验任务
  
   * 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成旋转调节系统设计并观察调试结果   * 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成旋转调节系统设计并观察调试结果
行 9: 行 9:
   * 解析:通过FPGA编程驱动旋转编码器获取操作信息,根据操作信息控制变量增加或减小,最后驱动独立式数码管将变量显示出来。   * 解析:通过FPGA编程驱动旋转编码器获取操作信息,根据操作信息控制变量增加或减小,最后驱动独立式数码管将变量显示出来。
  
-###​实验目的+####​实验目的 
 在基础数字电路实验部分我们已经掌握了FPGA驱动独立显示数码管的原理及方法,本实验主要学习旋转编码器的驱动原理,最后完成旋转调节系统总体设计。 在基础数字电路实验部分我们已经掌握了FPGA驱动独立显示数码管的原理及方法,本实验主要学习旋转编码器的驱动原理,最后完成旋转调节系统总体设计。
   * 熟悉独立显示数码管驱动模块的应用   * 熟悉独立显示数码管驱动模块的应用
行 16: 行 17:
  
  
-###​设计框图+####​设计框图
 根据前面的实验解析我们可以得知,该设计可以拆分成三个功能模块实现, 根据前面的实验解析我们可以得知,该设计可以拆分成三个功能模块实现,
   * Encoder:通过驱动旋转编码器获取操作信息数据。   * Encoder:通过驱动旋转编码器获取操作信息数据。
行 26: 行 27:
 {{:​4-Top-Down层次设计.png?​500|Top-Down层次设计}}{{:​4-模块结构设计.png?​500|模块结构设计}} {{:​4-Top-Down层次设计.png?​500|Top-Down层次设计}}{{:​4-模块结构设计.png?​500|模块结构设计}}
  
-###​实验原理+####​实验原理
  
-####​旋转编码器介绍+#####​旋转编码器介绍
  
 旋转编码器(rotary encoder)也称为轴编码器,是将旋转位置或旋转量转换成模拟或数字信号的机电设备。旋转编码器用在许多需要精确旋转位置及速度的场合,如工业控制、机器人技术、专用镜头、电脑输入设备(如鼠标及轨迹球)等。 旋转编码器(rotary encoder)也称为轴编码器,是将旋转位置或旋转量转换成模拟或数字信号的机电设备。旋转编码器用在许多需要精确旋转位置及速度的场合,如工业控制、机器人技术、专用镜头、电脑输入设备(如鼠标及轨迹球)等。
行 36: 行 37:
 STEP BaseBoard V3.0底板上集成的旋转编码器就是机械增量式的。 STEP BaseBoard V3.0底板上集成的旋转编码器就是机械增量式的。
  
-####​旋转编码器连接+#####​旋转编码器连接
  
 STEP BaseBoard V3.0底板上旋转编码器的电路图如下: STEP BaseBoard V3.0底板上旋转编码器的电路图如下:
行 46: 行 47:
   * 3、4、5管脚支持旋转编码,4脚为公共端,3、5管脚分别为旋转编码器的A、B相输出,如上图所示,我们给4脚接地,3、5管脚则需要接上拉电阻,同时为了降低输出脉冲信号的抖动干扰,我们有增加了电容到地做硬件去抖。   * 3、4、5管脚支持旋转编码,4脚为公共端,3、5管脚分别为旋转编码器的A、B相输出,如上图所示,我们给4脚接地,3、5管脚则需要接上拉电阻,同时为了降低输出脉冲信号的抖动干扰,我们有增加了电容到地做硬件去抖。
  
-####​旋转编码器驱动设计+#####​旋转编码器驱动设计
  
 {{:​4-编码器原理示意.jpg?​500|编码器原理示意}} {{:​4-编码器原理示意.jpg?​500|编码器原理示意}}
行 123: 行 124:
 所以通过上面程序最终实现了左旋右旋的脉冲输出,脉冲的脉宽等于系统时钟的周期。 所以通过上面程序最终实现了左旋右旋的脉冲输出,脉冲的脉宽等于系统时钟的周期。
  
-####​系统总体实现+#####​系统总体实现
  
 回顾旋转调节系统设计框架,刚刚我们已经学习完成了旋转编码器的驱动设计,在基础数字电路实验部分我们已经掌握了FPGA驱动独立显示数码管的原理及方法, 模块通过一个4位的输入传递要显示的数值,通过9位的输出控制数码管显示该数值,这里我们不再重复,还需要设计一个模块,通过旋转编码器模块脉冲输出控制变量在0~99范围内加减变化。 回顾旋转调节系统设计框架,刚刚我们已经学习完成了旋转编码器的驱动设计,在基础数字电路实验部分我们已经掌握了FPGA驱动独立显示数码管的原理及方法, 模块通过一个4位的输入传递要显示的数值,通过9位的输出控制数码管显示该数值,这里我们不再重复,还需要设计一个模块,通过旋转编码器模块脉冲输出控制变量在0~99范围内加减变化。
行 160: 行 161:
  
  
-###​实验步骤+####​实验步骤
   - 双击打开Quartus Prime工具软件;   - 双击打开Quartus Prime工具软件;
   - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);   - 新建工程:File → New Project Wizard(工程命名,工程目录选择,设备型号选择,EDA工具选择);
行 171: 行 172:
  
  
-###​实验现象+####​实验现象
  
 将程序下载到实验平台,核心板数码管显示50,旋转编码器左旋(逆时针)数值减小,旋转编码器右旋(顺时针)数值增加,旋转编码器旋转时有顿挫感,每次顿挫数值变化1。 将程序下载到实验平台,核心板数码管显示50,旋转编码器左旋(逆时针)数值减小,旋转编码器右旋(顺时针)数值增加,旋转编码器旋转时有顿挫感,每次顿挫数值变化1。