基于51单片机的智能循迹小车的设计
基于51单片机智能小车循迹程序

#include <reg51.h>#include <stdio.h>#define uint unsigned int#define uchar unsigned char/**********************************/uchar led_data[9]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80}; uchar turn_count=0;bit end=0; //圈数跑完标志/*********************************/sbit xg0=P1^0; //左寻轨对管sbit xg1=P1^1; //中间寻轨对管sbit xg2=P1^2; //右寻轨对管sbit xz=P1^3; //感应挡板对管/*********************************/sbit Q_IN1=P2^0; //车前左轮控制sbit Q_IN2=P2^1;sbit Q_IN3=P2^2; //车前右轮控制sbit Q_IN4=P2^3;sbit H_IN1=P2^4; //车尾左轮控制sbit H_IN2=P2^5;sbit H_IN3=P2^6; //车尾右轮控制sbit H_IN4=P2^7;sbit Q_ENA=P3^0; //车前左轮使能,PWMsbit Q_ENB=P3^1; //车前右轮使能,sbit H_ENA=P3^6; //车尾左轮使能,sbit H_ENB=P3^7; //车尾右轮使能,/****************************************/#define stra_q_l 100 //直线行走时,四个轮子占空比调试#define stra_q_r 100#define stra_h_l 100#define stra_h_r 100#define turn_q_l 100 //转弯时四个轮子的占空比调试#define turn_q_r 100#define turn_h_l 100#define turn_h_r 100#define turnr_time 2900//右转弯时的延时常数#define turnl_time 3000 //左转弯时的延时常数#define dt_time 5800 //原地掉头时延时常数#define over_time 1000 //停止延时#define back_time 2500 //走完环形,回到直道延时转弯#define black_time 1500 //过黑线的时间#define correct_l_time 700 //左矫正时间#define correct_r_time 700 //右矫正时间#define hou_time 200/***************************************/uchar q_duty_l,q_duty_r,h_duty_l,h_duty_r,//车前后左右轮占空比i=0,j=0,k=0,m=0;/**************************************/void delay_cir(uint n){uchar x;while(n--){for(x=0; x<250;x++);};}/***********************************/void delay(uint ct) // 延时函数{uint t;t=ct;while(t--);}/***************************************/ void straight() //直走{q_duty_l=stra_q_l;q_duty_r=stra_q_r;h_duty_l=stra_h_l;h_duty_r=stra_h_r;Q_IN1=1;Q_IN2=0;Q_IN3=1;Q_IN4=0;H_IN1=1;H_IN2=0;H_IN3=1;H_IN4=0;}/***************************************/ void houtui() //后退{q_duty_l=stra_q_l;q_duty_r=stra_q_r;h_duty_l=stra_h_l;h_duty_r=stra_h_r;Q_IN1=0;Q_IN2=1;Q_IN3=0;Q_IN4=1;H_IN1=0;H_IN2=1;H_IN3=0;H_IN4=1;}/***************************************/ void turn_left() //左转{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_h_l;h_duty_r=turn_h_r;Q_IN1=0; //左轮反转Q_IN2=1;H_IN1=0;Q_IN3=1; //右轮正转Q_IN4=0;H_IN3=1;H_IN4=0;delay(turnl_time);}/***********************************/ void turn_right() //右转{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_q_l;h_duty_r=turn_q_r;Q_IN1=1; //左轮正转Q_IN2=0;H_IN1=1;H_IN2=0;Q_IN3=0; //右轮反转Q_IN4=1;H_IN3=0;delay(turnr_time);}/**************************************************/ void turn_round() //原地掉头{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_h_l;h_duty_r=turn_h_r;Q_IN1=0; //左轮反转Q_IN2=1;H_IN1=0;H_IN2=1;Q_IN3=1; //右轮正转Q_IN4=0;H_IN3=1;H_IN4=0;delay(dt_time);}/******************************************************/void over() //小车停止{Q_IN1=0;Q_IN2=0;Q_IN3=0;Q_IN4=0;H_IN1=0;H_IN2=0;H_IN3=0;H_IN4=0;}/*****************************************************/ void correct_right() //左偏,向右矫正{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_q_l;h_duty_r=turn_q_r;Q_IN1=1; //左轮正转Q_IN2=0;H_IN1=1;H_IN2=0;Q_IN3=0; //右轮反转Q_IN4=1;H_IN3=0;H_IN4=1;delay(correct_r_time);}void correct_left() //右偏,向左矫正{q_duty_l=turn_q_l;q_duty_r=turn_q_r;h_duty_l=turn_h_l;h_duty_r=turn_h_r;Q_IN1=0; //左轮反转Q_IN2=1;H_IN1=0;H_IN2=1;Q_IN3=1; //右轮正转Q_IN4=0;H_IN3=1;H_IN4=0;delay(correct_l_time);}/*************************************/ void xunji(){if(xg1==1){turn_count++;over();delay(over_time);if(turn_count==1){straight();delay(black_time);}elseif(turn_count==2){houtui();delay(hou_time);turn_left();}elseif(turn_count==3) {houtui();delay(hou_time); turn_right();}elseif(turn_count==4) {houtui();delay(hou_time); turn_right();}elseif(turn_count==5) {straight();delay(black_time); }elseif(turn_count==6) {houtui();delay(hou_time); turn_right();}elseif(turn_count==7) {houtui();delay(hou_time); turn_right(); straight();delay(back_time); turn_left();}elseif(turn_count==8) {straight();delay(black_time); }elseif(turn_count==9) {houtui();delay(100);turn_round();}if(turn_count>=9){turn_count=0;cir_count++;circle--;}{end=1;over();delay(500);}}elseif((xg0==0)&&(xg1==0)&&(xg2==0)) {straight();}elseif((xg0==1)&&(xg1==0)&&(xg2==0)) {over();delay(over_time);houtui();delay(hou_time);correct_right();}//左偏,向右矫正elseif((xg0==0)&&(xg1==0)&&(xg2==1)){over();delay(over_time);houtui();delay(hou_time);correct_left();} //右偏,向左矫正}/***********************************************/ void int0(void) interrupt 0 //中断圈数设定{EX0=0;delay_cir(250);circle++;if(circle>8){circle=0;}P0=led_data[circle];EX0=1;}/*************************************/void time1(void) interrupt 3 //T1溢出中断,电机调速{i++;j++;k++;m++;if(i<q_duty_l)Q_ENA=1;else Q_ENA=0;if(i>100){Q_ENA=1;i=0;}if(j<q_duty_r)Q_ENB=1;else Q_ENB=0;if(j>100 ){Q_ENB=1;j=0;}if(k<h_duty_l)H_ENA=1;else H_ENA=0;if(k>100){H_ENA=1;k=0;}if(m<h_duty_r)H_ENB=1;else H_ENB=0;if(m>100){H_ENB=1;m=0;}P0=led_data[circle];TH1=0XFF;TL1=0XF6;}/*************************************/ void main(){P0=led_data[circle];P1=0xFF;P1=0XFF; //P1口做输入P2=0X00; //P2口初始化,小车禁止P3=0XFF;TMOD=0X11;//T0,T1,工作方式1TH1=0XFF; //T1中断一次10USTL1=0XF6;TR1=1;EX0=1;ET1=1;EA=1;while(1){while((xz==1)&&(end!=1)) //无挡板,扫描对管,前进{xunji();};};}。
基于51单片机的循迹避障小车的设计

清华大学本科生毕业论文题目: 基于51单片机的循迹避障小车的设计专业班级:电子信息工程2012级02班学号:学生姓名:指导教师:论文完成日期: 年月郑重声明本人的毕业论文是在指导老师的指导下独立撰写并完成的。
毕业论文没有剽窃、抄袭、造假等违反学术道德、学术规范和侵权行为,如果有此现象发生,本人愿意承担由此产生的各种后果,直至法律责任;并可通过网络接受公众的查询。
特此郑重声明。
毕业论文作者(签名):年月日目录1 绪论 (3)1.1 课题研究的背景 (3)1.2 课题研究的意义 (5)1.3 课题研究的主要内容 (6)2 系统方案确定及主要元件的选择 (7)2.1 系统方案确定 (7)2.2 主要模块的选择 (7)3 系统硬件部分设计 (11)3.1 主控器AT89C51 (11)3.2 复位电路 (13)3.3 时钟电路 (13)3.4 寻迹模块 (14)3.5 避障模块 (15)3.6 H桥电机驱动 (16)3.7 电源模块 (17)4 系统软件部分设计 (19)4.1 系统使用的软件简介 (19)4.2 软件调试平台 (19)4.3 系统程序流程设计 (21)5 系统仿真实现 (26)6 调试结果分析 (27)结束语 (28)附录 (29)附录1 元件清单 (29)附录2 程序代码 (29)参考文献 (33)致谢 (34)基于51单片机的循迹避障小车的设计专业:电子信息工程班级:**班作者:*** 指导老师:***摘要智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。
本设计通过实时检测各个模块传感器的输入信号,利用红外对管检测黑线实现寻迹,通过光电传感器实现避障,采用存储空间较大的AT89C51作为主控制芯片,小车电机驱动采用L298N芯片,根据内置的程序分别控制小车左右两个直流电机运转,实现小车自动识别路线,能较有效的控制其在碰上障碍物时能转弯角度及寻迹行驶。
(完整word版)基于51单片机的循迹小车系统设计

基于51单片机的循迹小车系统设计摘要80C51单片机是一款八位单片机,他的易用性和多功能性受到了广大使用者的好评。
在生活中但凡涉及到自动控制的地方都会出现单片机的身影,单片机的应用有利于产品的小型化、智能化,并且能够提高生产效率.这里介绍的是如何用AT89C52单片机来实现小车的循迹功能,该设计是结合科研项目而确定的设计类课题。
本系统以设计题目的要求为目的,采用AT89C52单片机为控制核心,利用红外传感器检测道路上的黑线,控制电动小汽车的自动循迹,快慢速行驶,以及自动停车,并可以自动记录时间、里程和速度,和寻光功能。
整个系统的电路结构非常简单,可靠性能很高。
实验测试结果满足要求,本文着重介绍了该系统的硬件设计方法及测试结果分析。
关键词:80C51单片机;电动小车;pwm调速;光电检测;自动调速系统Car tracking system based on microcontrollerAbstract80C51 is a 8 bit single chip computer。
Its easily using and multi—function suffer large users。
In life,whenever it comes to automatic control of the local microcontroller will appear figure, microcontroller applications in favor of product miniaturization,intelligent,and can improve productivity. Here is how to use AT89C52 microcontroller to achieve the car tracking feature, which is designed to determine the combination of scientific research and design class topic.This system design requirements of the subject for the purpose of using AT89C52 microcontroller core,the use of infrared sensors to detect the black line on the road,the automatic tracking control of electric cars,fast low traffic speeds,as well as automatic parking, and can automatically record time ,mileage and speed, and look for the light function.The circuit structureof the entire system is very simple, very high reliability. The test results meet the requirements,the paper focuses on the hardware design and test results of the system analysis.Keywords:80C51 microcontroller;Electric car Pwm speed; A photodetector;Automatic Speed Control System。
基于51单片机的寻迹小车设计报告

寻迹小车摘要:以C8051F单片机作为微空机器,设计出一种寻迹小车,通过红外传感器检测黑带信号,利用单片机输出PWM脉冲控制两组直流电机正反转和转动的速度,使小车沿着还带行走。
关键词:寻迹,检测,传出信号。
1.方案论证与选择1.1电机驱动芯片的选择方案一:采用内部集成H桥式芯片L298驱动电路。
方案二:采用分立元件的H桥驱动电路。
由于采用内部集成H桥式芯片每一组PWM波用来控制一个电机的速度,而另外两个I/O口可以控制电机的正反转,控制比较简单,电路也很简单,一个芯片内包含有8个功率管,这样简化了电路的复杂性,所以采用方案一。
1.2传感器的选择方案一:采用发光二极管发光,用光敏二极管接收。
当发光二极管发出的可见光照射到黑带时,光线被黑带接收,光敏二极管检测到信号,呈现高阻抗,使输出端为低电平。
当发光二极管发出的可见光照射到地面时,它发出的可见光反射回来被光敏二极管检测到时,起阻抗迅速降低,此时输出端为高电平。
但是由于光敏二极管受环境中可见光影响较大,电路中的电压不太稳定。
方案二:利用红线发射管发射红线,红外线二极管进行接收。
采用四组红外光敏耦合三极管发射和接收红外信号,外面课见光对接收的信号影响较小。
接收的红外信号转化为电压信号经过LM393进行比较,产生高电平或低电平输出,信号返回给C8051F单片机.方案三:采用光敏电阻接收可见光检测。
四组光敏电阻用于检测可见光信号。
当光敏电阻检测到黑带时,输出端为低电平,当光敏电阻没有检测到黑带时,输出端为高电平,信号返回给单片机,通过单片机控制电机的转向。
光敏电阻易受环境的影响,电压稳定性较差。
综上比较,本设计才用方案二。
2.硬件设计2.1元器件明细表:(1) C8051单片机×1(2) 298带散热片×1(3) 7805带散热片×2(4) TCR5000 ×8(5) LM393 ×4(6)定位器×9(7) 1602显示屏×1(8)开关×1(9)电容:470uF ×110uf ×2104 ×4(9)电阻:EN4007 ×8150Ω×125.1K ×8200Ω×1(10)发光二极管×11(11)三极管×1(12)蜂鸣器×1(13)其他:导线,排线,排针,杜邦头,杜邦针2.2单元电路设计:2.11单片机最小系统电路2.12驱动电路2.13寻迹电路2.14电源电路2.15显示屏电路2.16蜂鸣器电路2.17指示灯电路VDD +5150VSS3、软件设计主控芯片为C8051F120,编程由C语言实现,程序流程如下:4.系统测试4.1单元电路的检测:4.11驱动电路的检测5V、12V、接地分别接好,使能1使能2接口接5V,A口接5V,B口接地,C口接5V,D口接地,然后用万用电表测01和02,03和04的输出电压是否为12V(可有小偏差),然后交换A,B接口,测01和02,03和04的输出电压是否反向,最后断开使能1和使能2接口,测01和02,03和04的输出电压是否为0V.4.12寻迹电路的检测先把电路接通,用照相机观察TCRT5000是否发光,再把万用表调到20V档位,正接线柱接输出,负接线柱接负极,看电压表示数是否5V(可有小偏差),用白纸挡上四个TCRT5000后,看电压是否有明显变化,最好低电压为1V以下。
51循迹小车程序实验报告

竭诚为您提供优质文档/双击可除51循迹小车程序实验报告篇一:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用sTc公司的89c52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298n芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管sTc89c52L298n1绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
2设计任务与要求采用mcs-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
3方案设计与方案选择3.1硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATmeL公司的sTc89c52,所以让然选择这个芯片作为控制核心部件。
sTc89c52是一种低损耗、高性能、cmos八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
基于单片机的智能小车避障循迹系统设计

基于单片机的智能小车避障循迹系统设计
随着技术的不断发展,智能小车成为人们生活中不可或缺的一部分。
本文主要介绍一款基于单片机的智能小车避障循迹系统设计。
一、系统的硬件设计
本智能小车的硬件设计包括控制模块、电源模块、驱动模块和传感器模块。
其中,控制模块采用C51单片机,电源模块采
用锂电池,驱动模块通过直流电机实现小车的前进、后退、左右转弯等各项动作,而传感器模块则包括超声波传感器、巡线传感器和红外线传感器。
二、系统的软件设计
本智能小车的软件设计包括控制程序和驱动程序。
控制程序主要实现通过巡线传感器和超声波传感器来检测路面情况,从而确定小车行驶方向和速度,同时通过红外线传感器来检测障碍物,从而进行避障。
驱动程序主要用于实现小车的前进、后退、左右转等动作。
三、系统的操作流程
小车启动时,控制程序首先检测巡线传感器和超声波传感器所处位置,从而确定小车行驶方向和速度。
接着,红外线传感器开始检测障碍物,并且在检测到障碍物时,自动转弯避免碰撞。
当小车行驶过程中检测到黑色线条时,巡线传感器将自动控制
小车前进或后退,从而使小车保持在线条上行驶。
四、系统的优点和应用
基于C51单片机的智能小车避障循迹系统具有高度自动化、低成本、易于维护等优点。
该系统可广泛应用于自动化物流、智能家居、机器人等领域。
总之,随着科技的不断发展,传感器技术和单片机技术等已经得到了广泛的应用和推广。
未来,智能小车必将在各个领域发挥更大的作用,创造更多的价值。
基于单片机循迹小车的设计

基于单片机循迹小车的设计
一、硬件结构设计
(1)外观设计
该循迹小车采用4轮驱动底盘,使小车有较强的稳定性,小车安装有
一个带调光功能的LED头灯,可以缩短小车行驶的距离,以及一个用于采
集道路信息的循迹模块。
四个车轮上安装有电机,以及一个用于驱动小车
的电源,主控器采用的是51单片机。
(2)基础硬件设计
1)电源:采用12V锂电池,通过一个5V调整稳压电路改变输出电压,并调整电流大小以供电源的可靠性;
2)车轮电机:采用马达,可提供足够的动力,能够拉动小车行驶,
同时通过电路来控制马达的速度;
3)主控器:采用51单片机,作为小车的主控单元,可实现小车的运
动控制、数据采集等功能;
4)循迹模块:采用模拟循迹模块,用于采集道路信息,根据采集的
信息以及灰度传感器的反馈信息,调整小车的运动方向;
5)头灯:采用LED头灯,可实现可调光的功能,使得车子在夜晚的
黑暗环境中也能保持安全的运行;
6)电路板:依据小车的硬件结构设计出合理的路径,实现电路图和
实际的车路径的一一匹配,以此实现对小车运行的控制。
二、软件程序设计
(1)程序流程设计。
单片机的智能循迹小车

调试方法
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单片机智能巡线避障小车毕业论文

基于51单片机智能巡线避障小车1系统方案确定及主要元件的选择1.1 系统方案确定本次设计的智能小车实现的基本功能如下:❖实时检测路径,并按照指定路线行驶;❖实时检测障碍物,并躲过继续行驶;❖实时显示当前速度,并显示在lcd1602上为此以AT89C52为主控芯片,主要包括避障模块、电源模块、声控模块、电机驱动模块等,系统框图如图2.3所示。
通过寻迹及避障传感器来采集周围环境信息来反馈给CPU,通过主控的处理,来控制电机的运转,从而实现寻迹与避障,达到智能行驶。
且本设计添加了声控效果,通过声音传感器来对小车发出指令,让其行驶与停止。
为了能够更好地完成本次设计任务,我们采用三轮车,其前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用,并通过软件程序控制,与硬件架构相结合,从而实线自动寻迹、避障的功能。
1.2 主要元件的选择1.2.1 主控器按照题目要求,控制器主要用于控制电机,通过相关传感器对路面的轨迹信息进行处理,并将处理信号传输给控制器,然后控制器做出相应的处理,实现电机的前进和后退,保证在允许范围内实线寻迹避障。
方案一:可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。
而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
方案二:使用51单片机作为整个智能车系统的核心。
用其控制智能小车,既可以实现预期的性能指标,又能很好的操作改善小车的运行环境,且简单易上手。
对于我们的控制系统,核心主要在于如何实现小车的自动控制,对于这点,单片机就拥有很强的优势——控制简单、方便、快捷,单片机足以应对我们设计需求[5]。
51单片机算术运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,且价格低廉。
基于51单片机控制的自动循迹小车技术指标要求

基于51单片机控制的自动循迹小车技术指标要求1.引言1.1 概述概述部分:在现代科技的发展中,自动化技术逐渐成为人们生活和工作中不可或缺的一部分。
自动循迹小车作为自动化技术的一种重要应用,广泛应用于工业生产、仓储物流、无人驾驶和教育领域等各个领域。
本文将以基于51单片机的自动循迹小车为研究对象,探讨其技术指标要求及实现原理。
通过对循迹传感器原理和控制算法原理的介绍,将带领读者深入了解自动循迹小车的核心技术。
在循迹传感器原理方面,本文将介绍如何通过光电传感器进行光线检测,并利用检测结果来实现对小车运动方向的控制。
同时,在控制算法原理方面,本文将详细介绍基于51单片机的控制算法的设计思路和实现方法。
在硬件要求和软件要求部分,本文将分别列举并详细说明自动循迹小车各个功能模块的需求和实现方法。
通过对硬件和软件的需求分析,读者将了解到自动循迹小车技术研究和开发过程中的具体要求和实现方式。
通过本文的阅读,读者将能够全面了解基于51单片机控制的自动循迹小车的技术指标要求及实现原理。
同时,本文还将总结研究结果并展望未来自动循迹小车技术的发展方向,希望能够为相关领域的工程应用和学术研究提供有益的参考和借鉴。
1.2文章结构文章结构本文将详细介绍基于51单片机控制的自动循迹小车技术指标要求。
文章结构如下所述。
引言部分概述了本文的内容和目的。
首先,对自动循迹小车的技术指标要求进行了概述,包括硬件要求和软件要求。
然后,介绍了基于51单片机的控制原理,包括循迹传感器原理和控制算法原理。
正文部分将详细讨论技术指标要求。
首先,对硬件要求进行了分析和说明,包括所需的传感器、电机、微控制器等。
其次,对软件要求进行了介绍,包括编程语言、开发环境和控制算法等。
接下来,详细介绍基于51单片机的控制原理。
首先,解释了循迹传感器原理,包括红外线传感器的工作原理和信号处理方法。
其次,探讨了控制算法原理,包括循迹算法的设计和实现。
结论部分对全文进行总结,并展望了未来可能的研究方向。
基于51单片机的循迹小车程序设计

#include<reg51.h>#define uchar unsigned char#define uint unsigned intuint zkb1=0 ; //**右边电机的占空比**//uint zkb2=0 ; //**左边电机的占空比**//uint t=0; //**定时器中断计数器**//sbit rin1=P1^0;sbit rin2=P1^1;sbit lin1=P1^2;sbit lin2=P1^3;sbit lift2=P2^2;sbit lift1=P2^3;sbit mid=P2^4;sbit right1=P2^5;sbit right2=P2^6;sbit pwm1=P2^0;sbit pwm2=P2^1;//****************延时函数****************// void delay(uint x){uchar j;while (x--){for(j=0;j<123;j++);}}//**********初始化定时器,中断***********// void init(){ TMOD=0x01;TH0=(65536-100)/256;TL0=(65536-100)%256;EA=1;ET0=1;TR0=1;}//***********中断函数+脉宽调制***********// void timer0() interrupt 1{TH0=(65536-100)/256;TL0=(65536-100)%256;++t;if(t<=zkb1){pwm1=1;}if(t>zkb1){pwm1=0;}if(t<=zkb2){pwm2=1;}if(t>zkb2){pwm2=0;}if(t==1000){t=0;}}// zkb2=左,zkb1=左//******************直行******************// void qianjin(){// zkb2=200; zkb1=170;zkb2=1000; zkb1=920;lin1=1; //******给电机加电启动******//lin2=0;rin1=1;rin2=0;}//***************左转1函数***************// void turn_right1(){// zkb2=200; zkb1=0;zkb2=950; zkb1=100;rin1=0;rin2=1;}//***************左转2函数***************// void turn_right2(){// zkb2=300; zkb1=0;zkb2=1000; zkb1=110;rin1=0;rin2=1;}//***************右转1函数***************// void turn_lift1(){// zkb2=0; zkb1=200;zkb2=100; zkb1=950; lin1=0;lin2=1;}//***************右转2函数***************//void turn_lift2(){// zkb2=0; zkb1=300;zkb2=110; zkb1=1000; lin1=0;lin2=1;}//***************循迹函数*****************//void xunji(){uchar flag;if((lift2==1)&&(lift1==1)&&(mid==0)&&(right1==1)&&(right2==1)) { flag=0; }//*******直行*******//else if((lift1==0)&&(mid==0)&&(right1==0)){ flag=0; } //******直行*******////else if((lift2==1)&&(lift1==1)&&(mid==1)&&(right1==1)&&(right2==1)) // { flag=0; } //*******直行*******//else if((lift2==1)&&(lift1==0)&&(mid==1)&&(right1==1)&&(right2==1)) { flag=1; } //*******左转1*******//else if((lift2==0)&&(lift1==1)&&(mid==1)&&(right1==1)&&(right2==1)) { flag=2; }//***左转2***//else if((lift2==1)&&(lift1==1)&&(mid==1)&&(right1==0)&&(right2==1)) { flag=3; }//***右转1***//else if((lift2==1)&&(lift1==1)&&(mid==1)&&(right1==1)&&(right2==0)) { flag=4; }//***右转2***//switch (flag){case 0:qianjin();break;case 1:turn_lift1();break;case 2:turn_lift2();break;case 3:turn_right1();break;case 4:turn_right2();break;default: break;}}//****************主程序****************// void main(){init();while(1){ lin1=1; //******给电机加电启动******// lin2=0;rin1=1;rin2=0;// pwm1=1;// pwm2=1;while(1){xunji(); //*********寻迹**********// // zkb1=0;// zkb2=500;// qianjin();// turn_lift1();// turn_lift2();// turn_right1();// turn_right2();}}}。
基于51单片机循迹智能小车

小车走翘翘板摘要本次设计的简易智能电动车采用简单的人工智能技术,使用AT89C52作为小车的检测和控制核心。
根据题目设定的行进及具体要求,分别采用红外传感器进行寻迹行驶、黑带采集及变速行驶,采用霍尔元件对小车行驶过程中的速度进行测量,并在终点进行行驶路程的测量,采用直流减速电机对小车实行较精确定位,由LCD显示出各项功能知识。
由数码管进行行驶时间显示,由蜂鸣器及LED构成声光提示电路。
最后,小车的运行过程中的各种自动化过程由单片机通过编程实现。
关键词:AT89C52 红外传感器减速电机光电管霍尔元件一、方案比较1.轨迹探测模块设计与比较方案一:用光敏电阻组成光敏探测器。
光敏电阻的阻值可以跟随周围环境光线的变化而变化。
当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。
因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。
将阻值的变化值经过比较器就可以输出高低电平。
但是这种方案受光照影响很大,不能够稳定的工作。
方案二:红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。
单片机就是通过接收到的高低电平为依据来确定黑线的位置和小车的行走路线。
对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。
经测试,此种方法简单可靠。
经反复对比后,采用方案二。
1、控制电机方案比较方案一:利用步进电机的准确定长步进性能方便的实现调速和方向的偏转,且能准确的测量速度、路程以及时间,简化编程和硬件连接的工作量。
但是步进电机在与机械配合的小车改装上难度极大,非短时间所能完成。
该方案实现较困难。
方案二:用玩具小车上自带的双直流电机,只需对后轮电机进行简单改造,加上一个齿轮减速装置即可,两电机分别负责小汽车的驱动和转向的功能,依据外围红外反射传感器所采集到的信息可以补足直流电机定位不准的缺点,同时红外反射传感器的使用还能实现比较准确的寻迹行驶,用较好的控制算法及特色硬件来提高小车的整体性能,可具有很高的性能/价格比。
基于51单片机的智能循迹小车设计

基于51单片机的智能循迹小车设计**********************************************参赛学校:******************参赛队号:******************参赛题目:(a题)智能小车掌控参赛学生:*******************指导教师:*******************参赛日期:2021.7.18~2021.7.22第1页共23页智能小车掌控摘要智能做为现代的新发明,就是以后的发展方向,它可以按照预先预设的模式在一个环境里自动的运作,不须要人为的管理,可以应用于科学勘探等用途。
我们通过软件编程同时实现它的前进、绕障、暂停的准确掌控以及遇障次数的表明,并再次找寻至原来的轨道。
第2页共23页一、功能表明1、基本功能:小车能够在设计的线路上完成寻迹功能;2、拓展功能:在循迹线路上设置障碍物,小车遇到障碍物能够自动绕道行驶,完成避障功能;二、方案论证方案一:以at89s51单片机为核心的控制电路,采用模块化的设计方案,运用传感器检测电路,实现小车在行驶中自动寻迹、躲避障碍物的功能。
并将循迹过程中遇障次数等数据传至单片机进行处理,然后由单片机根据所检测数据实现对电动小车的智能化控制。
方案二:使用各类数字电路去共同组成电动小车的控制系统。
使用数字电路对外围观测轨迹信号,避障信号展开处置。
但对输入输出都就是模拟量的小装置,如果使用数字化方案,则必须先用a/d转换器和d/a转换器同时实现数字量与模拟量之间的切换。
这样必然增添低成本、电路繁杂等缺点。
因此,本方案灵活性不低,效率高,有利于电动小车智能化的拓展。
同时,对各路信号处理也比较困难。
比较以上两种方案的优缺点,方案一简洁、灵活、可扩展性好,能达到设计要求,因此本设计采用方案一来实现。
三、各模块设计电路分为电源模块、单片机系统模块、电机驱动板、寻迹模块、避障模块。
智能小车运转基本原理框图见到图1。
基于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单单片机的自动循迹小车毕业设计目录摘要································错误!未定义书签。
ABSTRACT ·······························错误!未定义书签。
1 绪论 (2)1.1 研究背景 (2)1.2 自动循迹小车的国内外研究现状 (2)1.3 本课题设计的主要工作及结构安排 (3)2 自动循迹小车系统方案设计 (4)2.1 自动循迹小车基本原理 (4)2.2 总体方案设计 (4)2.2.1 系统总体方案的设计 (4)2.2.2 方案选择与论证 (4)3 系统硬件设计 (7)3.1 自动循迹小车硬件设计 (7)3.2 单片机控制器模块设计 (7)3.3 稳压电路模块 (9)3.4 电动机驱动模块 (11)3.5 循迹电路设计 (12)4 系统软件设计 (14)4.1 系统软件流程图 (14)4.2 程序设计 (15)4.2.1 计时程序设计 (15)4.2.2 主程序设计 (15)5 系统扩展 (17)5.1 避障功能扩展 (17)5.2 遥控功能扩展 (18)6 系统调试 (20)结束语·······························错误!未定义书签。
基于51单片机的循迹避障小车的设计ppt课件

复位电路
时钟电路
时钟电路是用来产生AT89C51单片机工 作时所必须的时钟信号,AT89C51本身就是 一个复杂的同步时序电路,为保证工作方式 的实现,AT89C51在唯一的时钟信号的控制 下严格的按时序执行指令进行工作,时钟的 频率影响单片机的速度和稳定性。
系统程序流程设计
本智能小车通过实时检测各个模 块传感器的输入信号,利用红外对 管检测黑线实现寻迹,通过光电传 感器实现避障,把所有采集到的信 息送到主处理器,让小车做出正确 的行驶路线。小车的启动与停止, 均采用了声控模块,实现对小车的 声音控制,其程序流程图如图所示。
请多指教
我们系统采用内部时钟方式来为系统提 供时钟信号,如图所示。AT89C51内部有一 个用于构成振荡器的高增益反向放大器,该 放大器的输入输出引脚为XTAL1和XTAL2它们 跨接在晶体振荡器和用于微调的电容,便构 成了一个自激励振荡器。
时钟电路
循迹模块
小车循迹,采用红外检测的方法,红外 检测法是通过黑线和白色对红外线的吸收效 果不同,当红外光线射到白色底板时,会发 生漫反射反射到智能车的接受管上,而射到 黑线则会被吸收不会产生发射,智能车红外 接收管就接收不到。故,整个智能车通过红 外接收管是否接收到红外线来判断黑线和白 线的,从而实现循迹。但需要主要的是,红 外传感器的检测距离有限,一般在3cm之内。 红外光电传感器由1个红外发射管(发射器) 和1个光电二极管(接收器)所构成,循迹 示意图如图所示。
循迹小车设计报告-精华51单片机智能小车

设计报告课程:机器人工程设计名称:智能循迹小车小组成员:学号:专业:机械电子工程日期: 2012/2/5指导老师:成绩:1.任务及要求1.1任务设计一个基于直流电机的自动寻迹小车,使小车能够自动检测地面黑色轨迹,并沿着黑色车轨迹行驶。
系统方案方框图如图1-1所示。
图1-1 系统方案方框图2.系统设计方案2.1小车循迹原理这里的循迹是指小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。
通常采取的方法是红外探测法。
红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
单片机就是否收到反射回来的红外光为依据来确定黑线的位置和小车的行走路线。
2.2控制系统总体设计自动循迹小车控制系统由主控制电路模块、直流电压电源模块、红外检测模块、电机及驱动模块等部分组成,控制系统的结构框图如图2-1 所示。
图2-1控制系统的结构框图主控制电路模块:用STC89C52单片机、复位电路,时钟电路其他模块见表2-1所示。
表2-1 其他模块构成电机及驱动模块寻迹传感模块电源模块电机驱动红外发射/接受头6V直流电直流电机LG9110 5号电池两个两个两对四个3.系统方案3.1 寻迹传感器模块本寻迹采用简单的红外探头。
白色的为红外发射探头,通电后连续的发射红外光线;黑色的为红外接收探头,接受反射回来的红外光线。
当寻迹时,红外接收头接收到黑线反射的红外光,电阻变小,对应P1端变为低电平。
将信号送入单片机进行处理。
3.2控制器模块采用STC89C52单片机作为主控制器。
它是一个低功耗,高性能的8 位单片机,片内含32k 空间的可反复擦写100,000 次Flash 只读存储器,具有4K 的随机存取数据存储器(RAM),32 个I/O口,2个8位可编程定时计数器,且可在线编程、调试,方便地实现程序的下载与整机的调试。
基于51单片机的智能循迹小车设计

福建信息职业技术学院机电工程系电气自动化专业实务专题基于51单片机的智能循迹小车设计专题生:电气1311班吴圣伟电气1311班谢丁国电气1311班朱宇豪电气1311班黄达辉电气1311班伍宏明指导教师:卓书芳讲师二O一五年十月三十日目录1 绪论 (1)1.1 智能循迹小车概述 (1)1.2 循迹小车的发展历程回顾 (1)2 智能循迹小车总体设计方案 (2)2.1 整体设计方案 (2)2.1.1 系统设计步骤 (2)2.1.2 系统基本组成 (2)2.2 整体控制方案确定 (3)3 系统的硬件设计 (4)3.1 单片机电路的设计 (4)3.1.1 晶振电路 (4)3.1.2 复位电路 (5)3.2光电传感器模块 (6)3.2.1 传感器分布 (6)3.2.2 黑带检测电路的设计 (7)3.3.3小车运动逻辑 (10)4 系统的软件设计 (10)4.1系统程序 (10)4.2程序流程图 (13)5 系统的总体调试 (13)5.1 硬件测试 (13)5.2 系统的软件调试 (14)附录A 原理图及PCB图 (15)附录B PCB图: (18)附录C 硬件实物图 (20)参考文献 (22)基于51单片机的智能循迹小车设计摘要:本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。
信号检测模块采用红外光对管,用以对黑线进行检测,将采集到的路况信号传入主控电路的控制芯片,经芯片处理后对L298N发出指令进行相应的调整;而主控电路的控制芯片正是采用宏晶公司的8051为核心的STC89C52单片机,它与传统分立元件电路相比较,系统稳定性更好;电机驱动模块中L298N 是意法半导体(ST)公司的专用电机驱动芯片。
用单片机输出的PWM波来控制电动小车的转速,用万向轮控制转向,从而使小车实现自动循迹的功能。
关键词:STC89C51单片机最小系统光电传感器无线遥控循迹1 绪论进入二十一世纪,随着计算机技术和科学技术的不断进步,机器人技术较以往已经有了突飞猛进的提高,智能循迹小车即带有视觉和触觉的小车就是其中的典型代表。
基于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)。
2011年第 2期
仪表技术
55
1. 3 直流电机驱动模块 两个 后 轮 采 用 L 293D 驱 动 的 直 流 电 机 带 动。
L293D 是驱动二相和四相直流电机的专用芯片, 内含 两个 H 桥的高电压大电流双全桥式驱动器, 接收标准
TTL 逻 辑 电 平 信 号, 可 驱 动 36V、2A 以 下 的 电 机。 L293D可驱动两个电机, 3、6和 11、14脚之间分别接 2 个电机。 2、7、10、15脚接输入控制电平, 控制电机的 正 反转, EN1、EN 2接 控制使能端, 控制电机的停转,
二个网络对第一个网络的作用权值及第一个网络对第
二个网络的作用权值。相应的算法在文献 [ 3] 中有详
细地介绍。
3 结语
本文以中央空调系统为被控对象, 研究了 P ID 神 经网络算法在中央空调温湿度控制中的应用。对单神 经元 P ID 控制器进行了 S IMUL INK 仿真, 仿真结果表 明单神经元 P ID控制器控制效果显著, 达到了系统的 精度要求, 但是对温湿度控制中存在的耦合问题解决 效果不明显, 因此在本文最后介绍了一种新的解耦控 制器: 三层前向 P ID 神经网络解耦控制器。从理论上 该种控制器考虑到了温度控制和湿度控制间的耦合问 题, 温度及湿度不再是单独控制, 在三层神经网络的隐 含层有相互的交叉, 在学习时能有效考虑互相的影响。 接下来控制器模型的建立及算法的改进还需进一步地 研究。
图 7 软件流程图
3 结论
智能循迹小车采用了 51单片机为控制核心, 因为 该单片机的稳定性较好, 性价比较高。黑线的循迹采 用了红外发射对管 TCRT 5000, 并通过施密特 触发器 整形, 抗干扰能力较强, 采用的技术主要有: 通过编程
[ 1] 张拓, 戴亚文. 基于 AT 89S52单片 机的智 能循 迹机器 人设 计 [ J] . 机电工程技术, 2009( 1): 13- 15.
1 循迹小车硬件组成
循迹小车由机械和电控系统两部分组成。机械载 体采用一种简单的车模装置, 采用左右两轮分别驱动, 前轮采用万向轮的车体设计, 电机采用直流减速电机; 电控系统主要由电源供应模块、红外检测模块、显示模 块、电机驱动模块、蜂鸣器提示模块等五部分构成, 如 图 1所示。
图 1 系统框图
单片机是整个智能循迹小车的核心, 控制所有模 块。本系统采用 STC89S52, 它是一种低功耗、高性能 CMOS 8 位 微 控制 器, 具有 8K 字 节在 系 统 可 编 程 FLASH 存储器, 使用 STC 公司高密度非易失性存储器 技术制造, 与工业 80C51指令和引脚完全兼容。片上 FLASH 允许程序存储器在系统可编程, 亦使用常规编 程器。主控模块如图 2所示, 支持上电和按键复位。 1. 1 电源模块
电源模块采用了两种供电方式, 在程序调试下载阶 段采用了来自 PC 机的 USB接口供电, 在小车循迹行驶 的时候采用 4 节 1. 5V 的干电池供电。电源通过 7805 稳压块稳压, 470 F 和 104电容进行滤波, 如图 3所示。 1. 2 红外检测模块
红外检测采用 了 TCRT5000, 在车 后部靠近 后轮 处安装两对 TCRT 5000红外对管, 与路 面距离控制在 12mm 左右。 TCRT5000测试电路如图 4所示。
54
仪 表 技术
2011年第 2期
基于 51单片机的智能循迹小车的设计
黄春平, 万其明, 叶 林 (中山职业技术学院 电子信息工程系, 广东 中山 528404)
摘要: 利用 STC89S52为控制核心, 通过红外发射和接收管采集信号, 并将信号转换为能被单片机识别 的数字信 号。单片机控 制直流电机不同的转 动状态, 实现小车的前进、后退、左转、右转等功能, 并通过发光二极管指 示不同的运动 状态。整个系 统的电路 结构简单, 可靠性高。
(丁云编发 )
( 上接第 53页 )
3
x( 3) 2
(
k)
=
[
w
21
l
i
x1(
2) i
(
k)
+
w x( 2 ) 2li 2 i
(
k)
]
( 20)
i= 1
式中: l= 1 为输出层节点数, 上角标 ( 1) 、( 2) 、( 3 ) 分
别代表输入层、隐含层和输出层, w 和 12li w 分 21li 别为第
图 2 主控模块
图 3 电源模块 图 4 TCRT5000测试 电路
图 5 红外检测模块
L293D的逻辑功能如表 1所示。单片机通过输出二组 PWM 波来控制电机的正反转。控制方法与控制电路 都比较简单, 2、7 脚控 制第一个 电机的方 向, 输 入的 EN1控制第一个电机的速度; 10, 15脚 控制第二个电 机的方向, 输入的 EN2 控制第二个电机的速度, 直流 电机驱动电路如图 6所示。
图 7给出的是主程序流程图。程序启动后检测光 电传感 器 1, 2, 如遇白 线, 则前进; 如都遇 黑线, 则后 退; 如果光电传感器 1 遇黑线, 传感器 2遇白线, 则左 转; 如果光电传感器 1 遇白线, 传感器 2遇黑线, 则右 转。程序主要采用 sw itch, case语句, 控制简单实用。
( Zhongshan P olytechn ic, Zhongshan 528404, Ch ina)
Abstract: T he chip STC89S52 is used as the con tro l center, and signals are co llected through the infrared transm it
ferent m ot ion states are ind icated through the LED. T he system has sim ple c ircu it structure and high re liab ility. K ey w ord s: 51 m icrocontroller; in frared transm itting; DC m otor; inte lligent car
[ 3] 任建 伟, 黄 宏丽. 神经 网络 P ID 控 制系 统的 研 究 [ D ]. 大 庆: 大庆石油学院, 2003.
[ 4] 王铖, 沙立民, 高尚飞. 基于多变量单 神经元 P ID 控制的温 湿度控制系统研究 [ D ]. 上海: 上海大学, 2010.
(丁云编发 )
关键词: 51单片机; 红外发射; 直流电机 ; 智能小车
中图分类号: T P273
文献标识码: A
文章编号: 1006- 2394( 2011) 02- 0054- 03
The Design of Intelligent Car Based on 51
HUANG Chun ping, WAN Q i m ing, YE L in
56
仪 表 技术
2011年第 2期
来控制小车的速度; 红外对管光电传感器的有效应用; 直流驱动芯片的可靠运用。
参考文献:
EN 1( 2) H H H H
图 6 直流电机驱动电路
表 1 L293D 逻辑功能
IN 1( IN 3 )
IN 2 ( IN 4)
电机运转情况
H
H
前进
L
L
后退
H
L
左转
L
H
右转
2 软件设计
黑线检测原理是红外发射管发射光线到路面, 红外 光遇到白底则被反射, 接收管接收到反射光, 经施密特 触发器整形后输出低电平; 当红外光遇到黑线时则被吸 收, 接收管没有接收到反射光, 经施密特触发器整形后 输出高电平。红外检测模块电路原理如图 5所示。
收稿日期: 2010- 09 作者简介: 黄春平 ( 1981 ) , 男, 讲师, 硕士, 主要从事智能仪器的研究和教学工作。
[ 2] 孙涵 芳. M CS51 /96 系列 单片机 原理 与应 用 [ M ]. 北京: 北 京航空航天大学 出版社, 1999.
[ 3] 王文华. 基于 80C51单片机的智能小车设 计 [ J]. 山西电子 技术, 2010( 4): 9- 10.
[ 4] 吴凌燕, 唐金元, 苏建元, 等. 基于 AT89C52的实 验室监控 系统设计 [ J]. 仪表技术, 2009( 2): 3- 5.
ter and receiver. S igna ls are converted to d ig ital signa lsw h ich can be ident ified by the sing le chip. The m icroprocessor
contro ls DC m otor ro tation state to achieve functions of car go ing fo rw ard, backw ard, turn ing left and turning r igh.t D if
参考文献:
[ 1] 曾军, 方厚辉. 神经网 络 P ID 控制及 其 M a tlab仿真 [ J]. 现 代电子技术, 2004( 169): 51- 52.
[ 2] 张世韬, 杨风, 郝骞. 单神经元 P ID 控制器研究及仿真 [ J]. 机械工程与自动 化, 2009( 3) : 69- 70.
0 引言智能小车在感知效应方面 全面模拟人的 机器系
统, 它是人工智能技术的试验场。智能小车具有识别、 推理、学习和规划等智能机制, 可以把感知和智能化结 合起来, 能在非特定环境下工作, 在恶劣条件下探测、 救生等方面具有广阔的应用前景。基于 STC89S52单 片机的智能循迹小车能沿黑色指引导线前进, 通过红外 发射接收, 自动识别处理, 发出声光信号指示运动状态。