飞思卡尔智能车主体设计报告Word格式文档下载.docx

上传人:b****3 文档编号:6539477 上传时间:2023-05-06 格式:DOCX 页数:18 大小:298.57KB
下载 相关 举报
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第1页
第1页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第2页
第2页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第3页
第3页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第4页
第4页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第5页
第5页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第6页
第6页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第7页
第7页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第8页
第8页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第9页
第9页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第10页
第10页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第11页
第11页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第12页
第12页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第13页
第13页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第14页
第14页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第15页
第15页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第16页
第16页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第17页
第17页 / 共18页
飞思卡尔智能车主体设计报告Word格式文档下载.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

飞思卡尔智能车主体设计报告Word格式文档下载.docx

《飞思卡尔智能车主体设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《飞思卡尔智能车主体设计报告Word格式文档下载.docx(18页珍藏版)》请在冰点文库上搜索。

飞思卡尔智能车主体设计报告Word格式文档下载.docx

而其它模块则需要通过较大的电流,而LM2940-5,转换效率高,带载能力大,对其它模块供电还是能保证充足的电源。

利用TPS7350和LM2940-5对控制系统和执行部分开供电,可以有效地防止各器件之间发生干扰,以及电流不足的问题,使得系统能够稳定地工作。

3.3电机驱动模块

常用的电机驱动有两种方式:

一、采用集成电机驱动芯片。

二、采用N沟道MOSFET和专用栅极驱动芯片设计。

为了减少车体复杂程度,我们采用了较为简单的集成的电机驱动芯片作为点击的驱动。

市面上常见的集成H桥式电机驱动芯片中,飞思卡尔公司的33886型芯片性能较为出色,该芯片具有完善的过流、欠压、过温保护等功能,内部MOSFET导通电阻为120毫欧,具有最大5A的连续工作电流。

使用集成芯片的电路设计简单,可靠性高,但是性能受限。

由于比赛电机内阻仅为430毫欧,而集成芯片内部的每个MOSFET导通电阻在120毫欧以上,大大增加了电枢回路总电阻,此时直流电动机转速降落较大,驱动电路效率较低,电机性能不能充分发挥。

由于33886的以上缺点我们没有采用33886作为驱动芯片,而采用了BTS7960作为电机的驱动芯片。

BTS7960是集成的大电流半桥驱动,其内部包含了一片NMOS、一片PMOS和一片半桥门集驱动。

图1.3BTS7960芯片内部电路图

BTS7960的芯片内部为一个半桥。

INH引脚为高电平,使能BTS7960。

IN引脚用于确定哪个MOSFET导通。

IN=1且INH=1时,高边MOSFET导通,OUT引脚输出高电平;

IN=0且INH=1时,低边MOSFET导通,OUT引脚输出低电平。

SR引脚外接电阻的大小,可以调节MOS管导通和关断的时间,具有防电磁干扰的功能。

IS引脚是电流检测输出引脚。

其输入信号为标准的TTL电平,直接与单片机相连就可以,降低系统的不稳定因素。

用两片BTS7960即可构成全桥驱动电路,控制电机的正反转。

图1.4:

BTS7960全桥驱动示意图

电源输入

5-25V

最大驱动电流

43A

驱动类型

MOSFET

控制电源

5V

过压,过流,过温,短路保护

内阻

7+9毫欧

频率输入

0-25KHz

表1.1BTS7960全桥驱动参数表

 

图3.6电机驱动模块电路设计图

1.4智能车传感器模块设计

道路检测模块为小车的“眼睛”。

赛道相对车模的偏移量、方向、曲率等信

息是实现车模自主沿着赛道运行的信息基础,获得更多、更远、更精确的赛道信

息是提高车模运行速度的关键。

本设计中通过红外发射管发射红外光照射跑道,根据跑道表面与中心线反射光强不同从而得出黑线位置。

本设计中采用的光电管都采用一字均匀排布,共13个红外传感器。

通过单片机的A/D端口直接读取电压的变化量,优点是可以简化外部电路

设计。

对于红外管,采用这种方式可以保留红外接收管的连续变化电压信息,通过软件算法进行位置插值细化,不仅可以得到更加精确的位置信息,同时还可以消除环境光线的影响。

但处理速度上,因需要考虑到A/D转换时间,故采集速度较前者稍慢。

为提高下排红外A/D采样速度,我们通过PLL将系统时钟由8M倍频到48M,同时采用了ADC模块的单通道采样模式,来减少许多无谓的通道转换。

尽量缩短路径检测的周期。

第二章软件设计

在软件部分,我们没有用到最经典的PID控制,甚至于没有所谓成熟的算法,在我们这个队伍中,是通过硬件和软件的不断磨合才让我们拿到今天的成绩,现就将我们的经验阐述如下(传感器对应为旧)。

我们采用的是光电管模拟量进行控制,控制策略主要有一下几个部分,1、原始数据的采集;

2、原始数据的处理;

3、舵机的转角控制策略;

4、速度的控制策略;

6、起跑线的识别。

#include<

hidef.h>

/*commondefinesandmacros*/

MC9S12XS128.h>

/*derivativeinformation*/

#pragmaLINK_INFODERIVATIVE"

mc9s12xs128"

//定义全局变量

intPM_singal;

//M端口采集

intPA_singal;

//A端口采集

intline_mun=0;

intDirection,Velocity;

/*Direction设置舵机角度*//*Velocity设置电机速度*/

inta,b;

//函数声明

voidPOWERFUL(void);

voidDelay(intcnt);

//延时函数

voidPMSingal_set(void);

voidPASingal_set(void);

voidStart_line(void);

voidStop_car(void);

voidInit_busclock(void);

//总线时钟初始化

voidInit_PWM_out(void);

voidPWM_out(intDirection,intVelocity);

//函数名称:

Init_busclock(void)

//函数功能:

总线时钟初始化

voidInit_busclock(void)

{

//CLKSEL=0X00;

//disengagePLLtosystem

//PLLCTL_PLLON=1;

//turnonPLL

SYNR=2;

//s=9,r=3,c=40M

REFDV=1;

//pllclock=2*osc*(1+SYNR)/(1+REFDV)=BUSCLOCK=48M

while(!

(CRGFLG_LOCK==1));

//whenpllissteady,thenuseit;

CLKSEL=CLKSEL_PLLSEL_MASK;

//engagePLLtosystem;

}

Init_PWM_out(void)

对PWM进行初始化设置

voidInit_PWM_out(void)

PWME=0x28;

/*01:

50Hz45:

1kHz*/

PWMPOL=0x28;

PWMCTL=0x60;

PWMCLK=0x28;

PWMPRCLK=0x00;

PWMSCLA=4;

//A=B=48MSA=SB=6M

PWMSCLB=4;

main()

实现赛车稳定循迹

voidmain(void)

{

Delay(100);

Init_busclock();

Init_PWM_out();

//PWM初始化

DDRB=0xFF;

DDRM=0x00;

DDRA=0x00;

//PORTA=0x00;

PORTB=0X00;

EnableInterrupts;

for(;

;

{

POWERFUL();

Start_line();

Stop_car();

}

POWERFUL(void)

voidPOWERFUL(void)//赛道处理程序

{

PM_singal=PTM&

0x1f;

PA_singal=PORTA;

PMSingal_set();

PWM_out(Direction,Velocity);

PASingal_set();

Start_line(void)

起始线判断

voidStart_line(void)

if(((PM_singal==0x1e)&

&

(PA_singal==0x3f))||((PM_singal==0x1e)&

(PA_singal==0x6f))||((PM_singal==0x1e)&

(PA_singal==0x2f)))

line_mun++;

PORTB=!

PORTB;

Direction=0;

Delay(500);

}

Stop_car(void)

voidStop_car(void)

if(line_mun==2)

Velocity=300;

Delay(10000);

PWM_set(void)

依据检测黑线位置对PWM设置

voidPASingal_set(void)

switch(PA_singal)

case0x01:

//左一

Direction=500;

Velocity=85;

break;

case0x03:

//左一二

Direction=500;

case0x02:

//左二

Direction=450;

case0x06:

//左二三

Velocity=90;

case0x04:

//左三

Direction=400;

case0x0c:

//做三四

Direction=350;

case0x08:

//左四

Direction=300;

Velocity=95;

case0x18:

//左四五

Direction=250;

case0x10:

//左五

Direction=150;

case0x20:

//左六

Direction=50;

case0x40:

//中

case0x60:

//左六中

case0xc0:

//右六中

case0x80:

//右六

Direction=-50;

default:

voidPMSingal_set(void)

switch(PM_singal)

//右五

Direction=-150;

//右四五

Direction=-250;

//右四

Direction=-300;

//右四三

Direction=-350;

//右三

Direction=-400;

//右三二

Direction=-450;

//右二

Velocity=85;

//右二一

Direction=-500;

//右一

PWMout(intDirection,intVelocity)

读取设定DV值,从PP1PP5输出

voidPWM_out(intDirection,intVelocity)

Direction=Direction+4050;

PWMPER23=60000;

//Center1500ms*3*/

PWMDTY23=Direction;

//角度*/

PWMPER45=300;

Velocity=300-Velocity;

PWMDTY45=Velocity;

/*设置电机速度*/

Delay()

软件延时cnt--延时参数,数越大值越大

voidDelay(intcnt)

inti,j;

for(i=0;

i<

cnt;

i++)

j=0x1300;

while(j--);

}

工作日程

日期

主要工作

1

查阅资料

2

写出算法

3

硬件调试

4

设计报告

评议意见

指导教师的评阅意见

指导教师(签字)

年月日

系答辩组审定意见

组长(签字)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2