407团队

[BIT智能车大赛]“催眠师”队智能小车初步设计方案--小车初长成

0
阅读(6236)

“催眠师”队智能小车初步制作调试完成

 

 

          以下为我们组设计初步方案以及实施情况,初步成型小车还有许多要改进完善以便在大赛中具有竞争力,希望大家能为我们组提供宝贵的意见,在此表示感谢!

 

  小车设计初步方案内容包括:

  • 智能小车设计摘要
  • 小车总体结构设计
  • 主控芯片简介
  • 检测电路
  • 升压电路
  • 电机驱动电路
  • 软件实现(完善中)
  • 参考文献

 

智能小车设计摘要

        智能小车采用飞思卡尔公司的56F8013VF DSP芯片作为控制核心,通过红外发射管和接收管识别路径,利用PWM技术控制直流电机的前进速度和方向,辅助电路包括有升压电路、电机驱动电路、检测电路。其他框架结构保证了小车成为一个可靠整体,软件采用C语言编程,完成小车所要实现的任务,能经得起大赛的考验。

  关键词:飞思卡尔  DSP    智能小车   路径识别   PWM控制技术

一、小车整体结构设计

    小车总体结构分为三层,最底下的一层为检测模块和车轮固定部分,第二层安放电池,最顶上一层分为两个部分,第一部分为升压电路和电机驱动的公共模块,第二部分为主控DSP安放和检测信号显示部分,总体结构侧视图如下:

在整个车内我们安置了八组红外检测传感器,前面五组,后面三组在设计检测部分时我们运用了一个小小的技巧,前面五个的最中间一组与后面三个检测组中间一组位于一个一条直线上,当两组灯同时都检测到黑线时,表示小车位于处于在直线上,可以作为直线运行的一个判断标准;后面三组检测灯与轮子的轴在一条直线上,大大简化了小车转弯的判断与控制。小车总体结构俯图如图所示:

二、主控芯片

小车采用飞思卡尔公司的56F8013VF DSP芯片作为控制核心,其引脚图如下:

输出主要包括:

1.  6通道PWM模块

2.  串行通行接口(SPI)

3.  16位定时器

4.  6通道12位ADC

5.  26个GPIO

智能小车主要利用PWM模块,定时器,GPIO口。

二、检测电路

检测电路我们采用的是红外光电传感器,一组红外光电传感器包括有一个发射管和一个接收管,由于接收管根据不同颜色对红外光的反射率不同,白色很高,黑色很低。当发射管照射到白色区域时,大部分红外光都会返回然后接收管接收到光,使得接收管处于导通状态,输出为低电平;反之,当红外发射管发出的光遇到黑线时,光线几乎都被黑色吸收,那么接收管就不会接受到足够反射回来的光线,接收管将无法导通,输出的高低电平经GPIO口接入8013DSP中,通过一定的算法即可判断,在通过程序的控制,使得小车作出相应的动作,找到路线。

检测电路图如下:

a. 红外发射管为二级管,接收为三极管,当接收三级管导通时集电极输出低电平,断开时集电极输出高电平。

b. 如图所示,接收管集电极输出接入比较器339正极,比较器负极则为滑动变阻器的输出,当正极高于负极时,比较器输出5V高电平,否则为0V低电平

c. 比较器输出则接入8013DSP的GPIO口,通过读GPIO口的状态即可判断是否处于黑线区域内。

d.光电传感器都接限流电阻,比较器输出接上拉电阻。

【检测电路小提示】:检测电路要实现的是对于“白” “黑”两种不同的情况来判断小车所处的坐标,如果这两种信号输出区别越明显越好。如果发现检测的灵敏情况总是不如人意,想电压的区分度加大,那么可以考虑把接收管与地之间的电阻加大,即可实现电压输出区分度的加大。

三、升压电路

由于电源只有5V多,那么要使得电机快速运转,必须要一个较高的电压提供给电机,所以需要升压模块。我们采用的升压的芯片为LM2577-12,具体电路实现如下:

在实际运用中有些误差,我们所能达到的电压为11.3V-11.7V,LM2577-12的输出接入到电机驱动电路中,在通过PWM调节电压输入到电机,到PWM的占空比为100%时电机运转得最快。但由于检测电路的灵敏程度的限制,也许电机的运转不能在占空比为100%中,否则会出现判断错误。

【升压电路小提示】:

①由于市场上1N5821稳压二极管没有其他相似型号那么容易找到,所稳压二极管的型号不一定局限于1N5821,相似的1N5819、1N5820、1N5822都能达到目的;

②0.1uF和680uF的电容为滤波电容,也不局限于其值的大小,但是数量级的大小要一致;③电路焊接好检查后接入5V电源,要立刻测12V的电压输出,如果没有输出立刻要断开电源,首先检查芯片有没有发热、电感的接入有没有错误,不然很可能由于电流过大,芯片发热厉害烧坏、电感发热外皮烧焦的情况;

④如果升压电路运用在整个小车系统中时,发现电路输出的电压突然明显偏低的电压,电路出现问题的原因很可能就在电感上,当时我们小组也出现过类似的问题,但是我们的输出电压为8V多,问题就是出现在电感上。

四、电机驱动电路

直流电机采用H桥控制方案,我们直接通过LM293D即可实现,LM293的引脚连接方案如下:

其中1和9引脚为信号使能端,当允许信号ENABLE 为高时 输出才随输入变化,否则为高阻态,所以我们在具体的连接中直接给1和9引脚高电平(直接电池电源接入),电机的控制可以表示为如下示意图:

电机有两个分别作为左右轮的驱动,而通过两路PWM输出即可控制一个电机,故 共需4路PWM输出。

LM293D的真值表如右图:

电机的控制过程描述如下:

  1. 通过编程由控制芯片8013经PWM发出驱动信号,PWM输出作为L293D的输入,经L293转换输出控制信号使电机转动,进而带动车轮转动,使小车前进后退。
  2. PWM输出信号的高低则可以控制直流电机转动的快慢,当占空比大时,转速高,占空比小时,转速低,所以当PWM输出占空比为0时可控制电机停止。
  3. 当左轮停止,右轮转时,小车右转。 当右轮停止,左轮转动时,小车左转。而两路PWM输出的正负顺序转换则可控制电机的正反转,进而控制小车的前进和后退。

【电机驱动电路小提示】:电机驱动电路的总结也是我们组的失误中总结出来的,开始时考虑到控制的方便,考虑了用如下电路连接进行电机的控制:

即通过GPIO口来控制电机的正反转,而通过两路PWM来分别控制电机的转动的快慢,但是具体实施时发现,使能端得反应速度跟GPIO速度匹配方面出现了问题,不能很好地控制电机运转,总是不如人意,所以我们最后改了现在的控制方法,通过四路PWM控制电机,使能端始终为高。

五、软件实现:

软件编写方面我们组还在完善当中主要的思想把每一个动作(比如说左转弯、前速前进)编写为一个子程序,然后再在主程序中调用这些子程序。由于行走路径和策略的在比赛前不宜贴出,具体实现策略与过程比赛以后跟进贴入

参考文献:

1、56F8013VF data sheet

2、LM2577-12  data sheet

3、LM293D  data sheet

4、LM339 data sheet

参考文献:

1、56F8013VF data sheet2、LM2577-12  data sheet3、LM293D  data sheet4、LM339 data sheet

 

 

”催眠师“队其他博文:

【BIT智能车大赛】剖析处理器-DSP—车之心脏

http://blog.chinaaet.com/detail/6645.html

【BIT智能车大赛】小车秀2-接受检验

http://blog.chinaaet.com/detail/6633.html

【BIT智能车大赛】创新点-高度可调的万向轮

http://blog.chinaaet.com/detail/6536.html

【BIT智能车大赛】小车秀1-初露峥嵘

http://blog.chinaaet.com/detail/6411.html