智能车模块源程序+很详细

智能车模块源程序+很详细
智能车模块源程序+很详细

由于今年组委会光电管和摄像头分开比赛。所以传感器部分我们选择了光电管,比赛以小车的速度记成绩,为了让小车更快更稳得跑完全程,传感器的探测距离必须要远,既要有大的前瞻,普通的红外对管由于功率较小,探测距离增大时,干扰严重,所以我们自制了大功率对管,同时采用了程序控制脉冲发光的办法,有效的降低了发热,提高了系统的稳定性。

系统采用采用了7.2V 2000mAh Ni-Cd蓄电池作为系统能源,并且通过稳压电路分出6伏,5伏已分别给舵机和单片机供电。

直流电机驱动模块接收速度控制信号控制驱动电机运行,达到控制车速目的。转向伺服模块控制舵机转向,进而控制智能车转弯。速度测量模块实时测量智能车车速,用于系统的车速闭环控制,以精确控制车速。

系统充分使用了MC9S12DG128单片机的外围模块,具体使用到的模块包括:ADC模拟数字转换模块、定时器模块、PWM脉冲宽度调制模块、中断模块、I/O 端口和实时时钟模块等。

系统调试过程中,使用了组委会提供的代码调试环境CodeWarrior IDE,同时使用了清华的Plastid2软件进行了仿真试验。

图1.1 系统结构框图

3.1舵机部分

为了使转弯更加灵活,对舵机相关部分作了部分改动。首先,我们将舵机力臂加长85mm。这样,对于同样的转弯角度值,只需更小的舵机转角,减小了舵机转弯时惯性带来的弊端。其次,我们将舵机反装,使舵机连杆水平,因为此时舵机提供的力全部用在转弯上。

3.2前轮部分

为了增加前轮转弯时的稳定性,对前轮相关部分进行了部分改动。首先,更改前后垫片的数量,使前轮主销后倾,这样,车轮具有更好的自动回正功能。其次,更改连杆的长度,使车轮外倾,车轮转弯时,前半部分重心上移,促使赛车转弯更加稳定。再次,我们通过更改舵机连杆的长度,增加前轮前束,同样增加了前轮的稳定性。

3.3底盘部分

为了提高赛车运行时的稳定性,对地盘相关部分作了部分改动。首先,前轮相关位置加垫片,降低了前轮重心。其次,更改后轮车轴处的调节块,使后轮重心升高,这样,车身前倾,一定程度上,增加了车的稳定性。

3.4后轮部分

首先,更换后轮轮距调节块,使后轮两轮之间间距加大。这样,车在转弯时不容易产生侧滑。其次,调节后轮差速,使赛车转弯更加灵活。

4.1电源部分

为了能使智能车系统能正常工作,就需要对电池电压调节。其中,单片机系统、车速传感器电路需要5V电压,路径识别的光电传感器和接收器电路电压工作为5V、伺服电机工作电压范围4.8V到6V(或直接由电池提供),直流电机可以使用7.2V 2000mAh Ni-cd蓄电池直接供电。考虑到由于驱动电机引起的电压瞬间下降的现象,因此采用低压降的三端稳压器成为必然。我们在采用lm7805,和lm7806作为稳牙芯片。经试验电压纹波小,完全可以满足要求。

电池(7.2v)

2000mAh Ni-cd

图4.2 7805电路图

图4.3 电源模块示意图

稳压电路

电机

图4.1系统电压调节图 5V

对管 单片机

舵机

测速板

6V

7.2V

4.2电机驱动电路

电机驱动使用飞思卡尔专用电机驱动芯片MC33886。驱动电路如图4.4 所示。为了增大驱动能力,减少单片发热量,电路采用两片MC33886 并联的方案。系统使用PWM 控制电机转速,充分利用单片机的PWM 模块资源。电机PWM 频率设定为8KHz 。

MC33886芯片的工作电压为5-40V ,导通电阻为140毫欧姆,PWM 频率小于10KHz ,具有短路保护、欠压保护、过温保护等功能。

电机驱动芯片安装在制作的电机驱动PCB 板上,在PCB 板设计时,考虑到芯片散热问题,在芯片腹部设计了方型的通孔,实际运行效果表明芯片散热均匀,设计合理。为了防止电动机突然停止时产生的电磁干扰,在电动机的两端焊接了一个0.1μF 滤波电容。

AGND 1FS

2

IN13V+4V+5OUT16OUT17DNC 8PGND 9PGND 10PGND 11PGND 12

D213OUT214OUT215V+16Ccp 17D118

IN219DNC 20U3

MC33886

AGND 1FS

2

IN13V+4V+5OUT16OUT17DNC 8PGND 9PGND 10PGND 11PGND 12

D213OUT214OUT215V+16Ccp 17D118IN219DNC 20U5MC33886

1.3K

R4Res21.3K

R7Res247pF

C12Cap 47pF

C14Cap VCC

PWM5

PWM312P14Header 2

DS2LED2

1K

R5Res22

3

1S2

SW-SPDT

+7.2V

1K

R10

Res21K

R15Res2

图4.4 两片MC33886并联使用

图4.5 两片MC33886并联使用的实物图

在图中可以看到,我们使用PWM23和PWM45作为电机驱动PWM信号,两个PWM通道级联可以使其输出更加精确。在程序中,我们把PWM值直接转换成了以米/秒为单位的绝对速度,这样使智能车的速度更加直观切易于调试。

4.3测速电路

由于考虑到成本需要,我们采用了红外对管和黑白码盘作为测速模块的硬件构成。其中码盘为32格的黑白相间圆盘,如下图所示:

图4.5 码盘

红外传感器安装在正对码盘的前方,虽然这样做精度比编码器要低很多,但是成本低廉制作容易,如果智能车速度较快,可以考虑再减少码盘上黑白色条的数量即可。

当圆盘随着齿轮转动时,光电管接收到的反射光强弱交替变化,由此可以得到一系列高低电脉冲。设置9S12 的ECT 模块,同时捕捉光电管输出的电脉冲的

上升沿和下降沿。通过累计一定时间内的脉冲数,或者记录相邻脉冲的间隔时间,可以得到和速度等价的参数值。

测速电路使用自行研制的红外反射式光电测速传感器。速度测量电路使用红外反射式光电对管RPR220,自行制作的编码盘,比较电路等组成。

速度测量电路图2.8所示。红外反射式光电对管的光敏三极管信号通过比较器处理后输入单片机的计数器模块,利用单片机的输入捕捉功能,处理智能车速度信息。自制的编码盘有24道黑色条纹,电机旋转一周将产生24次输入捕捉中断。

单片机记录两次中断的时间间隔T 。两次中断对应于智能车前进的距离S 为:16.5/24 cm,即0.6875cm ,其中16.5cm 为智

能车后轮实测周长[7]。智能车实时速度V(cm/s)的计算公式如下:

s cm T

T T S V /6875

.024/5.16===

4.4红外对管检测电路

由于我们采用了大功率对管,所以红外对管的电路是整个电路中要求最高的,

不紧要保证对管正常工作,而且还要考虑整个电路的能耗和发热问题。经测试我们发现单个对管在通以100mA 到170mA 电流时可以。保证抬高20到30厘米的距离。

此时每个对管的管压降为1.2到1.5伏。为了进一步加大发光量,我们采用了双发射管的办法,即一个接受管对应两个发射管。为了降低整体的能耗。我们让同一对的发射管串联,14对发射管再并联。同时使用了irf540进行开关控制。控制对管脉冲发光。开关频率为200HZ 。这样既保证了大前瞻探测的需要,又降低了整体的能耗和对电源的冲击

300VCC

33K

32184

A

LM358

10K

5.1K VCC VCC 5.1K

IOC0

RPR220

图4.6测速电路

图4.7 先串联再并联的脉冲发光对管电路图。

图4.8对管实物图反面

图4.9 对管实物图正面

4.5拨码开关电路

由于在智能车比赛开始后,不能够对智能车硬件及软件进行修改,在保证了硬件有效可靠的同时,软件有可能不能够适应新场地,所以设计拨码开关对智能车有关参数进行设置也是必要的。拨码开关电路如下图所示:

12345678

161514131211109

S1

SW-DIP8123456789

R1Header 9

VCC SW0

SW1SW2SW3SW4SW5SW6SW7

图4.9 拨码开关

这是一个八段的拨码开关,我们把它成成上下连个部分,显然,每个部分都有16种状态,前四个来改变舵机参数,后四个改变直流电机参数,这样对于适应新的场地很有好处。

5.1路径搜索算法

对于本控制系统采用14对光电对管的方案,单排排列在车体头部10cm 处。编号为6、7的光电对管处于正中央位置。利用14对传感器进行道路识别。传感器对白色的反射率比黑色的大。单片机ADC 读入值相应也大。在程序中对传感器信号进行处理,判断传感器是否检测到黑色引导线。

将单个传感器对白色和黑色路面的ADC 值之差分为平均的两段,每次处理实时传感器信号时,判断本次采样的ADC 值与黑色路面ADC 值之差落在两段中的哪一段。如果在靠近黑色的一段,则判定该传感器检测到黑线,将该传感器对应的变量置为判定值1;如果在靠近白色的一段,则判定该传感器检测到白线,将该传感器对应的变量置为判定值1;为了增强判断的准确性,在对ADC 值采样时,采用了中值滤波方法,以去除瞬间的干扰。

路径检测完后,将测的的路径值暂时存储,然后将路径信息传递给舵机和电机控制部分,以选择给定合适的转角和速度。

5.2舵机、电机的控制

智能车的舵机和电机都采用了经典的PID控制方法。但是由于舵机和电机性能的不同要求,分别对其进行了不同的修改。

PID控制器由比例单元(P)、积分单元(I)和微分单元(D)组成。其输入e (t)与输出u (t)的关系为

式中积分的上下限分别是0和t

因此它的传递函数为:G(s)=U(s)/E(s)=kp(1+1/(TI*s)+TD*s)

其中kp为比例系数;TI为积分时间常数;TD为微分时间常数

比例KP用来控制当前,误差值和一个负常数P(表示比例)相乘,然后和预定的值相加。P只是在控制器的输出和系统的误差成比例的时候成立,KP能够快速的跟随变化量。及时的产生与之相关的调节作用。但是KP是有差调节,无法消除静态误差。

积分KI来控制过去,误差值是过去一段时间的误差和,然后乘以一个负常数I,然后和预定值相加。I从过去的平均误差值来找到系统的输出结果和预定值的平均误差。一个简单的比例系统会振荡,会在预定值的附近来回变化,因为系统无法消除多余的纠正。通过加上一个负的平均误差比例值,平均的系统误差值就会总是减少。所以,最终这个PID回路系统会在预定值定下来。

微分KD 来控制将来, 计算误差的一阶导,并和一个负常数D相乘,最后和预定值相加。这个导数的控制会对系统的改变作出反应。导数的结果越大,那么控制系统就对输出结果作出更快速的反应。这个D参数也是PID被成为可预测的控制器的原因。D参数对减少控制器短期的改变很有帮助。一些实际中的速度

缓慢的系统可以不需要D参数。

舵机PID

由于舵机是一个具有大的延迟的执行机构,所以在PID控制中不能加入积分环节。否则会导致小车震荡。所以小车采用PD控制。同时加入一个一阶惯性环节,构成不完全微分,给小车一个超前的调节。

实际使用中,为了减少计算时间,将位置式PID转化为增量式

增量式PID公式:

电机PID控制

小车行使过程中,随着跑道的不同,需要配合不同的速度值,因此对电机的PID是一个给定值不断变化的PID。

小车的目标速度(Object_Speed)给定规则:

1》小车在直道上,Object_Speed为最大值200。

2》小车在大弯道上,Object_Speed为160。

3》小车在小弯道或S型弯道上,Object_Speed为120

4》小车冲出跑道,Object_Speed为70。

5》小车由直道进入弯道,Object_Speed逐渐减小。

6》小车由弯道进入直道,Object_Speed逐渐加大。

在实验中发现,PID的超调量主要在第一个波形中起作用,也即单速度由很大到很小的时候,或由低速突然加到高速的过程中,会出现很大的超调。但是这个超调并不是有害的,因为,当速度要求突变的时候,往往是小车由直道入弯道,或者由弯道入直道的过程,这个过程往往需要很快的大加减速,而由于小车的惯性,一般的PID调节难以满足要求,这时使用大的超调量可以使小车有一个加速或刹车的过程,使之更好的达到要求速度。

6.1 Codewarrior 开发环境

在整个开发调试过程中,使用Metrowerks公司为MC9S12 系列专门提供的全套开发工具(Freescale Codewarrior IDE 4.6)。这是一套用C语言进行编程的集成开发环境——本文智能车定位系统的软件设计部分就是在此开发环境下完成的。

Codewarrior 是由Metrowerks 公司提供的专门面向Freescale 所有MCU 与DSP 嵌入式应用开发的软件工具。其中包括集成开发环境IDE、处理器专家、全芯片仿真、可视化参数显示工具、项目工程管理、C 交叉编译器、汇编器、链接器以及调试器。

CodeWarriorIDE 能够自动地检查代码中的明显错误,它通过一个集成的调试器和编辑器来扫描你的代码,以找到并减少明显的错误,然后编译并链接程序以便计算机能够理解并执行你的程序。每个应用程序都经过了使用象CodeWorrior 这样的开发工具进行编码、编译、编辑、链接和调试的过程。Metrowerks Codewarrior IDE 中的mc9s12dg128.h 文件对所有寄存器对应的存储映射地址都进行了宏定义,开发者在软件开发时直接调用这些宏就可以了。

6.2 软件仿真

为了更好的定量分析影响小车行驶的各个因素,而且最大限度的

节约时间和成本。我们采用了软件仿真和实际调试相结合的办法。仿真软件使用了清华的PLAST2。

通过仿真,我们发现:

1、小车传感器的探测距离对速度有着决定的影响。所以传感

器应该尽量的探测更远。但是传感器的探测距离不能超过最小转弯的半径。否则会出现盲区。

2、适度增加舵机的灵敏度,可以使转弯更加灵活。所以我们

在实际调试中,加长了舵机的力臂。

6.2 实际调试

实际调试过程中,我们发现小车在直道上会出现左右抖动的现象,通过软件设置死区或其他处理方法,效果都不是很明显,最后发现小车舵机和前轮的间隙是罪魁祸首,通过把前轮设置为内八形,完美的解决了这个问题。

在调试过程中,我们加了液晶显示,还设置了蜂鸣器,这些辅助设备在比赛中为了减轻小车的重量,都是不需要的。但是在调试过程中,通过这些设备,可以及时的了解小车运行的情况,达到事倍功半的效果。

表7.1模型车技术参数统计:

项目参数

路径检测方法(赛题组)光电组

车模几何尺寸(长、宽、高)(毫米)385*220*60

车模轴距/轮距(毫米)200/150 车模平均电流(匀速行驶)(毫安) 200

电路电容总量(微法)430

传感器种类及个数红外对管 15个

新增加伺服电机个数 0

赛道信息检测空间精度(毫米) 9

赛道信息检测频率(次/秒)200

主要集成电路种类/数量 9s12单片机最小系统/1

33886电机驱动电路/4

速度检测电路/1 车模重量(带有电池)(千克)0.9

参考文献

[1] 黄开胜、金华民、蒋狄南,韩国智能模型车技术方案分析,北京:清华大学汽车安全与节能国家重点实验室,2004.3

[2] 邵贝贝著,单片机嵌入式应用的在线开发方法,北京:清华大学出版社,2004.2

[3] ‘LM2940 datasheet’, July 2000, National Semiconductor

[4] ‘LM7806 datasheet’ National Semiconductor

[5] ‘RPR220 datasheet’, ROHM

[6] 'Semiconductor Technical Data MC33887' Aug 2002 Motorola Inc

[7] 大赛车模拼装手册

[8] CodeWarrior IDE 3.1 help datasheet

[9] 'MC9S12DG128 Device User Guide', October 2002 Motorola Inc

[10] 'HCS12 CORE datasheet', Augt 2000 Motorola Inc

[11] 'S12PWM8B8CV1 datasheet', Mar 2002 Motorola Inc

[12] 'S12ATD10B8CV2 datasheet', Augt 2002 Motorola Inc

[13] 'S12ECT16B8V1 datasheet', July 2002 Motorola Inc

[14] https://www.360docs.net/doc/d41759557.html,

[15] https://www.360docs.net/doc/d41759557.html,

[16] https://www.360docs.net/doc/d41759557.html,

程序

电机PID控制程序

typedef unsigned char BOOL;

typedef unsigned char INT8U; //无符号8位数typedef signed char INT8S; //有符号8位数typedef unsigned int INT16U; //无符号16位数typedef signed int INT16S; //有符号16位数typedef unsigned long INT32U; //无符号32位数typedef signed long INT32S; //有符号32位数typedef float FP32; //单精度浮点数typedef double FP64; //双精度浮点数

#define MAX_32 (signed long)0x7fffffffL

#define MIN_32 (signed long)0x80000000L

#define MAX_16 ( signed int)0x7fff

#define MIN_16 ( signed int)0x8000

typedef struct

{

signed int ProportionalGain;

signed int ProportionalGainScale;

signed int IntegralGain;

signed int IntegralGainScale;

signed int DerivativeGain;

signed int DerivativeGainScale;

signed int PositivePIDLimit;

signed int NegativePIDLimit;

signed int IntegralPortionK_1;

signed int InputErrorK_1;

}sCaiXinBoPID;

sCaiXinBoPID SpdPID;

extern signed int CaiXinBoPIDController( signed int DesiredValue, signed int MeasuredValue,sCaiXinBoPID *pParams);

static signed long L_sub(register signed long src_dst, register signed long src2)

{

return (src2-src_dst);

}

static signed long L_deposit_l(register signed int ssrc)

{

return (signed long)(ssrc);

}

static signed int extract_l(register signed long lsrc)

{

return ( signed int)lsrc;

}

static signed long L_mult(register signed int sinp1, register signed int sinp2)

{

register signed long laccum;

laccum=sinp1;

laccum*=sinp2;

return laccum;

}

static signed long L_add(register signed long src_dst, register signed long src2)

{

return (src_dst+src2);

}

signed int CaiXinBoPIDController( signed int DesiredValue, signed int MeasuredValue,sCaiXinBoPID *pParams)

{

signed long ProportionalPortion, IntegralPortion, PIDoutput;

signed int InputError;

/*-------------------------------------------------------------------------------------------------*/

/* Saturation mode must be set */

/* InputError = sub(DesiredValue, MeasuredValue); */ /* input error */

/*-------------------------------------------------------------------------------------------------*/

/* input error calculation - 16bit range, with and without saturation mode */

PIDoutput = L_sub(L_deposit_l(DesiredValue),L_deposit_l(MeasuredValue)); /* input error - 32bit range */

if(PIDoutput > MAX_16) /* inpur error is greater than 0x00007fff = 32767 - 32bit range */

InputError = MAX_16; /* input error = max. positive 16 bit signed value */

else

if(PIDoutput < MIN_16) /* input error is less than 0xffff7fff = -32768 - 32bit range */

InputError = MIN_16; /* input error = min. negative 16 bit signed value */

else

InputError = extract_l(PIDoutput); /* input error - 16bit range */

/*-------------------------------------------------------------------------------------------------*/

/* proportional portion calculation */

ProportionalPortion=L_mult((pParams -> ProportionalGain), InputError) >> (pParams -> ProportionalGainScale + 1);

/*-------------------------------------------------------------------------------------------------*/

/* integral portion calculation */

IntegralPortion=L_mult((pParams->IntegralGain), InputError) >> (pParams->IntegralGainScale + 1);

/* integral portion in step k + integral portion in step k-1 */

IntegralPortion=L_add(IntegralPortion,

L_deposit_l(pParams->IntegralPortionK_1));

/* integral portion limitation */

if(IntegralPortion>(pParams->PositivePIDLimit))

(pParams->IntegralPortionK_1)=(pParams->PositivePIDLimit); else

if(IntegralPortionNegativePIDLimit)

pParams->IntegralPortionK_1=pParams->NegativePIDLimit;

else

pParams->IntegralPortionK_1=extract_l(IntegralPortion);

/*-------------------------------------------------------------------------------------------------*/

/* derivative portion calculation */

PIDoutput=L_sub(L_deposit_l(InputError),L_deposit_l(pParams->I nputErrorK_1)); /* [e(k) - e(k-1)] - 32bit range */

pParams->InputErrorK_1=InputError; /* e(k-1) = e(k) */

if(PIDoutput>MAX_16) /* [e(k) - e(k-1)] is greater than 0x00007fff = 32767 - 32bit range */

InputError=MAX_16; /* [e(k) - e(k-1)] = max. positive 16 bit signed value - 16 bit range */

else

if(PIDoutput

InputError=MIN_16; /* [e(k) - e(k-1)] = min. negative 16 bit signed value - 16 bit range */

else

InputError=extract_l(PIDoutput); /* [e(k) - e(k-1)] - 16bit range */

/* drivative portion in step k - integer */

PIDoutput=L_mult((pParams->DerivativeGain),InputError)>>(pPar ams->DerivativeGainScale+1);

/*-------------------------------------------------------------------------------------------------*/

/* controller output calculation */

PIDoutput=L_add(PIDoutput, ProportionalPortion); /* derivative portion + proportional portion */

PIDoutput=L_add(PIDoutput,

L_deposit_l(pParams->IntegralPortionK_1)); /* + integral portion = controller output */

/* controller output limitation */

if(PIDoutput>pParams->PositivePIDLimit)

PIDoutput=pParams->PositivePIDLimit;

else

if(PIDoutputNegativePIDLimit)

智能车技术报告(新)

南京工业大学信息学院电子设计大 赛(智能车) 技术报告 学校:南京工业大学 专业:电子信息工程 参赛队员:沈春娟袁乐乐袁冯杰

引言 根据本次比赛规则的要求,结合“飞思卡尔”的一些要求,本队已经完成了智能车系统的设计、制作、安装和调试。该智能车的设计思路是:首先,通过路径识别传感器采集路径信息,经STC12C5A32S2单片机处理输出控制信号,通过电机驱动控制两个直流电机的转速,实现智能车快速寻迹的目的。 利用红外反射式传感器实现小车自动寻迹导航的设计与实现。使用红外反射式传感器感知与地面颜色有较大反差的引导线,从而实现自主式寻迹。利用PWM 技术对直流电机进行速度调节,两轮驱动,运用两个直流电机转速差异进行方向的控制调节。 本文所述智能车寻迹系统采用红外反射式传感器识别路径上的黑线,通过PWM技术对两个直流电机的速度进行控制,由速度差决定转向的角度,使用开环控制结合PD算法对速度进行简单修正实现直流电机的速度控制。该系统以STC公司的生产的单片机STC 12C5A32S2为控制核心,主要由电源模块、核心控制模块、路径识别模块、(车速检测模块)和直流驱动电机控制模块组成。为了使智能车更加快速、平稳、准确地行驶,本系统将路径识别,车速的快速检测与响应,电机和直流驱动电机的正确控制紧密地结合在一起。 技术报告共分为五个部分:第一部分为引言;第二部分是智能车系统设计,介绍智能车总体设计和软、硬件设计及实现方案;第三章是控制算法设计,详述智能车软件实现;第四章是实验验证;第五章是总结。

智能车系统设计 一. 硬件设计 本系统硬件部分由电源模块、主控制器模块、路径识别模块、(车速检测模块)和直流驱动电机控制模块组成,系统硬件结构如图所示。 1. 主控制器模块 本系统中,主控制器模块采用STC 12C5A32S2单片机。STC 公司的单片机STC 12C5A32S2主要特点就是功能高度的集中,并且易于扩展,超强抗干扰,超强抗静电,低功耗。拥有2个16位定时器(兼容普通8051定时器T0/T1),2路PCA 可再实现2个定时器,拥有8通道、10位高速ADC ,速度可达25万次/秒,2路PWM 还可当2路D/A 使用。该单片机的运算能力强,自由度大,软件编程灵活。支持C 语言程序设计、汇编语言程序设计以及C 语言与汇编语言的混合程序设计,在系统可编程,无需编程器,无需仿真器,极大地方便了用户的使用,提高了系统开发效率。我们选择这款单片机主要是因为该单片机集成了两路可编程计数器阵列(PCA)模块,可用于脉宽调制(PWM)输出,来控制车轮的转速。 2. 电源模块 本系统中,为满足智能车各部分正常工作的需要,本系统采用12V 25C 航模电池,通过外围电路的整定,电源被分配给各个模块。 电源模块分为两个部分,为了保证控制核心的稳定性,单独供电,主电路板供电采用7805集成稳压块,该集成电路输出电压稳定,加之直流供电,不需要复杂的滤波系统。缺点发热量大,电能利用率低,所以7805可以满足系统要求。电路如图所示: 主控制器模块 电源模块 路径识别模块 电机驱动模块 车速检测模块

车联网解决方案(智能终端)

车联网解决方案(智能终端) 深圳车联网解决方案公司《酷点网络》提供车联网智能终端开发,app开发,汽车协议解码、汽车电子开发、汽车电控系统改装专用模块。 模块将汽车CAN总线数据解析后通过UART输出,供用户二次开发。模块体积小巧,易集成于用户系统,同时使用UART输出极易于二次开发。 功能描述I 可采集汽车OBD接口CAN总线上的所有原始数据,并将数据解析出其具体意义(汽车内部电控系统的各项传感器数值)后通过串口输出,供用户读取、解析、开发等使用。用户可以通过串口指令或模块自动发送的方式,将读取到的汽车内部运行数据通过串口直观的输出。功能描述II 用户无需深入了解汽车CAN总线或CAN数据,只需将模块集成到用户开发设备的硬件系统中,就能将用户自身的产品(各种单片机、PC串口、GPS、DVD、PND等设备)与汽车CAN 总线快速连接,可以非常方便、快速的实现自身产品二次开发及功能扩展。 功能描述III 模块目前可支持标准的ISO15765协议、OBD II汽车故障诊断功能,支持DTC诊断请求、故障码输出、故障码清除。 模块集成自动打火启动、熄火休眠功能,系统休眠时消耗电流为微安级,满足低功耗标准。还可自动识别带发动机自动启停功能的车辆,即使汽车在怠速状态发动机自动停止也不会误认为汽车熄火而停止工作。 性能特点 ●标准OBD II接口支持 ●覆盖所有主流汽车CAN协议 ●CAN总线信息主动转换到串口发出(可定制发送命令读取参数) ●车辆点火自动唤醒,车辆熄火自动休眠 ●自动匹配带“发动机自动启停”功能的车辆 ●支持瞬时油耗、平均油耗及耗油量数据 ●支持车辆故障码诊断,两条指令即可完成故障码的读取和清除 ●支持实时故障码扫描 ●支持急加速、急减速等驾驶习惯统计 ●模块化设计,高集成度 ●车辆级抗干扰设计 ●车联网定制“解决方案” ●接口协议数据简单易用●孔型焊盘设计,超小尺寸16mm*10mm

ZK-4WD智能小车简介

智能小车简介 一、智能小车效果图 二、智能小车各模块功能介绍 1、小车底盘 小车底盘是机器人最重要的载体,相当于人体的躯干,ZK—4WD小车平台采用差速转弯,非常灵活,可以实现原地打转。小车平台大小刚好,可以承载一些如驱动器,控制器,电池,传感器等。

2、驱动模块 我采用ST公司原装全新的L298N芯片及高质量铝电解电容,使电路稳定工作。小车直流电机工作电流一般是200—400mA,有些更大。如果一个小车是两个轮子,那么总的电流在400--800 mA左右,这些电机轮子都是要接受单片机指令执行相应动作,而市面有的单片机IO口一般只能提供5--10 mA的电流,直接驱动不了单片机,所以就需要一个驱动模块,就好像人的心脏功能。 3、控制模块 我采用的控制器主控芯片是STC89C52属于标准的51核的单片机,STC12C5A60S2内带PWM,AD,1T运行速度(主流),集成USB转串可以直接用USB下载程序。集成数码管,舵机,红外蔽障,12864,1602,无线模块等接口,板载输入按钮

4、小车所需的能源 可以用普通的AA5号电池,我采用低内阻的充电电磁套装,这是小车的动力之源,对外供电为7.2V。 这四部分都是必备的,有这四样东西,就可以让小车走起来,至于要怎么走,这个时候传感器就开始大发神威了! 5、小车需要的各种传感器 循迹传感器:一般用来识别黑白线,小车沿着这条黑白线行走,就需要循迹传感器 原理:循迹传感器通常采用红外的方式,红外管发射出来的红外光通过地面(白色)反射回来,在接收管理收到信号,一旦碰到黑线,那么红外光都被吸收,接收管没有接收到信号,从而得知传感器是否压线:从而调整小车运行方向。四路红外循迹模块:(可以通过换探头方式,改为蔽障方式) 超声波蔽障测距传感器:通过超声波发射装置发出超声波,根据接收器接到超声波时的时间差就可以知道距离了,这与雷达测距原理相似。超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中遇到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。通过程序代码的修改,可以调节小车蔽障的距离。

光电传感器课程设计汽车测速系统

光电信息技术研究性教学报告 题目:汽车测速系统

目录 一、摘要 (2) 二、系统整体方案设计 (2) 1、系统框图 (2) 2、光电传感器 .................................... 错误!未定义书签。 三、系统结构 (4) 1、传感器 (4) 2、调理电路设计 (5) 3、单片机 (6) 4、显示设备 (7) 5|、软件设计 (8) 四、体会心得 (11) 五、参考文献 (11)

一、摘要 社会时代的快速发展,汽车在人们日常生活中越来越重要,随着汽车的日益普及,由于碰撞而引起的事故也越来越多,其中倒车碰撞、超速碰撞占碰撞事故的大部分。为了尽量防止超速等问题、提高安全性。本文设计了一种测速器系统,方便司机根据车速安全行车。 转速测量方法转速是指作圆周运动的物体在单位时间内所转过的圈数 ,其大小及变化往往意味着机器设备运转的正常与否 ,因此 ,转速测量一直是工业领域的一个重要问题。按照不同的理论方法 ,先后产生过模拟测速法 (如离心式转速表 )、同步测速法 (如机械式或闪光式频闪测速仪 )以及计数测速法。计数测速法又可分为机械式定时计数法和电子式定时计数法。对转速的测量实际上是对转子旋转引起的周期脉冲信号的频率进行测量。 在频率的工程测量中 ,电子式定时计数测量频率的方法一般有三种 : ①测频率法 :在一定时间间隔t内 ,计数被测信号的重复变化次数N ,则被测 信号的频率fx可表示为fx =Nt(1); ②测周期法 :在被测信号的一个周期内 ,计数时钟脉冲数m0 ,则被测信号频 率fx=fc/m0 ,其中 ,fc为时钟脉冲信号频率; ③多周期测频法 :在被测信号m1个周期内 ,计数时钟脉冲数m2 ,从而得到被 测信号频率fx,则fx可以表示为fx=m1fcm2,m1由测量准确度确定。 二、系统整体方案设计 1、系统框图

电子设计资料-出租车计价器-程序

#include #define uchar unsigned char sbit P3_4=P3^4; //code uchar tab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,}; //code uchar tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; code uchar tab[10]={0xbf,0x86,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,}; uchar sz[4]; int qw,bw,sw,gw,a,b,c; void disp(void) { for(c=3;c>=0;c--) { SBUF=tab[sz[c]]; while(!TI); TI=0; } } void scjs(void)interrupt 3 { TH1=0X3C; TL1=0xB0; a=a+1; if(a==2) { a=0; P3_4=!P3_4; if(P3_4==0) { b=TH0*256+TL0; ///yw=sz[0]=b/100000; //ww=sz[0]=b/10000%10; qw=sz[0]=b/1000%10; bw=sz[1]=b/100%10; sw=sz[2]=b/10%10; gw=sz[3]=b%10; disp(); } } } main() {

IE=0X88; TH1=0X3C; TL1=0XB0; TR0=1; TR1=1; a=0; while(1); } 2 #include #define uchar unsigned char sbit P3_4=P3^4; //code uchar tab[10]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,}; //code uchar tab[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,}; code uchar tab[10]={0xbf,0x06,0xdb,0xcf,0x66,0xed,0xfd,0x87,0xff,0xef,}; uchar sz[6]; int yw,ww,qw,bw,sw,gw,a,b,c,d,e,f; void disp(void) { for(c=5;c>=0;c--) { SBUF=tab[sz[c]]; while(!TI); TI=0; } } void scjs(void)interrupt 3 { TH1=0X3C; TL1=0xB0; a=a+1; if(a==2) { a=0; P3_4=!P3_4; if(P3_4==0) { b=TH0*256+TL0;

TM2302 (3A车充芯片)

DESCRIPTION The is a monolithic step-down switch mode converter with a built in internal power MOSFET. It achieves 2A continuous output cur-rent over a wide input supply range with excel-lent load and line regulation. The requires a minimum number of readily available standard external components. Current mode operation provides fast transient response and eases loop stabilization. shutdown mode the regulator draws 25μA of supply current. FEATURES ● 2A Output Current ● 0.22? Internal Power MOSFET Switch ● Stable with Low ESR Output Ceramic Capacitors ● Up to 95% Efficiency ● 25μA Shutdown Mode ●● Thermal Shutdown ● Cycle-by-Cycle Over Current Protection ● Wide 4.75 to 32V Operating Input Range ● Output Adjustable from 1.22V to 21V PACKAGE REFERENCE Part number Package Temperature –40° C to +125 ° C SOIC-8EL TM2302 TM2302 TM2302TM2302 Fixed 420KHz Frequency Fault condition protection includes cycle-by-cycle current limiting and thermal shutdown. In Mar.2009 Rev.1.1 APPLICATIONS ? Automotive Power Adapters ? PDA and Cellular Phone Battery Chargers ? Distributed Power Systems ? Automotive Aftermarket Electronics 2A 32V Step - Down

智慧工厂解决方案(例)

智慧工厂解决方案(例)

智慧工厂解决方案 制造业园区基础网络解决方案 随着企业信息化的不断深入,企业业务的扩张、商业模式的创新使得制造企业更多的业务与网络绑定,网络与业务、用户、终端需深度融合协同运作,才能更好的共同支撑企业的运维与业务部署。而传统的制造业园区网络所呈现出的多种业务的分散网络和数据隔离也面临着诸多问题和挑战: 制造企业全球化的业务拓展和企业总部、分支机构或合作伙伴多元化的业务应用,需要企业通过过网络平台实现网络的互联互通;

云制造、物联网和多媒体业务的应用对制造园区网络的移动性、安全性、业务质量等方面也有了更高的要求; 网络复杂度的提升需要更加专业的规划部署和更加精细化的运维策略; 传统安全防护不可避免地成为网络安全防护薄弱环节,无法真正满足目前企业客户信息安全防护需求; 终端的多样化和应用场景的复杂化,制造企业网需要能实现随时随地、任何终端的方便接入; 制造企业网络需要承载关键业务的7×24小时不间断运营,可靠性要求高; 制造业企业网络需要建立高效和简洁的网络,避免冗余设备、链路带来的能耗;

制造业园区网络经常面临覆盖范围、区间、带宽、业务属性的调整,园区网络需要能够平滑地适应这些调整。 在“云制造”和“物联网”时代,为了助力制造业企业应对上述挑战,加速全球化和信息化运营改革,长期致力于企业统一网络解决方案的研究和开发,可以为用户提供端到端的制造业企业统一网络解决方案和服务,有效解决用户在制造业企业园区网络建设中遇到的各种难题。 方案概述 制造业统一互联解决方案为全IP承载的统一网络架构,在网络汇聚层将办公、安防、通

智能小车速度测量控制系统设计

毕业教学环节成果 (2012 届) 题目智能小车速度测量控制系统设计学院信息工程学院 专业电气自动化技术 班级 学号 姓名 指导教师 2012年5月17日

目录 摘要 (1) 英文摘要 (1) 引言 ................................................................. - 2 -1 方案设计与论证 .. (3) 1.1 主控系统 (3) 1.2 电机驱动模块 (3) 1.3 测速模块 (4) 1.4 显示模块 (4) 2 系统的硬件电路 (4) 2.1 总体设计 (4) 2.2 单片机控制系统设计 (5) 2.3 电机驱动电路设计 (6) 2.4 LCD显示电路设计 (7) 2.5 键盘电路设计 (8) 2.6 测速电路设计 (8) 2.7 电源电路设计 (8) 3 系统软件设计 (9) 3.1 测速程序 (10) 3.2 显示程序 (10) 4 调试 (12) 结论与谢辞 .......................................................... - 13 -参考文献 ............................................................ - 14 -附件1.程序清单..................................................... - 15 -附件2.整体原理图................................................... - 23 -

出租车计价器系统完整版

智能电子产品设计与制作 课程设计(论文) 题目: 《出租车计价器系统设计》 学院:电气与电子信息工程学院 专业名称: 学号: 学生姓名: 同组成员: 指导教师: 课设时间:2011年5月23日—2011年6月10日 目录

一.设计目的 (2) 二.设计要求 (2) 三.系统结构 (2) 四.功能模块设计 (3) 五.软件设计 (5) 六.电路组装与调试 (6) 七.电路仿真 (7) 八.总结 (8) 八.附录 (9)

出租车计价器课程设计 一、设计目的 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以红外对管测转速,对实际里程的模拟,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。 二、设计要求 出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟) 三、系统结构 根据设计的要求选择实验的方案:采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。设计采用AT89S51单片机为主控器,以红外对管和电机测转速(按键替代),实现对出租车的基本的计价设计,并采用AT24C02实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管,相对液晶显示价格便宜,利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的计价功能。 器系统结构图如下: 四、功能模块 1、单片机模块

超图软件公司智能售电终端管理解决方案精编版

超图软件公司智能售电终端管理解决方案 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

超图软件公司智能售电终端随着手持终端及通信技术的不断发展,智能手机、平板电脑等终端设备的质量在不断提高、功能越来越丰富,而价格在不断下降;3G 时代的到来,使得带宽更宽费用更低,利用智能手机、平板电脑等移动终端进行移动现场作业成为一种趋势。电力移动营销系列产品为面向移动终端而设计的软件解决方案,利用智能手机、平板电脑等硬件性能优势、价格优势、普及优势、操作便利优势,对电力营销业务在现场移动作业端进行延伸和扩展,完成抄核收管理、业务办理、计量管理、用电检查等营销业务现场处理部分并现场记录作业信息,通过与SG186 营销业务应用系统接口可以上传现场作业信息。电力移动营销系列产品的应用能有效提高现场作业的工作效率,缩短业务流程流转花费的时间,避免营销业务流程与现场工作容易脱节等问题,增强营销现有业务流程的持续性、完整性、实时性、数据的精准性和响应速度等。 系统逻辑架构组成: 主站服务系统为核心管理模块,提供数据、服务、安全、系统管理等各项支撑功能,是连接现场和SG186 营销业务应用系统的纽带; 移动作业应用系统为核心应用模块,实现营销现场作业等相关业务应用功能。 移动终端对移动营销服务器的网络访问支持以下二种方式: (1) 2G/3G 无线网络实时传输:移动终端通过2G 或3G 网络经过安全接入平台网关访问营销服务器和主站,并进行相关业务流程和数据上传。 (2)离线数据访问:在特殊情况下,如工作区域无2G/3G 网络覆盖等,先通过网络、WIFI 或USB接口等方式将作业所需数据保存在移动终端,现场作业时访问

智能小车硬件系统-STM32最小系统

智能小车硬件系统设计-STM32最小系统 1.智能小车的车体结构选择 目前常用的移动机器人运行机构的方式有轮式、履带式、腿式以及上述几种方式的结合。轮式和履带式机器人适合于条件较好的路面,而腿式步行机器人则适合于条件较差的路面。为了适应各种路面的情况,可采用轮、腿、履带并用。在各种实用的移动机器人中以轮式机器人,最为常见,它具有悠久的历史,在机械设计上非常成熟。本文中智能小车的设计思想是作为在路面环境较好的场合中工作的机器人使用,所以采用轮式机器人。机器人车体由车架、蓄电池、直流电机、减速器、车轮等组成,它是整个小车的基础部分。 从轮式移动机器人的车轮个数来说,常用的为三轮或四轮,更多轮的机器人则多见于可变构形的移动机器人应用。四轮机构在稳定性方面强于三轮机构。而一般轮式移动机器人转向装置的结构通常有两种方式,第一种方式是使用舵机转向,在此方式下前轮是自由轮,后轮是驱动轮,使用一个电机进行驱动,转向使用舵机控制转向轮前轮实现另外一种方式使用差动控制转向,与舵机转向相同的是,后轮是驱动轮,但左、右轮使用独立的电机驱动,前轮为自由轮,转向通过控制左右驱动轮速度的方式实现。综合考虑到智能小车承载能力、稳定性以及转向精度的要求,系统采用了四轮差动转向式,其中后部两轮为驱动轮,前部两轮为随动万向轮。 2.智能小车控制系统方案 在整个智能小车系统的总体设计之中,控制系统是最重要的,它是整个系统的灵魂。控制系统的先进与否,直接关系到整个机器人系统智能化水平的高低。机器人的各种功能都在控制系统的统一协调前提下实现,控制系统设计的策略也决定了整个机器人系统的功能特点及其可扩展性。本文设计的智能小车控制系统,具备了障碍物检测、自主定位、自主避障、总线通信、无线通信等一系列功能。根据上述所提及的智能小车的功能要求,课题研究的控制系统主要包括电源模块、微控制器模块、障碍检测模块、电机驱动模块、速度检测模块、通讯扩展模块等部分。系统总体框图如图1所示。具体设计过程中,各模块硬件以及软件部分力求相对独立,为日后的更新和后续升级提供便利。

智能小车设计报告书

智能小车设计报告 专业:电子信息工程技术 学生姓名:史响林周博超朱雄王昌指导教师:张力 完成日期:2014 年5 月24 日

目录 1 绪论 (3) 2 设计任务 (2) 2.1设计任务 (2) 3 设计方案 (3) 3.1任务分析 (3) 3.2方案框架 (3) 4 系统硬件设计 (4) 4.1核心芯片模块AT89S52 (4) 4.2电机驱动电路设计 (4) 4.3超声波测距设计 (6) 4.4传感器测速的设计 (8) 4.5LCD1602显示模块 (9) 5 系统软件设计 (8) 5.1程序设计流程图 (8) 5.2关键程序设计 (8)

6 心得体会 (13) 附录1 系统原理图 (15) 附录2 系统PCB图 ........................................................... 错误!未定义书签。附录 3 程序清单 (17) 1 论绪 智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。本设计主要体现多功能小车的智能模式,设计中的理论方案、分析方法及特色与创新点等可以为自动运输机器人、采矿勘探机器人、家用自动清洁机器人等自动半自动机器人的设计与普及有一定的参考意义。同时小车可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。超声波作为智能车避障的一种重要手段,

以其避障实现方便,计算简单,易于做到实时控制,测量精度也能达到实用的要求,在未来汽车智能化进程中必将得到广泛应用。我国作为一个世界大国,在高科技领域也必须占据一席之地,未来汽车的智能化是汽车产业发展必然的,在这种情况下研究超声波在智能车避障上的应用具有深远意义,这将对我国未来智能汽车的研究在世界高科技领域占据领先地位具有重要作用。本智能小车系统最诱人的前景就是可用于未来的智能汽车上了,当驾驶员因疏忽或打瞌睡时这样的智能汽车的设计就能体现出它的作用。如果汽车偏离车道或距障碍物小于安全距离时,汽车就会发出警报,提醒驾驶员注意,如果驾驶员没有及时作出反应,汽车就会自动减速或停靠于路边。这样的小车还可以用于月球探测等的无人探月车,帮助我们传达月球上更多的信息,让我们更加的了解月球,为将来登月做好充分准备。这样的小车在科学考察探测车上也有广阔的应用前景,在科学考察中,有很多危险且人们无法涉足的地方,这时,智能科学考察车就能够派上用场,在它上面装上摄像机,代替人们进行许多无法进行的工作。 设计采用对比选择,模块独立,综合处理的研究方法。采用AT89S52单片机模块作为小车的检测和控制核心;通过翻阅大量的相关文献资料,分析整理出有关信息,在此基础上列出不同的解决方案,结合实际情况对比方案优劣选出最优方案进行设计。本次试验利用单片机模块上的按键来控制小车的速度,方向,及在车体上面装有超声波测距模块利用LCD1602显示屏来显示测出来具体距离。本设计结构简单,较容易实现,但具有高度的智能化、人性化,一定程度体现了智能。 通过调试检测各模块,得到正确的信号输出,实现其应有的功能。最后将各个调试成功的模块结合到小车的车体上,结合程序,通过单片机的控制,将各模

C语言出租车计价器课程设计

出租车计价器课程设计目录 前言 1、系统工作原理 1.1 功能说明 1.2 基本原理 2、硬件设计 2.1 单片机最小系统单元 2.2 A44E霍尔传感器检测单元 2.3 AT24C01存储单元 2.4 键盘调整单元 2.5 显示单元 3、软件设计 3.1 系统主程序 3.2 中断程序 3.2.1 里程计数中断程序 3.2.2 中途等待中断程序

3.3 计算程序 3.4 显示程序 3.5 键盘程序 4、总结 参考文献 附录A 系统原理图 附录B 系统源程序 前言 随着出租车行业的发展,出租车已经是城市交通的重要组成部分,从加强行业管理以及减少司机与乘客的纠纷出发,具有良好性能的计价器对出租车司机和乘客来说都是很必要的。而采用模拟电路和数字电路设计的计价器整体电路的规模较大,用到的器件多,造成故障率高,难调试。而采用单片机进行的设计,相对来说功能强大,用较少的硬件和适当的软件相互配合可以很容易地实现设计要求,且灵活性强,可以通过软件编程来完成更多的附加功能。本设计采用AT89S52单片机为主控器,以A44E霍尔传感器测距,实现对出租车的多功能的计价设计,并采用AT24C01实现在系统掉电的时候保存单价等信息,输出采用8段数码显示管。本电路设计的计价器不但能实现基本的计价,而且还能根据白天,黑夜和中途等待来调节单价。 第一章系统工作原理

1.1 功能说明 出租车计价器根据乘客乘坐汽车行驶距离和等候时间的多少进行计价,并在行程中同步显示车费值。从起步价开始,当汽车程行驶未满3公里时,均按起步价计算。过3公里后,实现每1公里单价收费,中间遇暂停时,计程数不再增加,开始计时收费,测距收费和测时收费的和便构成了一位乘客的车费。同时,白天和夜晚价格不同,可以进行切换。白天单价、夜晚单价、等待单价和起步价格都可通过独立键盘进行调节。(默认起步价为5元/3公里,里程单价白天为1.5元/公里,夜晚为1.8元/公里,等待计时单价为0.5元/5分钟) 1.2 基本原理 计数器系统主要由五部分组成:A44E霍尔传感器、AT89S52单片机、独立键盘、EEPROM AT24C01和显示数码管。 霍尔传感器安装在车轮上,主要检测汽车行进的公里数,并产生一系列相应的脉冲输出,脉冲送到单片机进行处理,单片机根据程序设定通过计算脉冲数换算出行驶公里数,再根据从EEPROM中读取的价格等相关数据进行金额的计算,计算好的金额、里程和单价都实时地显示在数码管上。独立键盘可以调节价格等相关数据,按下相应的按钮,产生信号交由单片机处理并实时显示出来,调节好的数据存储到EEPROM中,掉电后可以使调好的数据不丢失,下次得电后直接从EEPROM读到单片机,系统结构图如图1。

智能循迹小车详细制作过程

(穿山乙工作室)三天三十元做出智能车 基本设计思路: 1.基本车架(两个电机一体轮子+一 个万向轮) 2.单片机主控模块 3.电机驱动模块(内置5V电源输出) 4.黑白线循迹模块 0.准备所需基本元器件 1).基本二驱车体一台。(本课以穿山乙推出的基本车体为 例讲解) 2).5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红 色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40 个。 3).5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一 个;双孔接线柱三个、10u电解电容2个、排针12个、9110 驱动芯片2个。 4).5x7cm洞洞板、LM324比较器芯片各一个;红外对管三 对、4.7K电阻3个、330电阻三个、红色3mmLED三个。 一、组装车体

(图中显示的很清晰吧,照着上螺丝就行了) 二、制作单片机控制模块 材料:5x7cm洞洞板、单片机卡槽、51单片机、石英晶体、红色LED、1K电阻、10K排阻各一个;2个瓷片电容、排针40个。 电路图如下,主要目的是把单片机的各个引脚用排针引出来,便于使用。我们也有焊接好的实物图供你参考。(如果你选用的是STC98系列的单片机在这里可以省掉复位电路不焊,仍能正常工作。我实物图中就没焊复位)

三、制作电机驱动模块 材料:5x7cm洞洞板、7805稳压芯片、红色LED、1K电阻各一个;双孔接线柱三个、10u电解电容2个、排针12个、9110驱动芯片2个。 电路图如下,这里我们把电源模块与驱动模块含在了同一个电路板上。因为电机驱动模块所需的电压是+9V左右(6—15V 均可),而单片机主控和循迹模块所需电压均为+5V。 这里用了一个7805稳压芯片将+9V电压稳出+5V电压。

常用芯片型号大全

常用芯片型号大全 4N35/4N36/4N37 "光电耦合器" AD7520/AD7521/AD7530/AD7521 "D/A转换器" AD7541 12位D/A转换器 ADC0802/ADC0803/ADC0804 "8位A/D转换器" ADC0808/ADC0809 "8位A/D转换器" ADC0831/ADC0832/ADC0834/ADC0838 "8位A/D转换器" CA3080/CA3080A OTA跨导运算放大器 CA3140/CA3140A "BiMOS运算放大器" DAC0830/DAC0832 "8位D/A转换器" ICL7106,ICL7107 "3位半A/D转换器" ICL7116,ICL7117 "3位半A/D转换器" ICL7650 "载波稳零运算放大器" ICL7660/MAX1044 "CMOS电源电压变换器" ICL8038 "单片函数发生器" ICM7216 "10MHz通用计数器" ICM7226 "带BCD输出10MHz通用计数器" ICM7555/7555 CMOS单/双通用定时器 ISO2-CMOS MT8880C DTMF收发器 LF351 "JFET输入运算放大器" LF353 "JFET输入宽带高速双运算放大器" LM117/LM317A/LM317 "三端可调电源" LM124/LM124/LM324 "低功耗四运算放大器" LM137/LM337 "三端可调负电压调整器" LM139/LM239/LM339 "低功耗四电压比较器"

LM158/LM258/LM358 "低功耗双运算放大器" LM193/LM293/LM393 "低功耗双电压比较器" LM201/LM301 通用运算放大器 LM231/LM331 "精密电压—频率转换器" LM285/LM385 微功耗基准电压二极管 LM308A "精密运算放大器" LM386 "低压音频小功率放大器" LM399 "带温度稳定器精密电压基准电路" LM431 "可调电压基准电路" LM567/LM567C "锁相环音频译码器" LM741 "运算放大器" LM831 "双低噪声音频功率放大器" LM833 "双低噪声音频放大器" LM8365 "双定时LED电子钟电路" MAX038 0.1Hz-20MHz单片函数发生器 MAX232 "5V电源多通道RS232驱动器/接收器" MC1403 "2.5V精密电压基准电路" MC1404 5.0v/6.25v/10v基准电压 MC1413/MC1416 "七路达林顿驱动器" MC145026/MC145027/MC145028 "编码器/译码器" MC145403-5/8 "RS232驱动器/接收器" MC145406 "RS232驱动器/接收器"

智能车模块源程序很详细

由于今年组委会光电管和摄像头分开比赛。所以传感器部分我们选择了光电管,比赛以小车的速度记成绩,为了让小车更快更稳得跑完全程,传感器的探测距离必须要远,既要有大的前瞻,普通的红外对管由于功率较小,探测距离增大时,干扰严重,所以我们自制了大功率对管,同时采用了程序控制脉冲发光的办法,有效的降低了发热,提高了系统的稳定性。 系统采用采用了7.2V 2000mAh Ni-Cd蓄电池作为系统能源,并且通过稳压电路分出6伏,5伏已分别给舵机和单片机供电。 直流电机驱动模块接收速度控制信号控制驱动电机运行,达到控制车速目的。转向伺服模块控制舵机转向,进而控制智能车转弯。速度测量模块实时测量智能车车速,用于系统的车速闭环控制,以精确控制车速。 系统充分使用了MC9S12DG128单片机的外围模块,具体使用到的模块包括:ADC模拟数字转换模块、定时器模块、PWM脉冲宽度调制模块、中断模块、I/O 端口和实时时钟模块等。 系统调试过程中,使用了组委会提供的代码调试环境CodeWarrior IDE,同时使用了清华的Plastid2软件进行了仿真试验。 图1.1 系统结构框图

3.1舵机部分 为了使转弯更加灵活,对舵机相关部分作了部分改动。首先,我们将舵机力臂加长85mm。这样,对于同样的转弯角度值,只需更小的舵机转角,减小了舵机转弯时惯性带来的弊端。其次,我们将舵机反装,使舵机连杆水平,因为此时舵机提供的力全部用在转弯上。 3.2前轮部分 为了增加前轮转弯时的稳定性,对前轮相关部分进行了部分改动。首先,更改前后垫片的数量,使前轮主销后倾,这样,车轮具有更好的自动回正功能。其次,更改连杆的长度,使车轮外倾,车轮转弯时,前半部分重心上移,促使赛车转弯更加稳定。再次,我们通过更改舵机连杆的长度,增加前轮前束,同样增加了前轮的稳定性。 3.3底盘部分 为了提高赛车运行时的稳定性,对地盘相关部分作了部分改动。首先,前轮相关位置加垫片,降低了前轮重心。其次,更改后轮车轴处的调节块,使后轮重心升高,这样,车身前倾,一定程度上,增加了车的稳定性。 3.4后轮部分 首先,更换后轮轮距调节块,使后轮两轮之间间距加大。这样,车在转弯时不容易产生侧滑。其次,调节后轮差速,使赛车转弯更加灵活。 4.1电源部分 为了能使智能车系统能正常工作,就需要对电池电压调节。其中,单片机系统、车速传感器电路需要5V电压,路径识别的光电传感器和接收器电路电压工作为5V、伺服电机工作电压范围4.8V到6V(或直接由电池提供),直流电机可以使用7.2V 2000mAh Ni-cd蓄电池直接供电。考虑到由于驱动电机引起的电压瞬间下降的现象,因此采用低压降的三端稳压器成为必然。我们在采用lm7805,和lm7806作为稳牙芯片。经试验电压纹波小,完全可以满足要求。

飞思卡尔智能车设计报告

飞思卡尔智能车设计报告

目录 1.摘要 (3) 2.关键字 (3) 3.系统整体功能模块 (3) 4.电源模块设计 (4) 5.驱动电路设计 (4) 6.干簧管设计 (5) 7.传感器模块设计 (6) 8.传感器布局 (6) 9.软件设计 (7) 9.1控制算法 (7) 9.2软件系统实现(流程图) (10) 10.总结 (11) 11.参考文献 (12)

1.摘要 “飞思卡尔”杯全国大学生智能汽车竞赛是由教育部高等自动化专业教学指导分委员会主办的一项以智能汽车为研究对象的创意性科技竞赛,是面向全国大学生的一种具有探索性工程实践活动,是教育部倡导的大学生科技竞赛之一。该竞赛以“立足培养,重在参与,鼓励探索,追求卓越”为指导思想,旨在促进高等学校素质教育,培养大学生的综合知识运用能力、基本工程实践能力和创新意识,激发大学生从事科学研究与探索的兴趣和潜能,倡导理论联系实际、求真务实的学风和团队协作的人文精神,为优秀人才的脱颖而出创造条件。该竞赛以汽车电子为背景,涵盖自动控制、模式识别、传感技术、电子、电气、计算机、机械等多个学科的科技创意性比赛。 本文介绍了飞思卡尔电磁组智能车系统。本智能车系统是以飞思卡尔32 位单片机K60为核心,用电感检测赛道导线激发的电磁信号, AD 采样获得当前传感器在赛道上的位置信息,通过控制舵机来改变车的转向,用增量式PID进行电机控制,用编码器来检测小车的速度,共同完成智能车的控制。 2.关键字 电磁、k60、AD、PID、电机、舵机 3.系统整体功能模块 系统整体功能结构图

4.电源模块设计 电源是一个系统正常工作的基础,电源模块为系统其他各个模块提供所需要的能源保证,因此电源模块的设计至关重要。模型车系统中接受供电的部分包括:传感器模块、单片机模块、电机驱动模块、伺服电机模块等。设计中,除了需要考虑电压范围和电流容量等基本参数外,还要在电源转换效率、噪声、干扰和电路简单等方面进行优化。可靠的电源方案是整个硬件电路稳定可靠运行的基础。 全部硬件电路的电源由7.2V,2A/h的可充电镍镉电池提供。由于电路中的不同电路模块所需要的工作电流容量各不相同,因此电源模块应该包含多个稳压电路,将充电电池电压转换成各个模块所需要的电压。 电源模块由若干相互独立的稳压电源电路组成。在本系统中,除了电机驱动模块的电源是直接取自电池外,其余各模块的工作电压都需要经电源管理芯片来实现。 由于智能车使用7.2V镍镉电池供电,在小车行进过程中电池电压会有所下降,故使用低压差电源管理芯片LM2940。LM2940是一款低压稳压芯片,能提供5V的固定电压输出。LM2940低压差稳压芯片克服了早期稳压芯片的缺点。与其它的稳压芯片一样,LM2940需要外接一个输出电容来保持输出的稳定性。出于稳定性考虑,需要在稳压输出端和地之间接一个47uF低等效电阻的电容器。 舵机的工作电压是6伏,采用的是LM7806。 K60单片机和5110液晶显示器需要3.3伏供电,采用的是LM1117。 5.驱动电路设计 驱动电路采用英飞凌的BTS7960,通态电阻只有16mΩ,驱动电流可达43A,具有过压、过流、过温保护功能,输入PWM频率可达到25KHz,电源电压5.5V--27.5V。BTS7960是半桥驱动,实际使用中要求电机可以正反转,故使用两片接成全桥驱动。如图下图所示。

单片机出租车计价器课程设计

嵌入式系统基础 课 程 说 明 书 设计题目:出租车计价器 学院:太原理工大学现代科技学院 班级:电子信息 姓名: 学号: 一、设计题目: 出租车计价器 二、设计思路: 如今单片机由于其体积小,性能完善,所以广泛应用于各个行业中。在出租车上,计价器便采用了单片机的应用技术,采用一系列的外部设备将出租车行驶以及停车等各个状态输入单片机,通过程序加以运算控制,再输出显示以及打印等。 我们试着用所学的知识,设计并模拟出租车计价器的工作方式,通过实践来掌握应用设备的工作原理。 三、设计任务 ●出租车计价器需要的主要外部设备有公里计数器,以及显示、定时装置,通过线路连 接构成一个完整的系统。 ●公里计数器设想:利用光电或者霍尔效应原理对车轮转过360°角位移产生一个脉冲 信号送给单片机作为一定距离的计数值。

●显示器:用LED显示,动态扫描显示,不断输出即时价格已及时间。 ●定时装置(本设计中未引入):记录在停车或某些情况下的时间,用于辅助计价。 四、里程计数器的原理(光电式) 在与车轴同步的轴上装有一隔光盘,上仅有以窄缝可以通光。在隔光盘两侧分别装有与车体固定的光源和感光元件。当隔光盘随轴转动时,光源发出的光被隔光盘隔离,只有在窄缝处感光元件接收到光信号,对后续电路产生一个脉冲。这就是对里程转换为计数值的基本原理。 其产生的脉冲信号则作为单片机计数器的输入信号,当单片机中计数器计到某一数量即为车行驶一公里,并对价格进行增加。在没有实际对这样计数装置试用,只能对其原理进行分析,在之下的程序设计中只取其脉冲信号作为单片机输入信号()。 五、LED显示电路 对Array设计总 体分析 下,只 需对其 价格进 行显示,选用四个LED数码管分别显示价格的百位、十位、个位以及十分位(单位:元)。显示方式采用动态扫描的方式,数据输出为P0口,位选为P2口,共阴极(如图)。 六、计价器的计价要求 ●计价方式:起价(两公里)白天8元,晚上元;由一开关进行选择。每公里元。 ●转数与公里数:汽车轮胎周长近似为1.5米,故一百米需要转过67圈,计67个数产 生一个溢出中断。 七、电路原理图及引脚 八、源程序 ORG 0000H ;起始地址 AJMP START ORG 001BH ;计数中断地址 LJMP CNT1 ORG 0030H ;主程序地址 START: MOV PSW, #00H MOV IE, #88H ;IE=B MOV TMOD, #60H ;TMOD=01100000B,T1工作方式2 MOV TH1, #0BDH ;自动重装 MOV TL1, #0BDH ;计67个数 SETB TR1 ;计数器启动 CLR ;点亮小数点dp MOV R4, #0FFH ;置数-1

相关文档
最新文档