17届智能车:使用编码器计算实际路程
系列文章目录
17届智能车:浅析总转风摄像头的图像处理_ssfight1的博客-CSDN博客_智能车摄像头图像处理
文章目录
目录
系列文章目录
文章目录
前言
一、编码器脉冲数获取
二、路程换算
1.测量并计算单位路程的脉冲数(pulse/m)
1.首先以正常速度将车推出大于1米的距离,然后测量出实际距离以及编码器脉冲积分,最后根据单位距离的脉冲数=实际距离 / 脉冲积分从而计算出单位距离的脉冲数。
2.开电机,利用定时器通过测量一定时间内车跑出的实际距离,然后根据单位距离的脉冲数=实际距离 / 脉冲积分从而计算出单位距离的脉冲数。
2.计算瞬时路程
前言
能够很好地运用编码器对于智能车而言是如虎添翼的,编码器读取的脉冲数不仅可以用于速度环的输入输出,还可根据单位路程读取的脉冲数计算出行驶的总路程。下面我们简单介绍怎样利用编码器对路程进行换算。
一、编码器脉冲数获取
我们以英飞凌芯片为例,编码器脉冲数获取代码如下:
//-------------------------------------------------------------------------------------------------------------------
// @brief GPT12计数读取(编码器采集)
// @param gptn 选择所使用的GPT12定时器
// @return void
// Sample usage: speed = gpt12_get(GPT12_T2);//使用T2定时器
//-------------------------------------------------------------------------------------------------------------------
int16 gpt12_get(GPTN_enum gptn)
{switch(gptn){case GPT12_T2: return (int16)IfxGpt12_T2_getTimerValue(&MODULE_GPT120);case GPT12_T3: return (int16)IfxGpt12_T3_getTimerValue(&MODULE_GPT120);case GPT12_T4: return (int16)IfxGpt12_T4_getTimerValue(&MODULE_GPT120);case GPT12_T5: return (int16)IfxGpt12_T5_getTimerValue(&MODULE_GPT120);case GPT12_T6: return (int16)IfxGpt12_T6_getTimerValue(&MODULE_GPT120);default: return 0;}
}IFX_INLINE uint16 IfxGpt12_T2_getTimerValue(Ifx_GPT12 *gpt12)
{return (uint16)gpt12->T2.U;
}
二、路程换算
1.测量并计算单位路程的脉冲数(pulse/m)
#define DISTANDE_RATIO (11400.0f)//1M记到的路程,用于换算成实际的路程,5ms记录一次
下面给出两种测量方法:
1.首先以正常速度将车推出大于1米的距离,然后测量出实际距离以及编码器脉冲积分,最后根据单位距离的脉冲数=实际距离 / 脉冲积分从而计算出单位距离的脉冲数。
2.开电机,利用定时器通过测量一定时间内车跑出的实际距离,然后根据单位距离的脉冲数=实际距离 / 脉冲积分从而计算出单位距离的脉冲数。
Distance_Integral += gpt12_get(GPT12_T2);
2.计算瞬时路程
我们知道单片机每1ms进入一次中断
这里我们每隔5ms读取一次编码器脉冲
IFX_INTERRUPT(cc60_pit_ch0_isr, 0, CCU6_0_CH0_ISR_PRIORITY)
{enableInterrupts();//开启中断嵌套control_flag++;if (control_flag == 5) //每5ms控制一次电机,编码器,陀螺仪{Speed_Get();control_flag = 0;}PIT_CLEAR_FLAG(CCU6_0, PIT_CH0);}
然后根据脉冲数积分推算出总的脉冲数
Distance_Integral += gpt12_get(GPT12_T2);
通过我们得到的单位路程的脉冲数,根据瞬时路程=瞬时脉冲积分 / 单位路程脉冲数
得出瞬时路程
代码如下:
Real_Distance = (float)Distance_Integral / DISTANDE_RATIO;
17届智能车:使用编码器计算实际路程相关推荐
- 17届智能车-湖科逐梦四队硬件开源
写在前面的话 时间很快,25号17届智能车湖南赛点就落下了帷幕,由于比赛时候驱动损坏导致无法完赛,特此开源硬件,和大家一同学习交流进步.(充电LCC大概3s,线上赛道26s左右完赛) 充电部分 LCC ...
- 17届智能车-多车编队寻光测距
1.多车规则 对于17届智能车的多车编队组来说,想要使得三车有序不相撞,可以通过超声波模块来完成速度闭环保持距离,或是开环控制速度使得三车匀速跑完全程. 超声波水太深,我比较菜,把持不住.受前摄像头四 ...
- 17届智能车图像处理部分讲解
目录 须知 寻边线 寻拐点 补线 最后 须知 讲解代码使用的摄像头为总钻风摄像头,图像像素为188*120,图像进行了二值化,这里建议如果需要对光线有要求的同学使用灰度处理.没有使用过上位机,展示的图 ...
- 17届智能车竞赛技术报告 | 乐师逐飞二队 - 基础四轮组
学 校:乐山师范学院 队伍名称:乐师逐飞二队 参赛队员:唐冰奇 罗文祝 唐玉琴 带队教师:杨济豪 李富钢 简 介: 本文以第十七届全国大学生智能车竞赛为背景,以大赛组委会指 ...
- 17届智能车竞赛-极速越野 | 山东大学(威海)-越野三队
学校:山东大学(威海) 队伍名称:越野三队 参赛队员:郑睿.茅陈昕.余海波 带队教师:王小利刘萍萍 01 引 言 第十七届全国大学生智能车竞赛将于 2022年七至八月 ...
- 17届智能车-电磁组比赛心得一
目录 前言 一.电磁车的电感排布方案 二.如何调整电感的ADC数值+滤波方法 三.电磁四轮车的一些基础控制算法 1.差比和算法+方向环 2.电机的速度环控制算法 小结 前言 2022年由于疫情的缘故, ...
- 17届智能车竞赛技术报告 | 北京科技大学无线充电组
学 校:北京科技大学 队伍名称:北京科技大学无线充电组 参赛队员:杨凯宁. 屈琛涛.王冠尧 指导教师:赵鑫鑫.李 勇 #mermaid-svg-vSKeNucI52JD3EF ...
- 17届智能车竞赛技术报告-极速越野 | 南昌大学-闪电小飞侠
学 校:南昌大学 队伍名称:闪电小飞侠 参赛队员:龚浩宇 .曹禹源 带队教师:黄玉水 .胡奕涛 #mermaid-svg-lWYOzh4FrFCtIYQJ {font-family:& ...
- 博特电子-17届智能车无线充电组恒功率方案
目录 一.恒功率充电设计原理 二.硬件设计 三.软件设计 四.无线充电测试 1.测试器件清单 2.测试接线图 3.测试方案 4.测试结果 5备注 五.说明 恒功率套件图: 恒功率套件淘宝链接 恒功率测 ...
最新文章
- [转]python 装饰器
- bigdecimal类型数据的min方法
- 如何捕获和分析 JavaScript Error
- 怎么用c语言表示大整数的四则运算,用c语言编写大整数的四则运算,求大神
- sklearn自学指南(part45)--新颖性和离群值检测概述
- Java面向对象(21)--内部类
- 地图旋转_人类一败涂地手游:地图冰进阶攻略,团队配合与齐心协力缺一不可...
- Scratch 教程《元宵猜灯谜》
- 免安装版VSCode配置(便携模式)
- aspectjweaver的作用
- 自己编写DLL文件——注册——VB工程引用——标准EXE调用(含例子)
- win10截图软件工具
- 办公室设计公司关于办公室装修全过程解剖
- java课程设计之小游戏贪吃蛇
- 深度学习——Noisier2Noise
- miniui页面移动的时候透明_PPT中「透明度」功能,根本想不到还能这样用
- SQL盲注攻击的简单介绍
- 阿里云:通过设置白名单解决因误判IP被拦截问题
- 百度地图在http协议正常,在https协议下地图无法正常显示的解决方法
- FW: BizTalk's furture