OpenEdv-开源电子网

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

分享一个基于STM32的Robot3Pi,3Pi robot巡线小车,迷宫小车

[复制链接]

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
发表于 2015-1-11 17:24:39 | 显示全部楼层 |阅读模式

小注:该STM32 3pi智能车是anran设计的第二个版本,第一个版本电源DC-DC芯片比较旧,该版本采用TI的新片LM2623,实际测试说明智能车电源部分稳定高效。程序调通后被我都落灰了,在X-TAB也写了一些帖子,不知道开源电子网有没有类似的小pi智能车。。。详细的资料的可以参考:http://www.x-tab.cn/forum.php?mod=viewthread&tid=1825,也欢迎到X-TAB坐坐哦。。。

今天分享的就是这家伙了。。。

3pi智能车小巧,走迷宫有一套。这是既第一版开发调试后推出的第二个版本,结构更加精炼,布局也考究了几分下面送上图片吧:


文后的附件给出STM32版的3pi智能车硬件电路设计说明、电路原理图、器件清单、3pi走迷宫程序等,硬件说明文档主要讲解了一下小车电路原理图如何搭建,器件参数如何选择,DC-DC开关电源的PCB布局等等。写的有点浅显,高手勿拍砖。给大家分享一点资料,方便论坛里需要制作类3pi智能车的朋友!期待大家一起进步!由于时间仓促,不足之处,高手勿喷!
另外有几个地方需要说明一下(设计中存在的一点不足):
       1、串口PL2303与DRV8833有数据端口公用的情况,这是电路设计的一个小小的缺陷,通过串口重映射也可以解决这个问题!大家设计自己的电路时,耐心               仔细点,很多不足是可以避免的。
       2 、串口USB电源和LM7805输出的5V稳压电源没有进行电压隔离,这是有隐患的,当初设计电路时人为疏忽,虽不影响使用,但存在隐患,解决办法是加上                 一个二极管进行USB电压和5V稳压源隔离。可以如下图所示(图中二极管D5可以用IN5819)的这样设计电路:

      3、USB mini口朝向可以以小车PCB圆点中心指向外,这样数据线插拔时不会困难,如下图指示的那样:


STM32版3pi智能车PCB原理图.pdf

1.34 MB, 下载次数: 1651

3pi智能车(基于STM32)硬件电路设计说明.pdf

2.7 MB, 下载次数: 1204

stm32_3pi_小车迷宫程序(新).rar

4.95 MB, 下载次数: 1671

X-TAB智能车元器件清单表.xls

17 KB, 下载次数: 1045

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

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2015-1-11 17:31:02 | 显示全部楼层

                         补充器件:(1)2xAA 5号二节电池盒 3VDC 带针(2)N20 6V 1:50传动比 直流电机(3)电机固定托架、螺钉

智能车原理图:

PCB图纸:

回复 支持 反对

使用道具 举报

1

主题

108

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
352
金钱
352
注册时间
2012-11-8
在线时间
44 小时
发表于 2015-1-11 17:33:31 | 显示全部楼层
谢谢分享!留名学习~
回复 支持 反对

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5779
金钱
5779
注册时间
2013-11-22
在线时间
1211 小时
发表于 2015-1-11 20:28:08 | 显示全部楼层
这个好   mark
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2015-1-11 22:04:15 | 显示全部楼层
不错,cool
回复 支持 反对

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2015-1-13 08:38:59 | 显示全部楼层
回复 支持 反对

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13117
金钱
13117
注册时间
2012-11-26
在线时间
3813 小时
发表于 2015-1-13 09:02:48 | 显示全部楼层
感谢楼主分享
学无止境
回复 支持 反对

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
91
金钱
91
注册时间
2015-1-21
在线时间
12 小时
发表于 2015-4-24 19:28:15 | 显示全部楼层
楼主你好,我也照着你的方案焊了个传感器部分的电路,但用AD测出来的值不是太好,ST188稍微高一点或低一点或偏一点,采集出来的值就有很大的变化,所以加权求得的偏差也不好,请教下这个你是怎么处理的?
回复 支持 反对

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2015-4-25 18:27:34 | 显示全部楼层
AD初始化函数省略,用的STM32  ADC的DMA通道独立工作模式、连续扫描,具体你可以参考本帖的程序代码,ADCs.c、BlSensorCal.c源代码, 
另外ST188的电压-距离关系曲线你可以参考ST188手册,看看ADC采集的值与距离是否合理,你可以用白纸黑线测试,这个很小的距离也就在1cm左右就会有巨大落差,这是正常的。
回复 支持 反对

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2015-4-25 18:28:02 | 显示全部楼层
回复【8楼】945595199:
---------------------------------
采集出来的出来的AD值求平均,然后对所的AD数据进行范围约束。 

#define N 32 //每通道32次 
#define M 7 //7组通道 
vu16 ADCConvertedValue[N][M]; 
vu16 ADC_filterVal[M];//ADC滤波后采样值存放数组 

//ADC值进行滤波处理 
void ADC_value_filter(void) 

   unsigned long int sum=0,i=0; 
   u8 count; 
   for(i=0;i<M;i++) 
   { 
for(count=0;count<N;count++) 

sum+=ADCConvertedValue[count]

      ADC_filterVal=4095-sum/N; 
    sum=0; 
   } 


//获得5路滤波后的值 
void Get5SensorsVal(uint16_t *p) 

int i; 
//ADC???ù?????¨???í 
ADC_value_filter(); 
for(i=0;i<5;i++) 

 *p++=ADC_filterVal



//进行滤波后的AD值范围约束到[0,3000] 
void readCalibrated(uint16_t *sensor_values) 

  uint16_t denominator; 
int i; 
int16_t x = 0; 
Get5SensorsVal(sensor_values); 
denominator=SensorValMax - SensorValMin; 
for(i=0;i<5;i++) 

if(denominator != 0) 
x = (((uint32_t)sensor_values) - SensorValMin)* 3000 / denominator; 
if(x >< 0) 
x = 0; 
else if(x > 3000) 
x = 3000; 
sensor_values = x; 
//printf("sensor_values[%d]=%d\r\n",i,sensor_values); 


//AD初始化函数省略,用的STM32  ADC的DMA通道独立工作模式、连续扫描,具体你可以参考本帖的程序代码,ADCs.c、BlSensorCal.c源代码, 
另外ST188的电压-距离关系曲线你可以参考ST188手册,看看ADC采集的值与距离是否合理,你可以用白纸黑线测试,这个很小的距离也就在1cm左右就会有巨大落差,这是正常的。
回复 支持 反对

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2015-5-5 18:18:07 | 显示全部楼层
基于STM32 3PI Polulo智能车PCB工程

STM32 3PI智能车PCB.PcbDoc

14.77 MB, 下载次数: 1134

回复 支持 反对

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2015-7-18 18:04:25 | 显示全部楼层
回复 支持 反对

使用道具 举报

4

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2015-5-1
在线时间
2 小时
发表于 2015-8-14 19:16:07 | 显示全部楼层
回复【12楼】tuyafei:
---------------------------------
楼主还在吗?我也玩循迹小车,5路循迹,但是一直不明白为什么3PI小车走直线可以那么直,转弯也可以那么的流畅,表示自己在测试时都一直偏离了中心然后不断往左或者往右校正,而3PI小车基本都在中心上,十分非常想了解是怎么做到的。可以交流一下吗?
回复 支持 反对

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2015-8-17 20:08:34 | 显示全部楼层
回复【13楼】76个汉字:
---------------------------------
可以交流
回复 支持 反对

使用道具 举报

16

主题

60

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2015-8-9
在线时间
19 小时
发表于 2015-8-17 20:25:27 | 显示全部楼层
谢谢你的分享
犯错不可怕,可怕的是不敢面对它
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2015-11-2
在线时间
1 小时
发表于 2015-11-27 09:03:19 | 显示全部楼层
楼主,用三个红外对管能有你这种效果吗
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2015-11-2
在线时间
1 小时
发表于 2015-11-27 09:04:02 | 显示全部楼层
小车转弯这么流畅,具体是怎么控制的?有PID?
回复 支持 反对

使用道具 举报

13

主题

296

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2066
金钱
2066
注册时间
2012-5-26
在线时间
291 小时
发表于 2015-11-27 09:22:22 | 显示全部楼层
看起来不错,谢谢分享!
活着才是王道!健康是一切的前提!
回复 支持 反对

使用道具 举报

4

主题

146

帖子

1

精华

中级会员

Rank: 3Rank: 3

积分
360
金钱
360
注册时间
2013-5-20
在线时间
9 小时
 楼主| 发表于 2016-3-24 14:14:46 | 显示全部楼层
me浩 发表于 2015-11-27 09:04
小车转弯这么流畅,具体是怎么控制的?有PID?

是的,寻直线的时候,使用了PID调节。程序代码已经给出了具体的代码实现,关键就是P\I\D三个参数的确定,如果参数合理,可以调的很直
回复 支持 反对

使用道具 举报

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2016-9-1
在线时间
39 小时
发表于 2016-10-2 00:00:48 | 显示全部楼层
你好,请问板子上的万向球是什么型号?
回复 支持 反对

使用道具 举报

1

主题

14

帖子

0

精华

高级会员

Rank: 4

积分
984
金钱
984
注册时间
2017-11-3
在线时间
63 小时
发表于 2017-11-12 10:58:28 | 显示全部楼层
谢谢分享, 回去抄一个, 哈哈
回复 支持 反对

使用道具 举报

6

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
517
金钱
517
注册时间
2015-3-9
在线时间
107 小时
发表于 2018-2-23 23:10:16 来自手机 | 显示全部楼层
楼主,迷宫部分搞好了吗
回复 支持 反对

使用道具 举报

6

主题

42

帖子

0

精华

高级会员

Rank: 4

积分
517
金钱
517
注册时间
2015-3-9
在线时间
107 小时
发表于 2018-2-23 23:10:46 来自手机 | 显示全部楼层
楼主,迷宫部分搞好了吗
回复 支持 反对

使用道具 举报

8

主题

569

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2363
金钱
2363
注册时间
2015-5-8
在线时间
320 小时
发表于 2018-2-24 08:49:20 | 显示全部楼层
不错不错
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 10:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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