搜索
bottom↓
回复: 45

我前几天做的一个雷达智能避障小车 写成帖子和大家分享一下

[复制链接]

出0入0汤圆

发表于 2010-11-9 14:36:11 | 显示全部楼层 |阅读模式
名称:雷达智能避障小车  
---设计者:高杰 07通信工程
设计思路:采用STC的单片机产品STC89c52rc作为核心控制部分 用单片机控制高低电平的输出 从而达到控制整个小车的目的
系统框图:
(原文件名:系统框图.jpg)

现象:在小车行驶过程中若前方有浅色障碍物(介于红外线的特性 黑色的吸收红外线 浅色的反射红外线)并且距离达到10公分时 小车会自动转向(在此制作中 我设置的小车始终是右转 若有意者可改变程序使小车可以双向转向 因为我给两个电机分别用了H桥驱动 详情看下面的图)直到避开障碍物 再继续直线行驶
应用前景:汽车上的雷达避障 防止追尾事件的发生
       宇宙探测车的最小系统
       井下探测车的最小系统 保障井下工人的安全
耗时:从有想法到完成焊接 再到设计小车外观 总共耗时19天
设计中遇到的困难:对于电机的控制是我在此设计中遇到的最大的问题 因为电机是流控电机 应该串联一电阻 两个电机的总功率的处理上市我遇到的第二个问题 电脑USB口的输出电的功率完全不够运行两个电机(经过我的测试 电脑USB口的输出电压为4.8--4.9)用手机充电器作为外接电源测试电路时 要选择规格为5V==400mA(经过我的测量 输出电压为5.12--5.22)最好使用干电池 4节1.5V干电池输出电压约为6.13--6.25 给单片机供电时需经过一块7805变压
注意问题:元器件的焊接与PCB的设计一定要合理
优点:从成本上大大的缩小了投入 功能上更加的稳定可靠
电路原理图分析:

1、LED发光二极管 用于显示小车的当前状态 采用拉电流方式 节省资源 缺点是增加了单片机的输出功率

(原文件名:事实上.jpg)


2、H桥电机驱动电路 采用单相导通的原则 从而达到电机的正传反转 而使小车达到转向的目的(关于H桥的讲解参考注释)

(原文件名:特.jpg)


3、此图在截屏的时候截的有点大了 不过行家还是可以看清楚的 此图包含了单片机的外围最小系统电路 还有红外线发射接收电路 也是本设计的核心控制部分 注意其中的USB供电是为了电路调试所用 并不作为小车行驶的供电

(原文件名:二我.jpg)


4、此电路属于附带电路 用于代码的下载 宏晶的单片机支持串口通信和ISP通信 可以根据自己手里的元件自行选择 此电路只是串口通信的电平转换

(原文件名:热土54.jpg)


5、用干电池供电时 最好经过7805电平转换一下 以保证单片机芯片的安全


(原文件名:水电费为.jpg)

产品展示


(原文件名:侧视图.jpg)


(原文件名:正视图.jpg)


代码部分:
#include "reg52.h"//头文件
sbit led=P1^0;
sbit hwx=P3^3;
sbit bhwx=P3^7;
sbit zj=P1^4;
sbit zji=P2^4;
sbit fj=P1^7;
sbit fji=P2^7;
sbit aq=P1^5;//声明SFR位
void main()//主函数
{
    aq=0;
   zji=0;
    fji=1;//付初值
   while(1)//主循环
    {  
       TH0=(65535-52)/256;
                    TL0=(65536-52)%256;//时钟信号
       bhwx=!bhwx;//红外线发射
       if(hwx==0) //红外线接收(是否碰到障碍物)
        {
           led=0;
           zj=1;
                       fj=0;     
         }
          else {
               led=1;
               zj=0;
                                            fj=1;
            }
    }
}
注释:
H桥驱动电路是小汽车的“双足”控制电路,对小汽车的行驶有着直接的影响。如图2.5.1所示,整个车体的驱动用两个H桥驱动电路,分别驱动两个直流电机,其控制口分别接单片机的I/O口,在此接在了P1口。在控制其行驶时,在P1.4为低电平的前提下,只要给P1.0、P1.1、P1.2和P1.3输出不同的高低电平就能控制小汽车的行驶,但是一定要注意的是,其中P1.0和P1.1的电平一定不能全为高电平,P1.2和P1.3的电平也一定不能全为高电平。现以P1.0和P1.1 如果全为高为例介绍其原理。
H桥电路的正常控制原理是,当P1.0为高电平、P1.1为低电平时Q6、Q3、Q2导通,Q1、Q5、Q4截止,所以电流的流向是从VCC---Q2----Q3----GND,电机正转。如果当P1.0为低电平、P1.1为高电平时Q1、Q5、Q4导通,Q6、Q3、Q2截止,所以电流的流向是从VCC----Q1----Q4----GND,电机反转。如果P1.0和P1.1全为高电平,则Q1、Q5、Q4、 Q6、Q3、Q2全部导通VCC和GND必将短路,将会损坏整个系统。
因为整个系统没有设置看门狗系统,所以在系统死机后需要人工复位,考虑到复位时各I/O口输出全为高电平,为了防止整个系统死机后复位时输出全高电平损坏整个系统,所以在电源和整个电路之间加一PNP型三极管Q13,其基极接P1.4,当单片机复位时P1.4输出高电平,Q13截止,整个电路不供电,保证了电路的安全性能。H桥控制原理图如图

(原文件名:H桥驱动.jpg)

出0入0汤圆

发表于 2010-12-6 16:44:46 | 显示全部楼层
支持下,大三能积累这些经验很不错了.功能简单了点,红外避障也不怎么实用吧.

出0入0汤圆

发表于 2010-12-7 21:45:45 | 显示全部楼层
P3.7口输出的是38KHZ载波吗

出0入0汤圆

发表于 2010-12-8 10:55:33 | 显示全部楼层
现象:在小车行驶过程中若前方有浅色障碍物(介于红外线的特性 黑色的吸收红外线 浅色的反射红外线)并且距离达到10公分时 小车会自动转向。

-------------------------------------------------------------------------------------------------------

这种设计,会否增加安全隐患呢?尤其是高速行驶的时候?

出0入0汤圆

发表于 2010-12-9 16:34:55 | 显示全部楼层
回复【楼主位】852196433  
-----------------------------------------------------------------------

楼主应该是大四的吧

出0入0汤圆

发表于 2011-1-31 13:50:55 | 显示全部楼层
雷达在那?汗!!!

出0入0汤圆

发表于 2011-3-14 21:03:59 | 显示全部楼层
做得不错。

出0入84汤圆

发表于 2011-3-14 22:25:42 | 显示全部楼层
红外不是雷达

出0入0汤圆

发表于 2011-3-31 20:14:20 | 显示全部楼层
好一个雷达

出0入0汤圆

发表于 2011-3-31 20:37:23 | 显示全部楼层
学习了…很不错…加油!!

出0入0汤圆

发表于 2011-5-7 12:38:37 | 显示全部楼层
mark一下~

出0入4汤圆

发表于 2011-5-7 13:11:34 | 显示全部楼层
给雷达吸引过来。。结果没发现“雷达”

出0入0汤圆

发表于 2011-5-7 13:32:27 | 显示全部楼层
同楼上。

出0入0汤圆

发表于 2011-5-24 14:32:59 | 显示全部楼层
雷达???????

出0入0汤圆

发表于 2011-6-9 10:07:40 | 显示全部楼层
你的雷达在那去了???咋没看见

出0入0汤圆

发表于 2011-6-9 10:41:46 | 显示全部楼层
给LZ泼点冷水。
壁障再怎么说也得用两个红外吧,   

还有遥控器的那个一体化红外接收器,并不适合做壁障用。 第一是灵敏度太高,第二是要把IO调制成38KHZ ,然后再用另一个低频信号去调制它。如果一直输出38KHZ的信号,接收器不工作。


就这么多。

出0入0汤圆

发表于 2011-6-9 17:23:00 | 显示全部楼层
怎么和朋友做的一个  一模一样啊

出0入0汤圆

发表于 2011-7-13 21:28:56 | 显示全部楼层
呵呵,功能很简单,但重在做了,加油!

出0入0汤圆

发表于 2011-9-10 20:58:34 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-10 21:28:51 | 显示全部楼层
这个才有动手的感觉,我现在使用arduino和现成的配件做一个,后续也自己买零件做一个。

出0入0汤圆

发表于 2011-9-11 00:01:11 | 显示全部楼层
我也是给雷达吸引过来 结果木有

出0入0汤圆

发表于 2011-9-11 20:51:23 | 显示全部楼层
我是着“雷达”这两个字来的……

出0入0汤圆

发表于 2011-9-16 09:38:06 | 显示全部楼层
雷达在哪里?汗~

出0入0汤圆

发表于 2012-3-5 13:28:50 | 显示全部楼层
新鲜 用雷达

出0入0汤圆

发表于 2012-3-28 17:44:07 | 显示全部楼层
雷达   

出0入0汤圆

发表于 2012-3-31 22:18:36 | 显示全部楼层
支持下

出0入0汤圆

发表于 2012-4-1 22:51:57 | 显示全部楼层
mark非常不许哦

出0入0汤圆

发表于 2012-4-1 23:09:35 | 显示全部楼层
学习!!!!

出0入0汤圆

发表于 2012-4-6 13:38:49 | 显示全部楼层
这车子是不是见到白人就躲开,见到黑人就撞上去?

我觉得蔽障还是用超声传感器好一些。说实话看题目我以为是旋转扫描并且智能判定地形的算法呢~~

出0入0汤圆

发表于 2012-4-15 00:36:16 | 显示全部楼层
雷达在哪儿? 难道是那个红外吗?

出0入0汤圆

发表于 2012-4-15 00:40:21 | 显示全部楼层
yaloon 发表于 2012-4-6 13:38
这车子是不是见到白人就躲开,见到黑人就撞上去?

我觉得蔽障还是用超声传感器好一些。说实话看题 ...

你好请问你说的算法是什么?扫描地形?超声波有这么强悍么.....是不是理解成利用超声波头判断小车的行驶方向吧! 最近正在做超声波自主避障外加无线遥控.......求解

出0入0汤圆

发表于 2012-4-16 14:17:01 | 显示全部楼层
371278638 发表于 2012-4-15 00:40
你好请问你说的算法是什么?扫描地形?超声波有这么强悍么.....是不是理解成利用超声波头判断小车的行驶 ...

我的理解是超声波传感器旋转扫描一周,收集一个周围障碍的数据,形成一个小范围地图,然后软件实时分析出小车的最优路径。如果考虑地图实时更新的话,这个算法似乎不简单……

出0入0汤圆

发表于 2012-4-18 14:51:34 | 显示全部楼层
本帖最后由 yaloon 于 2012-4-18 14:58 编辑
371278638 发表于 2012-4-15 00:40
你好请问你说的算法是什么?扫描地形?超声波有这么强悍么.....是不是理解成利用超声波头判断小车的行驶 ...


刚好找到了我的超声传感器。用手在桌子上转了一圈采集的数据。

比如上面这个情况障碍就比较多,通过算法分析先选择左前方没有障碍的方向前进,然后前进途中还会有新的数据回传,持续分析,就像即时战略游戏里的黑雾设计一样,一边走一边分析行走路径。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-4-19 18:07:53 | 显示全部楼层
yaloon 发表于 2012-4-18 14:51
刚好找到了我的超声传感器。用手在桌子上转了一圈采集的数据。

比如上面这个情况障碍就比较多,通过算法 ...

恩这个我目前做了一个出来,但是只是初步的写了一个分析两路的扫描这个很简单。但是如果想你这样的仔细扫描首先我考虑到超声波的反应时间,以及小车进行数据处理所需要的时间。从而导致小车的行进速度会不会很慢....我想到的算法什么可以用排序的方法扫描一遍进行排序找出最大的等等......很多问题找不到解决的方法! 能否加个联系方式详谈!

出0入0汤圆

发表于 2012-4-20 08:58:41 | 显示全部楼层
明明是红外线,自己吹成雷达了,

出0入0汤圆

发表于 2012-4-20 09:13:45 | 显示全部楼层
371278638 发表于 2012-4-19 18:07
恩这个我目前做了一个出来,但是只是初步的写了一个分析两路的扫描这个很简单。但是如果想你这样的仔细扫 ...

相对于小车的行进速度,处理数据应该不会慢吧,猜测,呵呵

出0入0汤圆

发表于 2012-4-20 19:53:17 | 显示全部楼层
centrineer 发表于 2012-4-20 09:13
相对于小车的行进速度,处理数据应该不会慢吧,猜测,呵呵

恩数据处理不会很慢!主要是用在扫描上.....需要的时间很长我是用的是串口通信的方式进行可能是因为我步进电机承载的超声波头的扭矩太小了得原因。到时扫描的时间过长但是要主观分析一周扫描下来所需的时间应该不短。所以看看有没有什么好的方法推荐一下学习一下!

出0入0汤圆

发表于 2012-4-20 19:55:14 | 显示全部楼层
红外和雷达差了不少吧.

出0入0汤圆

发表于 2012-4-21 18:44:21 | 显示全部楼层
371278638 发表于 2012-4-20 19:53
恩数据处理不会很慢!主要是用在扫描上.....需要的时间很长我是用的是串口通信的方式进行可能是因为我步 ...

小车算是比较大的东西了,扫描的话一周检测12个点就能比较正确的控制小车了吧,或者更多点18点,步进电机每20度检测一下,应该不慢了,只是在检测点上需要做一下停顿,其他时候可以快速转动,而停顿应该是看不出来的,这样0点几秒就能扫一周了吧,猜测,呵呵

出0入0汤圆

发表于 2012-4-21 19:12:06 | 显示全部楼层
centrineer 发表于 2012-4-21 18:44
小车算是比较大的东西了,扫描的话一周检测12个点就能比较正确的控制小车了吧,或者更多点18点,步进电机 ...

但是还要考虑其他的一般的步进电机的扭矩那不是一般的小。但是总体上你的说法还是可行的。只是我在考虑小车在全速行驶的时候希望能不加思索的进行处理但是貌似用超声波要实现这个很难。而且我的小车应该是硬件的上的问题自己搞的工具不够搞不到差速齿轮每次看到那两个头很勉强的转动的时候。那叫一个纠结! 再接再厉吧有机会利用摄像头处理技术那样应该就不存在这个问题了

出0入0汤圆

发表于 2012-4-21 22:49:48 | 显示全部楼层
呵呵,被标题党给骗进来了。不过yaloon的超声波测距倒很不错!

出0入0汤圆

发表于 2012-4-23 09:35:20 | 显示全部楼层
371278638 发表于 2012-4-21 19:12
但是还要考虑其他的一般的步进电机的扭矩那不是一般的小。但是总体上你的说法还是可行的。只是我在考虑小 ...

说实话,玩小车什么的很费马尼的,有时候凑合着拼好的硬件工作起来确实纠结人,摄像头的话你可以用一个usb的摄像头,加一块arm的板子,在linux环境下运行opencv,效果还是不错的,直接使用以前的带摄像头的pda也不错,什么都有了,屁股后面的尾插有串口,跑个opencv的程序还是够用的,摄像头也不用自己移植驱动了

出0入0汤圆

发表于 2012-5-20 12:40:16 | 显示全部楼层
没见到雷达哈,不过,做的还是不错的

出0入0汤圆

发表于 2012-5-21 10:28:00 | 显示全部楼层
不错啊,学习中

出0入0汤圆

发表于 2012-7-14 13:40:00 | 显示全部楼层
楼主厉害
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-30 04:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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