ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:739.26KB ,
资源ID:4746322      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4746322.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(遥控小车参赛作品说明书.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

遥控小车参赛作品说明书.docx

1、遥控小车参赛作品说明书参赛说明书课题名称:单片机控制的无线充电的微型电动汽车设计所属院校:海口经济学院院系专业:信息工程学院通信工程制作团队:范倩、赵洋涛、王成丰指导老师:孙玉轩、何斌完成时间:摘 要本作品主要采用无线充电技术与超级电容,用单片机控制无线充放电的切换,无线充电线圈的定位,实现了无线充电的微型电动汽车设计。本系统使用无线充电与超级电容,可安全,快速,有效的为小车提供电能。亲手设计基于单片机的无线控制模块电路,并制成了PCB板,通过软件编程实现无线充放电模式的自动切换并用LED灯提示,可随时用LCD显示充电的电压,充电的时间。小车用L298N电机驱动模块进行驱动,并通过无线遥控控制

2、小车行进方向。关键字:无线充电 超级电容 无线充电控制一、概述当今社会,随着世界工业和社会经济的高速发展,人类在能源方面面临着前所未有的严峻挑战。因此,研究开发替代性绿色能源有着至关重要的现实意义。手机、MP3和笔记本电脑等便携式电子设备进行充电主要采用的是一端连接交流电源,另一端连接便携式电子设备充电电池的传统充电方式。这种方式有很多不利的地方,首先频繁的插拔很容易损坏接头另外也可能带来触电的危险。因此非接触式感应充电器在上个世纪末期诞生凭借其携带方便、成本低、无需布线等优势迅速受到各界关注。因此,实现无线充电,能量传输效率高,便于携带成为充电系统的研究方向之一。本作品通过硬件搭建,实现对超

3、级电容的无线充电,再通过超级电容放电,对小车进行供电,用无线遥控模块遥控小车。全过程使用单片机软件编程进行控制与监控,实现全部功能。本作品的优点集中在以下几个方面:1. 无线充电解决电气接口不同或充电器不兼容的问题,增强便携性、美观性以及使用的安全性。在小功率充电方面,产生的磁场与地球磁场相近不会对人体产生伤害,并且电能转化的效率高。2. 超级电容在各种电能储存方式中具有功率密度高,充电速度快,循环使用寿命长,效率高,充放电过程基本可逆,低温性能优越,控制简单,绿色环保,安全性好的优势。使用超级电容能大大提高储存电量。3. 使用单片机软件编程控制充放电的过程安全性好,电路设计简单,软件编程也很

4、容易。技术非常成熟。4. 使用无线遥控技术控制小车,通过51单片机最小系统软件编程控制,用L298N驱动模块和无线接收模块,实现小车的无线控制。二、总体设计 本作品的原理框图如下所示:以无线充电为核心,利用超级电容的充电迅速,储能多的特性,存储电能。使用单片机设计一个无线充放电控制模块,对无线充电进行实时监控。通过无线遥控技术软件编程,使用L298N电机驱动控制小车的行驶。三、硬件设计无线充放电控制模块本作品使用AT89C51单片机,设计硬件电路图,并制成PCB板,通过软件编程实现无线充电控制,实现的功能有:充放电模式的自动切换,并随时显示监控的电压,显示充电时间以及提示充电是否完全。3.1.

5、1A/D转换模块图3.1 A/D转换电路A/D转换模块使用PCF8591芯片,完成充放电电路电压的转换。PCF8591具有4个模拟输入、1个模拟输出和1个串行I2C总线接口。本设计使用AIN0模拟输入口,输入充放电的电压值。3.1.2数码管显示模块图 数码管显示电路此模块用于单片机控制的电压显示,从而可以试试监控给电池组充电以及放电电情况。3.1.3最小单片机系统图 单片机最小系统电路用作小车充电的监控以及电池组的保护、监控,小车无线充电时需要此单片机进行充电正副线圈的匹配。3.1.4四位独立按键图 独立按键电路用于用户后续扩展使用。无线充电模块超级电容 本作品的无线充电采用“磁耦合共振”这种

6、新技术,当发射端通电时,它并不会向外发射电磁波,而只是在周围形成一个非辐射的磁场。这个磁场用来和接收端联络,激发接收端的共振, 从而以很小的消耗为代价来传输能量。在这项技术中,磁场的强度将不过和地球磁场强度相似,不用担心这种技术会对身体和其他设备产生不良影响。图 无线充电原理图无线充电模块内部集成了振荡电路、整形电路、检测电路、频率干扰抑制电路、电流自动控制、无线功率发射电路等部分组成。发射模块可以在512V电压下工作,输出为5V 500mA。其接收端接收的功率由收发距离决定。图 无线收发模块实物超级电容就是一个用来存储无线充电能量的电池。相对于一般的电池,超级电容具有充电时间短、使用寿命长、

7、温度特性好、节约能源和绿色环保等特点。本作品共使用6个耐压值为的超级电容,每三个电容串联,最后把串联的电容并联。四键无线遥控控制模块无线遥控模块使用集成模块,基本技术参数如下所示:工作电压(V): DC5V静态电流(mA): 工作温度:-10+70接收灵敏度(dBm): -105DB工作频率(MHz):315、(266-433MHZ频率段可任选)工作方式:M4(点动:按住不松手就输出,一松手就停止输出)、L4(互锁:四路同时只能有一路输出)、T4(自锁:四路相互独立输出、互不影响,按一下输出再按一下停止输出)天线长度:1/4波长的天线接收效果最好,一般采用50欧姆单芯导线,天线的长度315M的

8、约为23cm,433M的约为17cm;图 无线遥控模块电机驱动模块L298N驱动模块,可以直接驱动两路3-30V直流电机,并提供5V输出接口,直接给单片机电路供电,支持3VMCU控制,方便控制直流电机速度和方向。原理图如下:图3.8 L298N电机驱动原理图模块接线方法:IN1-IN4接单片机的P04-P07的I/O接口,OUT1-OUT2接直流电机1,OUT3-OUT4接直流电机2,VCC,GND接超级电容的正负极。5V输出直接给单片机供电。四 软件设计充放电控制程序设计 无线充放电的控制,依赖于单片机的软件编程。使用PCF8591芯片实现A/D转换。用12MHz的晶振实现定时计数,通过四位

9、独立按键切换显示。利用二极管的单向导通性实现自动切换。无线遥控程序设计无线遥控接收模块直接与单片机的接口相连,可直接通过遥控控制。小车的电机驱动与接口相连,通过改变高低电平,实现小车的各项操作。五 发展方向本作品只是初步实现无线充电的功能,还需要进一步完善。比如说,只是进行短距离充电,考虑长距离充电转化效率还能低。充电的时间也过长,需要增加充电电压与电流,实现快速充电。超级电容也需要一个保护电路,以免充电过压或过流等。无线充电控制电路的功能太过单一,可通过I/O口进行扩充,增加作品功能。六 附录无线充放电控制原理图无线充放电控制PCB图源程序6.3.1无线充放电控制源程序#include#in

10、clude#define uchar unsigned char#define uint unsigned intsbit rs=P25; /定义sbit rw=P26; / 定义读写端口sbit e=P27; / 定义使能信号引脚sbit SDA=P32;sbit SCL=P33;uchar num=0;char shi,fen,miao;uchar count,mm;uchar code table=:;uchar code table0= V:;uchar code table1= Time 00:00:00 ;/*延时*/void delay(uint z) uint x,y; for

11、(x=z;x0;x-) for(y=110;y0;y-); /*写指令*/void write_com(uchar com) rs=0; / 指令 rw=0; / 写入 e=0; P0=com; delay(5); e=1; /允许 delay(5); e=0;/*写数据*/void write_date(uchar date) rs=1; / 数据 rw=0; /写入 e=0; P0=date; delay(5); e=1; / 允许 delay(5); e=0;/延时函数/启动总线/void Start() SDA=1; SCL=1; delay(5); SDA=0; delay(5);

12、SCL=0; /结束总线/void Stop() SDA=0; SCL=1; delay(5); SDA=1; delay(5);/非应答函数/void Noack() SDA=1; delay(5); SCL=1; delay(5); SCL=0;void Ack() SDA=0; delay(5); SCL=1; delay(5); SCL=0;/数据发送函数/void Send(uchar c) uchar bite; for(bite=0;bite8;bite+) if(cbite)&0x80)SDA=1; else SDA=0; SCL=1; delay(5); /Delayus()

13、; SCL=0; SDA=1; delay(5);/接收函数/uchar Rec() uchar byte,bite; SDA=1; for(bite=0;bite8;bite+) SCL=0; delay(5); SCL=1; delay(5); byte=1; if(SDA=1)byte+=1; SCL=0; delay(5); return(byte);/读取数值/uchar Read(uchar AI) uchar z; Start(); Send(0x90); Ack(); Send(0x40|AI); Ack(); Start(); Send(0x91); Ack(); z=Rec

14、(); Noack(); Stop(); return(z);/*LCD初始化*/void init() uchar n; shi=0; fen=0; miao=0; write_com(0x38); write_com(0x0c); /显示控制 write_com(0x06); /地址加1 字符不移动 write_com(0x01); /清零 write_com(0x80); for(n=0;n8;n+) write_date(table0n); delay(5); write_com(0xc0); for(n=0;n16;n+) write_date(table1n); delay(5);

15、 TMOD|=0x11; EA=1; ET0=1; TR0=1; ET1=1; TR1=1; TH0=(65536-46083)/256; TL0=(65536-46083)%256; TH1=(65536-2000)/256; /重新赋值 TL1=(65536-2000)%256;/*显示*/void write_sfm(uchar add,uchar date) uchar shi,ge; /对应的一个数分离开来 分别送入对应地址显示 shi=date/10; ge=date%10; write_com(0xc0+add); write_date(0x30+shi); write_date

16、(0x30+ge); /*void write_sf(uchar add,uchar num) uchar i,j,k,l;i=num/1000;j=num%100;k=(num%100)/10;l= (num%100)%10;write_com(0x80+add);write_date(0x30+i);write_date(0x30+j);write_date(0x30+k);write_date(0x30+l);/*主函数*/void main() init(); while(1) num=Read(0); write_com(0x80+3); write_date(0x30+num/10

17、00); write_date(0x30+(num/100)%10); write_date(0x30+(num%100)/10); write_com(0x80+7); write_date(0x30+(num%100)%10); write_sfm(6,shi); /每次变化后的时 数据送入显示write_sfm(9,fen); / 每次变化后的分 数据送入显示write_sfm(12,miao); / 每次变化后的秒 数据送入显示 void Timer1(void) interrupt 3 TH1=(65536-2000)/256; /重新赋值 TL1=(65536-2000)%256;

18、/*中断处理*/void yy() interrupt 1 TH0=(65536-46083)/256; TL0=(65536-45083)%256; count+; if(count=20) count=0; /count到20清零 miao+; /秒加1 if(miao=60) miao=0; /秒到60 清零 fen+; /分加1 if(fen=60) fen=0; /分到60清零 shi+; /时加1 if(shi=24) shi=0;/时到24清零 6.3.2无线遥控源程序#include #include sbit P04=P04;sbit P05=P05;sbit P06=P06

19、;sbit P07=P07;sbit P23=P23;unsigned char a,b;void delay10ms() for(a=100;a0;a-) for(b=225;b0;b-); sbit A=P34;sbit E=P35;sbit C=P36;sbit D=P37;void main(void) while(1) P23=0; if(A=1) /前进 P04=0;P05=1;P06=0;P07=1; delay10ms(); if(E=1) /后退 P04=1;P05=0;P06=1;P07=0; delay10ms(); if(C=1) /左转 P04=0;P05=1;P06=1;P07=0; delay10ms(); if(D=1) /右转 P04=1;P05=0;P06=0;P07=1; if(A=0&E=0&C=0&D=0) /停止 P04=1;P05=1;P06=1;P07=1;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1