无线智能遥控小车--电子设计实验报告

发布时间:2018-07-01 16:11:58

****************大学

班级:******

作者:******

指导老师:****

1引言

1.1编写目的

本概要设计说明书是针对电子设计的课程要求而编写。目的是对该项目进行总体设计,在明确系统需求的基础上划分系统的功能模块,进行系统开发的分工,明确各模块的接口,为进行后面的详细设计和实现做准备。满足无线遥控爱好者对智能小车的设计要求,想通过这份概要设计给爱好者一个好的设计思路,设计方法进行参考。

本概要设计说明书的预期读者为本项目小组成员以及无线遥控爱好者。

1.2背景

a. 实践题目的名称:无线遥控智能小车

b. 项目的任务提出者:*********

c. 项目的开发者:*********

d. 面向用户:所有无线遥控爱好者,对智能小车感兴趣,想借此提高动手能力的用户。

鉴于电子设计课程要求,需要一份设计实品,加之小组成员对智能小车有着独特的爱好,所以这次设计选择了遥控智能小车作为电子设计的题目。

2总体设计

2.1需求规定

所设计智能小车功能:

主要功能:无线遥控避障

附加功能:超声波测距、速度调节、液晶显示、音乐、流水灯和散热系统

通过无线串口对小车进行无线遥控,可以在遥控,避障这两个主要功能之间自由切换。

遥控时,通过遥控器上的按钮可以方便灵活地控制小车前进,后退,左转和右转等。

避障时,利用红外传感器探测障碍物,从而达到避障的目的。

小车安装了超声波传感器,可以进行距离测量,如果距离过近,蜂鸣器发出警报,并将距离等数据实时传到液晶屏上显示。

★通过按钮同时控制一些其他功能,如音乐,风扇和流水灯等。

2.2运行环境

最好是室内平地

2.3基本设计概念和处理流程

整体框图:

2.4所需器件

★小车模型(三轮带电机)

ATMAGE16单片机最小系统(3个,小车上两个一个负责接受无线,控制电机,另外一个则是负责其他功能,最后一个遥控器上的)

★直流电机驱动模块,采用两个LM298驱动模块分别控制两个电机

★传感器模块,采用红外传感器2,超声波传感器两个

★无线串口模块

★电源模块(5v,12v

★按键模块,用于无线遥控小车

LCD1602液晶一块

电机一个

★蜂鸣器一个

★锂电池一块

南孚电池若干节

发光二级管若干

★键盘(8个按钮)

3接口设计

3.1用户接口

小车主要有避障和遥控两种模式,通过控制小车上的一个模式选择开关,手动遥控时自动模式无效,同样小车处于自动状态时,手动遥控无效。

无线手动遥控小车有一控制键盘,基于atmega16有向前,向后,左拐,右拐四个键,可以控制小车。

当小车处于自动避障模式,通过红外线蔽障躲避障碍物,小车处于自动运行状态。

另外通过遥控器上的其他按钮可实现一些其他功能 例如音乐,风扇和流水灯等。

3.2内部接口

电机模块同小车上的最小系统一起,通过无线模块将遥控板和小车系统联系起来,在小车系统上核心无疑是MCU构成,通过此将小车各个功能联系起来。

4运行设计

4.1运行模块组合

说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。

1)无线遥控,当小车置于无线遥控时,小车主要是通过无线模块进行控制。通过手上的控制键,当一个控制键被按下,产生低电平,当手中的单片机检测到低电平发出通过无线模块发送相应信号,这时小车上的无线模块接受到信号,通过小车上的ATmeta16识别信号,对电机模块产生相应的信号,从而对电机产生控制,达到相应的控制。

2)蔽障时,这时小车当处于自动运行状态时,通过红外线检车小车前方是否有障碍物,当遇到障碍物,红外开关检测到,产生相应信号,告诉单片机,有单片机根据相应程序算法判断转向,同时告诉电机模块,产生相应信号,从而控制电机转速,产生相应的状态。

3)电源模块只负责给各个部分供电。

5硬件设计

一、电源转换模块

电池供电电压为7.4V,需要的电压为5V3.3v,分别使用了常用的5V稳压芯片7805和常用的3.3V稳压芯片ASM1117

7805的最大输出电流为1.5A,远远超过系统所需的电流,且只需接两个电容即可稳定工作,在系统工作时,7805上的压降为2.4V系统最大的大流不超过400MA7805上的功耗不超过1W故省略了散热器,节省了整车的空间。

AMS1117仅为低功耗的MSP430供电,可以十分宽松的为其供电,保证其正常工作。本次小车设计中,使用的就是这样是一个电压转换模块。

二、电机驱动模块

电路图如下:

L298N能够提供高达2A的电流,能够满足本系统中电机的功耗,图中D1~D8使用1N4001,作用是防止电机中因电磁感应产生的电流倒灌,烧坏L298N,图中6脚和11脚位使能端,当输入高时,输入脚5,7,10,12才对输出脚2,3,13,14有控制作用,其中5脚、7脚和10脚、12脚分别可以控制电机BA的正转、反转和停止,逻辑功能如下表:

三、无线通信模块

小车中的无线遥控使用的是无线串口XL02-232AP1XL02-232AP1UART接口半双工无线传输模块,可以工作在433MHz公用频段。它可以用于点对点通信,使用简单,在对串口的编程时,只要记住其为半双工通信方式,时刻注意收发的来回时序就可以了。XL02-232AP1模块正常工作时默认在数据接收状态。

性能参数

300米传输距离

工作频率在428.8435.1MHz,(默认433.92MHZ

可设置ID:范围065535,默认ID:12345

串口速率1.2K---115.2KBPS. (默认9.6KBPS)

数据格式8N1

方便快捷的参数设置

XL02-232接单片机示意图:

电源的使用:

XL02-232AP1无线透明传输模块使用的是直流电源,工作电压为+5V,最大工作电流不超过60mA,电源可以和别的设备公用,但要注意电源的质量和接地的可靠性,如可以的话尽量不要用开关电源,用纹波系数小的线性电源,如必须用的

请注意开关电源的开关频率不要对模块产生干扰,为防止静电或强电击穿,在系统设备中使用时,需要可靠的接地。

四、红外传感器模块

在避障模块中使用的是红外传感器E18-D80NK E18-D80NK 是一种集发射与接收于一体的光电传感器,发射光经过调制后发出,接收头对反射光进行解调输出。有效的避免了可见光的干扰。透镜的使用,也使得这款传感器最远可以检测80厘米距离的问题(由于红外光的特性,不同颜色的物体,能探测的最大距离也有不同;白色物体最远,黑色物体最近)。

检测障碍物的距离可以根据要求通过尾部的电位器旋钮进行调节。

技术参数:

1、输出电流 DC/SCR/继电器 Control output100mA/5V供电

2、消耗电流 DC<25mA

3、响应时间 <2ms

4、指向角:≤15°,有效距离3-80CM可调

5、检测物体:透明或不透明体

6、工作环境温度:-25~+55

7、标准检测物体:太阳光10000LX以下 白炽灯3000LX以下

8、外壳材料:塑料

传感器内部原理图

五、超声波测距模块

超声波传感器是用来测量物体的距离。首先,超声波传感器会发射一组高频声波,一般为40-45KHz,当声波遇到物体后,就会被反弹回,并被接受到。通过计算声波从发射到返回的时间,再乘以声波在媒介中的传播速度(344m/s空气)。就可以获得物体相对于传感器的距离值了。即D=c*t/2,其中D为传感器与被测障碍物之间的距离,c为声波在介质中的传输速率。

小车采用ATMEGA16来实现对polaroid600系列传感器和polaroid6500系列超声波距离模块的控制。单片机通过p1.0引脚经反相器来控制超声波的发送,然后单片机不停的检测int0 引脚,当int0 引脚的电平由高电平变为低电平时就认为超声波已经返回。计数器所计的数据就是超声波所经历的时间,通过换算就可以得到传感器与障碍物之间的距离。

超声波测距的硬件示意图如下图:

系统程序流程图:

工作时,微处理器ATMEGA16先把p1.00,启动超声波传感器发射超声波,同时启动内部定时器t0开始计时。由于我们采用的超声波传感器是收发一体的,所以在发送完16个脉冲后超声波传感器还有余震,为了从返回信号识别消除超声波传感器的发送信号,要检测返回信号必须在启动发射信号后2.38ms才可以检测,这样就可以抑制输出得干扰。当超声波信号碰到障碍物时信号立刻返回,微处理器不停的扫描int0 引脚,如果int0 接收的信号由高电平变为低电平,此时表明信号已经返回,微处理器进入中断关闭定时器。再把定时器中的数据经过换算就可以得出超声波传感器与障碍物之间的距离。

六、最小系统模块

小车在设计过程中,一共用了3个最小系统模块,一个用于遥控器,另外两个供小车上各个模块的使用。

七、附加功能部分

1)音乐

2)液晶显示

3)变速调节

4)流水灯

(5) 风扇

音乐

我们用的是单片机MCU3P36端口的控制蜂鸣器,其原理大概如下:

首先要让单片机出一定频率的波形(理论上最好是正弦波,实际上用方波也能凑合),因为音符的差别就是频率的差别,网上有音符频率对照表,可以参考。

这里我们在晚上找到相依的两首歌曲(新年好和两只老虎),再做微修改下,大部分的程序数组已经写好,我们主要控制何时播放,程序其实已经写好,但实现时用到单片机之间相互通信,实现过程中刚开始还行,随着程序的复杂,这部分功能也遇到了一些小问题,所以就没演示。

液晶显示

这里应用了1602液晶作为显示屏,由单片机MCU3PB作为数据口,PD4PD5PD6分别作为控制口

在程序上模块化,运用写指令void write_com(uchar com),写数据void write_dat(uchar dat) ,初始化void init_1602(),显示数字void write_num(uint x)四个子函数,在将来的调用上极大的方便了显示过程。

变速调节

这里我们使用的是功能键0x08进行控制有两个LDE小灯作为指示,小车速度有个最大值,有个最小值,在调节过程中是循环的,他会由最大速度变到最小速度,当达到最小速度又返回到最大速度,这时两个LED小灯同时亮。通过按键控制变量speed,每次按动speed时其值做相应的增加如speed+=20,又通过speed来控制电机PWM波的产生频率,从而达到控制速度。

流水灯

首先要说明一点的是流水灯是独立小车的一个其他功能,它是4*4点阵式16LED灯组成,由八个输出端口控制,这里我们使用单片机receivePC口进行控制,其实原理很简单,只要低四位端口有输出高电平,高四位有输出低电平,就会有相应的LED灯亮。

风扇

设计灵感来自于是进行电源模块的散热而,其实原理就是控制电机使其转动,电路图有一个三极管放大电路,通过按键进行控制风扇的开关,相对应的端口是单片机receivePB0口控制

八、硬件电路图

1 单片机send电路图和接口:

包括ATMEGA16最小系统,无线发送模块,八个独立按键。

2单片机receive电路图和接口:

包括ATMEGA16最小系统,无线接受模块,红外对管,小车电机模块,一个电机,点阵流水灯,电源模块。

2单片机MU3电路图和接口:

包括ATMEGA16最小系统,超声波,1602液晶,蜂鸣器。

七、小车硬件展示

遥控器:

小车车体部分:

5软件设计

系统软件设计说明

再进行微机控制系统设计时,除了系统硬件设计外,大量的工作就是如何根据每个生产对象的实际需要设计应用程序。因此,软件设计在微机控制系统设计中占重要地位。对于本系统,软件更为重要。

为了完成上述任务,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实际上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法。

模块程序设计法的主要优点是:

1、 单个模块比起一个完整的程序易编写及调用;

2、 模块可以共存,一个模块可以被多个任务在不同条件下调用;

3、 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。

本系统软件采用模块化结构,有主程序、避障子程序、无线串口子程序、调速子程序、超声波子程序构成。

主程序流程图:

部分主函数:

单片机receive

void main()

{

// init_1602();

NUM=0;

uchar i;

RFLAG=1; //初始化开发板

Uart_init(9600); //初始化串口,设置波特率

while(1)

{

DDRB&=~BIT(5);

PORTB&=~BIT(5);

DDRB&=~BIT(6);

if(RFLAG) //如果接收到新的数据

{

RFLAG=1; //清收到新数据标志位

NUM=0; //数组下标变量归零

}

LED_R_OFF;

LED_L_OFF;

}

}

单片机MCU3主函数

int main()

{

DDRD|=BIT(0);////////////////JIAN PAN

PORTD|=BIT(0);

DDRA&=~BIT(0);

PORTA&=~BIT(0);

DDRA&=~BIT(6);//对音乐的设置

DDRA&=~BIT(1);

DDRA&=~BIT(2);

DDRA&=~BIT(4);

volatile long S1=0;

init_1602();

DDRC|=0X30;

write_word();

init_1602();

while(1)

{

Delayms(100);

S1=chaoshengbo();

write_num(S1);

if(S1<150){fengmi(80);}//随距离可变化报警声

// if(S1<100){DDRA|=BIT(4);PORTA|=BIT(4);}//发送PA1信号

if(PA1_PRESS){fengmi(500);}

}

}

部分子模块流程图如下

1 无线模块流程图:

2避障程序流程图:

3超声波测距流程图:

工作分工(具体分配与合作):

这次电子设计的工作主要是包括了两个方面:硬件和软件。

(一) 硬件:包括了小车整体框架的设计和安装,这个部分主要由我们三个人共同完成。然后再具体到电路板的焊接,小车双核最小系统板、电源转换电路等是由***焊制,发射系统的最小系统和键盘等开关电路由***焊制,流水灯、液晶、蜂鸣器、开关等电路由***焊制。

(二) 软件:程序代码还是非常庞大的,然后大致分工如下:无线模块及小车智能壁障、散热电扇等部分由***编写;超声波测距模块和音乐程序、液晶显示、报警模式等由***编写;小车电机、流水灯、减速控制、按键发射模块等程序由***编写。

心得体会(***)

首先,很感谢这次电子设计课程,不仅让我学习到了很多东西,也让我完成了童年时的小小的愿望——拥有一辆无线的遥控小车。小时候看到这种无线车就觉得好新奇,多想拥有一辆。在读大学后,随着专业课的学习以及参加一些机器人比赛后,我渐渐有了想做一辆遥控车的愿望。然后,正好这次电子设计吧,我们终于有机会来制作这样一辆小车了

然后,先说一下这次电子设计的大致制作流程:

1. 我们确定了大致要完成小车的几大功能,比如无线遥控,调速,小车行进,超声波测距,红外感应,液晶显示等等。

2. 确定可行性,三个人详细讨论,结合制作时间和资金等个方面,觉得是可行的,然后说干就干呗。

3. 收集和购买材料,包括无线模块,红外模块,其他材料都是以前使用过的。

4. 电路焊制,从最小系统到各种电路都由我们亲自焊接。

5. 编写程序,这是最辛苦最复杂最有含金量的工作,大致从3月初开始我们每天晚上自习后回到寝室,利用晚上的时间开始编写程序,期间三个人不停地讨论与论证,轮流编写程序、调试程序。随着一个个难题不断的被攻克,我们最终找到了胜利。

当然,说起成功我更想提一下我们碰到的一些最头痛的问题:

问题一:电源干扰,这是一开始困扰我最大的问题,由于电路连接中包括了小车的减速电机和风扇的直流电机,当它们开始工作时会使系统中的电流发生变化,从而影响到了单片机的工作,具体表现就是单片机引脚的胡乱输出。再困扰了多天之后,反复测试终于找到了问题,然后解决办法是为最小系统设置了独立的电源(三节南孚电池),这就避免了干扰。

问题二:系统的稳定,这正好是后期快完成时的问题,因为程序较多,涉及的模块也较多,单片机总是会发生死机现象,表现的不够稳定。解决办法:也没有彻底弄明白是怎么回事,应该还是程序问题,后来优化了程序这种现象就变少了。

问题三:无线模块的调试,应该说无线模块是这个作品的灵魂,在一开始我们采用的是NRF24L01无线模块,效果很不理想,时断时续。后来果断决定换成XL02-232AP1无线模块效果很好。

问题四:小车的电机,这小车最大的缺陷,由于电机的质量很差导致小车走的直线不是很直,而且速度也很慢,这是这次电子设计的一个败笔吧。

最后,我想谈谈我的收获。这次电子设计我感觉收获很多,除了纯技术方面,还有更加深刻的一点,就是团队合作的重要性。怎样让我们每一个人都参加到我们的工作中来,怎样发挥每一个人的优点,这都是很重要的。以前的一些比赛我们就没有很好的解决这些问题,所以就有了一些人特别悠闲,一些人非常忙。在吸取了以前的教训后,这次的电子设计我们就处理的非常好,三个人的分工都比较明确,而且在遇到问题时大家都能一起讨论一起解决。所以,即使工作也比较累,但是大家还都是比较开心的。

这就是我的心得体会,最后祝老师身体健康。

无线智能遥控小车--电子设计实验报告

相关推荐