51单片机无线遥控小车设计
基于51单片机的红外遥控小车设计和制作
基于51单片机的红外遥控小车设计和制作红外遥控小车设计和制作是一个有趣且实用的项目。
本文将介绍一个基于51单片机的红外遥控小车的设计方案和制作过程。
设计方案:1.硬件设计:-采用STC89C52单片机作为控制核心,具有良好的性能和稳定性。
-红外接收器模块:用于接收红外信号并将其转换为电信号。
-直流电机:用于驱动小车的轮子,实现前进、后退、转弯等动作。
-驱动电路:将单片机的输出信号转换为合适的电流和电压来驱动电机。
-电源:使用锂电池作为电源,提供所需的电能。
2.软件设计:-红外信号解码:将接收到的红外信号进行解码,并判断是前进、后退、转弯等命令。
-控制逻辑:根据解码结果产生相应的电信号,驱动电机实现小车的相应动作。
-响应机制:处理红外信号的时延和干扰,避免误操作或信号丢失。
制作过程:1.连接电路:-将STC89C52单片机与电源、红外接收器模块和驱动电路连接。
确保连接正确、稳定。
-连接直流电机和驱动电路,通过电路板或者线缆进行连接,确保电机可以正确驱动。
2.烧录程序:- 使用Keil C编译器编写控制程序,并将程序通过编程器烧录到STC89C52单片机中。
3.完善控制逻辑:-在控制程序中添加红外信号解码和控制逻辑代码,使小车能够根据接收到的红外信号做出相应动作。
4.调试和测试:-将红外遥控器对准红外接收器模块,发送不同的红外信号,确保小车能够正确接收和处理信号。
-确保小车能够根据接收到的信号做出正确的动作,如前进、后退、转弯等。
5.完善功能:-可以根据实际需求添加其他功能,如声控、避障、图像识别等,提升小车的智能性和功能性。
通过以上设计和制作过程,一个基于51单片机的红外遥控小车就可以完成。
这个小车可以通过红外遥控器进行远程控制,并实现前进、后退、转弯等动作。
它可以在室内或者室外进行运行,并具有一定的智能性和便携性。
这个项目不仅可以培养学生的动手能力和创造力,还可以加深对电子电路和嵌入式系统的理解和掌握。
基于51单片机的无线遥控小车设计
基于51单片机的无线遥控小车设计随着科技的不断发展,无线遥控小车已经成为了人们生活中不可或缺的一部分。
无线遥控小车具有控制方便、灵活性高等特点,可以广泛应用于各个领域,如家庭娱乐、工业搬运等。
本文将介绍一种基于51单片机的无线遥控小车设计,并附上相应的代码。
本设计的无线遥控小车由四个轮子、两个直流电机、一个超声波测距模块和一个遥控模块组成。
其中,遥控模块用于接收人们发送的指令,超声波测距模块用于测量小车与障碍物之间的距离,以便避免碰撞。
首先,我们需要连接四个轮子和两个直流电机到51单片机的相应引脚上。
接下来,将超声波测距模块连接到51单片机的一个引脚上,用于接收超声波测距的信号。
最后,将遥控模块接收到的指令转化为电平信号,并将其连接到51单片机的引脚上。
在代码部分,我们首先需要初始化相应的引脚和串口,以便接收和发送指令。
然后,我们需要编写一个函数用于接收遥控模块发送的指令,并根据指令来控制小车的运动。
例如,当接收到前进指令时,小车向前运动;当接收到后退指令时,小车向后运动。
在控制小车运动的同时,我们还需要通过超声波测距模块来检测小车与障碍物之间的距离,以便避免碰撞。
此外,在代码中还需设置一些保护措施,例如在小车运动过程中检测到距离障碍物过近时自动停止前进,或者在接收到无效指令时忽略该指令等。
总结起来,基于51单片机的无线遥控小车设计离不开硬件连接和代码编写两个方面的工作。
合理的硬件连接可以保证信号的稳定传输,而完善的代码编写可以保证小车的正常运行和灵活性。
这种无线遥控小车具有控制方便、灵活性高等优点,可广泛应用于各个领域。
通过不断的优化和改进,无线遥控小车的性能将会更加出色。
基于51单片机的四驱无线遥控小车(附电路图,源代码)
基于51单片机的四驱无线遥控小车(附电路图,源代码)遥控小车大家都玩过,网上也有各种DIY小车的制作详解,本文介绍的这个遥控小车和其他的作品大同小异,但作为单片机设计,这次设计主要强调单片机控制,就是说,这个小车是由单片机控制的,把单片机按键发送程序、无线模块使用、电机驱动是本教程的核心内容。
一硬件组装1 小车运动部分所需工件:直流电机4个,L293D电机驱动模块,蓄电池一块,车身底盘说明:车身底盘大家根据自己的购买力自行购买,蓄电池也是,至于L293D模块,淘宝上卖的比较贵,不过我用的就是成品模块,效果非常好,钱不多的同学可以自己买芯片,自制模块,原理很简单,官方资料是很详细的;或者改为继电器控制都可以,具体看自己的实际购买力。
用模块的好处是,模块可以输出5V 电源给系统供电,详细请参考淘宝网。
如果你买的是现成的底盘,那就和我的一样了,组装实在是没啥可说的,把电机固定上去就是,不行?别开玩笑了,小学生都会的!至于想自己做底盘的,我想说,要搞结实点,咱这次的小车马力是很足的,因为有电机驱动,速度比较快(不带减速齿轮的底盘一定要小心,速度非常的快),后劲也足,不小心撞墙很正常,所以不好的底盘就得小心了!组装好后,就是电机和驱动模块的接线了,下面我就详细的说一下L293D模块的使用:L293D是专门的电机驱动芯片,工作电压5V,驱动电压输入可达36V,输出电流正负600ma,4个控制端,4个输出端,原理如图:其中A为输出控制端,Y为输出控制端,1A即控制1Y,以此类推。
1,2EN 3,4EN需要短接,芯片最大工作电压不得超过7V。
封装图:Vcc1接工作电压,5V,Vcc2接电机的驱动电源,一般来说,这个电压要比5V 高,我用的是12V蓄电池,就把12v的正极接到VCC2,要记住的是,芯片、单片机、蓄电池电源是需要共地的,不要觉得你电机是12V,单片机控制部分是5V就把电源完全独立开来,正极是完全独立的没错,但是GND(负极)都必须是接在一起的。
基于51单片机WiFi智能小车制作
基于51单片机WiFi智能小车制作基于51单片机WiFi智能小车制作一、基本原理51单片机WiFi智能小车是利用PC或手机作为控制端,通过手机连接wifi模块(路由器)以获得wifi信号,同时车载也连接wifi模块以获得和手机相同的IP地址,实现手机和小车的连接,然后利用PC或手机上的控制软件以wifi网络信号为载体发送相关信号,wifi模块接收PC 或手机端发送来的相关信号并分析转换成TTL 电平信号,然后发送给单片机,单片机接收到的电平信号处理、分析、计算,转化成控制指令并发送给电机驱动模块以实现小车的前进、后退、左拐、右拐等功能。
二、购买所需材料了解51单片机WiFi智能小车基本原理后,需要购买所需材料进行制作。
下面列出所需制作材料:序号材料备注图例6 小车底盘7 摄像头 根据固件支持摄像头购买8 电源根据自己需要购买种类9 杜邦线及小配件制作所需工具:序号工具名备注图例称1 电烙铁一套 包括松香焊锡2 螺丝刀 平口、十字等3 微型电钻 可以自制4手工刀5 剪刀6 万用表7 热熔胶枪或快干胶8US B下载器三、开始制作1、制作流程开始制作前,我们首先需要看购买路由器的型号,笔者采用的是703n 路由器,所以需要引出ttl 线。
总体步骤为:路由器引TTL 线→路由器刷OpenWrt 固件→制作51单片机最小系统→下载下位机程序到51单片机→安装上位机程序至PC 或手机→测试上、下位机通信→组装→调试完成。
2、路由器引ttl线首先打开703n路由器,按照下图标示位置焊接ttl线。
注意:1、焊接的时候要小心焊接,焊好后微拉下查看松紧2、焊接最好采用软线焊接,防止意外整块拉掉焊点3、焊好后一定用胶固定,最好采用热熔胶下图为引好ttl线样子3 刷OpenWrt固件何为OpenWrt固件,OpenWrt可以被描述为一个嵌入式的Linux 发行版,(主流路由器固件有dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的,静态的系统。
基于51单片机红外无线遥控智能小车控制设计
基于51单片机红外无线遥控智能小车控制设计摘要:本文利用51单片机设计了一款具有红外无线遥控功能的智能小车控制系统。
该系统基于红外技术,实现了对智能小车的远程控制。
通过建立遥控信号传输模型和小车控制模块,实现了智能小车的实时运动控制,包括前进、后退、左转、右转等操作。
本文详细介绍了系统设计方案、硬件设计和软件设计,通过实验验证,证明该系统能够稳定地实现智能小车的远程控制,具有一定的应用价值和推广前景。
关键词:51单片机;红外无线遥控;智能小车控制;遥控信号传输模型Abstract:In this paper, a smart car control system with infrared wireless remote control function based on 51 single-chip microcomputer is designed. The system is based on infrared technology, which realizes the remote control of the smart car. By establishing the remote control signal transmission model and the car control module, real-time motion control of the smart car, including forward, backward, turning left and turning right, is realized. This paper introduces the system design scheme, hardware design and software design in detail. Through experiments, it is proved that the system can stably realize the remote control of the smart car, and has certain application value and promotion prospects.Keywords:51 single-chip microcomputer; infrared wireless remote control; smart car control; remote control signaltransmission model1. 引言智能小车控制系统是一种目前比较受关注的智能化系统,在智能出行和智慧交通中有着广泛的应用。
实例制作基于C51的无线遥控玩具汽车
实例制作基于C51的无线遥控玩具汽车从事无线遥控玩具开发工作多年,开发了很多种类的无线遥控玩具产品。
总结了很多工作经验。
用的绝大部分IC是T X2C(遥控)和RX2C(接收),其功能分别是:前进,后退,左转,右转。
笔者利用工作的空闲时间用AT89C2051单片机编出了跟TX2C和RX2C一样的编解码程序,并成功进行了实际制作。
编解码与TX2C和RX2C兼容。
现将制作原理图和源程序公开给读者参考学习与制作,相信对初学者有极大的帮助,这也是笔者的心愿!其原理图如下:图2为接收部分,图3为发射部分。
源程序和仿真文件见附件.读者如果想仿制的话,建议RF接收和RF发射部使用市面上成品的315MHz模块,应用起来很方便,这样可以免去调试高频部分。
下面图1是遥控前进部分编码波形:从编码图1中看出有四个周期一样的同步脉冲,各个功能是按数据脉冲个数的不同实现功能不同的。
这样编码有很强的搞干扰能力,也可以应用到其它领域遥控上面去,可以做成遥控飞机,也可以做成遥控船……这要看读者的需要应用了。
具体功能相应编码以下:前进:同步脉冲+10个数据脉冲后退:同步脉冲+40个数据脉冲左转:同步脉冲+64个数据脉冲右转:同步脉冲+58个数据脉冲前进+左转:同步脉冲+34个数据脉冲前进+右转:同步脉冲+28个数据脉冲后退+左转:同步脉冲+46个数据脉冲后退+右转:同步脉冲+52个数据脉冲按键松开时发送2帧停止位:同步脉冲+4个数据脉冲。
接收部分收到的是反相的信号,读者在制作时要注意。
图二(点击放大)图三;五功能遥控车发射程序.;MCU:2051;OSC:12M;DATE:08.05.18;功能:;前进(F);后退(B),;左转(L),;右转(R).;加速(T).;作者:徐增钟;===================================================================================KEY EQU P3DATAOUT BIT P1.0 ;数据输出口.LED BIT P1.1 ;发射指示灯.KEYBUF EQU 70H ;键号存放单元.KEYMASK BIT 01HKEYFLAG BIT 05HORG 0000HAJMP STARTORG 000BHAJMP INTTCCORG 0030H;======================================================= ============================CLEAR_RAM:MOV R0,#30H ;从30H单元开始.MOV R3,#127 ;清除127个单元NEXT: MOV @R0,#00 ;清除INC R1 ;DJNZ R3,NEXT ;127个单元清完?;RET;======================================================= ===========================;程序初始化;BEGIN:MOV SP,#50H ;MOV P1,#00H ;MOV P3,#0FFH ;MOV TMOD,#01HMOV TH0,#0B1HMOV TL0,#0E0HSETB TR0SETB EASETB ET0CLR KEYFLAGSETB KEYMASKRET;======================================================= ============================START:CALL CLEAR_RAM ;清除RAMCALL BEGIN ;程序初始化;LOOP:CALL KEYON ;调用KEYSCANAJMP LOOPNOPNOPNOPAJMP START;======================================================= ============================INTTCC:MOV TH0,#0B1HMOV TL0,#0E0HSETB KEYFLAGRETI;======================================================= ============================KEYON:MOV A,KEYCJNE A,#0FFH,KEYSENDJB KEYMASK,ETSETB KEYMASKCLR LEDMOV R5,#2X2: MOV R3,#4CALL SENDDJNZ R5,X2SETB DATAOUTCALL DY5MSMOV P1,#00ET:RET;======================================================= =============================KEYSEND:SETB LEDCLR KEYMASKCJNE A,#0DFH,K1MOV R3,#10 ;发送10个脉冲. AJMP SENDRETK1: CJNE A,#0EFH,K2MOV R3,#40 ;发送40个脉冲. AJMP SENDRETK2: CJNE A,#0F7H,K3MOV R3,#64 ;发送64个脉冲. AJMP SENDRETK3: CJNE A,#0FBH,K4MOV R3,#58 ;发送58个脉冲. AJMP SENDRETK4: CJNE A,#0D7H,K5MOV R3,#34 ;发送34个脉冲. AJMP SENDRETK5: CJNE A,#0DBH,K6MOV R3,#28 ;发送28个脉冲. AJMP SENDRETK6: CJNE A,#0E7H,K7MOV R3,#46 ;发送46个脉冲. AJMP SENDRETK7: CJNE A,#0EBH,K8MOV R3,#52 ;发送52个脉冲. AJMP SENDK8: CJNE A,#0FFH,KEXIT KEXIT:RET;======================================================= ============================DOUT:SETB DATAOUTCALL DYMS5CLR DATAOUTCALL DYMS5DJNZ R3,DOUTMOV P2,#00RETSEND:MOV R1,#04N1: SETB DATAOUTMOV R4,#255D1: NOPNOPNOPNOPDJNZ R4,D1CLR DATAOUTCALL DYMS5DJNZ R1,N1AJMP DOUTNOPNOPAJMP START;======================================================= ============================DYMS5:MOV R6,#250D2:DJNZ R6,D2RET;======================================================= ===========================DY5MS:MOV R5,#4D3: MOV R3,#248DJNZ R3,$DJNZ R5,D3RET;======================================================= ===========================END以下是接收部分程序;遥控车接收程序.;MCU:AT89C2051;OSC:12M;DATE:08.05.18;接收相应功能:前进,后退,左转,右转.;E-MAIL:chinameifen@;作者:徐增钟;======================================================= ==========IN EQU P3.2 ;RECEIVERXMA BIT 05H;======================================================= ==========ORG 0000HAJMP STARTORG 0003HAJMP INRXORG 0030H;======================================================= =========CLEAR_RAM:MOV R1,#30HMOV R3,#127NEXT: MOV @R1,#00INC R1DJNZ R3,NEXTRET;======================================================= =========START:MOV SP,#50HMOV P3,#0FFH ;MOV P2,#0FFH ;MOV P1,#00 ;SETB EASETB EX0CLR RXMALOOP:CALL NORXAJMP LOOP;======================================================= =============INRX:CLR EX0MOV R4,#4 ;同步脉冲.MOV TMOD,#01HNX1: MOV TH0,#00 ;计数初值为00.MOV TL0,#00 ;SETB TR0INC1: JNB IN,INC1 ;低电平在此等CLR TR0MOV A,TH0CJNE A,#05H,EXITHERE1: JB IN,HERE1 ;等待0.5MS高电平结束.DJNZ R4,NX1JNB IN,$CLR ARD1: INC ARD2: JB IN,RD2MOV R1,#05RD3: JB IN,RD1LCALL DYMS5DJNZ R1,RD3DEC ADEC ADEC ADEC AJZ STOPDEC ADEC ADEC ADEC ADEC ADEC AJZ K1DEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC ADEC AJZ FRDEC ADEC ADEC ADEC ADEC A JZ FL DEC A DEC A DEC A DEC A DEC A DEC A JZ K2 DEC A DEC A DEC A DEC A DEC A DEC A JZ BL DEC A DEC A DEC A DEC A DEC A DEC A JZ BR DEC A DEC A DEC A DEC A DEC A DEC A JZ K3 DEC A DEC A DEC A DEC A DEC A DEC ANOPNOPEXIT: SETB EX0RETISTOP: MOV P1,#00AJMP EXITK1:MOV P1,#00010000B ;FAJMP EXITK2:MOV P1,#00100000B ;BAJMP EXITK3:MOV P1,#01000000B ;LAJMP EXITK4:MOV P1,#10000000B ;RAJMP EXITFR: MOV P1,#10010000B ;F+RAJMP EXITFL:MOV P1,#01010000B ;F+LAJMP EXITBR:MOV P1,#10100000B ;B+RAJMP EXITBL:MOV P1,#01100000B ;B+LAJMP EXIT;======================================================= =======NORX:MOV R1,#200RX: JNB IN,NETCALL DY1MSDJNZ R1,RXMOV P1,#00NOSI:RET;======================================================= =======DYMS5:MOV R5,#135DJNZ R5,$RET;======================================================= =======DY1MS:MOV R6,#138D2:DJNZ R6,D2RET;======================================================= =======END。
51单片机四驱无线遥控小车制作详解
51 单片机四驱无线遥控小车制作详解
小车参数:控制键5 个:前进、后退、左转、右转、停止;有效距离200 米;速度:
我想遥控小车大家都玩过,网上也有各种DIY 小车的制作详解,我做的这个遥控小车和其他的作品大同小异,但作为单片机设计,这次设计我主要强调单片机控制,就是说,这个小车是由单片机控制的,这次我把单片机按键发送程序、无线模块使用、电机驱动作为本教程的核心内容。
一硬件组装
1 小车运动部分
此图是我师弟组装好的,请大家作为参考
所需工件:直流电机4 个,L293D 电机驱动模块,蓄电池一块,车身底盘。
基于51单片机红外遥控小车制作报告(原创)
• 三、直流电机的参数 • 转矩-电机得以旋转的力矩,单位为㎏•m或N•m。 • 转矩系数-电机所产生转矩的比例系数,一般表示每安培电驱电 流所产生的转矩大小。 • 摩擦转矩-电刷、轴承、换向单元等因摩擦而引起的转矩损失。 • 启动转矩-电机启动时所产生的旋转力矩。 • 转速-电机旋转的速度,工程单位为r/min,即转每分。在国际单 位制中为rad/s,即弧度每秒。 • 电枢电阻-电枢内部的电阻,在有刷电机里一般包括电刷与换向 器之间的接触电阻,由于电阻中流过电流时会发热,因此总希望电枢 电阻尽量小。 • 电枢电感-因为电枢绕组由金属线圈构成,必然存在电感,从改善电 机运行性能的角度来说,电枢电感越小越好。
•
图7所示为另一对 三极管Q2和Q3导通的 情况,电流将从右至 左流过电机。当三极 管Q2和Q3导通时,电 流将从右至左流过电 机,从而驱动电机沿 另一方向转动(电机 周围的箭头表示为逆 时针方向)。
• 二、使能控制和方向逻辑 • 驱动电机时,保证H桥上两个同侧的三极管不会同时导通非常重 要。如果三极管Q1和Q2同时导通,那么电流就会从正极穿过两个三 极管直接回到负极。此时,电 路中除了三极管外没有其他任何负载, 因此电路上的电流就可能达到最大值(该电流仅受电源性能限制), 甚至烧坏三极管。基于上述原因,在实际驱动电路中通常 要用硬件电 路方便地控制三极管的开关。
遥控小车制作报告目录一整体方案设计11整体方案设计的思路12整体方案的流程图二小车系统概况21最小系统简介22稳压系统简介23红外遥控简介24驱动原理简介25直流电机简介三车体设计四软件的简单介绍41keil的简介42protues的简介五程序清单六部分实验电路图11整体方案设计的思路利用无线发射和无线接收模块控制单片机让单片机翻译传输指令从而实现相应的功能
基于单片机控制的wifi智能小车毕业设计
篇一:基于51单片机WiFi智能小车制作
基于51单片机WiFi智能小车制作
一、基本原理
51单片机WiFi智能小车是利用PC或手机作为控制端,通过手机连接wifi模块(路由器)以获得wifi信号,同时车载也连接wifi模块以获得和手机相同的IP地址,实现手机和小车的连接,然后利用PC或手机上的控制软件以wifi网络信号为载体发送相关信号,wifi模块接收PC或手机端发送来的相关信号并分析转换成TTL电平信号,然后发送给单片机,单片机接收到的电平信号处理、分析、计算,转化成控制指令并发送给电机驱动模块以实现小车的前进、后退、左拐、右拐等功能。
第1章
1.1
1.2
第2章
2.1
2.2
2.3 绪论 ................................................................................. 错误!未定义书签。 智能小车的意义和作用 ........................ 错误!未定义书签。 智能小车的现状 ............................................... 1方案设计与论证 ............................................................................................... 2 主控系统 ..................................................... 2 电源模块 ..................................................... 2 电机驱动模块 ................................................. 3
基于51单片机的智能小车设计报告
本人保证自写文档,文档不足之处请谅解目录一、设计的目的------------------1二、设计的模块------------------1三、程序的流程------------------6四、元器件清单------------------8五、成品的制作------------------8六、注意事项--------------------9七、设计的总结------------------9设计的目的智能遥控车地目的主要突出在智能与遥控上,遥控意思明显就是通过某种控制手段使得小车能够实现由控制者控制前进后退等操作;智能可以体现为功能上的智能化。
本作的目的是实现控制小车移动时对前方所存在的威胁进行报警提醒。
设计的模块此次设计的硬件电路模块大致为五大类,分别是51单片机最小系统模块、电源模块、电机工作驱动模块、超声波报警系统模块、无线控制发射接收模块。
下图为硬件电路框图:1、单片机最小系统此模块式是本设计的控制核心模块,单片机最小系统由三部分组成:STC89C52芯片部分、复位部分(由按键开关、极性电容、10K电阻组成)、晶振部分(由12M石英晶振、两个30PF的瓷片电容组成)。
主要起程序的输入与控制、程序的复位、时间频率控制的作用。
2、无线控制模块本设计的无线控制模块是由编码芯片PT2262和解码芯片PT2272组成的电路模块组成,工作方式是编码芯片PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
3、电机驱动模块本设计是采用了L298N电机驱动模块来驱动减速电机工作;L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
基于STC51单片机315M无线遥控智能小车-Protues仿真-程序编写
无线遥控智能小车摘要:本设计就采用了比较先进的89C51为控制核心,89C51采用CHOMS工艺,功耗很低。
这种方案能实现对智能小车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。
本设计采用MCS-51系列中的89C51单片机。
以89C51为控制核心,利用超声波传感器检测道路上的障碍,控制电动小车的自动避障、自动寻迹功能。
整个系统小巧紧凑,控制准确,性价比高,人机互动性好。
关键词:单片机;避障;寻迹;89c51图2-1系统硬件框图三、硬件的设计(一)系统硬件设计思路按设计要求,根据超声波测距原理,以单片机AT89c51为核心的测液位系统。
设计系统各部分电路功能。
图3.1为89C51单片机的最小系统。
图3.1 89C51单片机最小系统1.时钟电路89C51虽然有内部振荡电路,但要形成时钟,必须外部附加电路。
89C51单片机的时钟产生方法有两种。
内部时钟方式和外部时钟方式。
本设计采用内部时钟方式,利用芯片内部的振荡电路,在XTAL1、XTAL2引脚上外接定时元件,内部的振荡电路便产生自激振荡。
本设计采用最常用的内部时钟方式,即用外接晶体和电容组成的并联谐振回路。
振荡晶体可在1.2MHZ到12MHZ之间选择。
电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小、振荡电路起振速度有少许影响,CX1、CX2可在20pF到100pF之间取值,但在60pF到70pF时振荡器有较高的频率稳定性。
所以本设计中,振荡晶体选择6MHZ,电容选择65pF。
在设计印刷电路板时,晶体和电容应尽可能靠近单片机芯片安装,以减少寄生电容,更好的保证振荡器稳定和可靠地工作。
为了提高温度稳定性,应采用NPO 电容。
2.复位电路89C51的复位是由外部的复位电路来实现的。
复位引脚RST通过一个斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
基于51单片机的手机蓝牙遥控小车设计(程序元件清单实物图)
基于51单片机的手机蓝牙遥控小车设计(程序元件清单实物图)本人一直想做一个遥控车,终于今天实现了,跟大家分享一下。
一、元件清单1、某宝购买一个智能小车底盘(本人车是四驱的,因此有四个电机,两块亚克力板和一些配件螺丝)2、L298n模块两个(一个298控制两个电机)3、HC-06蓝牙模块4、电池盒跟18650电池3个5、单片机最小系统6、杜邦线至少12根,当然越多越好7、若干根导线(连接电机用的,以及电池盒连到L298N跟单片机)二、制作过程首先,先去了解一下L298N的接线,我当时也是懵逼了好久,反正摸索着也会了,一般店家都有资料。
然后是蓝牙模块的使用,拿到蓝牙模块后,有开发板的话(没有就用单片机的烧录器),先按照TXD接TXD,RXD接RXD,打开电脑的串口助手与蓝牙构建通信,打开AT,发送AT指令集,比如设设波特率,改个名字,改个配对的密码。
但通过蓝牙与单片机连接通信的时候,就是TXD接RXD了。
最后一个就是,本人在接线的时候经常碰壁。
比如,你以为接好的线他其实没接好,根本没通,还是拿万用表B了才知道。
因为本人忘了买电池盒,所以我是用12V的直流电接着的,导致遥控车拖着跟电线。
三、实物图(拖着跟电线以及充电宝供电的车不过我没通电)资料内包括L298N的部分资料,以及蓝牙的说明书(看AT指令集就好)和源程序。
app:单片机源程序如下:1./*手机蓝牙遥控小车 APP可以在应用市场搜蓝牙串口助手2.左转右转大概是90度我的是四驱的,如果是只有一个l298N 的话就把带2的删了3.pwm有十级变速*/4.5.6.#include <reg52.h>7.8.#define Left_moto2_pwm P0_4 //接驱动模块ENA 使能端,输入PWM信号调节速度左后轮9.#define Right_moto2_pwm P0_5 //接驱动模块ENB 右后轮10.#define Left_moto_pwm P1_4 //接驱动模块ENA 使能端,输入PWM信号调节速度左前轮11.#define Right_moto_pwm P1_5 //接驱动模块ENB 右前轮12.#define uchar unsigned char13.#define uint unsigned int14.15.sbit P0_4=P0^4; //定义P0_416.sbit P0_5=P0^5; //定义P0_517.sbit P1_4=P1^4; //定义P1_418.sbit P1_5=P1^5; //定义P1_519.20./*电机驱动IO定义*/21.sbit IN1 = P1^2; //为1 左电机反转前轮22.sbit IN2 = P1^3; //为1 左电机正转前轮23.sbit IN3 = P1^6; //为1 右电机正转前轮24.sbit IN4 = P1^7; //为1 右电机反转前轮25./*sbit EN1 = P1^4; //为1 左电机使能26.sbit EN2 = P1^5; //为1 右电机使能 */27.28.sbit IN5 = P0^2; //为1 左电机反转后轮29.sbit IN6 = P0^3; //为1 左电机正转后轮30.sbit IN7 = P0^6; //为1 右电机正转后轮31.sbit IN8 = P0^7; //为1 右电机反转后轮32./*sbit EN3 = P0^4; //为1 左电机使能后轮33.sbit EN4 = P0^5; //为1 右电机使能后轮 */34.35.bit Right_moto_stop=1;36.bit Left_moto_stop =1;37.unsigned int time=0;38.int pwm=1;39.40.#define left_motor_en EN1 = 1 //左电机使能41.#define left_motor_stops EN1 = 0 //左电机停止42.#define right_motor_en EN2 = 1 //右电机使能43.#define right_motor_stops EN2 = 0 //右电机停止44.45.#define left_motor2_en EN3 = 1 //左电机使能后46.#define left_motor2_stops EN3 = 0 //左电机停止后47.#define right_motor2_en EN4 = 1 //右电机使能后48.#define right_motor2_stops EN4 = 0 //右电机停止后49.50.51.#define left_motor_go IN1 = 0, IN2 = 1//左电机正传52.#define left_motor_back IN1 = 1, IN2 = 0//左电机反转53.#define right_motor_go IN3 = 1, IN4 = 0//右电机正传54.#define right_motor_back IN3 = 0, IN4 = 1//右电机反转55.56.#define left_motor2_go IN5 = 0, IN6 = 1//左电机正传57.#define left_motor2_back IN5 = 1, IN6 = 0//左电机反转58.#define right_motor2_go IN7 = 1, IN8 = 0//右电机正传59.#define right_motor2_back IN7 = 0, IN8 = 1//右电机反转60.61.unsigned char pwm_val_left =0;//变量定义62.unsigned char push_val_left =0;// 左电机占空比N/1063.unsigned char pwm_val_right =0;64.unsigned char push_val_right=0;// 右电机占空比N/1065.66.67.void delay(uint z)68.{69.uint x,y;70.for(x = z; x > 0; x--)71.for(y = 114; y > 0 ; y--);72.}73.74.75.76.//蓝牙初始化77.void UART_INIT()78.{79.SM0 = 0;80.SM1 = 1;//串口工作方式181.REN = 1;//允许串口接收82.EA = 1;//开总中断83.ES = 1;//开串口中断84.TMOD = 0x20;//8位自动重装模式85.TH1 = 0xfd;86.TL1 = 0xfd;//9600波特率87.TR1 = 1;//启动定时器188.}89.90./************************************************************************/91.void run(void) //pwm调速函数92.{93.push_val_left =pwm; //PWM 调节参数1-10 1为最慢,10是最快改这个值可以改变其速度94.push_val_right =pwm; //PWM 调节参数1-10 1为最慢,10是最快改这个值可以改变其速度95.if(pwm==10) pwm=0;96.if(pwm==0&&pwm<0) pwm=0;97.98.}99.100.101./******************************************************** ****************/102./* PWM调制电机转速 */ 103./******************************************************** ****************/104.105.106./* 左侧电机调速 */107./*调节push_val_left的值改变电机转速,占空比 */108.void pwm_out_left_moto(void)109.{110.if(Left_moto_stop)111.{112.if(pwm_val_left<=push_val_left)113.{ Left_moto_pwm=1;114.Left_moto2_pwm=1; }115.else116.{ Left_moto_pwm=0;Left_moto2_pwm=0; }117.118.if(pwm_val_left>=10)119.pwm_val_left=0;120.}121.else { Left_moto_pwm=0;Left_moto2_pwm=0; }122.}123./******************************************************** **********/124./* 右侧电机调速 */125.void pwm_out_right_moto(void)126.{127.if(Right_moto_stop)128.{129.if(pwm_val_right<=push_val_right)130.{ Right_moto_pwm=1;131.Right_moto2_pwm=1; }132.else133.{Right_moto_pwm=0;134.Right_moto2_pwm=0;}135.if(pwm_val_right>=10)136.pwm_val_right=0;137.}138.else {Right_moto_pwm=0;Right_moto2_pwm=0; } 139.}140./***************************************************/141.///*TIMER0中断服务子函数产生PWM信号*/142.void timer0()interrupt 1 using 2143.{144.TH0=0XF8; //1Ms定时145.TL0=0X30;146.time++;147.pwm_val_left++;148.pwm_val_right++;149.pwm_out_left_moto();150.pwm_out_right_moto();151.}152.153.//小车前进154.void forward()155.{156.ET0 = 1;157.run(); //pwm 程序158.left_motor_go; //左电机前进159.right_motor_go; //右电机前进160.left_motor2_go; //左电机前进后轮161.right_motor2_go; //右电机前进后轮162.}163.164.void left_go() //左转165.{166.ET0 = 1;167.run();168.left_motor_back;169.right_motor_go;170.left_motor2_back;171.right_motor2_go;172.delay(700);173.forward();174.}175.//右转176.void right_go()177.{178.ET0 = 1;179.run();180.delay(50);181.right_motor_back;182.left_motor_go;183.right_motor2_back;184.left_motor2_go;185.delay(700);186.forward();187.}188.//小车左转圈189.void left()190.{191.ET0 = 1;192.run();193.delay(50);194.right_motor_go; // 右电机前进195.left_motor_back; // 左电机后退196.right_motor2_go; // 右电机前进197.left_motor2_back; // 左电机后退198.}199.200.//小车右转圈201.void right()202.{203.ET0 = 1;204.run();205.left_motor_go;206.right_motor_back;207.left_motor2_go;208.right_motor2_back; 209.}210.211.//小车后退212.void back()213.{214.ET0 = 1;215.run();216.left_motor_back;217.right_motor_back; 218.left_motor2_back;219.right_motor2_back; 220.}221.222.//小车停止223.void stop()224.{225.ET0 = 0;226.P1=0;227.P0=0;228.}229.230.231.//串口中断232.void UART_SER() interrupt 4 233.{234.if(RI)236.RI = 0;//清除接收标志237.switch(SBUF)238.{239.case 'g': forward(); break;//前进240.case 'b': back(); break;//后退241.case 'l': left(); break;//左转圈242.case 'r': right(); break;//右转圈243.case 's': stop(); break;//停止244.case 'z': left_go(); break;//左转行驶245.case 'y': right_go(); break;//右转行驶246.case 'p': pwm++;break; //加速247.case 'c': pwm--;break; //减速248.}249.250.}251.}252.253.void main()254.{255.TMOD=0X01;256.TH0= 0XF8; //1ms定时257.TL0= 0X30;258.TR0= 1;259.ET0= 1;260.EA = 1;261.UART_INIT();//串口初始化262.while(1);263.}264.。
单片机无线遥控小车毕业设计(论文)---精品管理资料
毕业设计(论文)题目:基于单片机的无线遥控小车控制系统设计学生姓名 XXXX 指导教师XXXX二级学院 XXXX 专业自动化班级自动化学号 1XXX1提交日期2014年5月11日答辩日期 2014年5月17日目录摘要 (III)Abstract.................................................................................................................... I V 第一章绪论.. (1)1.1 前言 (1)1。
2 单片机背景知识 (1)1.3 研究的主要内容 (2)第二章系统主要模块介绍 (3)2.1 系统总体设计 (3)2。
2 主控模块及其原理分析 (3)2.2。
1 单片机介绍 (4)2.2.2 晶振电路 (6)2.2。
3 复位电路 (7)2。
3 无线遥控 (8)2。
3.1 无线遥控简介 (8)2.3.2 红外线遥控的工作原理 (9)2。
4 传感器电路设计 (12)2。
4。
1 传感器的选择 (12)2.4.2 传感器原理 (13)2.4。
3 寻迹小车的寻迹原理 (14)2。
5 电机驱动模块 (15)2。
5。
1 如何转动电机 (15)2。
5。
2 电机驱动模块 (16)2。
6 电源管理模块 (18)第三章系统软件设计 (19)3。
1循迹流程图 (19)3。
2小车控制算法 (20)3.2。
1 方案选择 (20)3.2.1 最少拍控制算法介绍 (21)3。
3 开发环境 (22)3。
3.1 keil C51 介绍 (22)3。
3。
2 用keil软件编写软件 (22)3。
3。
3 烧录软件 (28)3.3.4 程序中的I/O口分配 (29)第四章焊接与调试 (31)第五章结论 (33)参考文献 (34)附录一(程序) (35)附录二(实物图) (50)致谢 (51)基于单片机的无线遥控小车控制系统设计摘要本毕业设计是以AT89C51单片机为控制核心的智能小车系统.AT89C51单片机是一款八位的单片机,它的易用性和多功能性受到了广大使用者的好评,因此普及率很高,各种软硬件的资料也很齐全。
基于51单片机的WIFI遥控小车
基于51单片机的WIFI遥控小车本文所述智能车寻迹系统采用红外反射式光电管识别路径上的黑线,并以最短的时间完成寻迹。
通过加长转臂的舵机驱动前轮转向,使用符合PI算法的控制器实现直流电机的调速。
为了使智能车快速、平稳地行驶,系统必须把路径识别、相应的转向伺服电机控制以及直流驱动电机控制准确地结合在一起。
本设计最大亮点在于WIFI智能,过高速WIFI信号来控制小车的前进、后退、左右转弯、高清摄像头实时拍摄。
具有高度的智能化、人性化。
标签:智能;WIFI;51单片机1 引言智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。
电动智能车就是其中的一个体现。
本次设计的电动智能车可实现循迹、避障、WIFI 智能视频等功能。
随着控制技术及计算机技术的发展,智能车系统将在未来工业生产和日常生活中扮演重要的角色。
2 设计方案该设计以AT89C51为核心,经焊接相关芯片用电路板自制而成,通过I/O 口检测信号,输出信号到LD293D,从而驱动两个直流电机控制其前进、停止、左转、右转。
检测信号则为三组红外发射和接收管,一组黑线时输出高电平,白线时输出低电平。
另两组黑线时输出低电平,白线时输出高电平。
并通过采用红外反射式光电管识别路径上的黑线,并以最短的时间完成寻迹。
通过加长转臂的舵机驱动前轮转向,使用符合PI算法的控制器实现直流电机的调速。
为了使智能车快速、平稳地行驶,系统必须把路径识别、相应的转向伺服电机控制以及直流驱动电机控制准确地结合在一起。
3 硬件电路设计硬件电路分为电源模块、单片机最小系统模块、传感器模块、LM298电机驱动模块。
下面分别介绍下电源模块、传感器模块和电机驱动模块。
4 研究内容设计采用Atmel系列中的AT89C51单片机。
以AT89C51为控制核心,利用红外反射式光电管识别路径上的黑线,并以最短的时间完成寻迹。
基于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口的低四位对遥控信号进行检测。
小车的机械结构设计:为了保证小车能够进行遥控,我们将道路检测电路板放在小车底盘的前端,无线接收模块放在小车的尾部,单片机控制板放在小车的正上方保持小车的平衡性,小车的主动轮为前端两个,从动轮为后面一个,电池放在两个主动轮之间,这样的整体设计既可以保持重心尽量在一条竖直线上又方便电源的开关,使小车转弯时的转动惯量减小,增强其稳定性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机无线遥控小车设计
一、引言
无线遥控小车是一种基于51单片机的智能小车系统,它利用无线通
信技术实现了对小车的遥控。
通过无线遥控,我们可以随时控制小车的方向,实现室内或者室外的移动。
本设计将详细介绍51单片机无线遥控小
车的整体设计框架、电路连接和关键模块设计。
二、整体设计框架
整个系统分为遥控器端和小车端两个部分。
遥控器端通过按键或者摇
杆输入控制指令,经过编码和解码处理后,通过无线传输模块将指令发送
给小车端。
小车端接收到指令后,通过解码和控制模块来控制小车的运动。
三、电路连接
遥控器端由单片机、按键(或者摇杆)、编码芯片和无线传输模块组成。
按键用于输入控制指令,编码芯片用于将按键输入的模拟信号转换为
数字信号,单片机将数字信号进行编码后发送给无线传输模块,最终通过
无线通信将指令传输给小车端。
小车端由单片机、解码芯片、电机驱动、电机和无线接收模块组成。
无线接收模块用于接收遥控器端发送过来的指令,解码芯片将数字信号转
换为控制信号,单片机根据控制信号来控制电机驱动,从而实现小车的运动。
四、关键模块设计
1.编码和解码模块设计
编码和解码模块是整个系统中的关键部分,它负责将模拟信号转换为数字信号,并将数字信号转换为控制信号。
2.无线传输模块选择
无线传输模块是实现遥控通信的关键组件,我们可以选择使用蓝牙模块、无线射频模块等。
选择合适的无线传输模块需要考虑通信距离、通信速率、功耗等因素。
3.电机驱动模块设计
电机驱动模块负责将控制信号转换为电机运动控制信号,驱动电机完成小车的移动。
在设计电机驱动模块时,需要考虑电机的类型和电机驱动电路的选型。
五、总结
本设计详细介绍了51单片机无线遥控小车的整体设计框架,电路连接和关键模块设计。
通过对整个设计的理解和实现,我们可以实现对小车的远程遥控,从而实现室内或者室外的自动移动。
这种无线遥控小车系统在娱乐、智能家居、无人巡检等领域都有广泛的应用前景。