使用TMS320F28335测量360°舵机转速

本文介绍了如何使用TMS320F28335的eCAP模块结合红外传感器测量360°舵机的转速。首先,简述了eCAP模块和红外传感器的工作原理,接着详细说明了GPIO配置和eCAP模块的设置。然后,展示了实现过程中关键的中断服务函数代码,并分享了最终的测速效果。文章总结了实验思路,并指出未来改进方向。
摘要由CSDN通过智能技术生成


大家新年好啊。前几天回乡下过年了,也没带啥东西回去,所以啥也干不了,昨天回来了,又做了一个小实验,跟大家分享一下。

前言

之前用F28335驱动一个舵机旋转(链接在这),一般来说,舵机无法整圈旋转,因此一般也不算转速。不过我手头上这个是360°舵机,所以可以整圈旋转,因此打算利用F28335的eCAP模块结合红外传感器对舵机的转速进行测量。

相关知识

eCAP模块简介

脉冲捕获模块可以通过捕获脉冲量的上升沿或者下降沿,来计算脉冲信号的宽度和占空比,进而可以进行相关控制操作。其典型应用有:

  1. 电机测速
  2. 测量脉冲电平宽度
  3. 测量一系列脉冲占空比和周期
  4. 电流/电压传感器的PWM编码信号的解码

F28335一共有6组eCAP模块,每个eCAP模块不但具有捕获功能,而且还可用作PWM输出功能,这次咱利用的是它的捕获功能。

红外传感器简述

本次所用的红外传感器主要是利用不透明的物体对红外射线的遮挡来实现测量。传感器实物如下图所示,有一根电源线、一根地线以及一根信号线。另外,传感器上还有一个槽结构,当不透明物体位于槽中并将红外射线遮挡时,信号线上输出低电平,否则输出高电平。因此,我们可以通过检测信号线的电平来判断槽中是否有物体;同时,如果将一个整圈旋转的物体置于槽中,就可以通过电平切换的时间间隔对旋转物体的转速做出测量。
红外传感器实物图
(图片来自网络,侵删)

实现过程

GPIO配置

GPIO配置主要分为eCAP模块相关GPIO配置以及红外传感器相关GPIO配置。由于红外传感器的输出信号是eCAP模块的输入信号,所以将传感器的信号线接到eCAP模块的输入线;另外,由于传感器功率较低,因此直接利用开发板上的DVDD3.3端口给传感器供电。GPIO配置代码如下:

EALLOW;
GpioCtrlRegs.GPBPUD.bit.GPIO48 = 0;
GpioCtrlRegs.GPBQSEL2.bit.GPIO48 = 0;
GpioCtrlRegs.GPBMUX2.bit.GPIO48 = 1;
EDIS;

DVDD3.3的配置在例程函数中,无需修改,此处不列出。

eCAP模块配置

eCAP模块的配置首先要进行时钟使能:

SysCtrlRegs.PCLKCR1.bit.ECAP6ENCLK=1;

然后需要对eC

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值