燕山大学
课程设计说明书题目:蓝牙智能小车
学院(系):电气工程学院
年级专业:10级过控2班
学号:
学生姓名:
指导教师:
目录
摘要 (4)
第一章智能蓝牙小车简介 (5)
第二章系统硬件设计 (5)
第三章系统软件设计 (8)
第四章心得与体会 (14)
参考资料 (15)
摘要
本文的主要工作是基于STM32蓝牙智能小车的设计,随着越来越多的高科技产品逐渐融入了日常生活中,步进电机控制系统发生了巨大的变化。单片机、C语言等前言学科的技术日趋成熟与实用化,使得步进电机的控制系统有了新的研究方向与意义。本文描述了一个由STM32微处理器、步进电机、键盘等模块构成的,提供基于STM32的PWM细分技术的步进电机控制系统。该系统采用STM32微处理器为核心,在MDK环境下进行编程,根据键盘的输入,使STM32产生周期性的PWM信号,用此信号对步进电机的速度及转动方向进行控制。结果表明该系统具有结构简单、工作可靠、精度高等特点。
关键词:STM32微处理器;蓝牙智能小车;PWM信号;细分技术
第一章蓝牙智能小车简介
机器人可以分为三部分——传感器部分、控制器部分、执行器部分。
控制器部分:接收传感器部分传递过来的信号,并根据事前写入的决策系统(软件程序),来决定机器人对外部信号的反应,将控制信号发给执行器部分。好比人的大脑。
执行器部分:驱动机器人做出各种行为,包括发出各种信号(点亮发光二极管、发出声音)的部分,并且可以根据控制器部分的信号调整自己的状态。对机器人小车来说,最基本的就是轮子。这部分就好比人的四肢一样。
传感器部分:机器人用来读取各种外部信号的传感器,以及控制机器人行动的各种开关。好比人的眼睛、耳朵等感觉器官。
无线部分:用蓝牙从机的TTL接口接收信号反馈给单片机,还可以通过电脑的无线局域网网卡来控制路由器的TTL串口来控制单片机的状态。由于蓝牙模块容易得到且接口方便,电压可以用+5V控制,携带方便,便于在小车上安装。
电机驱动:电机驱动需要大电流,较高的电压,考虑到单片机的负载能力,用L298N驱动模块来驱动电机,单片机输出逻辑信号控制L298N模块输出正反向电压,由此控制电机的正反转。
第二章系统硬件设计
1.小车底盘
小车底盘是机器人最重要的载体,相当于人体的驱干,ZK-4WD 小车平台采用差速转弯非常灵活可以实现原地打转。小车平台大小刚好,可以承载一些如驱动器,控制器,电池,传感器等。
2.驱动器
小车直流电机工作电流一般是200-400MA 有些更大,如果一个小车是二个轮子,那么总的电流在400-800MA 左右,这些电机轮子都是要接受单片机指令执行相应的动作,而市面有的单片机IO 口一般只能提供5MA 到10MA 的电流,直接驱动不了电机,所以需要搞一个驱动模块。放大电流。
驱动采用专业的L298N,L293D 驱动芯片。
3.控制器
STM32单片机控制器:这款控制器主控芯片是STC89C52 属标准的51 核的单片机,也可以用增强型51 单片机芯片,STC12C5A60S2 内带PWM,AD ,1T 运行速度(主流),集成USB转串可以直接用USB 下载程序。集成数码管,舵机,红外避障,12864,1602,无线模块,等接口,板载输入按键。控制板休积小,非常适用于小车。在不用的时候可作用学习板使用。
4.小车所需的能源
可以用普通的AA5 号电池,但一般采用低内阻的充电电池,充电电池
套装。
5.蓝牙无线传感器
可以用Android 智能手机控制小车运行(我们有配套的Android 软
件),Android 手机用内置蓝牙与蓝牙无线模块配对,发出指令,蓝牙无线
模块接收其指令。当单片机接收到蓝牙无线模块传来的指令,执行相应解码动作,从而控制小车。
第三章系统软件设计
一、所包含的头文件:
#include "stm32f10x.h"
#include "usart1.h"
#include "timer4.h"
#include "adc1.h"
#include "key.h"
二、外设的初始化和设置
本节按步骤描述了如何初始化和设置任意外设。这里PPP代表任意外设。
1、在主应用文件中,声明一个结构PPP_InitTypeDef,例如:
PPP_InitTypeDef PPP_InitStructure;
这里PPP_InitStructure是一个位于内存中的工作变量,用来初始化一个或者多个外设PPP。
2、为变量PPP_InitStructure的各个结构成员填入允许的值。可以采用以下2种方式:
a)按照如下程序设置整个结构体
PPP_InitStructure.member1 = val1;
PPP_InitStructure.member2 = val2;
PPP_InitStructure.memberN = valN;
/* where N is the number of the structure members */
以上步骤可以合并在同一行里,用以优化代码大小:
PPP_InitTypeDef PPP_InitStructure = { val1, val2,.., valN}
b)仅设置结构体中的部分成员:这种情况下,用户应当首先调用函数PPP_SturcInit(..)来初始化变量PPP_InitStructure,然后再修改其中需要修改的成员。这样可以保证其他成员的值(多为缺省值)被正确填入。PPP_StructInit(&PPP_InitStructure);
PP_InitStructure.memberX = valX;
PPP_InitStructure.memberY = valY;
/*where X and Y are the members the user wants to configure*/
3.调用函数PPP_Init(..)来初始化外设PPP。
4.在这一步,外设PPP已被初始化。可以调用函数PPP_Cmd(..)来使能之。PPP_Cmd(PPP, ENABLE);
可以通过调用一系列函数来使用外设。每个外设都拥有各自的功能函数。更多细节参阅Section3 外设固件概述。
注:1. 在设置一个外设前,必须调用以下一个函数来使能它的时钟:RCC_AHBPeriphClockCmd(RCC_AHBPeriph_PPPx,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_PPPx,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PPPx, ENABLE);
2.可以调用函数PPP_Deinit(..)来把外设PPP的所有寄存器复位为缺省值:PPP_DeInit(PPP)
3.在外设设置完成以后,继续修改它的一些参数,可以参照如下步骤:PPP_InitStucture.memberX = valX;
PPP_InitStructure.memberY = valY; /* where X and Y are the only members that user wants to modify*/
PPP_Init(PPP, &PPP_InitStructure);
1)此次课设中GPIO的配置
void STEPMotor_GPIO_Config(void )
{
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 |GPIO_Pin_1|GPIO_Pin_12 |GPIO_Pin_13;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStruct);
}
选用端口为PB的PB0, PB1, PB12, PB13。
频率为50MHz,
输出模式为推挽输出。
2)主程序
#include"stm32f10x.h" //头文件
void GPIO_Config(void);//声明函数
void Usart_Config(void);//声明函数
void delay(uint16_t z);//声明函数
void NVIC_Config(void);//声明函数
u8 Receive;
int main()
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB 2Periph_GPIOA
|RCC_APB2Periph_GPIOB
|RCC_APB2Periph_AFIO|RCC_APB2Periph_USART1,ENABLE ); //打开相应的时钟使能
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4,ENABLE ); //打开TIM4的时钟使能
GPIO_Config();//调用函数
Usart_Config();//调用函数
GPIO_Config();//调用函数
NVIC_Config();//调用函数
while(1)
{
}
}
void delay(uint16_t z) //延时函数
{
uint16_t i=0;
while(z--)
{
for(i=0;i<1000;i++); //1毫秒
}
}
void Usart_Config(void) //设置串口
{
USART_InitTypeDef USART_InitStruct; //声明结构体
USART_https://www.sodocs.net/doc/c48578244.html,ART_BaudRate=9600;//给结构体赋值
USART_https://www.sodocs.net/doc/c48578244.html,ART_WordLength=USART_WordLength_8b;
USART_https://www.sodocs.net/doc/c48578244.html,ART_StopBits=USART_StopBits_1;
USART_https://www.sodocs.net/doc/c48578244.html,ART_Parity=USART_Parity_No;
USART_https://www.sodocs.net/doc/c48578244.html,ART_Mode=USART_Mode_Rx|USART_Mode _Tx;
USART_https://www.sodocs.net/doc/c48578244.html,ART_HardwareFlowControl=USART_Hardwar eFlowControl_None;
USART_Init(USART1,&USART_InitStruct); //初始化
USART_Cmd(USART1, ENABLE); //使能
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//中断
}
void GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPI O_Pin_9;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOB, &GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_All;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOC, &GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_All;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_Init(GPIOD, &GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStruct);
}
void NVIC_Config(void) //设置中断
{
NVIC_InitTypeDef NVIC_InitStruct;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitStruct.NVIC_IRQChannel=USART1_IRQn;
NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0;
NVIC_InitStruct.NVIC_IRQChannelSubPriority=1;
NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(& NVIC_InitStruct);
}
中断it.c里面的程序
void SysTick_Handler(void)
{
}
uint8_t dat = 0;
uint8_t flag = 0;
void USART1_IRQHandler(void)
{
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
dat=USART_ReceiveData(USART1);
if((dat == 'O')&&(flag == 0))
{
flag++;
}
if((dat == 'N')&&(flag == 1))
{
flag++;
}
if(flag == 2)
{
switch(dat)
{
case 'A':GPIO_Write(GPIOD,0XAA00); break;//实现前进后退等四个方向.前进
case 'B':GPIO_Write(GPIOD,0X5500); break;//后退
case 'C':GPIO_Write(GPIOD,0X8800); break;//左转
case 'D':GPIO_Write(GPIOD,0X2200); break;//右转
case 'F':GPIO_Write(GPIOD,0x0000); break;////停止
default:break;/////灯翻转
}
flag = 0;
}
}
第四章心得与体会
为期一周的创新学分训练马上就要结束了,此次实训我做的题目是蓝牙智能小车。简单地说就是通过STM32微控制器通过蓝牙控制小车运动。
实现这个功能主要是通过编写单片机程序然后传送到STM32芯片中,控制电机的运动。所以此次实训的主要目的就是编写程序然后调试程序。
刚开始的时候,老师就带着我们熟悉编程序的软件,并且告诉我们一定要养成良好的代码风格,并且让我们熟悉掌握外设的初始化和设置,这个是编写程序的基础吧,如果不按照外设初始化和设置的步骤来编写程序,程序就无法正常运行,就算运行了也无法实现正确的功能,所以对于我这个初学者来说,这是很好的经历,可以在调试程序或者是修改程序的时候少走弯路。老师给我们讲解了流水灯,中断,串口等等程序之后,我对编写程序也比较熟练了,然后就是自己把程序下载到单片机上,让小车去寻迹,根据小车出现的问题去改变参数,调试程序,最后让小车可以稳定的运行。在硬件系统设计成功的前提下,通过分析步进电机的工作特点及STM32产生PWM信号的原理,系统通过不断调整控制各步进电机的PWM信号的频率,实现了多步进电机在目标位置不同的情况下,能够同时启动、加速、高速、减速及制动的同步协调工作,达到了系统的要求。
此次课设基本要求实现了,并且锻炼了自己的动手能力,养成了良好的代码风格,对于STM32也有了一定的了解,可以编写一些简单的程序了,对于我来说这是很大的一个突破。在编写程序时,也学会了看参考手册,以及查找相应参数的方法。这次实训学到了不少东西,这和我自己的努力有关,这个更离不开老师们的细心指导和教学,在此感谢指导我一个月的两位学长,你们辛苦了,非常感谢。
基于单片机的红外遥控智能小车设计报告
毕业设计(论文)题目:基于单片机的红外遥控智能小车
西安邮电学院 毕业设计(论文)任务书 学生姓名指导教师职称工程师学院电子工程学院系部光电子技术 专业光电信息工程 题目基于单片机的红外遥控智能小车 任务与要求 任务:以51单片机为控制核心,实现具有自动避障、加速、减速等功能的红外遥控智能小车。 要求:1 搜集资料,熟悉单片机开发流程;熟悉红外传感器等相关器件; 掌握单片机接口和外围电路应用;具备一定的单片机开发经 验。 2 学会电路设计、仿真等相关软件的使用; 3 具备一定的硬件调试技能。 4 学会查阅资料; 5 学会撰写科技论文。 开始日期2010年3月22日完成日期2010年6月27日主管院长(签字) 年月日
西安邮电学院 毕业设计 (论文) 工作计划 学生姓名赵美英指导教师崔利平职称工程师学院电子工程学院系部光电子技术 专业光电信息工程 题目基于单片机的红外遥控智能小车 工作进程
主要参考书目(资料) 1、何立民,单片机应用系统设计,北京:航天航空大学出版社; 2、李广弟,单片机基础,北京:北京航空航天大学出版社,2001; 3、何立民,MCS-51系列单片机应用系统设计系统配置与接口技术,北 京航空航天大学出版社,1990.01; 4、赵负图,传感器集成电路手册,第一版,化学工业出版社,2004; 5、Atmel.AT89S51数据手册.https://www.sodocs.net/doc/c48578244.html, 主要仪器设备及材料 1.普通计算机一台,单片机开发环境; 2.电路安装与调试用相关仪器和工具。 (如示波器、万用表、电烙铁、镊子、钳子等)。 论文(设计)过程中教师的指导安排 每周四进行交流与总结;其余时间灵活安排,及时解决学生问题。 对计划的说明 依学生实际情况,适当调整工作进度。
上次成功实现了通过笔记本电脑蓝牙来控制智能小车机器人的运动,但是通过电脑控制毕竟不方便,于是乎~本人打算将控制程序移植到手机上。 目前主流的手机操作系统有塞班、安卓(Android)、Windows Mobile,对比了一下,首先,塞班是用C++写的,这么多门语言我唯独看到C++就头大···,放弃了···,Windows Moblie 其实和之前发的电脑端程序基本是一样的,也就没什么意思了,最后决定选择目前正火的Android手机作为控制平台。 Android是个开源的应用,使用Java语言对其编程。于是这次的开发我选用Eclipse作为开发工具,用Java语言开发手机端的控制程序,由于之前对Android的蓝牙通信这块涉及不多,一开始感觉有点小茫然,而网上也少有这方面的例程,有少数人做出了类似的东西,但是只传了个视频装X!雪特···· 经过几天的研究,最终确定了手机蓝牙通信其实就是Socket编程,再经过一番编写和调试,昨晚终于大功告成! 这是视频: 下面开始介绍Android手机端控制程序的编写: 首先打开Eclipse,当然之前的Java开发环境和安卓开发工具自己得先配置好,这里就不多说了,网上教程一大摞。 然后新建一个Android项目,修改布局文件main.xml,代码如下:
成绩评定表
课程设计任务书
阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块HC-05作为服务端。客户端采用Eclipse 开发环境,J2ME编程,服务端采用单片机控制。双方通过串口仿真协议进行通信,单片机驱动直流电机控制小车行动。实验结果表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 关键词:89c52,hc-05,遥控小车,Andriod
目录 1引言 (1) 1.1课题设计目的及意义 (1) 1.1.1设计的目的 (1) 1.1.2设计的意义 (2) 2 方案比较与论证 (2) 2.1无线单元方案与比较 (2) 3 硬件电路设计 (4) 3.1 总体设计 (4) 3.2 单片机模块 (5) 3.2.1 STC89C52简介 (5) 3.2.2 L298N驱动模块及原理介绍 (6) 3.2.3 蓝牙模块 (7) 4 软件设计 (8) 4.1 智能车运动控制程序 (8) 4.2 Android蓝牙客户端设计与实现 (9) 4.2.1 客户端界面设计 (10)
4.2.2 BluetoothCar类设计 (10) 4.2.3 单片机C语言代码 (10) 5 实验结果及分析 (16) 6 心得体会 (17) 参考文献 (17)
1引言 1.1课题设计目的及意义 1.1.1设计的目的 遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势。我国的无线遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的重点支持下,国内已大范围地进行无线遥控小车的研究。在研发应用方面取得了重要发展,但是与国际先进还存在一定的差距。无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势。目前在信息家电方面应用正在铺。遥控小车起源于美国,由于政府对无线遥控小车研发的资助以及相关资助的推动作用,日本、美国、德国等工业大国在遥控小车技术上占据着明显优势。我国的无线遥控小车研究工作始于20世纪中后期,在国家的863、973等技术发展计划的重点支持下,国内已大范围地进行无线遥控小车的研究。在研发应用方面取得了重要发展,但是与国际先进还存在一定的差距。无线遥控实现方法包括蓝牙、红外、射频几种,其中蓝牙技术具有一定优势。目前在信息家电方面应用正在铺开。各种家电共用遥控,并可组网与公众互联网相接,共享有用信息。目前蓝牙技术实现无线遥控的短板在于传输距离短和芯片
本科毕业设计(论文)基于单片机的智能小车控制 专业:测控技术与仪器 姓名:咸蛋小超人 2013年 6 月
基于单片机的智能小车控制 摘要:智能化作为现代电子产品的新趋势,是今后的电子产业的发展方向。智能化设计的电子产品可以按照预先设定的模式在一个环境里自动运作,不需要人为的管理,可应用于科学勘探、环境监测、智能家居等方面。基于单片机的智能小车控制就是其中的一个体现。本设计实现了一种基于51单片机的自动避障智能模型车系统,通过红外传感器采集路况信息,通过对检测信息的分析,自动控制转向电机转向,改变行驶路径,绕过障碍物,从而实现车稳定避障。 本课题设计的智能小车,具有自动避障功能,超声波测距报警,无线电遥控等功能。 关键词:智能车;51单片机;避障;红外线 Smart car based on SCM control Abstract:As a new trend of modern electronic products, intelligent is the developmental direction of electronic industry after then. Electronic products, which are intelligently designed, can automatically operate following the mode that is pre-set. Without the management of human beings, it can be used for scientific exploring, environmental monitoring, intelligent home furnishing, etc. One of the embodiments is the intelligent control car which is based on single chip microcomputer. In the design, an intelligent model car system based on MCU 51 has been realized. It can collect traffic information with infrared sensors. Meanwhile, by the analysis of information examined, it can transfer from automatic control to motor steering in order to change the route and dodge the obstacles so that the steady avoidance of the barrier can come true. In this paper, a car with the ability of intelligent judgment has been designed and made. It functions as the device which can dodge obstacles automatically, alarm with ultrasonic distance examination, and remote control by radio. Key words: Smart Cart;Single-chip 51;Obstacle Avoidance;Infrared
序号: 4 编码:甲4B02704B 第十一届“挑战杯” 河南省大学生课外学术科技作品竞赛 作品申报书 作品名称:基于单片机的智能小车的设计与制作 学校全称:平顶山学院 个人申报者姓名 (集体名称):闫翔 指导老师姓名:王艳辉 类别: □自然科学类学术论文 □哲学社会科学类社会调查报告和学术论文 □科技制作 小发明创造
基于单片机的智能小车的设计与制作 摘要:随着电子技术、计算机技术和制造技术的飞速发展,智能技术必将迎来它的发展新时代,我们想如果能将其运用到煤矿勘测,环境信息采集等方面,将会更好地满足人们的需求。因此,我们设计了这款智能小车。该设计采用STC89C52单片机为控制核心,采用驱动芯片 L298N构成双H桥控制直流电机,利用传感器检测道路上的障碍,控制电动小汽车的自动避障,快慢速行驶,自动寻迹和寻光等功能。在软件设计方面,则分为三个模块,即数据采集模块,信号处理模块,控制器控制电机模块。其中软件系统采用C程序,整个系统的电路结构简单,容易实现,可靠性能高。此设计实现了小车的无人驾驶,通过对路面的检测,由单片机来判断控制小车,使其变得智能化,实现自动的前进,转弯,停止功能.此系统完善后可以应用到道路检测,安全巡逻中,同时,可以以此为基础,将其应用到生活或者工业制造中去,即增添我们的生活乐趣也提高了工业效率,最重要的是能降低工作中的危险性。 关键词:单片机;自动循迹;驱动电路
目录 1绪论 (4) 1.1本课题的研究的背景以及现实意义 (4) 1.2课题研究的目的和意义 (6) 1.3本设计的研究方向 (6) 2 方案设计 (7) 2.1小车车体的选用 (7) 2.2 主控芯片的选用 (7) 2.3 PWM调速系统的实现 (8) 2.4 系统原理图 (9) 3 系统的硬件设计 (11) 3.1单片机电路的设计 (11) 3.1.1单片机的功能特性描述 (11) 3.1.2晶振电路 (12) 3.1.3复位电路 (13) 3.2红外线循迹避障模块 (14) 3.2.1黑线循迹模块 (14) 3.2.2避障模块设计 (15) 3.3 声控模块 (16) 3.4 比较模块 (16) 3.5 测速模块和循光模块 (17) 3.6 电源模块 (18)
编号: 审定成绩: 毕业设计(论文) 设计(论文)题目:基于安卓手机蓝牙控制的智能小车设计 学院名称:自动化 学生姓名: 专业:测控技术与仪器 班级: 学号: 指导教师: 答辩组负责人: 填表时间:2013 年 05 月 制
摘要 随着物联网的兴起,Android手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝牙控制的智能小车设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线遥控小车新的解决方案。设计以手机控制平台、蓝牙通讯模块、电机驱动模块等硬件模块组成的遥控小车。实现小车的前进、后退、前左转弯、前右转弯、后左转弯、后右转弯等实时控制功能。为遥控玩具小车的设计提出了一种新的思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。 阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块HC-06作为服务端。客户端采用Eclipse开发环境,JAVA编程,服务端采用单片机控制。双方通过串口进行通信,单片机驱动直流电机控制小车行动。实验结果表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 本文介绍了基于安卓手机的蓝牙智能小车控制要实现的功能,接着阐述该系统电路的设计及原理的说明,包括了方案的设计、重要元器件的介绍、电路设计的说明(包括单片机控制电路、电机驱动电路)安卓手机软件界面设计、软件设计流程以及系统的调试。最后总结了基于安卓的蓝牙智能小车控制设计完成的任务,分析系统出现的不足。 【关键词】Andriod蓝牙智能小车智能手机AT89C52单片机
ABSTRACT With the rise of the Internet of Things, Android phones with its unique advantage of being open for us to provide more quality and convenient technological achievements. The research is based on the Android mobile phone Bluetooth controlled smart car design, based on mobile platforms, by means of Bluetooth technology, design and implementation of a wireless remote control car new solutions. Control platform designed for mobile phones, Bluetooth communication module, motor drive modules and other hardware modules remote control car. Realize the car forward, backward, turn left in front, front right turn after turn left, turn right after the other real-time control functions. For the remote control toy car design presents a new way of thinking, and can for the future smart home remote control designed to provide some reference value. Describes one kind of walking through the phone's Bluetooth remote control car software and hardware design. Bluetooth mobile phone as a client, a small car Bluetooth Module HC-06 as a server. Clients using the Eclipse development environment, JAVA programming, client services using micro-controller. The two sides communicate through the serial port, the microcontroller drive DC motor control car action. Experimental results show that the car can receive mobile phone remote control signals and the flexibility to move forward, backward, turn left, turn right and stop functions. Introduces the based on Andrews's the Bluetooth intelligent trolley control want to achieve the function is trolley be able to forward, backward, turn left, turn right, then expounded that the system circuit design and principle of description, including the program design, it is important components introduction, circuit design Description of (, including SCM control circuit, the motor drive circuit) Andrews mobile phone software interface design, software design flow as well as system debugging. Finally summed up the based on Andrews's the Bluetooth intelligent trolley control design is completed the task of, analysis system appear deficiencies. 【Key words】Andriod Bluetooth Intelligent car Smartphone AT89C52 SCM
智能小车设计
所谓智能系统,应该是在没有人为因素干预下,能够完全的或者部分的对外部刺激因素做出适当响应的系统。通常这种系统无论复杂还是简单,其硬件结构都可以分为传感、控制以及执行三个部分,好比人的各种感官、大脑以及四肢。下面就从这三个方面进行智能小车的设计,该小车具备自动循迹能力(非人为控制下按照指定路线行走),并且随着不同传感器的加入,能够完成更多的功能,比如壁障、走迷宫、寻光、通过电脑及手机等上位机控制等等。 一、控制部分: 图1 单片机最小系统原理图
图2 控制信号输入部分原理图
图3 控制部分电源输入开关 图4 显示接口 图5 DS18B20/1838一体化接口及ISP接口
该智能小车整个控制部分电路原理如以上5个图所示,可分为主控芯片最小系统、控制信号输入、电源以及各类接口四个部分。 1.主控芯片最小系统: 在本设计中所使用的主控芯片为51系列单片机,为保证其正常工作所必需的外围电路包括晶振电路、复位电路以及P0口上拉电阻。当然以上三个部分只能保证单片机正常运转,但若只是这样基本没有什么实际意义,根据不同的任务要求,需要让单片机在适当的引脚上连接相应的设备。这里结合智能小车所需的功能以及未来方便扩展的需要,除了设置4个3头插针连接红外光电开关、舵机(距离探测时会用到)以及给其他传感器供电外,还将单片机P0、P1、P2、P3口用排针引出,其中P1使用双排针,一排与8个LED灯相连,可在日后测试时方便观察信号变化。具体连接如图1所示。 2. 控制信号输入部分: 51系列单片机接收外部信号无非通过两个渠道,一个是其4个并行的I/O口,另一个就是其自带的串口,相较之下,串行口的拓展能力更强一些。如图2所示,在本设计中,利用单片机的I/O口设置了4个按键进行人机交互,同时在其串口上连接了一块USB/串口转换芯片PL2303。 PL2303: 是Prolific 公司生产的一种高度集成的RS232-USB 接口转换器,可提供一个RS232 全双工异步串行通信装置与USB 功能接口便利联接的解决方案。该器件内置USB 功能控制器、USB 收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容就可实现USB 信号与RS232 信号的转换,能够方便嵌入到各种设备,该器件作为USB/RS232 双向转换器,一方面从主机接收USB 数据并将其转换为RS232 信息流格式发送给外设;另一方面从RS232 外设接收数据转换为USB 数据格式传送回主机。这些工作全部由器件自动完成,开发者无需考虑固件设计。PL2303 的高兼容驱动可在大多操作系统上模拟成传统COM 端口,并允许基于COM 端口应用可方便地转换成USB 接口应用,通讯波特率高达 6 Mb/s。 该器件具有以下特征:完全兼容USB1.1 协议;可调节的3~5 V 输出电压,满足3V、3.3V 和5V 不同应用需求;支持完整的RS232 接口,可编程设置的波特率:75b/s~6 Mb/s,并为外部串行接口提供电源;512 字节可调的双向数据缓存;支持默认的ROM 和外部EEPROM 存储设备配置信息,具有I2C 总线接口,支持从外部MODEM信号远程唤醒;支持Windows98, Windows2000,WindowsXP 等操作系统;28 引脚的SOIC 封装。
实验五:树莓派平台-------按键控制小车启动实验 1、实验前准备 图1-1 树莓派主控板 图1-2 按键开关 2、实验目的 ssh服务登录树莓派系统之后,编译运行按键控制小车启动实验后,按下KEY 启动小车,小车会自动先前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,接着停止0.5s。 3、实验原理
按键消抖:通常我们的按键开关一般都是机械弹性开关,当机械触点断开,闭合时,由于机械触点的弹性作用,一个按键开关子在闭合时不会马上就能稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开时会伴随着一连串的抖动。 图3-1 按键抖动状态图 抖动时间一般都是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合后一次断开只响应一次,必须进行按键的消抖处理,有硬件消抖和软件消抖。 其中,软件消抖指的是检测出键闭合后执行一个延时程序,产生5ms~10ms 的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。 硬件消抖是在开关两段接一个0.1uf的电容。本次实验我们采取的是软件延时去抖。 4、实验步骤 4-1.看懂原理图
图4-1 树莓派主控板电路图 图4-2 按键
图4-3 树莓派40pin引脚对照表 4-2 由电路原理图可知按键是直接连接到主控板上的wiringPi编码的10口。我们设置10口为输入模式,并当按下按键时通过检测该引脚的电平状态,来判断按键是否被按下。 4-3 程序代码如下:
毕业设计(论文) 设计(论文)题目:基于安卓手机蓝牙控制的智能小车设计
摘要 随着物联网的兴起,Android手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝牙控制的智能小车设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线遥控小车新的解决方案。设计以手机控制平台、蓝牙通讯模块、电机驱动模块等硬件模块组成的遥控小车。实现小车的前进、后退、前左转弯、前右转弯、后左转弯、后右转弯等实时控制功能。为遥控玩具小车的设计提出了一种新的思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。 阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块HC-06作为服务端。客户端采用Eclipse开发环境,JAVA编程,服务端采用单片机控制。双方通过串口进行通信,单片机驱动直流电机控制小车行动。实验结果表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 本文介绍了基于安卓手机的蓝牙智能小车控制要实现的功能,接着阐述该系统电路的设计及原理的说明,包括了方案的设计、重要元器件的介绍、电路设计的说明(包括单片机控制电路、电机驱动电路)安卓手机软件界面设计、软件设计流程以及系统的调试。最后总结了基于安卓的蓝牙智能小车控制设计完成的任务,分析系统出现的不足。 【关键词】Andriod蓝牙智能小车智能手机AT89C52单片机
ABSTRACT With the rise of the Internet of Things, Android phones with its unique advantage of being open for us to provide more quality and convenient technological achievements. The research is based on the Android mobile phone Bluetooth controlled smart car design, based on mobile platforms, by means of Bluetooth technology, design and implementation of a wireless remote control car new solutions. Control platform designed for mobile phones, Bluetooth communication module, motor drive modules and other hardware modules remote control car. Realize the car forward, backward, turn left in front, front right turn after turn left, turn right after the other real-time control functions. For the remote control toy car design presents a new way of thinking, and can for the future smart home remote control designed to provide some reference value. Describes one kind of walking through the phone's Bluetooth remote control car software and hardware design. Bluetooth mobile phone as a client, a small car Bluetooth Module HC-06 as a server. Clients using the Eclipse development environment, JAVA programming, client services using micro-controller. The two sides communicate through the serial port, the microcontroller drive DC motor control car action. Experimental results show that the car can receive mobile phone remote control signals and the flexibility to move forward, backward, turn left, turn right and stop functions. Introduces the based on Andrews's the Bluetooth intelligent trolley control want to achieve the function is trolley be able to forward, backward, turn left, turn right, then expounded that the system circuit design and principle of description, including the program design, it is important components introduction, circuit design Description of (, including SCM control circuit, the motor drive circuit) Andrews mobile phone software interface design, software design flow as well as system debugging. Finally summed up the based on Andrews's the Bluetooth intelligent trolley control design is completed the task of, analysis system appear deficiencies. 【Key words】Andriod Bluetooth Intelligent car Smartphone AT89C52 SCM
/*实现前进与后退功能*/ /*控制智能车向前行驶10秒,然后停3秒,再向后行驶6秒,停止*/ /********************************************************/ #include { go(); //前进 delay(10000); //前进10秒 stop(); //停止 delay(3000); //停3秒 back(); //后退 delay(6000); //后退6秒 stop(); //停止 } 智能小车毕业论文完整 版 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】 学士学位论文 系别:计算机科学与技术 学科专业:计算机科学与技术 姓名: @@@@ @@@ 2011年 06月 智能小车引导控制系统 的设计与实现 系别:计算机科学与技术 学科专业:计算机科学与技术 指导老师: @@@ 姓名: @@@ @@@ 2011年 06月 智能小车引导控制系统的设计与实现 摘要:面对诸多恶劣的工作环境(如灭火、救援等),为了有效的避免人员伤亡,就需要采用智能小车去现场来完成相应的任务。因此研究和开发智能小车引导控制系统具有十分重要的意义。本系统采用STC89C51单片机作为核心控制芯片,设计制作了一款通过红外光电传感器检测路径信息、红外火焰传感器检测火源的智能寻迹灭火小车。本系统由单片机控制模块、寻迹传感器模块、驱动电机模块、火源传感器模块、风扇模块、电源模块等组成。实际应用表明,该小车可以在专门设计的场地上实现自主发现火源,自主识别路线,自主行进接近火源并灭火,最终完成灭火的任务。 关键词:单片机小车引导控制传感器 Smart cars guide control system design and implementation Abstract: Confronted with so many bad working environment (such as fire fighting, rescue etc), in order to effectively avoid casualties, need to use intelligent go by car scene to complete relevant tasks. Therefore, the research and development of intelligent car guide control system has the extremely vital significance. This system uses STC89C51 as the core control chip, design and make a new electric sensor detection by infrared sensor information, infrared flame path of intelligent tracing test fire extinguishing car. The system is composed of single-chip microcomputer control module, tracing sensor module, drive motor module, ignition sensor module, fan module, power supply module. The practical application indicates that the car can be in a specially designed field on fire, to realize the independent found autonomous recognition route, independent sources and marching close to the fire extinguishing, finally complete task. Keywords: Microcontroller Car Control system Sensors 一、前言 设计背景: 在科学探索和紧急抢险中经常会遇到对与一些危险或人类不能直接到达的地域的探测,这些就需要用机器人来完成。而在机器人在复杂地形中行进时自动避障是一项必不可少也是最基本的功能。因此,自动避障系统的研发就应运而生。我们的自动避障小车就是基于这一系统开发而成的。意义随着科技的发展,对于未知空间和人类所不能直接到达的地域的探索逐步成为热门,这就使机器人的自动避障有了重大的意义。我们的自动避障小车就是自动避障机器人中的一类。自动避障小车可以作为地域探索机器人和紧急抢险机器人的运动系统,让机器人在行进中自动避过障碍物。成员情况本组三位成员均为2005级基地班学生,都选修过数字电路课程。二、总体方案设计 1、设计要求 小车从无障碍地区启动前进,感应前进路线上的障碍物后,根据障碍物的位置选择下一步行进方向。并可通过两个独立按键对小车进行控速。 2、小车自动避障的原理 小车车头处装有三个光电开关,中间一个光电开关对向正前方,两侧的光电开关向两边各分开30度,(如右图所示)。小车在行进过程中由光电开关向前方发射出红外线,当红外线遇到障碍物时发生漫反射,反射光被光电开关接收。小车根据三个光电开关接受信号的情况来判断前方障碍物的分布并做出相应的动作。光电开关的平均探测距离为30cm。 3、模块方案比较及论证 根据设计要求,我们的自动避障小车主要由六个模块构成:车体框架、电源 及稳压模块、主控模块、逻辑模块、探测模块、电机驱动模块组成。各模块分述如下: 3.1车体框架 在设计车体框架时,我们有两套起始方案,自己制作和直接购买玩具电动车。方案一:自己设计制作车架自己制作小车底盘,用两个直流减速电机作为主动轮,利用两电机的转速差完成直行、左转、右转、左后转、右后转、倒车等动作。减速电机扭矩大,转速较慢,易于控制和调速,符合避障小车的要求。而且自己制作小车框架,可以根据电路板及传感器安装需求设计空间,使得车体美观紧凑。但自己制作小车设计制作周期较长,且费用较高,因而我们放弃这一方案。方案二:购买玩具电动车 玩具电动车价格低廉,有完整的驱动、传动和控制单元,其中传动装置是我们所需的,缩短了开发周期。但玩具电动车采用普通直流电机驱动,带负载能力差,调速方面对程序要求较高。同时,玩具电动车转向 依靠前轮电机带动前轮转向完成,精度低。 考虑到利用玩具电动小车做车架开发周期短,可留够充分的时间用于系统调试,且硬件上的不足我们有信心用优良的算法来弥补,故我们选择方案二。 摘要 随着物联网的兴起,Android手机以其独有的开放性优势正在为我们提供更多优质便捷的技术成果。本课题研究的是基于安卓手机蓝牙控制的智能小车设计,基于手机平台,借助于蓝牙技术,设计和实现了一种无线遥控小车新的解决方案。设计以手机控制平台、蓝牙通讯模块、电机驱动模块等硬件模块组成的遥控小车。实现小车的前进、后退、前左转弯、前右转弯、后左转弯、后右转弯等实时控制功能。为遥控玩具小车的设计提出了一种新的思路,同时可以为将来智能家居的遥控设计提供一定的参考意义。 阐述一种通过手机蓝牙遥控小车行走的软、硬件设计。手机蓝牙作为客户端,小车上的蓝牙模块HC-06作为服务端。客户端采用Eclipse开发环境,JAVA编程,服务端采用单片机控制。双方通过串口进行通信,单片机驱动直流电机控制小车行动。实验结果表明,小车可以接收手机遥控信号并灵活地进行前行、倒退、左转、右转和停止等功能。 本文介绍了基于安卓手机的蓝牙智能小车控制要实现的功能,接着阐述该系统电路的设计及原理的说明,包括了方案的设计、重要元器件的介绍、电路设计的说明(包括单片机控制电路、电机驱动电路)安卓手机软件界面设计、软件设计流程以及系统的调试。最后总结了基于安卓的蓝牙智能小车控制设计完成的任务,分析系统出现的不足。 【关键词】Andriod蓝牙智能小车智能手机AT89C52单片机 ABSTRACT With the rise of the Internet of Things, Android phones with its unique advantage of being open for us to provide more quality and convenient technological achievements. The research is based on the Android mobile phone Bluetooth controlled smart car design, based on mobile platforms, by means of Bluetooth technology, design and implementation of a wireless remote control car new solutions. Control platform designed for mobile phones, Bluetooth communication module, motor drive modules and other hardware modules remote control car. Realize the car forward, backward, turn left in front, front right turn after turn left, turn right after the other real-time control functions. For the remote control toy car design presents a new way of thinking, and can for the future smart home remote control designed to provide some reference value. Describes one kind of walking through the phone's Bluetooth remote control car software and hardware design. Bluetooth mobile phone as a client, a small car Bluetooth Module HC-06 as a server. Clients using the Eclipse development environment, JAVA programming, client services using micro-controller. The two sides communicate through the serial port, the microcontroller drive DC motor control car action. Experimental results show that the car can receive mobile phone remote control signals and the flexibility to move forward, backward, turn left, turn right and stop functions. Introduces the based on Andrews's the Bluetooth intelligent trolley control want to achieve the function is trolley be able to forward, backward, turn left, turn right, then expounded that the system circuit design and principle of description, including the program design, it is important components introduction, circuit design Description of (, including SCM control circuit, the motor drive circuit) Andrews mobile phone software interface design, software design flow as well as system debugging. Finally summed up the based on Andrews's the Bluetooth intelligent trolley control design is completed the task of, analysis system appear deficiencies. 【Key words】Andriod Bluetooth Intelligent car Smartphone AT89C52 SCM智能小车毕业论文完整版
智能小车原理
基于安卓手机蓝牙控制的智能小车设计