OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11678|回复: 30

机器人比赛资料整理

[复制链接]

3

主题

28

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2014-5-11
在线时间
5 小时
发表于 2014-5-11 14:11:49 | 显示全部楼层 |阅读模式
机器人比赛完事已经快一年了,文件夹一直封在那里没怎么管过,今天逛到这里,非常喜欢这种开源的氛围,也算是小小的支持一下论坛吧。
文件可能会比较凌乱,先上传一些代码,其他的资料我再慢慢整理。
当时我主要负责底层,总体架构是STM32 + CPLD控制2个减速电机带正交编码,3个舵机,8个超声波。一个串口和cubieboard通信,接收下行指令并上传实时监测数据。另一个串口接收遥控器指令。两个都用的DMA方式。
PID部分是另一个同学写的,中间可能会有一些纯粹包装性质的函数,主要是俩人中间的链接用。
遥控器部分是最后临时用51加上去的,硬件也是随手焊,资料可能比较少。
Labview是我为了调试PID搭的一个算是可视化平台,接收STM32主串口(就是接cubieboard那个)的数据并且绘图显示出来,方便调整PID参数。
还有一个FPGA的文档,印象中貌似是控制舵机和超声波测距的,主要是STM32定时器不够用,就加了一块EPM570的片子。
资料先放上来这么多,有问题或者资料缺的可以回我,到时候再做补充,毕竟一年很多东西都还要整理。
最后嘚瑟一张当时的照片,就先这样吧。

STM32程序.rar

5.41 MB, 下载次数: 6102

FPGA_prj.rar

1.18 MB, 下载次数: 3779

C51_遥控器.rar

72.79 KB, 下载次数: 1189

LabVIEW 串口通信.rar

10.41 MB, 下载次数: 5952

C51_舵机测试.rar

52.01 KB, 下载次数: 1220

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

21

帖子

0

精华

初级会员

Rank: 2

积分
67
金钱
67
注册时间
2014-5-10
在线时间
4 小时
发表于 2014-5-11 14:46:58 | 显示全部楼层
楼主好人 ,  请问有正交编码器的32程序么
回复 支持 反对

使用道具 举报

558

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
164897
金钱
164897
注册时间
2010-12-1
在线时间
2100 小时
发表于 2014-5-11 18:02:37 | 显示全部楼层
cool, 不错,谢谢分享.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2014-5-11 21:31:16 | 显示全部楼层
请教楼主,机器人实现什么功能,什么比赛
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

54

主题

194

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
430
金钱
430
注册时间
2013-11-2
在线时间
0 小时
发表于 2014-5-11 21:45:48 | 显示全部楼层
回复【4楼】爱博不专:
---------------------------------
请问你使用到了编码器模式么?是用来测速的还是用来计算走的距离的?我现在再做一个跷跷板平衡小车,对PID控制不熟,求指教
回复 支持 反对

使用道具 举报

38

主题

528

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1419
金钱
1419
注册时间
2011-11-27
在线时间
122 小时
发表于 2014-5-11 21:57:48 | 显示全部楼层
回复【2楼】小刺猬:
---------------------------------
void Timer3_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_ICInitTypeDef TIM_ICInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //启动Tim3时钟
TIM_DeInit(TIM3); //重设为缺省值

TIM_TimeBaseStructure.TIM_Prescaler = 0;      //预分频
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数
TIM_TimeBaseStructure.TIM_Period = 0xFFFF; //装载值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置了时钟分割
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0; //周期计数器值
TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure); //初始化TIMx的时间基数单位

TIM_EncoderInterfaceConfig(TIM3, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);  //TIM_ICPolarity_Rising上升沿捕获

TIM_ICStructInit(&TIM_ICInitStructure);
TIM_ICInitStructure.TIM_ICFilter = ENCODE_FILTER;         //比较滤波器
TIM_ICInit(TIM3, &TIM_ICInitStructure);

TIM_Cmd(TIM3, ENABLE);
TIM3->CNT = 0;
TIM_GenerateEvent(TIM3,TIM_EventSource_Update);
}

void Timer4_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_ICInitTypeDef TIM_ICInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //启动Tim3时钟
TIM_DeInit(TIM4); //重设为缺省值

TIM_TimeBaseStructure.TIM_Prescaler = 0;      //预分频
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数
TIM_TimeBaseStructure.TIM_Period = 0xFFFF; //装载值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置了时钟分割
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0x0; //周期计数器值
TIM_TimeBaseInit(TIM4,&TIM_TimeBaseStructure); //初始化TIMx的时间基数单位

TIM_EncoderInterfaceConfig(TIM4, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Rising);  //TIM_ICPolarity_Rising上升沿捕获

TIM_ICStructInit(&TIM_ICInitStructure);
TIM_ICInitStructure.TIM_ICFilter = ENCODE_FILTER;         //比较滤波器
TIM_ICInit(TIM4, &TIM_ICInitStructure);

TIM_Cmd(TIM4, ENABLE);
TIM4->CNT = 0;
TIM_GenerateEvent(TIM4,TIM_EventSource_Update);
}
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

38

主题

528

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1419
金钱
1419
注册时间
2011-11-27
在线时间
122 小时
发表于 2014-5-11 21:59:12 | 显示全部楼层
回复【5楼】周小样:
---------------------------------
void Cal_Real_WH_dist(void) //计算脉冲差, 在进中断时调用, 确保时间间隔准确
{
u16 Tim3_tmp, Tim4_tmp;
Tim3_tmp = TIM3->CNT;
Tim4_tmp = TIM4->CNT;
Tim3_dcnt = Tim3_cnt_l - Tim3_tmp;
Tim4_dcnt = Tim4_tmp - Tim4_cnt_l;
Tim3_cnt_l = Tim3_tmp;
Tim4_cnt_l = Tim4_tmp;
R_dist = ((s32)Tim3_dcnt * SINGLE_PULSE_DISA) / 1000;
L_dist = ((s32)Tim4_dcnt * SINGLE_PULSE_DISB) / 1000;
}

void get_dist(s32 *dcnt) //获得距离, 单位:um, 输入指针地址, 先左后右
{
*dcnt = L_dist;
*(dcnt+1) = R_dist;
}
永远保持一颗学习的心态。
回复 支持 反对

使用道具 举报

14

主题

58

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
293
金钱
293
注册时间
2014-1-24
在线时间
2 小时
发表于 2014-5-11 23:11:53 | 显示全部楼层
太感谢楼主了,这几天正在准备机器人赛,准备弄一个舞蹈机器人,但是发现这个好成熟了,都可以通过调节上位机上舵机对应的滚动条生成动作节点直接下载到控制板就OK了。
回复 支持 反对

使用道具 举报

3

主题

28

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2014-5-11
在线时间
5 小时
 楼主| 发表于 2014-5-12 09:30:12 | 显示全部楼层
回复【4楼】爱博不专:
---------------------------------
当时是要做一个智能看家狗,但是最后上位机程序不稳定出现BUG。底层用了2个减速电机做的驱动,2个舵机控制头,2个舵机控制机械臂,1个舵机控制尾巴,8个超声波做得各方向测距。5个舵机和8个超声波用的EPM570(资源几乎用完),随意写的类似74595的接口和STM32连接。
底层板子做了两块,图里能看到,左边电池上面的是STM32 + CPLD的板子,右边底下的是功率板(请原谅我申了一堆的TI样片,主要为了节省体积。用的都是最新的驱动器和集成电感开关电源),电源充电也在上面。右上那块就是cubieboard,负责双摄像头(一个改成红外最后也没用上)数据传输和上位机指令传输,用的USB WiFi,天线给我接出去拉到尾巴上增强信号(里面干扰大,而且cubieboard位置也比较靠下)。
回复 支持 反对

使用道具 举报

3

主题

28

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
240
金钱
240
注册时间
2014-5-11
在线时间
5 小时
 楼主| 发表于 2014-5-12 09:32:01 | 显示全部楼层
回复【7楼】科科1987:
---------------------------------
就是这里,谢谢啦
回复 支持 反对

使用道具 举报

19

主题

73

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2012-12-8
在线时间
5 小时
发表于 2014-5-12 11:27:43 | 显示全部楼层
回复【8楼】Chash:
---------------------------------
你用的是数字舵机吧,数字舵机好多都有上位机软件来辅助调试,很方便~
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2014-5-12 19:14:51 | 显示全部楼层
回复【9楼】REBORN:
---------------------------------
niu!!以前想做RoboCup,但是最后学校不给资金了。。。我想研究点关于基于摄像头的自主视觉机器人,能不能给点建议
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

35

主题

227

帖子

3

精华

高级会员

Rank: 4

积分
956
金钱
956
注册时间
2014-3-5
在线时间
35 小时
发表于 2014-5-12 19:15:28 | 显示全部楼层
回复【12楼】爱博不专:
---------------------------------
基本就是类人机器人足球赛
把看到的有意义的例子进行扩充,并将其切实的运用到自己的设计中。 应用确实不容易,水平是在不断的实践中完善和发展的。
回复 支持 反对

使用道具 举报

10

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
106
金钱
106
注册时间
2014-2-27
在线时间
0 小时
发表于 2014-6-4 16:53:23 | 显示全部楼层
cool, 不错,!
You canyou up!
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

新手上路

积分
43
金钱
43
注册时间
2015-4-17
在线时间
0 小时
发表于 2015-4-30 11:58:26 | 显示全部楼层
cool!!!!
回复 支持 反对

使用道具 举报

7

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
179
金钱
179
注册时间
2015-1-3
在线时间
26 小时
发表于 2015-5-27 13:36:26 | 显示全部楼层
cool!!!!!!!!!!!!!
总有人是要赢的,那为什么不是我呢?
博客: http://mindthink.me
回复 支持 反对

使用道具 举报

7

主题

37

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
209
金钱
209
注册时间
2015-8-17
在线时间
22 小时
发表于 2015-11-26 18:22:28 | 显示全部楼层
不错的资料,谢谢哈
回复 支持 反对

使用道具 举报

2

主题

11

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2015-9-14
在线时间
0 小时
发表于 2015-11-26 20:59:36 | 显示全部楼层
楼主会绝对值编码器的SSI协议吗
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
261
金钱
261
注册时间
2015-10-8
在线时间
36 小时
发表于 2015-11-27 08:24:49 | 显示全部楼层
牛  谢谢...........................
回复 支持 反对

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2015-8-5
在线时间
7 小时
发表于 2015-11-28 10:49:39 | 显示全部楼层
cool 
回复 支持 反对

使用道具 举报

2

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
461
金钱
461
注册时间
2015-11-29
在线时间
45 小时
发表于 2015-11-29 11:02:10 | 显示全部楼层
不错。。。。。。。。。。。。。。
回复 支持 反对

使用道具 举报

2

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
229
金钱
229
注册时间
2012-9-2
在线时间
46 小时
发表于 2015-12-28 08:03:40 | 显示全部楼层
谢谢资料分享啊!!
回复 支持 反对

使用道具 举报

0

主题

9

帖子

0

精华

新手上路

积分
24
金钱
24
注册时间
2016-6-30
在线时间
2 小时
发表于 2016-6-30 16:21:04 | 显示全部楼层
回复 支持 反对

使用道具 举报

3

主题

34

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2016-11-13
在线时间
21 小时
发表于 2017-2-12 22:12:58 | 显示全部楼层
mark  
回复 支持 反对

使用道具 举报

21

主题

244

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2015-3-12
在线时间
163 小时
发表于 2017-2-13 11:04:50 | 显示全部楼层
STM32 + CPLD控制2个减速电机带正交编码,3个舵机,8个超声波。
楼主,CPLD的作用是什么??做编码器的输入??如果是测编码器的脉冲,STM32不够用吗?
FPGA_prj.rar这个文件就是CPLD的程序吗??
回复 支持 反对

使用道具 举报

11

主题

51

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2014-7-29
在线时间
41 小时
发表于 2017-2-27 14:41:42 | 显示全部楼层
厉害、、mark
读不在三更五鼓,功只怕一曝十寒。
回复 支持 反对

使用道具 举报

948806248 该用户已被删除
发表于 2017-2-27 16:38:39 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

21

主题

85

帖子

0

精华

高级会员

Rank: 4

积分
594
金钱
594
注册时间
2017-3-6
在线时间
61 小时
发表于 2017-3-7 18:53:20 | 显示全部楼层
谢谢楼主的资源
回复 支持 反对

使用道具 举报

14

主题

94

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
362
金钱
362
注册时间
2017-10-2
在线时间
80 小时
发表于 2017-10-14 18:54:56 | 显示全部楼层
very cool
回复 支持 反对

使用道具 举报

1

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2018-7-7
在线时间
7 小时
发表于 2018-7-30 15:10:24 | 显示全部楼层
谢谢楼主分享
回复 支持 反对

使用道具 举报

5

主题

292

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1475
金钱
1475
注册时间
2018-11-28
在线时间
196 小时
发表于 2023-10-11 14:19:13 | 显示全部楼层
学习一下,谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-6-10 18:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表