51单片机智能小车电路
基于51单片机智能小车的演示报告
图二 直流电机驱动模块的流程图
LOGO
INSERT LOGO
红外循迹模块
用红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射 性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到 白色纸质地板是发生漫反射,反射光被装在小车上的接收管接收;如果遇 到黑线则被红外光被吸收,小车上的接收管接收不到红外光。单片机就是 否收到反射回来的红外光伟依据来确定黑线的位置和小车的行走路线。
方案 2:直流电机:直流电机的控制方法比较简单,只需给电机的两根控制线加上适当的电压 即可使电机转动起来,电压越高则电机转速越高。对于直流电机的速度调节,可以采用改变电 压的方法,也可采用PWM调速方法。PWM调速就是使加在直流电机两端的电压为方波形式, 通过改变方波的占空比实现对电机转速的调节。
基于以上分析,我们选择了方案二,使用直流电机作为Βιβλιοθήκη 动车的驱动电机。结语•
根据本次设计要求,我们认真分析了设计课题的需求,还系统学习了51系
列单片机的工作原理及其使用方法,并独自设计智能小车的整个项目。虽然条件
艰苦,但经过不懈钻研和努力,购买到了所有所需的元器件,并系统的进行了多
项试验,最终做出了整个小车的硬件系统,然后结合课题任务和小车硬件进行了程
序的编制,本系统能够基本满足设计要求,能够较快较平稳的是小车沿引导线行
驶,但由于经验能力有限,该系统还存在着许多不尽人意的地方有待于进一步的
完善与改进。
•
通过本次课题设计,不仅是对我们课本所学知识的考查,更是对我的自学
能力和收集资料能力以及动手能力的考验。本次毕业设计使我们对一个项目的整
体设计有了初步认识,还认识了几种传感器。本次毕业设计使我们意识到了实验
基于51单片机智能小车设计
北华航天工业学院课程设计报告(论文)设计课题:基于51单片机智能循迹小车设计专业班级:B12242学生姓名:***指导教师:**设计时间:2014年6月15日北华航天工业学院电子工程系基于51单片机智能循迹小车课程设计任务书指导教师:王晓教研室主任:王晓2014年06 月15 日注:本表下发学生一份,指导教师一份,栏目不够时请另附页。
课程设计任务书装订于设计计算说明书(或论文)封面之后,目录页之前。
内容摘要本设计主要有单片机模块、地面寻线模块、发光二极管模块,电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用ATMEL公司的AT89C2051单片机作为控制芯片,传感器模块采用红外接收管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模由LM393芯片和两个直流电机构成,组成了智能车的动力系统,电源采用5V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
索引关键词:智能小车AT89C2051 单片机LM393 红外接收管目录一概述 (1)二方案设计与论证 (8)三单元电路设计及各模块具体电路 (3)3.1. 电路中51单片机芯片介绍 (13)3.2 最小系统部分电路 (19)3.3控制模块电路电路 (20)3.4电机驱动及二极管模块电路 (20)3.5寻线检测模块部分电路 (21)3.6软件设计 (22)四总原理图及元器件清单4.1总原理图 (23)4.2元器件清单 (23)五安装与调试5.1.电子元器件的装配 (24)5.2.机械装配 (25)5.3.总装 (25)六性能测试与分析6.1测试方法及注意事项 (26)6.2源程序 (26)七结论 (27)八心得体会 (28)九参考文献 (29)一、概述目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。
基于51单片机的模块化智能小车(超声波避障)
基于51单片机的模块化智能小车(有图有真相)!L298N 电机驱动芯片L电机驱动模块背面STC89C52最小系统背面小车底盘(拆自玩具遥控工程车)!5线4相步进电机(512:1)超声波测距模块装配好51最小系统和电机驱动模块的小车步进电机+超声模块装上了步进电机和超声模块连接好线后的造型+步进电机驱动电路ULN2003大功告成!土豆网上传了视频,但程序没有好好写,导致跑起来很不爽,这是很久以前的一个视频链接:/programs/view/q0naSUSlV-Q/欢迎大家多多交流QQ769942445这是源代码:#include "reg51.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned int#define ulong unsigned long#define Moto3 P0/* sbit Moto3_a=P0^0; //5线4相步进电机sbit Moto3_b=P0^1;sbit Moto3_c=P0^2;sbit Moto3_d=P0^3;*/sbit Moto1_l=P2^0; //左电机sbit Moto1_r=P2^1;sbit Moto2_l=P2^2; //右电机sbit Moto2_r=P2^3;sbit TX=P2^4;sbit RX=P2^5;bitflag,flager;ucharhehe,flag_front,flag_left,flag_right;uint time;ulong S;ucharabcd[4]={0x01,0x02,0x04,0x08}; //电机导通相序A-B-C-D uchardcba[4]={0x08,0x04,0x02,0x01}; //电机导通相序D-C-B-Avoid delay1(uchar x){ uchara,b;for(a=0;a<x;a++)for(b=0;b<100;b++);}void Moto3_left(){ uchari,j;for(j=0;j<80;j++){ for(i=0;i<4;i++){ Moto3=abcd[i];delay1(10);}}}void Moto3_right(){ uchari,j;for(j=0;j<80;j++){ for(i=0;i<4;i++){ Moto3=dcba[i];delay1(10);}}}void delay(uchar n) //延时n*1ms{uchara,b,c;for(c=n;c>0;c--)for(b=142;b>0;b--)for(a=2;a>0;a--);}void left(){ Moto1_l=1;Moto1_r=0;Moto2_l=0;Moto2_r=1;}void right(){ Moto1_l=0;Moto1_r=1;Moto2_l=1;Moto2_r=0;}void go(){ Moto1_l=0;Moto1_r=1;Moto2_l=0;Moto2_r=1;}void back(){ Moto1_l=1;Moto1_r=0;Moto2_l=1;Moto2_r=0;}void stop(){ Moto1_l=1;Moto1_r=1;Moto2_l=1;Moto2_r=1;}void TX_10us() //启动一次模块{ TX=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();TX=0;}void count() //计算{ time=TH0*256+TL0;S=(time*1.7)/100; //距离单位:cmTH0=0x00;TL0=0x00;if(S>30||flag==1) //10cm以内有效{ flag=0;}else{ flager=1; //障碍标志}}void test(){ TX_10us();while(!RX); //当RX为零时等待TR0=1; //开启计数while(RX); //当RX为1计数并等待TR0=0; //关闭计数count();}void delayer(uint n){ uinta,b,c;for(c=n;c>0;c--)for(b=100;b>0;b--)for(a=500;a>0;a--);}voidinit(){ TMOD=0x01;TH0=0x00;TL0=0x00;ET0=1;EA=1;}main(){ init();while(1)flag_front=flager;flager=0;Moto3_left();test();flag_left=flager;flager=0;aa: Moto3_right();test();flag_front=flager;flager=0;Moto3_right();test();flag_right=flager;flager=0;hehe=flag_front+(flag_left<<1)+(flag_right<<2);switch(hehe){ case 0x01:back();delayer(3);right();delayer(3);break;case 0x02:right();delayer(1);break;case 0x03:right();delayer(2);break;case 0x04:left();delayer(1);break;case 0x05:left();delayer(2);break;case 0x07:back();delayer(3);right();delayer(3);break;default:break;}go();flag_front=0;flag_left=0;flag_right=0;test();flag_right=flager;flager=0;Moto3_left();test();flag_front=flager;flager=0;Moto3_left();test();flag_left=flager;flager=0;hehe=flag_front+(flag_left<<1)+(flag_right<<2);switch(hehe){ case 0x01:back();delayer(3);right();delayer(3);break;case 0x02:right();delayer(1);break;case 0x03:right();delayer(2);break;case 0x04:left();delayer(1);break;case 0x05:left();delayer(2);break;case 0x07:back();delayer(3);right();delayer(3);break;default:break;}go();flag_front=0;flag_left=0;flag_right=0;gotoaa;}}void time0()interrupt 1{ flag=1;}。
基于51单片机智能小车(电路+程序+论文)
基于单片机的多功能智能小车设计论文(摘要(关键词:智能车单片机金属感应器霍尔元件 1602LCD)智能作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等等的用途。
智能电动车就是其中的一个体现。
本次设计的简易智能电动车,采用AT89S52单片机作为小车的检测和控制核心;采用金属感应器TL-Q5MC来检测路上感应到的铁片,从而把反馈到的信号送单片机,使单片机按照预定的工作模式控制小车在各区域按预定的速度行驶,并且单片机选择的工作模式不同也可控制小车顺着S形铁片行驶;采用霍尔元件A44E检测小车行驶速度;采用1602LCD实时显示小车行驶的时间,小车停止行驶后,轮流显示小车行驶时间、行驶距离、平均速度以及各速度区行驶的时间。
本设计结构简单,较容易实现,但具有高度的智能化、人性化,一定程度体现了智能。
目录1 设计任务 (3)1.1 要求 (3)2 方案比较与选择 (4)2.1路面检测模块 (4)2.2 LCD显示模块 (5)2.3测速模块 (5)2.4控速模块 (6)2.5模式选择模块 (7)3 程序框图 (7)4 系统的具体设计与实现 (9)4.1路面检测模块 (9)4.2 LCD显示模块 (9)4.3测速模块 (9)4.4控速模块 (9)4.5复位电路模块 (9)4.6模式选择模块 (9)5 最小系统图 (10)6 最终PCB板图 (12)7 系统程序 (13)8 致谢 (46)9 参考文献 (47)10 附录 (48)1. 设计任务:设计并制作了一个智能电动车,其行驶路线满足所需的要求。
1.1 要求:1.1.1 基本要求:(1)分区控制:如(图1)所示:(图1)车辆从起跑线出发(出发前,车体不得超出起跑线)。
在第一个路程C~D区(3~6米)以低速行驶,通过时间不低于10s;第二个路程D~E区(2米)以高速行驶,通过时间不得多于4秒;第三个路程E~F区(3~6米)以低速行驶,通过时间不低于10s。
51单片机控制的遥控小车
• • • • • • •
无线遥控接收端 2.1.2 红外检测原理图 元件清单: (1) 两个1938(红外探测器) (2) 两个EL-1L1(红外LED) (3) 四个470 电阻 (4) 两个9013三极管
• •
说明: 因为STC的IO驱动能力较弱,这里我们加入三极管使其工作在开关状态来增强驱动能力。本任务中 用到的是NPN型三极管9013, 当单片机的IO口输出高电平时,三极管导通,IRLED可发出红外光; 反之,当IO口输出低电平时,三极管截止,IRLED不能发射红外光。
• 2.2 红外循迹模块 • 2.2.1循迹原理 • 接近反射式光电感应器件RPR220由一个红外线发射二极管和一个光 电二极管组成,可以发射并检测到反射回的光线。由于不同颜色的物 体对光的反射率不同,当RPR220对准黑色物体时,黑色对光线反射 率低,光电二极管接收到的反射光很少,不能导通,输出高电平;反 之,当RPR220对准白色物体时,输出低电平。故而可以利用 RPR220区分出黑色跑道与白色跑道边缘,STC单片机可基于返回的 信号控制伺服电机,从而控制小车的行进。 • 2.2.2循迹原理图 • 元件清单 • 四个RPR220 • 100 、2K、10K 电阻各四个 • 四个10K 滑动变阻器 • LM339芯片
• 第一章:智能小车总体设计结构及硬件模块设计 • 1.1总体设计结构 • 智能小车采用STC单片机集中控制和分散模块化设计。智能小车硬件 由STC单片机开发板,红外检测模块组、轨迹检测模块以及无线遥控 模块组成,智能小车采用左右两个伺服电机,高电平持续的时间控制 电机运动转速。智能车前下端4组检测灯对黑线的反馈信号,通过单 片机控制伺服电机的转动。 • 小车的机械结构设计:为了保证小车能够进行循迹,同时避免外界 光的干扰,我们将道路检测电路板放在小车底盘的前端,红外避障模 块放在小车的前部,无线接收模块放在小车的尾部,单片机控制板放 在小车的正上方保持小车的平衡性,小车的主动轮为前端两个,从动 轮为后面一个,电池放在两个主动轮之间,这样的整体设计既可以保 持重心尽量在一条竖直线上又方便电源的开关,使小车转弯时的转动 惯量减小,增强其稳定性。
基于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单片机无线遥控小车的整体设计框架、电路连接和关键模块设计。
二、整体设计框架整个系统分为遥控器端和小车端两个部分。
遥控器端通过按键或者摇杆输入控制指令,经过编码和解码处理后,通过无线传输模块将指令发送给小车端。
小车端接收到指令后,通过解码和控制模块来控制小车的运动。
三、电路连接遥控器端由单片机、按键(或者摇杆)、编码芯片和无线传输模块组成。
按键用于输入控制指令,编码芯片用于将按键输入的模拟信号转换为数字信号,单片机将数字信号进行编码后发送给无线传输模块,最终通过无线通信将指令传输给小车端。
小车端由单片机、解码芯片、电机驱动、电机和无线接收模块组成。
无线接收模块用于接收遥控器端发送过来的指令,解码芯片将数字信号转换为控制信号,单片机根据控制信号来控制电机驱动,从而实现小车的运动。
四、关键模块设计1.编码和解码模块设计编码和解码模块是整个系统中的关键部分,它负责将模拟信号转换为数字信号,并将数字信号转换为控制信号。
2.无线传输模块选择无线传输模块是实现遥控通信的关键组件,我们可以选择使用蓝牙模块、无线射频模块等。
选择合适的无线传输模块需要考虑通信距离、通信速率、功耗等因素。
3.电机驱动模块设计电机驱动模块负责将控制信号转换为电机运动控制信号,驱动电机完成小车的移动。
在设计电机驱动模块时,需要考虑电机的类型和电机驱动电路的选型。
五、总结本设计详细介绍了51单片机无线遥控小车的整体设计框架,电路连接和关键模块设计。
通过对整个设计的理解和实现,我们可以实现对小车的远程遥控,从而实现室内或者室外的自动移动。
这种无线遥控小车系统在娱乐、智能家居、无人巡检等领域都有广泛的应用前景。
基于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。
单片机的智能循迹小车
调试方法
A
总之,基于 51单片机的 智能循迹小 车是一种简 单实用的智 能控制系统
B
通过合理的 硬件设计和 软件编程, 可以实现小 车的自动循
迹功能
C
在调试过程中, 需要逐步排查 问题,不断优 化程序,以提 高系统的性能
和稳定性
感/谢/聆/听
以及调试方法
1
原理
原理
1Байду номын сангаас
基于51单片机的智能循迹小车通过传感器检测小车与路径之间的距 离,将检测到的信号转换为电平信号,然后通过单片机进行处理
单片机根据接收到的信号控制电机驱动模块,从而控制小车的运动 方向和速度
2
3
通过不断调整小车的运动方向和速度,使得小车能够沿着指定的路 径进行运动
2
硬件组成
51单片机的智能 循迹小车
-
01
原理
02 硬件组成
03 软件设计 04 调试方法
51单片机的智能循迹小车
1
智能循迹小车是一种自动 控制系统,能够沿着指定
的路径进行运动
2
基于51单片机的智能循迹 小车是一种使用51单片机 作为主控制器的智能循迹
小车
3
下面将详细介绍基于51单 片机的智能循迹小车的原 理、硬件组成、软件设计
4
调试方法
调试方法
基于51单片机的智能循迹小车的调试方法主要包括以下几个步骤
硬件调试:检查硬件连接是否正确,确保电源、传感器、电机驱动模块等设备 能够正常工作
软件调试:通过调试器或仿真器对程序进行调试,检查程序是否存在语法错误 或逻辑错误
实际环境测试:将调试好的程序下载到单片机中,然后在实际环境中进行测试 。观察小车的运动情况,如果存在偏差或问题,需要对程序进行调整和优化
51单片机智能小车PWM调速前进程序源代码、电路原理图和器件表
51单片机智能小车PWM调速前进程序源代码、电路原理图、电路器件表从控制电路角度划分,智能小车电路板分为核心板和驱动板。
核心板上的处理器的芯片型号是:STC15W4K56S4,这是一款51单片机。
驱动板上有电源电路、电机驱动电路以及一些功能模块接口。
智能小车前进只要控制智能小车四个轮子向前转动就可以了。
智能小车四个轮子由四个直流减速电机驱动。
直流减速电机驱动芯片采用L293D,一片电机驱动芯片L293D可以驱动两个直流减速电机,智能小车用到4个直流减速电机,需要用到两片L293D电机驱动芯片。
但有时候我们需要控制智能小车的速度,不希望智能小车全速前进。
比如在“智能小车循迹实验”中,如果智能小车速度过快,来不及反应做出方向的调整,智能小车会很容易跑离轨迹,这样就需要调整控制智能小车的速度了。
那么怎么样实现智能小车前进速度的调节呢?调节智能小车的速度,实际上是调节电机的运转速度,PWM调速是目前电机的主流调速方式。
智能小车采用脉宽调制(PWM)的办法来控制电机的转速,从而控制智能小车的速度。
在此种情况下,电池电源并非连续地向直流电机供电,而是在一个特定的频率下为直流电机提供电能。
不同占空比的方波信号,调节对直流电机的通断电,能起到对直流电机调速作用。
这是因为电机实际上是一个大电感,它有阻碍输入电流和电压突变的能力,因此脉冲输入信号被平均分配到作用时间上。
这样,改变L293D使能端EN1和EN2上输入方波的占空比就能改变加在电机两端的电压大小,从而改变了直流电机转速。
智能小车PWM调速前进程序如下:首先,定义了2个变量,这2个变量用于设置智能小车的速度。
unsigned char pwmval_left_init=6; //调节此值可以调节小车的速度。
unsigned char pwmval_right_init=6; //调节此值可以调节小车的速度。
通过以下函数初始化定时器0,每1毫秒中断一次。
void Timer0_Init(void) //定时器0初始化{TMOD=0x01;TH0=0xf8;TL0=0xcd;TR0=1;ET0=1;EA=1;}下面我们看定时器0的中断处理函数。
基于51单片机的简易智能小车设计
基于51单片机的简易智能小车设计文章介绍了一种可循迹、可追光、可金属探测的基于51单片机的智能小车的设计。
小车的设计以AT89S52为核心,结合漫反射式光电传感器、电感式接近开关、光敏二极管和LM393实现循迹、追光、金属探测功能。
采用AT89S52芯片控制能够实现全部功能,系统电路结构简单,可靠性高。
标签:AT89S52;循迹;追光;金属探测;智能小车1 概述在科学技术飞速发展的今天,人工智能越来越受到人们的关注。
智能小车也属于人工智能中轮式机器人的一个分支,因而成为大多数电子类在校大学生学习和实践的重点。
本文设计的智能小车以AT89S52单片机为微控制器,使用L298N 作为两个直流电机的驱动芯片,驱动小车车轮运动。
单片机通过传感器检测到的不同信号,根据程序指令小车做出相应的动作。
小车在循迹的时候遇到金属物,小车停止循迹并鸣响蜂鸣器,在数码管上显示循迹过程中检测到的金属物个数;在循迹过程中有光源靠近则追光行驶。
2 智能小车的总体设计智能小车的总体构成有单片机最小系统、电机驱动、传感器部分和底盘部件。
单片机最小系统的制作,包括单片机及其外围电路、蜂鸣器电路、电源电路、4位七段LED数码管显示电路、ISP程序下载口、留足各个传感器的接口。
智能小车的系统框图如图1所示。
3 硬件模块设计3.1 单片机控制系统选用ATMEL公司的AT89s52单片机,该单片机片内集成有定时器,中断系统,丰富的I/O端口,有较强的位处理功能,且价格便宜,指令系统较简单。
考虑本系统主要用于控制,不需要复杂的运算,选用AT89s52完全可以实现控制功能,且价格便宜,编程较容易。
3.2 电机驱动模块单片机的带负载能力是无法直接驱动直流电机的,所以采用L298N作为直流电机的驱动模块。
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流電机和步进电机。
51单片机智能小车电路
51单片机智能小车顶顶电子设计的这款简易智能小车,采用STC89C51/52单片机作为小车的检测和控制核心;采用光电开关、声控传感器、光敏传感器、温度传感器、红外接收器等来检测和感应各种外界情况,从而把反馈到的信号送单片机,使单片机按照预定的工作模式控制小车在各区域按预定的速度行驶;智能小车既可以采用LED数码管来显示有关信息,也可以采用1602LCD实时显示小车行驶的距离。
机器小车主要由底盘(含2个带电机的驱动轮、2个从动轮,底板)、电路板和6节5号电池盒三部分组成,其正面和底面外形如图所示:下图是51单片机智能小车的电路组成框图:`下图是智能小车中主要元件在小车中的位置实物图:二、产品配置智能小车产品配置如下:1.小车底板1块、车轴插片4片2.车轮4只3.车轴2根,垫片2只,铜螺帽2只》4.带齿轮箱的电机及104电容各2只5.智能小车开发板1块(除DS18B20外,板上集成电路配备完整)6.避障光电传感器1只(TCR T5000)、循迹光电传感器2只(RPR220)、速度光电传感器1只(RPR220)7.双向插头排线4根8.串口线1根)9.红外遥控器1只10.固定电路板与底板的长螺丝、橡皮垫圈各2只节5号电池盒(因电池属易燃易爆物品,故不配送,请自行购买)12.丰富的源程序、电路原理图和操作使用手册(用户购买后,只需要再另外购502胶水(1元左右)、双面胶(1元左右)和6节5号电池(采用普通的华太电池即可,6节约元)即可进行组装与实验了。
需要说明的是,小车的组装非常简单,有关详细的组装方法,我们将在智能小车操作使用手册上,采用图解的形式进行说明。
三、选配件用户购买产品后,可进行小车的基本实验,如果用户想进行一些特殊的实验,需要购买以下产品,说明如下:1.温度传感器DS18B20,价格6元。
链接:配置DS18B20后,可进行温度显示的实验。
液晶显示器,价格16元。
\链接:配置1602液晶显示器后,可进行液晶显示方面的实验。
(完整版)基于51单片机的智能车设计与实现
(完整版)基于51单⽚机的智能车设计与实现⽬录摘要............................................................................................ 错误!未定义书签。
Abstract .......................................................................................... 错误!未定义书签。
1. 引⾔ (1)1.1 选题背景 (2)1.2设计⽬标 (2)2. 设计⽅案 (3)2.1 电机驱动⽅案 (3)2.2遥控控制⽅案 (3)2.3主控芯⽚的选择 (8)3. 系统硬件构成 (9)3.1 设计原理 (9)3.2 系统电源电路 (10)3.3单⽚机最⼩系统电路 (11)3.3.1复位电路 (11)3.3.2震荡电路 (12)3.4系统显⽰电路 (12)3.5外围传感器电路 (13)3.6 按键电路设计与实现 (13)4. 系统软件设计 (14)4.1 主程序控制流程 (14)4.2 ⽆线遥控控制实现 (15)4.3 智能避障、智能循迹的实现 (16)4.4 测速功能实现 (16)5. 系统组装调试 (17)5.1硬件组装调试 (17)5.2 软件设计与调试 (17)5.3 系统组装实物 (18)6. 结论 (18)致谢 (20)附录1 遥控⼦系统电路原理图 (21)附录2 车载⼦系统电路原理图 (22)11. 引⾔1.1选题背景智能机器⼈是能够在道路和野外连续地实时⾃主运动的机器⼈,是当今科技研究领域的热点,体现了信息科学与⼈⼯智能技术的最新成果。
现代机器⼈⼰经不仅仅在⼯业制造⽅⾯,⽽且在军事、民⽤、科学研究等许多⽅⾯得到了⼴泛的应⽤。
全国电⼦⼤赛和省内电⼦⼤赛⼏乎每次都有智能⼩车、机器⼈这⽅⾯的题⽬,全国各⾼校也都很重视该题⽬的研究。
51单片机智能小车
51单片机智能小车51单片机智能小车一、介绍本文档是关于使用51单片机制作智能小车的详细指南。
智能小车是一种能够自主感知周围环境并做出相应行动的。
通过学习本文档,您将了解到如何使用51单片机搭建一个具有基本功能的智能小车。
二、硬件准备1、51单片机开发板2、电机驱动模块3、电源模块4、超声波传感器5、电机6、小车底盘三、电路搭建1、将51单片机开发板和电机驱动模块连接起来,确保电机正常工作。
2、将超声波传感器连接到51单片机开发板上。
3、将电源模块连接到开发板和电机驱动模块上,确保电源供应稳定。
四、程序设计1、编写51单片机的C语言程序,实现小车的基本功能,例如前进、后退、左转、右转等。
2、利用超声波传感器进行障碍物检测,并在检测到障碍物时进行相应的避障行动。
3、可以根据需要添加其他功能,例如跟随线路行驶、遥控操作等。
五、调试与测试1、使用烧录器将程序烧录到51单片机开发板中。
2、将电机驱动模块和超声波传感器连接到开发板后,进行电路的连通测试。
3、使用遥控器或其他方式控制小车的运动,观察小车是否根据预期进行动作。
4、进行避障测试,将障碍物放在小车前方,观察小车是否能够正确避开障碍物。
附件:1、51单片机开发板连接图2、电机驱动模块接线图3、超声波传感器接线图法律名词及注释:1、版权:指著作权法所保护的有关著作权人对其创作作品享有的复制、发表、展览、上演、放映、广播、信息网络传播、出版等权利。
2、专利:指在法律规定的范围内以注册的形式保护发明创造的独占权。
3、商标:指为了区别商品来源而使用,具有识别性、区分性和专用性的标志。
4、法律责任:指根据法律规定,个人或者单位在违反法律规范时应承担的法律后果。
基于51单片机的蓝牙循迹小车
基于51单⽚机的蓝⽛循迹⼩车51单⽚机课程设计做了辆蓝⽛⼩车,下⾯是对课程设计内容的⼀些总结基于51单⽚机的蓝⽛循迹⼩车硬件模块L298N具体如图所⽰:⼯作原理简介:可以直接驱动两路 3-16V 直流电机,并提供了 5V 输出接⼝(输⼊最低只要 6V),可以给 5V 单⽚机电路系统供电。
输⼊电压最好是7v以上,输⼊电压低了会导致⼀系列问题,在后⾯有具体实践总结具体应⽤:可以⽅便的控制直流电机速度和⽅向,也可以控制 2 相步进电机,5 线 4 相步进电机。
管脚应⽤可以参考如图所⽰:①板载5V输出使能:如果跳线帽接上,则5v端⼦可以输出电压,若跳线帽没有街上,则12v输⼊端⼦没有作⽤,只能5v输⼊⼝输⼊(如果不接上直接废了,5v 输⼊基本不能使电机模块正常⼯作)②AB通道使能:端⼦接在上⾯表⽰AB通道⼀直保持⾼电平,处于使能状态,并且电压和5v输⼊端⼝电压相同;若处于没有使能状态,直接影响到输⼊端,让其⽆法⼯作!③单⽚机IO控制输⼊ + 马达AB输出 :顾名思义,四个IO输⼊端⼝和单⽚机四个IO⼝相连,然后通过电机驱动模块(双H桥电路)马达AB输出,以获得更⼤的驱动直流减速电机的能⼒,带动电机转动!B站直接搜L298N电机驱动模块,有视频详情介绍问题以及解决⽅案下⾯是⼀些使⽤L298N驱动电机的⼀些问题以及解决⽅法总结问题:1.直流减速电机不能正常转动,⼀个轮⼦只能单⽅向转动2.使能端⼝帽摘下来后,pwm信号输⼊问题3.供电问题解决:1.起初⽤4节南孚电池供电,⽤万⽤表测电压⼩于4.8v(电池快没啥电了),更换四节电池后⽤万⽤表测得4.9v+,上⾯出现的问题解决了2.输⼊端电压⼩于7v(⽤得四节南孚电池6v不到供电),使能电压和5v输⼊端⼦的电压相同,经测量5v端⼝电压只有3.8v左右,故使能电压就只有3.8v左右了,对PWM输出使能有⼀定影响3.L298N电机驱动中有稳压降压模块,如果供电⾜够⼤(⼤于7v),那么稳压降压模块会发挥作⽤,使得5v输⼊端⼦、使能端⼦、马达电机都能有稳定的5v⾼电平输出。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
51单片机智能小车顶顶电子设计的这款简易智能小车,采用STC89C51/52单片机作为小车的检测和控制核心;采用光电开关、声控传感器、光敏传感器、温度传感器、红外接收器等来检测和感应各种外界情况,从而把反馈到的信号送单片机,使单片机按照预定的工作模式控制小车在各区域按预定的速度行驶;智能小车既可以采用LED数码管来显示有关信息,也可以采用1602LCD实时显示小车行驶的距离。
机器小车主要由底盘(含2个带电机的驱动轮、2个从动轮,底板)、电路板和6节5号电池盒三部分组成,其正面和底面外形如图所示:下图是51单片机智能小车的电路组成框图:下图是智能小车中主要元件在小车中的位置实物图:二、产品配置智能小车产品配置如下:1.小车底板1块、车轴插片4片2.车轮4只3.车轴2根,垫片2只,铜螺帽2只4.带齿轮箱的电机及104电容各2只5.智能小车开发板1块(除DS18B20外,板上集成电路配备完整)6.避障光电传感器1只(TCR T5000)、循迹光电传感器2只(RPR220)、速度光电传感器1只(RPR220)7.双向插头排线4根8.串口线1根9.红外遥控器1只10.固定电路板与底板的长螺丝、橡皮垫圈各2只11.6节5号电池盒(因电池属易燃易爆物品,故不配送,请自行购买)12.丰富的源程序、电路原理图和操作使用手册用户购买后,只需要再另外购502胶水(1元左右)、双面胶(1元左右)和6节5号电池(采用普通的华太电池即可,6节约1.5元)即可进行组装与实验了。
需要说明的是,小车的组装非常简单,有关详细的组装方法,我们将在智能小车操作使用手册上,采用图解的形式进行说明。
三、选配件用户购买产品后,可进行小车的基本实验,如果用户想进行一些特殊的实验,需要购买以下产品,说明如下:1.温度传感器DS18B20,价格6元。
链接:/auction/item_detail-0db1-b 2ca1e775f188cd406558351465e6ebe.htm配置DS18B20后,可进行温度显示的实验。
2.1602液晶显示器,价格16元。
链接:/auction/item_detail-0db1-7 539f7eead8de5f63738a80f93bbafd8.htm配置1602液晶显示器后,可进行液晶显示方面的实验。
3.高性能光电开关E3F-DS10C4,价格16元。
链接:/auction/item_detail-0db1-c d6b09ffffb5f34d94c65f45c64a789e.htm配置E3F-DS10C4后,可大大提供小车避障和循迹的效果。
4.无线遥控套件,价格26元。
链接:/auction/item_detail-0db1-8 543313c500eaa4a1938a09e5980f011.htm配置无线遥控套件后,可进行无线遥控小车实验。
5.ISD1700语音模块,价格66元。
链接:/auction/item_detail-0db1-4 912d8ee5ace480707cd532a2dbd69ef.htm配置ISD1700语音模块后,可使小车具有说话的功能。
以上为选配件,请用户根据情况进行选择。
四、实验说明智能小车附带的程序十分丰富,全部采用C语言编写,非常方便使用和移植,主要程序如下:实验1——电池电压检测程序实现功能:开机后,数码管上显示出电池电压的值,当电池电压低于7V时,蜂鸣器鸣叫,表示电池电压低,需要更换电池。
下图是小车显示的电池电压情况(显示的电压值为8.5V):实验2——模拟PWM控制小车速度程序实现功能:用单片机的IO口模拟PWM信号,控制小车的转速,具体要求是:开机后,小车按全速运转,当按下K1键时,小车运行的速度是全速的0.1,当按下K2键时,小车的转速是全速的0.5。
实验3——用定时中断控制小车速度程序实现功能:采用定时中断方法,控制小车的转速,具体要求是:开机后,小车按全速的0.2运转。
实验时,为了便于对照,读者可在源程序的基础上修改定时器0中断处理函数:void Timer0(void) interrupt 1 //定时器0中断处理函数入口{TH0=0xfc; //定时1msTL0=0x66;EA=0; //关中断tim=tim+1; //时间计数加1if(tim<20){EN1=0;EN2=0;}else {EN1=1;EN2=1;}if(tim==100)tim=0;EA=1; //开中断}修改的方法是:改变上述语句if(tim<20){EN1=0;EN2=0;}中的tim的值,例如,将此改为if(tim<50){EN1=0;EN2=0;},重新编译源程序,再下载到小车的单片机中,此时会发现小车的运转速度快了很多。
实验4——话筒控制小车起停程序实现功能:在智能小车上安装有话筒,要求采用声音可以控制小车的起停,具体要求是:开机后,小车运转,LED1、LED2指示灯亮;当拍一下巴掌或敲击一下器物发出响亮的声音时,小车停转,LED1、LED2指示灯熄灭;再次拍一下,小车继续运转,LED1、LED2指示灯又点亮。
实验5——光控小车程序实现功能:在智能小车上安装有光敏电阻,能够感受到光线的变化情况,要求通过光敏电阻判断出白天和黑夜,当白天时(光线正常时,小车前面的两个指示灯LED1、LED2不亮),当夜晚时(光线暗时),小车前面的两个指示灯LED1、LED2点亮。
实验6——红外遥控数码管显示程序实现功能:在智能小车上安装有红外遥控接收头,能够接收遥控器发出的信号,要求按下遥控器的01H键时,小车前进(前方的两个指示灯熄灭);按下遥控器上的05H键时,小车停止(前方的两个指示灯熄灭);按下遥控器上的04H键时,小车左转(左前方的指示灯点亮);按下遥控器上的06H键时,小车右转(右前方的指示灯点亮);按下遥控器上的09H键时,小车后退(前方的两个指示灯点亮)。
遥控器上的键值能同时在LED数码管上显示出来。
以下是按下遥控器上的05H时,小车显示的情况:实验7——红外遥控LCD显示程序实现功能:在智能小车上安装有红外遥控接收头,能够接收遥控器发出的信号,开机时,LCD显示如下画面:要求按下遥控器的01H键时,小车前进(前方的两个指示灯熄灭);按下遥控器上的05H键时,小车停止(前方的两个指示灯熄灭);按下遥控器上的04H键时,小车左转(左前方的指示灯点亮);按下遥控器上的06H键时,小车右转(右前方的指示灯点亮);按下遥控器上的09H键时,小车后退(前方的两个指示灯点亮)。
遥控器上的键值和状态能同时在LCD 上显示出来(前时时显示FRONT,后退时显示BACK,左转时显示LEFT,右转时显示RIGHT,停止时显示STOP)。
以下是按下遥控器上的05H时,小车显示的情况:实验8——数码管温度显示程序实现功能:在智能小车上设有温度传感器DS18B20的安装位置,DS18B20安装好后,能够感知外界的温度,要求外界温度能通过LED数码管显示出来。
以下是显示的温度情况:实验9——LCD温度显示程序实现功能:在智能小车上设有温度传感器DS18B20的安装位置,DS18B20安装好后,能够感知外界的温度,要求外界温度能通过LCD显示出来。
以下是显示的温度情况:实验10——避障小车程序实现功能:在智能小车的头部,设有避障光电开关安装位置,如果装上此光电开关后,就能够感受到前方障碍物的,当检测到有障碍物时,可控制小车后退并转向,从而避开障碍物,达到避障的目的。
特别说明:本实例采用的是普通的光电开关(TCR T5000)进行避障,由于该开关检测距离较短(一般只有1cm左右),因此,避障效果不是很好,只有当小车离障碍物较近时,才能检测到障碍物的存在,容易发生车头触碰障碍物的情况;要真正达到比较好的效果,需要采用性能较好的光电开关,如E3F-DS10C4等,其检测距离达10cm以上,既使小车速度较快,一般也不会发生撞车的现象。
另外,如果想全方位进行避障,还需要在小车的前面多装几个光电开关,对不同方位的障碍物进行检测,用户可根据情况自行设计和安装。
实验11——小车循迹程序实现功能:在智能小车的头部,设有两个循迹光电开关安装位置,如果装上这个光电开关后,就能够感受到地面铺设的道路情况,从而控制小车按事先制作的黑色道路行进。
以下是小车循迹实验效果图:特别说明:本实例采用的是普通的光电开关(RPR220)进行循迹,由于该开关检测距离较短,因此,循迹效果不是很好,另外,还需要根据铺设的道路情况对源程序中的延时程序进行调整(当转向大时,将延时常数调小一些,当转向小时,将延时常数调大一些),以便使小车偏离道路时,能够及时转到正常的轨道上来。
为了能够达到比较好的循迹效果,建议采用性能较好的光电开关,如两只E3F-DS10C4等,其检测灵敏度较高,检测距离较远,当然,既使采用性能较好的光电开关,也需要根据实际的道路情况,对源程序中的延时时间进行调整。
这个源程序实验时有一定难度,用户一定要铺设好道路,对源程序进行简单的修改,并保持一定的耐心,否则,不易成功!实验12——小车里程计算程序实现功能:当小车运行时,在数码管上可以显示出小车转动的圈数,并且每转一圈,指示灯LED3会闪烁一次,当按下K1键时,小车停止,同时,在数码管上显示出小车运行的距离。
以下显示的是小车转动的圈数:特别说明:本实例采用的是普通的光电开关(RPR220)进行检测,由于该开关检测距离较短(一般只有1cm左右),因此,安装速度光电开关时,应尽量靠近车轮的内侧,如果小车转动时,指示灯LED3不闪烁,说明光电开关安装位置不正确,需要反复进行调整,直至正常为止。
实验13——无线控制小车程序实现功能:将无线遥控接收模块的+5V、GND、10(D0)、11(D1)、12(D2)、13(D3)、VT脚用杜邦线分别接智能小车开发板的VCC、GND、P00~P04脚,如下图所示:连接好后,可实现以下功能:按无线发射器的A键小车前进(再按按压则停止),按B键小车后退(再按按压则停止),按C键小车左转(再按按压则停止),按D键小车右转(再按按压则停止)。
实验14——具有语音功能的小车程序实现功能:将ISD1700语音模块J1中的VCC、GND 插针用杜邦线分别接智能小车开发板的VCC、GND脚,将ISD1700语音模块J4中的PLAY、FWD插针用杜邦线分别接智能小车开发板的P00~P01脚,如下图所示:。