五人行

我们的设计说明书(很全,很强大哦~)还有图哦

0
阅读(1833)

 

 

 

第五届“飞思卡尔杯”智能小车

    技术总结报告

 

 

第五届“飞思卡尔杯”智能小车... 1

技术总结报告... 1

摘要... 2

第一章:智能小车总体概况... 3

1.1 概况... 3

2.总体结构图... 3

3. 智能小车图... 3

第二章智能小车硬件系统设计... 4

2.1 控制核心DSP电路... 4

2.2 直流电机驱动模块... 5

2.3 智能小车路径检测... 8

第三章智能小车软件设计... 11

3.1算法描述... 11

3.2主程序流程图... 12

3.3 程序清单... 14

四:总结与体会... 19

五:参考书目... 19

 

                      

 

 

 

摘要

    本智能小车采用飞思卡尔公司的56F8013VF DSP芯片作为控制核心,通过红外发射管和接收管识别路径,利用PWM技术控制直流电机的前进速度和方向,硬件电路基于提供的DSP开发板可靠完善,软件采用C语言编程简单明确,经反复调试安装,形成一完整作品,可满足大赛要求。

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

 

第一章:智能小车总体概况

1.1 概况

    智能小车采用56F8013VF DSP开发板和一块通用板为基础,经焊接相关控制芯片而成,通过I/O口检测信号,输出PWM信号控制直流电机的前进,停止,左转以及右转。检测信号为三组红外发射和接收管,黑线时输出高电平,白线时输出低电平。

2.总体结构图

 

3.作品智能小车如图

 

 

第二章智能小车硬件系统设计

2.1 控制核心DSP电路

如图

 

输出主要包括:

1.  6通道PWM模块

2.  串行通行接口(SPI)

3.  16位定时器

4.  6通道12位ADC

5.  26个GPIO

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

 

2.2 直流电机驱动模块

直流电机采用H桥控制方案如图

 

通过采用L293D芯片可以达到目的,整体控制方案如图

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

  L293D芯片内部结构如图

真值表如下

 

    当允许信号ENABLE 为高时输出才随输入变化,否则为高阻态,所以焊接时,ENABLE及VS均接VCC。

具体控制过程为:

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

2.3 智能小车路径检测

1. 路径检测原理

    路径检测采用红外光电传感器,包括白色的发射管和黑色的接收管。如图

 

    根据不同颜色对红外光的反射率不同,白色很高,黑色很低。所以当发射管发出红外光线经白色线时,觉大部分都被黑色管接收,处于导通状态,输出低电平,而红外光经黑色线时,接收不足,黑色管无法导通,输出高电平。输出的高低电平经GPIO口接入56F8013DSP中,通过一定的算法即可判断,从而输出控制信号,控制小车的路径。

2.红外传感器电路如图

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

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

c. 比较器输出则接入8013DSP的GPIO口,通过读GPIO口的状态即可判断是黑线或白线。

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

3. 检测算法规划

    根据比赛要求采用三组红外光电传感器即可,但为了减小抖动,我们组采用了六组红外传感器。如下图。

 

 

a. 小车前四组红外光电传感器用于辨识黑色线,使小车能沿着黑色线前进,且两组宽度要恰好,太窄则同时感应到黑线或白区域,算法不好控制小车能沿着黑色线行走,即易偏离轨迹。太宽则令小车容易成大S型行走,影响前进速度。

    当左组光电传感器检测到黑色线时,小车右转,当右组光电传感器检测到黑色线时,小车左转,否则小车前进,这样即可保证小车能沿着既定的轨迹前进而不偏路。

b.  后两组红外光电传感器位于小车左中间,电路板外侧。用于判断黑色线十字交叉口,控制小车的停止,左转或右转,亦可判断小车前进了几个方格。

 

第三章智能小车软件设计

    软件编程采用codewarrior软件在线编程,C语言模式,通过添加相关“豆子”简单方便。

3.1算法描述

    预赛主要通过定时器定时扫描,GPIO口读入黑白线判断,从PWM口输出驱动信号驱动电机。具体如下

  1. 定时器定时10ms,中断
  2. 中断程序读入,三个GPIO口数据,value1,value2,value3,其中value3为底盘左侧信号,为停止转弯信号,value1,value2使小车直走。
  3. 如果读入value3大于0,则为停止信号,PWM输出0信号小车停止,定时10秒。否则若value1大于0,则小车右转,输出PWM信号控制小车右转,否则若value2大于0,则小车左转,输出PWM信号控制小车左转。否则为直线前进,两边输出PWM信号,使小车全速前进。

d. 决赛阶段考虑到两车PK,小车前进速度优先,故编程时会让小车一直走直线,但我们会在小车前进前方设置干扰装置,破坏对方,除定时停止外,程序基本不变。

 

 

 

 

3.2主程序流程图

 

 

 

 

 

四:总结与体会

经过短暂的两周左右的时间,我们小组终于完成了小车的制作和程序的编写。整个过程中,我们分工明确,同心协力。虽然遇到了很多困难,但是,通过参考前人的经验,参考查阅资料,我们完成了小车设计制作。主体的器件分布规划和焊接期间出现了很多错误,但都被及时发现并纠正了。从中我们体会到前期规划的重要性,在焊之前考虑一下器件的焊接顺序和可能出现的问题,这样在焊的时候才会比较流畅,布线也比较清楚,查错也很容易。

编程是整个小车制作的重点,我们通过对小车电路、比赛规则、外部环境等情况的研究,编写出了相应的程序,经过几次调试最终完成了比赛用程序。通过编写程序,我们感到了DSP的功能的确很强大而且程序编写也不是很麻烦。

对于这次比赛,很感谢学校和Freescale公司给了我们参与这次比赛的机会,也很感谢实验室的学长的帮助,通过实际操作加深了我们对理论知识的理解和运用能力,并且对我们今后的学习研究以及工作打下了基础,相信我们的努力能使我们取得好的成绩。

 

五:参考书目

  1. Free scale DSP实验指导书
  2. DSP原理及开发技术  清华大学出版社东雷著