智能小车总结

上传人:大米 文档编号:498738543 上传时间:2024-01-25 格式:DOCX 页数:19 大小:415KB
返回 下载 相关 举报
智能小车总结_第1页
第1页 / 共19页
智能小车总结_第2页
第2页 / 共19页
智能小车总结_第3页
第3页 / 共19页
智能小车总结_第4页
第4页 / 共19页
智能小车总结_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《智能小车总结》由会员分享,可在线阅读,更多相关《智能小车总结(19页珍藏版)》请在金锄头文库上搜索。

1、第二届“飞思卡尔杯”智能小车技术总结报告队名:BIT电气二队队员:叶林瓒李文楠学院:信息科学技术学院专业:电气工程与自动化 宣言:做到最好2008-9-3第二届“飞思卡尔杯”智能小车技术总结报告1摘要3第一章:智能小车总体概况31.1概况32. 总体结构如图33. 作品智能小车如图.4第二章 智能小车硬件系统设计52.1控制核心DSP电路52.2直流电机驱动模块.62.3智能小车路径检测8第三章智能小车软件设计113.1算法描述113.2主程序流程图123.3程序清单14四:总结与体会19五:参考书目19摘要本智能小车采用飞思卡尔公司的56F8013VF DSP芯片作为控 制核心,通过红外发射

2、管和接收管识别路径,利用PWM技术 控制直流电机的前进速度和方向,硬件电路基于提供的DSP 开发板可靠完善,软件采用C语言编程简单明确,经反复调试安装,形成一完整作品,可满足大赛要求。关键词:DSP智能小车路径识别PWM控制技术第一章:智能小车总体概况1.1概况智能小车采用56F8013VF DSP开发板和一块通用板为基础, 经焊接相关控制芯片而成,通过I/O 口检测信号,输出PWM 信号控制直流电机前进停止左转右转。检测信号则为三 组红外发射和接收管,黑线时输出高电平,白线时输出低电 平。2.总体结构如图3.作品智能小车如图第二章智能小车硬件系统设计2.1控制核心DSP电路如图511mu I

3、F I 关TDIPDi JQ+CH) 网 IrrzPO*1.2 3fA Mil5SLIKSDAM AiT-WilFAJiFWMZAJJ A2 irMREFHK2PAJJMSfAJM4TALU.TI.7JAUBa-R-lFA5 FW MS FaI U1TI WA3JIBL1PC5PAarALinaElMH -FHil-m V ivnna?JI I.SS.SU4SSA_/iDCH32MiiO.T2H33.MQSJ.T3fH+Td.tlXOj-jj 句i| jai y j 1VIXB DPH&RXDSBArTJCJJFHMXDSTLTDAMMWAHTDCrPDItcjgTMSPD3KESJTTJAT

4、.VPPV5S .DITCKPD 1.4输出主要包括:1. 6通道PWM模块2. 串行通行接口(SPI)3. 16位定时器4. 6通道12位ADC5. 26 个 GPIO智能小车主要利用PWM模块,定时器,GPIO 口。2.2直流电机驱动模块直流电机采用H桥控制方案如图通过采用L293D芯片可以达到目的,整体控制方案如图电机有两个分别作为左右轮的驱动,而通过两路PWM输出 即可控制一个电机,故共需4路PWM输出。L293D芯片内部结构如图真值表如下INPUTENABLE *)OUTPUTHHHLHLHLZLLZZ = High output impedance(*) Relative to t

5、he considered channel当允许信号ENABLE为高时输出才随输入变化,否则为高 阻态,所以焊接时,ENABLE及VS均接VCC。具体控制过程为:1.通过编程由控制芯片8013经PWM发出驱动信号,PWM输出作为L293D的输入,经L293转换输出控制信号使电机转动,进而带动车轮转动,使小车前进后退。2. PWM输出信号的高低则可以控制直流电机转动的快慢, 当占空比大时,转速高,占空比小时,转速低,所以当 PWM输出占空比为0时可控制电机停止。3.当左轮停止,右轮转时,小车右转。当右轮停止,左轮 转动时,小车左转。而两路PWM输出的正负顺序转换 则可控制电机的正反转,进而控制小

6、车的前进和后退。2.3智能小车路径检测1.路径检测原理路径检测采用红外光电传感器,包括白色的发射管和黑色的 接收管。如图根据不同颜色对红外光的反射率不同,白色很高,黑色很低。 所以当发射管发出红外光线经白色线时,觉大部分都被黑色 管接收,处于导通状态,输出低电平,而红外光经黑色线时,接收不足,黑色管无法导通,输出高电平。输出的高低电平 经GPIO 口接入8013DSP中,通过一定的算法即可判断,从 而输出控制信号,控制小车的路径。2.红外传感器电路如图a.红外发射管为二级管,接收为三极管,当接收三级管导通时集电极输出低电平,断升时集电极输出高电平。b. 如图所示,接收管集电极输出接入比较器33

7、9正极,比较 器负极则为滑动变阻器的输出,当正极高于负极时,比较器 输出5V高电平,否则为0V低电平c. 比较器输出则接入8013DSP的GPIO 口,通过读GPIO 口 的状态即可判断是黑线或白线d. 光电传感器都接限流电阻,比较器输出接上拉电阻。3.检测算法规划根据比赛要求采用三组红外光电传感器即可,排列如图a. 小车前两组用于辨识黑色线,使小车能沿着黑色线前进, 且两组宽度要恰好,太窄则同时感应到黑线或白区域,算法 不好控制小车能沿着黑色线行走,即易偏离轨迹。太宽则令 小车容易成大S型行走,影响前进速度。当左组光电传感器检测到黑色线时,小车右转,当右组 光电传感器检测到黑色线时,小车左转

8、,否则小车前进,这 样即可保证小车能沿着既定的轨迹前进而不篇路。b. 第三组位于小车左中间电路板外侧,用于判断黑色线十 字交叉口,控制小车的停止,左转或右转,亦可判断小车前 进了几个方格。第三章智能小车软件设计软件编程采用codewarrior软件在线编程,C语言模式,通 过添加相关“豆子”简单方便。3.1算法描述预赛主要通过定时器定时扫描,GPIO 口读入黑白线判断, 从PWM 口输出驱动信号驱动电机。具体如下a. 定时器定时10ms,中断b. 中断程序读入,三个GPIO 口数据,value1,value2,value3, 其中value3为底盘左侧信号,为停止转弯信号, value1,va

9、lue2使小车直走。c. 如果读入value3大于0,则为停止信号,PWM输出。信 号小车停止,定时10秒。否则若value1大于0,则小车 右转,输出PWM信号控制小车右转,否则若value2大于 0,则小车左转,输出PWM信号控制小车左转。否则为 直线前进,两边输出PWM信号,使小车全速前进。d. 决赛阶段考虑到两车PK,小车前进速度优先,故编程时 会让小车一直走直线,但我们会在小车前进前方设置干扰装 置,破坏对方,除定时停止外,程序基本不变。所拍化中断使能等待中晰value 3: 否大于0定时器中断读入valued valu已七 valueS小车停止定时 1。秒中断返回小车前进*UNIS

10、, spol. s r.o.*Jundrovska 33*624 00 Brno3.3程序清单主程序:/* #*Filename : xiaochel.C*Project : xiaochel*Processor : 56F8013VFAE*Version : Driver 01.09*Compiler : Metrowerks DSP C Compiler*Date/Time : 2008-8-28, 12:22*Abstract :*Mainmodule.*Hereis to be placed users code.*Settings :* Contents :*No public me

11、thods*(c) Copyright UNIS, spol. s r.o. 1997-2004* Czech Republic* http : * mail : *#*/* MODULE xiaoche1 */* Including used modules for compiling procedure */#include Cpu.h#include Events.h#include PWMCl.h#include Bitsl.h#include Bits2.h#include Bits3.h#include Tll.h#include PC_M1.h#include Inhrl.h/*

12、 Include shared modules, which are used for whole project */#include PE_Types.h#include PE_Error.h#include PE_Const.h#include IO_Map.h void main(void)/* Processor Expert internal initialization. DONT REMOVETHIS CODE! */PE_low_level_init();/* End of Processor Expert internal initialization.*/ /* Writ

13、e your code here */PWMC1_Enable();PWMC1_OutputPadEnable();for(;) (;/* END xiaochel */ /*中断程序:#pragma interrupt called /* Comment this line if the appropriate Interrupt preserve registers property */* is set to yes (#pragma interrupt saveallis generated before the ISR) */int value1=0;int value2=0;int value3=0;int time=0;void TI1_OnInterrupt(void)(value1=Bits1_GetVal(); /leftvalue2=Bit

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号