admin 管理员组文章数量: 1184232
2024年1月24日发(作者:shy)
3自由度的机械手控制器设计原理
本章节主要讲述该项目的设计原理以及项目涉及到的键盘模块,数据模块,音乐播放模块,舵机模块,LED显示模块的设计过程以及原理。
1 键盘控制模块的设计原理
本项目使用的键盘是矩阵式键盘,矩阵式键盘是类似于矩阵的键盘组,是一种常见的人机交流输入装置。在键盘按键过多的时候,为了减少控制端口的占用,通常摆成矩阵,如下图2.1所示。
图 2.1 矩阵式键盘
但是这个设备是缺少电阻的,为了使用设备的安全,我们需要给这个设备连接上电阻,以保证键盘模块的正常使用。
1.矩阵式键盘简介
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。
如4*4矩阵键盘可以构成4*4=16个按键,而控制端口只需4+4=8个。如果直接将控制端口与按键连接,则需要16个控制端口。先数越多,节省端口越多,如再多加两条线就可以构成5*5=25个按键的键盘,二控制端口只需5+5=10个。在需要控制的按键数比较多时,常采用矩阵式键盘作为人机对话的输入装置。
控制器顺序扫描各列线,置为低电平,根据行线上的电平变化,来决定,这是原理图如下图:
图2.2 键盘模块原理
2 矩阵式键盘控制器的功能
4*4矩阵式键盘是本项目的输入设备,是实现与系统交互信息的窗口。要使用矩阵式键盘正常工作,需要设计矩阵式键盘控制器模块,根据设计任务要求,矩阵式键盘控制器模块功能如下
输出4*4矩阵式键盘正常工作所需要的列扫描信号。
接收矩阵式键盘行编码信息
根据列扫描信号和接收的行编码信号储存键盘信息
根据输入的键盘信息确定设置的角度值、发出控制舵机信号和同步显示的数据。
下。0~9数字键用来设置旋转角度
3.矩阵式键盘控制器设计
根据矩阵式键盘控制器模块的功能,矩阵式键盘控制器模块电路的设计可分为3个部分。
矩阵式键盘的列扫描控制和行编码译码。本设计采用矩阵式键盘控制器输出列扫描信号,然后根据俗人的行编码信号进行编码。
扫描信号kbcol[3]~kBCOL[0]进入键盘,变化的顺序依次为1110、1101、1011、0111、1110。每一次扫描一列,,依次周而复始。例如,列扫描信号为0111,代表目前正在扫描“1”、“4”、“7”、“*”
这一列按键,如果此时这一列中没有按键按下,则行编码信号kbrow[3]~kbrow[0]的值为1111;如果此刻这列中没有按键按下,则行编码信号kbrow[3]~kbrow[0]的值为1111;如果此刻“7”键按下,则由kbrow[]读出的值为1101.
根据上述原理,可得到各按键与行、列编码的关系
图2.3 矩阵式键盘控制器
机械式按键的防抖设计。由于机械式按键在按下和弹起的过程中均有5~10ms的信号抖动时间, 在信号抖动时间内无法有效判断按键值,因此需要对按键进行防抖设计。
本项目采用对按键状态连续记录的方式防抖动,即在按键按下或弹起后连续8个时钟周期按键信息均相同,才确认1次按键的有效,从而避免按键按下和弹起过程中的数据抖动。这样可以有效避免长时间按键按下产生的重复数据输出,使每次按键无论时间长短均可且只会产生1次数据输出。
按键数值的移位寄存。由于需要用四位数表示舵机与旋转值的角度值,而键盘1次只能输入1位数据,因此,对输入的数据需要进行储存,然后调用。
2舵机的工作原理及参数
舵机主要是由外壳、控制电路、直流带年纪、减速齿轮组与位置检测器构成,位置检测器是它的输入传感器,当舵机转动的位置改变时,位置检测器的电阻值发生改变。
标准的舵机由三条控制线组成,分别为电源线、地线及控制信号线,电源线与地线用于提供内部的直流电机及控制电路所需的电能,电压通常为4~6V
舵机工作原理是控制信号通过控制线,经由控制电路的IC判断转动方向,驱动直流电机转动,通过减速齿轮组将动力传至输出转轴,同时位置检测器根据电阻值的变化,调整电机的速度和方向,使电机向指定角度旋转。舵机的控制信号通常是PWM信号
本项目采用MG99501舵机,其控制信号是周期为20ms的PWM信号,当脉冲宽度为0.5~2.5ms时,相对应舵盘的位置为0~180度,呈线性变化。因而,每
增加1度增加的脉宽为(2500-500)180=11.11us.也就是说,给它提供一定的脉宽,它的输出轴就会保持在一个相对应的角度上,无论外界转矩怎样的改变,直到给它提供一个另外宽度的脉冲信号,它才会改变输出角度到新的对应的位置上。这是由于舵机内部有一个基准电路,产生周期为20ms、宽度为1.5ms的基准信号,内部有比较器,将外加信号与基准信号相比较,判断出方向和大小,从而产生电机的转动信号。
3 数码管的动态扫描显示
本项目的旋转角度值采用4位数表示,需要4个数码管。单个数码管(以共阳极为列)
包括小数点是由8段发光二极管组成的,其中,7段发光的二极管的不同亮灭组成不同的数字,另外,另一个发光二极管控制小数点的显示。
单个数码管显示控制需要8个控制信号。如果用单个数码管显示控制方法控制4位数码管,则需要32个控制信号,占用FPGA的32个引脚资源。用单个数码管显示控制方法控制4位数码管的显示,实现方法相对=简单,但是占用了大量的FPGA的输入输出引脚资源。
如果采用动态扫描的方式来控制4位数码管的显示,则可大大减少FPGA的输入引脚资源的使用。所谓动态扫描是指每个数码管不是一直显示,而是每隔一定的时间显示一次,只要间隔的时间足够短,由于人的眼睛的视觉暂留现象,在视觉上是一直显示的。人眼在观察景物时,光信号传入大脑神经需要经过一段时间,光的作用结束后,视觉影像并不立即消失,存在视觉残留,物体在快速运动时,当人眼所看到的影像消失后,人眼仍能继续保留其影像0.1~0.4s,这种现象被称为视觉暂留现象。通过控制器控制,使同一数码管两次显示的间隔不超过0.1s,就可达到让眼睛感觉到数码管是连续显示的效果
版权声明:本文标题:3自由度的机械手控制器设计原理 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1706085055a501299.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论