基于51单片机的无线遥控小车讲解.docx
《基于51单片机的无线遥控小车讲解.docx》由会员分享,可在线阅读,更多相关《基于51单片机的无线遥控小车讲解.docx(15页珍藏版)》请在冰点文库上搜索。
基于51单片机的无线遥控小车讲解
课程论文
题目:
基于51单片机的无线遥控小车
学生姓名:
武宏宝
学生学号:
1008030311
系别:
电气信息工程学院
专业:
电子信息工程专业
年级:
10(3)班
任课教师:
权循忠
电气信息工程学院制
2012年11月
基于51单片机的无线遥控小车
学生:
武宏宝
指导教师:
权循忠
电气信息工程学院:
电子信息工程专业
摘要
遥控小车利用单片机作为控制核心,使用红外线发射和接收器件、接近反射式光电感应器件、编码解码芯片和无线收发模块,实现智能小车的遥控小车的运动轨迹,用单片机输入/输出接口控制伺服电机方向、速度和运行时间,模块化结构保证了小车成为一个可靠整体,软件采用C语言编程,完成小车所要实现的功能。
关键词:
单片机红外遥控
摘要
1.智能小车总体设计结构及硬件模块设计……………………………………………4
1.1总体设计结构…………………………………………………………………4
2.智能小车各模块电路设计……………………………………………………………4
2.1无线遥控原理…………………………………………………………………4
2.2无线遥控发射原理……………………………………………………………5
2.3无线遥控发射原理……………………………………………………………6
2.4无线遥控接收原理图…………………………………………………………7
2.5无线遥控接收原理……………………………………………………………8
3.总结……………………………………………………………………………………9
4.参考文献………………………………………………………………………………9
附录无线遥控控制程序
1.小车总体设计结构及硬件模块设计
1.1总体设计结构
遥控小车采用STC单片机集中控制和分散模块化设计。
智能小车硬件由STC单片机开发板以及无线遥控模块组成,智能小车采用左右两个伺服电机,高电平持续的时间控制电机运动转速。
智能车前下端4组检测灯对黑线的反馈信号,通过单片机控制伺服电机的转动。
前端的两组红外检测灯对障碍物进行检测,通过单片机P2口的低四位对遥控信号进行检测。
小车的机械结构设计:
为了保证小车能够进行遥控,我们将道路检测电路板放在小车底盘的前端,无线接收模块放在小车的尾部,单片机控制板放在小车的正上方保持小车的平衡性,小车的主动轮为前端两个,从动轮为后面一个,电池放在两个主动轮之间,这样的整体设计既可以保持重心尽量在一条竖直线上又方便电源的开关,使小车转弯时的转动惯量减小,增强其稳定性。
2.能小车各模块电路设计
2.1无线遥控原理
一个完整的遥控电路由发射部分和接收部分组成。
无线电发射部分,由一个能产生等幅振荡的高频载频振荡器和一个产生低频调制信号的低频振荡器组成。
用来产生载频振荡的电路一般有多谐振荡器、互补振荡器和石英晶体振荡器等。
由低频振荡器产生的低频调制波,一般为宽度一定的方法。
如果是多路控制可以采用每一路宽度不同的方波,或是频率不同的方法去调制高频载波,组成一组组的已调制波,作为控制信号向空中发射。
接收电路从工作方式分,可以分成超外差接收方式和超再生接收方式。
超外差原理利用本地产生的振荡波与输入信号混频,将输入信号频率变换为某个预定的频率的电路。
其优点是:
①容易得到足够大而且比较稳定的放大量。
②具有较高的选择性和较好的频率特性。
③容易调整。
缺点是电路比较复杂,同时也存在着一些特殊的干扰,如像频干扰、组合频率干扰和中频干扰等。
超再生电路实际上是一个受控间歇振荡的高频振荡器,这个高频振荡器采用电容三点式振荡器,振荡频率和发射器的发射频率相一致。
而间歇振荡又是在高频振荡过程中产生的,反过来又控制着高频振荡器的振荡和间歇。
间歇振荡的频率是由电路的参数决定的。
这个频率选低了,电路的抗干扰性能较好,接收灵敏度降低;反之亦然。
超再生式接收方式具有电路简单、性能适中、成本低廉的优点所以在实际应用中被广泛采用。
2.2无线遥控发射原理
PT2262/2272编码解码集成电路
PT2262/PT2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
pt2262/pt2272管脚如图1:
图1PT2262/PT2272管脚图
表1PT2262管脚说明
名称
管脚
说明
A0-A11
1-8,10-13
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空);
D0-D5
7-8,10-13
数据输入端,有一个为“1”即有编码发出,内部下拉;
Vcc
18
电源正端(+)
GND
9
电源负端(-)
TE
14
编码启动端,用于多数据的编码发射,低电平有效;
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率;
OSC2
15
振荡电阻振荡器输出端;
DOUT
17
编码输出端(正常时为低电平)
表2PT2272管脚说明
名称
管脚
说明
A0-A11
1-8,10-13
地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码
D0-D5
7-8,10-13
地址或数据管脚,当做为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一数据才能转换
Vcc
18
电源正端(+)
GND
9
电源负端(-)
DIN
14
数据信号输入端,来自接收模块输出端
OSC1
16
振荡电阻输入端,与OSC2所接电阻决定振荡频率;
OSC2
15
振荡电阻振荡器输出端;
VT
17
解码有效确认输出端(常低)解码有效变成高电平(瞬态)
2.3无线遥控发射原理
T10A发射模块
T10A发射模块采用SMD技术,在稳频处理上采用最先进声表谐振器(SAW)元件,电路板(PCB)采用介质损耗最小的材料,体积小巧。
表3T10A发射模块
技术指标
参数
工作电压
3V-12V
工作电流
≤25mA(12V);≤2mA(3V)
谐振方式
声表谐振(SAW)
调制方式
AM/ASK/OOK
工作频率
315MHz、433.92MHz可选
频率误差
±150kHz(max)
发射功率
25mW(315MHz,12V时)
XY-R04A接收模块
表4XY-R04A接收模块技术指标
工作电压
DC5±0.25V或DC3±0.25V
工作电流
4mA(5V)
工作频率
315MHz/433MHz
输出数据
TTL电平
最大速率
1KHZ
接收灵敏度
-105dBm
工作温度
-10℃~+60℃
解码器类型
固定码
2.4无线遥控发射和接受原理图
图2无线发射模块
图3无线接收模块
2.5无线遥控接收原理
编码芯片PT2262发出的编码信号由:
地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
PT2262和PT2272除地址编码必须完全一致外,振荡电阻还必须匹配,一般要求译码器振荡频率要高于编码器振荡频率的2.5~8倍,否则接收距离会变近甚至无法接收,随着技术的发展市场上出现一批兼容芯片,在实际使用中只要对振荡电阻稍做改动就能配套使用。
在具体的应用中,外接振荡电阻可根据需要进行适当的调节,阻值越大振荡频率越慢,编码的宽度越大,发码一帧的时间越长。
市场上大部分产品都是用2262/1.2M=2272/200K组合的,少量产品用2262/4.7M=2272/820K。
解码接收模块包括接收头和解码芯片PT2272两部分组成。
接收头将收到的信号输入PT2272的14脚(DIN),PT2272再将收到的信号解码。
接收板工作电压为DC5V,接收灵敏度:
-103dBm,尺寸(mm):
49*20*7,工作频率:
315MHz,工作电流:
5mA,编码类型:
固定码(板上焊盘跳接设置)应用说明:
与各类型遥控器配合使用,解码输出后进行相应控制,在通常使用中,我们一般采用8位地址码和4位数据码,这时编码芯片PT2262和解码芯片PT2272的第1~8脚为地址设定脚,有三种状态可供选择:
悬空、接正电源、接地三种状态,地址编码不重复度为38=6561组,只有发射端PT2262和接收端PT2272的地址编码完全相同,才能配对使用,遥控模块的生产厂家为了便于生产管理,出厂时遥控模块的PT2262和PT2272的八位地址编码端全部悬空,这样用户可以很方便选择各种编码状态,用户如果想改变地址编码,只要将PT2262和PT2272的1~8脚设置相同即可,例如将发射机的PT2262的第2脚接地,第3脚接正电源,其它引脚悬空,那么接收机的PT2272只要也第2脚接地,第3脚接正电源,其它引脚悬空就能实现配对接收。
当两者地址编码完全一致时,接收机对应的D1~D4端输出约4V互锁高电平控制信号,同时VT端也输出解码有效高电平信号。
4总结
本次的课程设计,使我认真的重新的去认识了单片机的很多的功能。
在这次课程设计中,我们学会了红外无线遥控赛车的制作的很多相关的细节,比如无线接收模块以及无线发送模块等等,这都是以前学习中没有碰到过的。
这次课程设计使我把所学的理论知识用于了实践,使我受益匪浅。
让我对机的应用有了一个更加深刻的了解使我对所学的知识学以致用,再是纸上谈兵。
5参考文献
[1]余发山主编.单片机原理及应用技术.中国矿业大学出版社.2003.12.21-32
[2]董爱华主编.检测与转换技术.中国电力出版社.2007.12
[3]康华光主编.电子技术基础数字部分(第五版).2006.137-153430-460
[4]谢自美主编.电子线路设计·实验·测试.华中理工大学出版社.2000.7.11-15
[5]张友汉主编.电子线路设计应用手册.福建科学技术出版社.2000.7
附录无线遥控控制程序
#include
charreceive;//接收到的数据
intcounter;
voiddelay_nus(unsignedinti)
{
i=i*10/12;
while(--i);
}
voidHardware_delay_1ms(void)
{
TMOD&=0xF0;
TMOD|=0x01;//T0--16位定时器器模
TH0=0xFC;
TL0=0x18;//64536
TF0=0;//清除定时器溢出标志
TR0=1;//启动定时器
while(TF0==0);//等待计数完成
TR0=0;//停止定时器
}
voiddelay_nms(intn)
{
intj;
for(j=n;j>0;j--)
Hardware_delay_1ms();
}
voidforward()
{
P1_1=1;
delay_nus(1700);
P1_1=0;
P1_0=1;
delay_nus(1300);
P1_0=0;
delay_nms(20);
}
voidturnleft()
{
inti;
for(i=1;i<=26;i++)
{
P1_1=1;
delay_nus(1300);
P1_1=0;
P1_0=1;
delay_nus(1300);
P1_0=0;
delay_nms(20);
}
}
voidturnright()
{
inti;
for(i=1;i<=26;i++)
{
P1_1=1;
delay_nus(1700);
P1_1=0;
P1_0=1;
delay_nus(1700);
P1_0=0;
delay_nms(20);
}
}
voidbackward()
{
inti;
for(i=1;i<=65;i++)
{
P1_1=1;
delay_nus(1300);
P1_1=0;
P1_0=1;
delay_nus(1700);
P1_0=0;
delay_nms(20);
}
}
voidmain(void)
{
uart_Init();
printf("ProgramRunning!
\n");
P0=0x00;//数码管初始化
P1=0x0f;//位选初始化
P2=0xff;//接收端初始化
while
(1)
{
receive=(P2&0x0f);
if(receive==0x0e)
{
P0=0xf9;//数码管显示1//段选
P1=0xEF;//数码管第一位点亮
forward();
}
if(receive==0x0d)
{
P0=0xa4;//数码管显示2
P1=0xDF;//数码管第二位点亮
turnleft();
forward();
}
if(receive==0x0b)
{
P0=0xb0;//数码管显示3
P1=0xBF;//数码管第三位点亮
turnright();
forward();
}
if(receive==0x07)
{
P0=0x99;//数码管显示4
P1=0x7F;//数码管第四位点亮
backward();
forward();
}
}
}