EDA应用技术 第2版 课件 01-二自由度云台控制器设计方案_第1页
EDA应用技术 第2版 课件 01-二自由度云台控制器设计方案_第2页
EDA应用技术 第2版 课件 01-二自由度云台控制器设计方案_第3页
EDA应用技术 第2版 课件 01-二自由度云台控制器设计方案_第4页
EDA应用技术 第2版 课件 01-二自由度云台控制器设计方案_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目8二自由度云台控制器设计方案云台具有广泛的应用,一般在需要摇动和摆动运动的机构中,都可以应用云台来实现,如机械臂、安防和监控的支架、航模自动控制等。PWM(PulseWidthModulation)脉宽调制/脉冲宽度调制,是利用数字输出来对模拟电路进行控制的一种技术,广泛应用在测量、通信、功率控制与变换等领域中。本项目以二自由度云台控制器设计为载体,利用PWM精确控制二自由度云台的舵机运动,介绍基于FPGA的PWM控制器的设计方法。项目8二自由度云台控制器设计方案教学目标技能目标知识目标素质目标(1)能用VHDL程序描述矩阵式键盘控制电路。(2)能用VHDL程序实现数码管的动态扫描显示。(3)能用VHDL程序描述PWM控制信号。(4)能使用QuartusPrime软件对设计中的多个设计文件进行单独综合、仿真、调试。(5)能利用原理图和文本输入相结合的方法描述数字电子系统。(1)了解舵机工作原理。(2)了解PWM原理与应用。(3)熟悉矩阵键盘工作原理。(4)熟悉数码管动态扫描显示工作原理。(5)掌握VHDL程序的自顶向下模块化设计数字电路的方法。(6)掌握IP功能模块的使用方法。(1)培养严谨规范的专业精神。(2)培养一丝不苟的职业精神。(3)培养精益求精的工匠精神。项目8二自由度云台控制器设计方案任务描述用FPGA最小系统板设计控制器,实现对二自由度舵机云台的精确控制,功能要求:①输入采用4×4矩阵式键盘,矩阵式键盘输入旋转角度值,精确控制二自由度舵机的旋转角度。②在4×4矩阵式键盘上定义功能键,实现二舵机的角度增加与减小,二舵机的角度改变,可单独改变,也可同时改变。③采用四位数码管同步显示显示二舵机角度值改变。项目8二自由度云台控制器设计方案用FPGA最小系统板设计控制器,实现对二自由度舵机云台的精确控制,设计要求:在Quartusprime20.1软件平台上,用VHDL程序设计矩阵式键盘控制电路、数码管动态显示电路、舵机控制电路;用ModelSim-Altera2020.1仿真软件仿真检查设计结果;选用FPGA最小系统板、2自由度舵机云台、矩阵式键盘、数码管等硬件资源进行硬件验证。任务描述项目8二自由度云台控制器设计方案设计方案1.矩阵式键盘控制器设计矩阵式键盘是排布类似于矩阵的键盘组,是一种常见的人机对话输入装置。在键盘中按键数量较多时,为了减少控制端口的占用,通常将按键排列成矩阵形式,如图8.1所示。图8.1矩阵键盘项目8二自由度云台控制器设计方案1.矩阵式键盘控制器设计

矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上,如图8.2所示。键盘控制器顺序扫描各列线将其置为低电平,然后根据行线上的电平变化来确定是哪个按键按下。图8.24×4矩阵键盘原理图项目8二自由度云台控制器设计方案1.矩阵式键盘控制器设计图8.3矩阵式键盘控制器模块的原理图矩阵式键盘控制器模块的原理图,如图8.3所示。项目8二自由度云台控制器设计方案1.矩阵式键盘控制器设计根据矩阵式键盘控制器模块的功能,矩阵式键盘控制器模块电路的设计分为3个部分:①矩阵键盘的列扫描控制和行编码译码。本设计采用矩阵键盘控制器输出列扫描信号,然后根据输入的行编码信号进行译码。扫描信号由kbcol[3]~kbcol[0]进入键盘,变化的顺序依次为1110、1101、1011、0111、1110。每一次扫描一列,依次周而复始。项目8二自由度云台控制器设计方案1.矩阵式键盘控制器设计根据上面所述原理,可得到各按键与行、列编码的关系如表8.1所示。项目8二自由度云台控制器设计方案1.矩阵式键盘控制器设计②机械式按键的防抖设计。由于机械式按键在按下和弹起的过程中均有5~10ms的信号抖动时间,在信号抖动时间内无法有效判断按键值,因此需对按键进行防抖设计。本项目采用对按键状态连续记录的方式防抖动,即在按键按下或弹起后连续8个时钟周期按键信号均相同,才确认1次按键有效,从而避免按键按下和弹起过程中的数据抖动。③按键数值的移位寄存。由于需要用4位数表示舵机与旋转角度值,而键盘1次只能输入1位数据,因此,对输入的数据需要进行存储,然后调用。项目8二自由度云台控制器设计方案2.数码管的动态扫描显示设计本项目的旋转角度值采用4位数表示,需要4个数码管。单个数码管(以共阳极性为例)包括小数点是由8段发光二极管组成,其中,7段(A~G)发光二极管的不同亮灭组成不同的数字,另一个发光二极管(P)控制小数点的显示,如图8.4所示。图8.48段共阳数码管原理图项目8二自由度云台控制器设计方案2.数码管的动态扫描显示设计如果采用动态扫描的方式来控制4位数码管的显示,可大大减少FPGA的输入输出引脚资源。所谓动态扫描是指每个数码管不是一直显示,而是每隔一定时间显示一次,只要间隔时间足够短,由于人眼的视觉暂留现象,在视觉上是一直显示的。动态扫描数码管的原理图,如图8.5所示。图8.5动态扫描数码管连接原理图项目8二自由度云台控制器设计方案3.舵机PWM控制信号设计舵机是一种位置伺服的驱动器,它是高性能的数字控制的可调速的电机,适用于那些需要角度不断变化并可以保持的驱动。图8.5舵机内部结构

(1)舵机简介。舵机主要由外壳、控制电路、直流电机、减速齿轮组与位置检测器构成,如图8.5所示。标准的舵机有三条控制线组成,分别为电源、地及控制信号线,如图8.6所示。图8.6舵机控制线示意图项目8二自由度云台控制器设计方案3.舵机PWM控制信号设计

(2)舵机工作原理及参数。本项目采用MG99501舵机,其控制信号是周期为20ms的PWM信号,当脉冲宽度为0.5ms~2.5ms时,相对应舵盘的位置为0~180度,呈线性变化。因而,每增加1度增加的脉宽为(2500-500)/180=11.11μs。也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。项目8二自由度云台控制器设计方案3.舵机PWM控制信号设计

(3)舵机PWM控制信号设计。本项目采用的FPGA最小系统板的工作频率为50MHz,即周期为20ns的脉冲,舵机的PWM控制信号可通过分频产生。脉冲宽度计数器的长度N=脉宽/20ns,如0度时,脉宽为0.5ms,则脉宽计数器的长度为(0.5×106)/20=25000。根据舵机PWM控制信号要求可知,脉宽度计数器长度cnt=25000+n×[(2×106)/180]/20,其中n值为旋转的角度值。部分脉冲宽度与舵机转动角度及脉宽度计数器长度的关系如表8.2所示,其它角度可根据脉宽与角度改变呈线性变化计算。项目8二自由度云台控制器设计方案4.二自由度云台控制器设计模块功能本项目的二自由度云台控制器,根据设计任务要求可分为:键盘控制模块、动态显示控制模块、ROM模块、PWM1与PWM2生成模块。键盘控制模块的功能:在系统时钟信号的控制下,生成键盘列扫描信号,根据键盘行信号编码确定舵机的转动角度,将转动角度的值分别输出给动态显示控制模块显示数值,输出给ROM模块转换为计数器长度值,设置舵机1(水平舵机)、舵机2(垂直舵机)的PWM模块的脉宽计数器,控制PWM的脉宽;产生确定角度值生效的控制信号;产生角度选择信号分别控制舵机1与舵机2;产生控制舵机1与舵机2角度改变的信号。项目8二自由度云台控制器设计方案4.二自由度云台控制器设计模块功能动态显示控制模块的功能:在系统时钟信号的控制下,产生位扫描信号,并根

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论