电子产品策划与设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
摘要 (Ⅰ)
Abstract (Ⅱ)
第一章系统框架及软硬件结构设计 (3)
1.1 系统要求 (3)
1.2 系统整体算法流程 (3)
2.3 总体任务设计 (4)
2.4 整体硬件结构设计 (5)
2.5 整体软件结构设计 (6)
第二章模块的详细设计 (7)
3.1 L293D电机驱动模块 (7)
3.1.1模块介绍 (7)
3.1.2 PWM脉冲控制原理 (8)
3.1.3 脉冲控制代码 (8)
3.2 HC-06蓝牙模块 (9)
3.2.1 模块简介 (9)
3.2.2 蓝牙串口程序说明 (9)
3.2.3 模块引脚说明 (11)
3.3 DS18B20温度传感器 (12)
3.4 USB转TTL模块 (15)
1
第四章系统功能设计与实现 (17)
4.1 安卓手机蓝牙遥控的设计与实现 (17)
4.1.1 设计基本思路 (17)
4.1.2 遥控任务分配 (18)
4.2.3 蓝牙遥控操作流程 (18)
第五章软硬件调试 (20)
5.1 硬件调试 (20)
5.2 软件调试 (21)
第六章总结 (21)
附录程序清单 (23)
第一章系统框架及软硬件结构设计
1.1 系统要求
在综合考量了单片机的使用性能、成本和时间等问题,本次课题主要旨在实现以下性能指标:
1)根据系统设计要求完善整体电路的设计;
2)完成底层运动系统的搭建,保证电机能够正常行进;
3)对DS18B20进行研究并编程实现温度的采集;
4)完成蓝牙手机的连接,并实现数据的传输;
5)完成手机遥控功能,通过手机控制底层单片机的工作方式。
整体的系统采用PCB加硬件模块的设计方式,通过自己的设计和搭建,完成底层硬件系统的搭载,再通过上层安卓手机APP遥控,通过无线蓝牙通信协议,实现模拟控制系统能够遵从指令实现在遥控的指令下完成相应的操作,整体电路图如图所示
图2-1 系统整体电路设计
1.2 系统整体算法流程
整个系统的算法结构具体流程如图2-1所示。
3
图2-2 系统整体算法流程图
2.3 总体任务设计
小车总体任务分配如下图2-2所示。
表2-3 小车任务分配
2.4 整体硬件结构设计
单片机模拟控制系统整体硬件结构以89C51单片机为中心主要分为以下几个部分:
1)运动结构,即电机模块是整个系统的基础,通过对电机性能参数的测定对电机进行定向、控速;
2)供电结构,采用分压式供电。由于各,模块对电压的要求不同,所以需要通过分压以适应不同模块对电压的需求。其中电机需要7v电压的供应,而单片机、传感器、蓝牙等模块则需要较低一点的电压5v供电;
3)无线通信结构,通过对蓝牙模块与单片机通信电路的设计与单片机串口功能的调试,做到控制系统与手机的无线通信。
控制系统实物图如下图2-3所示。
图2-3 控制系统实物图
5
2.5 整体软件结构设计
当启动电源系统初始化完成后,控制系统进入等待的任务模式,等待上层安卓终端手机的APP客户端发送任务指令。控制系统接收到上层手机发送的指令行进相应的程序指令的执行,如反馈温度,电机转向的控制等。
第二章模块的详细设计
3.1 L293D电机驱动模块
3.1.1模块介绍
L293D采用16引脚DIP封装,其内部集成了双极型H-桥电路,所有的开量都做成n型。这种双极型脉冲调宽方式具有很多优点,如电流连续;电机可四角限运行;电机停止时有微振电流,起到“动力润滑”作用,消除正反向时的静摩擦死区:低速平稳性好等。L293D通过内部逻辑生成使能信号。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM)。另外,L293D 将2个H-桥电路集成到1片芯片上,这就意味着用1片芯片可以同时控制2个电机。每1个电机需要3个控制信号EN12、IN1、IN2,其中EN12是使能信号,IN1、IN2为电机转动方向控制信号,IN1、IN2分别为1,0时,电机正转,反之,电机反转。选用一路PWM连接EN12引脚,通过调整PWM的占空比可以调整电机的转速。选择一路I/O口,经反向器74HC14分别接IN1和IN2引脚,控制电机的正反转。实物图如下图3-1所示。
图3-1 模块实物图
7
3.1.2 PWM脉冲控制原理
所谓PWM就是脉宽调制器,通过调制器给电机提供一个具有一定频率的脉冲宽度可调的脉冲电。脉冲宽度越大即占空比越大,提供给电机的平均电压越大,电机转速就高。反之脉冲宽度越小,则占空比越越小。提供给电机的平均电压越小,电机转速就低。
PWM不管是高电平还是低电平时电机都是转动的,电机的转速取决于平均电压。平均电压越大,电机的转速加快,平均电压越小,电机的转速降低。
3.1.3 脉冲控制代码
void T0_time() interrupt 1 //定时器1中断程序
{
TH0 = (65536 - 50) / 256;
TL0 = (65536 - 50) % 256;
PWMCnt1++;
if(PWMCnt1 >= 200)
{
PWMCnt1 = 0;
}
if(PWMCnt1 <= cntPWM1) //230
{
PWM1 = 1;
}
else
{