基于51单片机循迹小车的设计

合集下载

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

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

#include<reg52.h>#define uchar unsigned char#define uint unsigned int////电机驱动模块位定义////sbit M11=P0^0;//左轮sbit M12=P0^1;sbit M23=P0^2;//右轮sbit M24=P0^3;sbit ENA=P0^4;//左轮使能PWM输入改变dj1数值控制转速sbit ENB=P0^5;//右轮使能PWM输入改变dj2数值控制转速////占空比变量定义////unsigned char dj1=0;unsigned char dj2=0;uchar t=0;////红外对管位定义////sbit HW1=P1^0;//左前方sbit HW2=P1^1;//右前方sbit HW3=P1^2;//左后方sbit HW4=P1^3;//右后方////小车前进////void qianjin(){M11=1;//左轮M12=0;//M23=1;//右轮M24=0;//dj1=50;dj2=50;}////向左微调////void turnleft2(){M11=1;M12=0;M23=1;M24=0;dj1=7;//左轮dj2=50;//右轮}////向右微调////void turnright2(){M11=1;M12=0;M23=1;M24=0;dj1=50;dj2=7;}////向左大调////void left(){M11=0;M12=1;M23=1;M24=0;dj1=7;dj2=80;}////向右大调////void right(){M11=1;M12=0;M23=0;M24=1;dj1=80;dj2=7;}////循迹动作子函数////void xj(){if(HW1==0&&HW2==0&&HW3==0&&HW4==0)//前进逻辑{qianjin();}if(HW1==1&&HW2==0&&HW3==0&&HW4==0)//左右微调{turnleft2();}if(HW1==0&&HW2==1&&HW3==0&&HW4==0){turnright2();}if(HW1==1&&HW2==0&&HW3==1&&HW4==0)//左右大调{left();}if(HW1==0&&HW2==1&&HW3==0&&HW4==1){right();}}////初始化////void init(){TMOD=0x01;TH0=(65536-500)/256;TL0=(65536-500)%256;EA=1;ET0=1;TR0=1;}////定时器0中断////void timer0() interrupt 1 using 1{TH0=(65536-500)/256;TL0=(65536-500)%256;t++;if(t<dj1)ENA=1;else ENA=0;if(t<dj2)ENB=1;else ENB=0;if(t>=50){t=0;}}void main(){init();P1=0Xff;while(1){/////////////////循迹模式/////////////////////xj();}}。

基于51单片机的无线控制循迹壁障循光小车

基于51单片机的无线控制循迹壁障循光小车

项目总结-----循迹壁障循光小车程序如下所示:系统1(上):#include"reg52.h"#include"intrins.h"#define uchar unsigned char#define uint unsigned intuchar Rem_Code[3];uint TimeCount;sbit Get_Rem=P2^0;sbit AO= P2^4;sbit BO = P2^5;sbit CO = P2^6;sbit DO= P2^7;void delay_ms(int z){int i,j;for(i=z;i>=0;i--)for(j=110;j>=0;j--);}void delay8(uint t){while(--t);}void Delay100us(void){delay8(13); //8-18}void Remote_Process(void){uchar i,j,Count=0;Delay100us();if(TimeCount>0)//当按键按下释放后该值不在赋值就同通过递减直到该值等于0{ //等于0后表示按键释放TimeCount--;}if(Get_Rem==0)//如果有低电平就进入解码{for(Count=0;Count<100;Count++) //判断12毫秒左右的引导码{Delay100us(); //100us*100=10msif(Get_Rem==1) //如果在延时10毫秒期间有高电平出现就是干扰信号退出解码{return;}}while(Get_Rem==0);//等待低电平结束for(j=0;j<3;j++) //8位地址码+ 4位数据码{for(i=0;i<8;i++){Count=0;do{Delay100us();Count++;if(Count>20)//如果在大于2毫秒高电平还没有结束认为是干扰退出解码{ //理论上是1.2毫秒,我们2毫秒留有余量,防止遥控批量中的误差return;}}while(Get_Rem==1);//计算高平时间并等待结束Count=0;do{Delay100us();Count++;if(Count>20)//如果在大于2毫秒低平还没有结束认为是干扰退出解码{return;}}while(Get_Rem==0);//计算低电平时间并等待结束Rem_Code[j]<<=1;//数据从高位开始接收所以每次向左移一位if(Count<8) //如果低电平时间小于800毫秒认为该位为1如果不加,则为0{Rem_Code[j]++;}}}ACC=Rem_Code[2];if(ACC==0xc0){AO = 1;BO = 0;CO = 1;DO = 1;delay_ms(10);BO = 1;}if(ACC==0x30){AO = 1;BO = 1;CO = 1;DO = 0;delay_ms(10);DO = 1;}if(ACC==0x0c) {AO = 0;BO = 1;CO = 1;DO = 1;delay_ms(10);AO = 1;}if(ACC==0x03) {AO = 1;BO = 1;CO = 0;DO = 1;delay_ms(8);CO = 1;}if(TimeCount==0)TimeCount=1000;//按键按下标志}}void main(){while(1){Remote_Process();//遥控处理}}1.系统2(下):/************************************************ 按键A:壁障模式按键B:循迹模式按键C:循光模式按键D:停止************************************************/#include"AT89x52.h"//#include"global.h"#include"intrins.h"//#include"51hei.H"#define uchar unsigned char#define uint unsigned int//uchar Rem_Code[3];//uint TimeCount;//sbit Get_Rem=P2^7;//sbit sb = P3^2; //外部中断sbit AO= P2^4; //与上面的单片机连接的端口sbit BO = P2^5; //与上面的单片机连接的端口sbit CO = P2^6; //与上面的单片机连接的端口sbit DO= P2^7; // 与上面的单片机连接的端口sbit hw1 = P1^1; //后外端口sbit hw2 = P1^2;sbit hw3 = P1^0;sbit gm1 = P0^6;sbit gm2 = P0^7;sbit IB1=P1^5; //驱动端口sbit IA1=P1^6;sbit IB2=P1^3;sbit IA2=P1^4;sbit ENA=P2^2;sbit ENB=P2^3;sbit Led_on=P0^0;int n=0;int m=0;int ms_100_you=100; //占空比的时间片int ms_100_zuo=100; // 占空比的时间片//int ms_10 = 12;int ms_houtui_200 = 300; //超声波壁障时后退的时间片int ms_hwled = 1000; //红外的流水灯的时间片int ms_hwbee_50 = 50;sbit bee = P0^5;sbit ECHO = P2^1; //超声波的端口sbit TRIG = P2^0;unsigned int time = 0;unsigned int timer = 0;unsigned char hw_flag;unsigned long S = 0;int ceshi_time=200;int Flag=0;//void Remote_Process();void qian_jin_fast() //快速前进{if (ms_100_zuo<=100 && ms_100_zuo>58) //左轮速度{IA2=0;IB2=1;}else if(ms_100_zuo<=58&& ms_100_zuo>0) // 15{IA2=1;IB2=1;}else if(ms_100_zuo<=0){ms_100_zuo=100;}if (ms_100_you<=100 && ms_100_you>10) //右轮速度{IA1=1;IB1=0;}else if(ms_100_you<=10 && ms_100_you>0) // 15{IA1=1;IB1=1;}else if (ms_100_you<=0){ms_100_you=100;}}void qian_jin_slow() //慢速前进{if (ms_100_you<=100 && ms_100_you>65){IA1=1;IB1=0;}else if(ms_100_you<=65 && ms_100_you>0) // 15 {IA2=1;IB2=1;}else if (ms_100_you<=0){ms_100_you=100;}if (ms_100_zuo<=100 && ms_100_zuo>35){IA2=0;IB2=1;}else if(ms_100_zuo<=35 && ms_100_zuo>0) // 15 {IA2=1;IB2=1;}else if(ms_100_zuo<=0){ms_100_zuo=100;}}void hou_tui_fast() //快速后退{if (ms_100_zuo<=100 && ms_100_zuo>65) //左轮速度{IA2=1;IB2=0;}else if(ms_100_zuo<=65&& ms_100_zuo>0) // 15{IA2=1;IB2=1;}else if(ms_100_zuo<=0){ms_100_zuo=100;}if (ms_100_you<=100 && ms_100_you>14) //右轮速度{IA1=0;IB1=1;}else if(ms_100_you<=14 && ms_100_you>0) // 15{IA1=1;}else if (ms_100_you<=0){ms_100_you=100;}}void hou_tui_slow() //慢速后退{if (ms_100_zuo<=100 && ms_100_zuo>75){IA2=1;IB2=0;}else if(ms_100_zuo<=75 && ms_100_zuo>0) // 15 {IA2=1;IB2=1;}else if(ms_100_zuo<=0){ms_100_zuo=100;}if (ms_100_you<=100 && ms_100_you>65){IB1=1;}else if(ms_100_you<=65 && ms_100_you>0) // 15{IA2=1;IB2=1;}else if (ms_100_you<=0){ms_100_you=100;}}void zuo_zhuan() //左转{if (ms_100_zuo<=100 && ms_100_zuo>65) //左轮速度{IA2=1;IB2=0;}else if(ms_100_zuo<=65&& ms_100_zuo>0) // 15{IA2=1;IB2=1;}else if(ms_100_zuo<=0)ms_100_zuo=100;}if (ms_100_you<=100 && ms_100_you>8) //右轮速度{IA1=1;IB1=0;}else if(ms_100_you<=8 && ms_100_you>0) // 15{IA1=1;IB1=1;}else if (ms_100_you<=0){ms_100_you=100;}}void you_zhuan() //右转{if (ms_100_zuo<=100 && ms_100_zuo>56) //左轮速度{IA2=0;IB2=1;else if(ms_100_zuo<=56&& ms_100_zuo>0) // 15{IA2=1;IB2=1;}else if(ms_100_zuo<=0){ms_100_zuo=100;}if (ms_100_you<=100 && ms_100_you>10) //右轮速度{IA1=0;IB1=1;}else if(ms_100_you<=10 && ms_100_you>0) // 15{IA1=1;IB1=1;}else if (ms_100_you<=0){ms_100_you=100;}}void stop_zhuan(){IA1=1;IB1=1;IA2=1;IB2=1;}/******************************光敏控制的函数*********************************************/void gm_judge(){if (gm1 == 1 && gm2 == 0) zuo_zhuan();else if(gm1 == 0 && gm2 == 1) you_zhuan();else qian_jin_fast();}/*************************************红外控制函数**********************************************/void hw_judge(){if((hw1==0 && hw2==0) || (hw1!=0 && hw2!=0 && hw3==1)) qian_jin_fast();//前else if(hw1==0 && hw2!=0) you_zhuan(); // 右else if(hw1!=0 && hw2==0) zuo_zhuan(); //做else if(hw1!=0 && hw2!=0 && hw3==0) stop_zhuan(); //停}/************************************超声波计算距离的函数******************************************************/void Conut(void){time = TH0 * 256 + TL0;TH0 = 0;TL0 = 0;S=(time * 1.7) / 100;//算出来是CMif(S<=10&&S>0){P0=0xe0;}else if(S>10&&S<=20){P0=0xf0;}else if(S>20&&S<=30){P0=0xf8;}else if (S>30&&S<=40){P0=0xfc;}else{P0=0xff;}}/********************************超声波信号发送和接收函数**********************************************/void chaoshengbo(){switch(m){case 0:if (ECHO!=0) {TR0=1;m=1;}else if(ECHO==0) {TR0=0;m=0;} break;case 1: {if (ECHO!=0) {m=1;}else if(ECHO==0){TR0=0;m=2;}} break;case 2:{Conut();m=0;} break;}}//void delay8(uint t)//{//while(--t);//}////void Delay100us(void)//{//delay8(13); //8-18//}//////因为他的格式是00表示"0"11表示"1"01表示"F"所以我们要把12位乘以2等于24位刚好是3个字节////第一二个字节是地址码,第三个字节是数据码////发射芯片采用的是PT2262芯片用4.7M的震荡电阻315M发射////遥控我们全部默认地址码是FFFFFFFF 单片机解码出来就是0x55 0x55////遥控处理函数//void Remote_Process(void)//{// uchar i,j,Count=0;// Delay100us();// if(TimeCount>0)//当按键按下释放后该值不在赋值就同通过递减直到该值等于0// {//等于0后表示按键释放// TimeCount--;// }//// if(Get_Rem==0)//如果有低电平就进入解码// {// for(Count=0;Count<100;Count++)//判断12毫秒左右的引导码// {// Delay100us();//100us*100=10ms// if(Get_Rem==1)//如果在延时10毫秒期间有高电平出现就是干扰信号退出解码// {// return;// }// }// while(Get_Rem==0);//等待低电平结束// for(j=0;j<3;j++)//8位地址码加4位数据码// {// for(i=0;i<8;i++)// {// Count=0;// do// {// Delay100us();// Count++;// if(Count>20)//如果在大于2毫秒高电平还没有结束认为是干扰退出解码// {//理论上是1.2毫秒,我们2毫秒留有余量,防止遥控批量中的误差// return;// }// }while(Get_Rem==1);//计算高平时间并等待结束// Count=0;// do// {// Delay100us();// Count++;// if(Count>20)//如果在大于2毫秒低平还没有结束认为是干扰退出解码// {// return;// }// }while(Get_Rem==0);//计算低电平时间并等待结束// Rem_Code[j]<<=1;//数据从高位开始接收所以每次向左移一位// if(Count<8)//如果低电平时间小于800毫秒认为该位为1// {// Rem_Code[j]++;// }// }// }// //huqin// ACC=Rem_Code[2];// if(ACC==0x0c) //a// {// Flag=1;// delay8(5);// }// if(ACC==0xc0) //b// {// Flag=2;// delay8(5);// }// if(ACC==0x03) // c// {// Flag=3;// delay8(5);// }// if(ACC==0x30) //d// {// Flag=4;// delay8(5);// }//// if(TimeCount==0)//为0表示是新的一次按下对其进行处理// {//如过该值大于0表示已经按下不在处理,保证按下一次只做一次处理// // if((Rem_Code[0]==Addr_Code_H)&&(Rem_Code[0]==Addr_Code_L)) // // {//// if(Rem_Code[2]==Key_A)//如果数据与A键的值相等表示A键按下对其处理// // {//试验用A键来控制继电器的开关// // Com_Relay;//继电器取反// // Nokia3310();//显示继电器的状态// // Bz_Out();//蜂鸣器响一声// // }// // }// //P2_2=0;// }// TimeCount=1000;//按键按下标志// }//}// void hw_judge()//{// if((hw1==0&&hw2==0)||(hw1!=0&&hw2!=0&&hw3==1)) hw_flag=1; //前// else if(hw1==0&&hw2!=0) hw_flag=2; // 右// else if(hw1!=0&&hw2==0) hw_flag=3; //左// else if(hw1!=0&&hw2!=0&&hw3==0) hw_flag=4; //停//}////void hw_movement()//{// switch(hw_flag)// {// case 1: qian_jin_fast();break;// case 2: you_zhuan();break;// case 3: zuo_zhuan();break;// case 4: stop_zhuan();break;// }// }/*****************************主函数******************************************/void main(){TMOD=0x11; //设T0为方式1,GATE=1;TH0 = 0;TL0 = 0;TH1 = (65536-1000)/256;TL1 = (65536-1000)%256;ET0=1; //允许T0中断ET1=1; //允许T1中断TR1=1; //开启定时器EA=1; //开启总中断Led_on = 1;ENA=1;ENB=1;// IT0 = 0;// EX0 = 1;while(1){while (Flag==1){chaoshengbo();}while(Flag==5){qian_jin_fast();}while(Flag==2){hw_judge();bee=1;}while(Flag==3){gm_judge();bee=1;}while(Flag==4){stop_zhuan();bee=1;}while (Flag==0){stop_zhuan();}}}//void zd0() interrupt 0 //{// Remote_Process(); // ms_10 = 12;// sb = 1;//}/**定时器1***/void zd3() interrupt 3 //T1中断用来扫描数码管和计800MS启动模块{int i = 0;TH1 = (65536-1000) / 256;TL1 = (65536-1000) % 256;/****************************端口信号处理*******************************************/if(AO == 0)Flag = 1;else if(BO == 0)Flag = 2;else if(CO == 0)Flag = 3;else if(DO == 0)Flag = 4;//// ms_10--;// if(ms_10<=0)// {// sb = 0;// // ms_10 = 12;// }ms_100_zuo--;ms_100_you--;// if (Flag==4)// {// bee = 1;// ceshi_time--;// if (ceshi_time<=0)// {// Flag=5;// ceshi_time=300;// }// }/*************************红外的流水灯效果*****************************************/if (Flag==2){ms_hwled--;if (ms_hwled<=1000&& ms_hwled>750){P0=0xfc;}else if ( ms_hwled<=750 && ms_hwled>500){P0=0xfa;}else if ( ms_hwled<=500 && ms_hwled>250){P0=0xf6;}else if ( ms_hwled<=250 && ms_hwled>0){P0=0xee;}else if ( ms_hwled<=0)ms_hwled=1000;}}// else if(Flag == 2)// {// bee = 1;// }// else if(Flag==1)// {// if(S<=35 && S>0)// {// ms_houtui--;// if (ms_houtui<=100)// {// hou_tui_fast();// }// else if (ms_houtui<=50)// { n=n%2;// switch (n)// {//// case 0:you_zhuan();bee=0;break; //// case 1:zuo_zhuan();bee=0;break; // case 0:you_zhuan();break;// case 1:zuo_zhuan();break;// }//// }// }// else// qian_jin_fast();// bee=1;// ms_houtui=100;// }/*************************超声波壁障效果********************************************/else if(Flag==1){Led_on = 0;if(S<=30 && S>0){ms_houtui_200--;hou_tui_fast();if(ms_houtui_200<=0){n=n%2;switch (n){case 0:you_zhuan();bee=0;break;case 1:zuo_zhuan();bee=0;break;}// ms_houtui = 100;}}else{ ms_houtui_200=300;qian_jin_fast();bee=1;}timer++;if(timer>= 800){n++;timer=0;TRIG=1; //800MS 启动一次模块i = 0;for(;i<20;i++)_nop_();TRIG=0;}}}。

(完整word版)基于51单片机的循迹小车系统设计

(完整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单片机四路循迹小车

基于51单片机四路循迹小车

基于51单片机四路循迹小车[导读]这学期开设的51单片机课程的课程设计即将验收,今天开始正式着手做循迹小车~这学期开设的51单片机课程的课程设计即将验收,今天开始正式着手做循迹小车~一. 任务要求二. 系统原理本系统以设计题目的要求为目的,采用STC89C52单片机为控制核心,利用红外传感器检测轨道,控制电动小汽车的自动循迹,快慢速行驶。

这里的轨道是指汽车沿着白色地板上的黑线行驶。

由于黑线与白地板的反射系数不同,可以根据接收到的反射光的强度来判断“道路”。

常用的方法是红外检测。

红外检测方法,即在汽车行驶过程中,利用红外光在具有不同颜色的物体表面的不同反射特性,不断向地面发射红外光。

当红外光与白纸地板相遇时,会发生漫反射,反射光被安装在车内的接收器接收,如果遇到黑线,就会变成红色。

外部光被吸收,车内的接收器不能接收红外线。

单片机根据是否接收到反射的红外光来确定黑线的位置和汽车的行驶路线。

三. 整体方案1. 控制模块小车的核心控制部件采用STC公司生产的8位单片机STC89C52。

它是一种低功耗、高性能CMOS8位微控制器,具有8K字节系统可编程Flash存储器。

STC89C52使用经典的MCS-51内核,但是做了很多的改进使得芯片具有传统51单片机不具备的功能。

STC89C52有3个16 位定时器/计数器,2个外部中断,1个串口中断。

最小系统51单片机的具体引脚功能不细说,不了解的可自行百度。

直接上最小系统电路图(自己画的,凑合着看)。

顺便说一句,在我看来一个没有指示灯的电路是最烦的电路<(`^´)> 我的复位一定要有灯才行!三部分:①电源电路:给单片机提供5V的电源②时钟电路:外接11.0592M石英晶振。

③复位电路:确保单片机是从一个确定的初始状态开始。

焊接时注意P0口要接上拉电阻,否则不能用,一般都用排阻做上拉电阻(当然如果能自己画板子就更好了)。

去除AD网格线记一下怎么去除AD网格线,如图步骤,最后去掉Visible前面的对勾即可,别忘记最后点OK:2. 电机驱动模块我使用的是最经典的LM298N电机驱动:我太喜欢用298了。

基于51单片机的循迹避障小车的设计

基于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芯片,根据内置的程序分别控制小车左右两个直流电机运转,实现小车自动识别路线,能较有效的控制其在碰上障碍物时能转弯角度及寻迹行驶。

基于51单片机的寻迹小车设计报告

基于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单片机的智能循迹小车的设计

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)外观设计
该循迹小车采用4轮驱动底盘,使小车有较强的稳定性,小车安装有
一个带调光功能的LED头灯,可以缩短小车行驶的距离,以及一个用于采
集道路信息的循迹模块。

四个车轮上安装有电机,以及一个用于驱动小车
的电源,主控器采用的是51单片机。

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

二、软件程序设计
(1)程序流程设计。

基于单片机的智能寻迹小车毕业设计

基于单片机的智能寻迹小车毕业设计

智能小车摘要系统主要由红外避障模块、声控模块、光电寻迹、电机驱动及语音播报模块组成。

采用P89V51单片机作为智能小车控制核心。

系统能实现对线路进行寻迹,小车可以前进或后退,遇到障碍物可以自行停止并可以实现反向运行,系统可以利用声音控制小车的启停。

整个系统小巧紧凑,控制准确,性价比高,人机互动性好。

关键词:P89V51单片机;红外避障;线路寻迹;直流减速电机ABSTRACTSystem is mainly by infrared obstacle avoidance module, voice module, opto-electronics and motor drive tracing module. Used as a single-chip smart car P89V51 control core. System can realize the tracing lines, cars can go forward or backward, encountered obstacles can stop and reverse operation can be achieved, the system can use voice to control the start and stop car. Compact the entire system to control the accurate, cost-effective, good human-computer interaction.KEYWORD:P89V51MCU;Infrared obstacle avoidance;Tracing;DC motor speed1目录1 系统设计 (1)1.1 设计要求 (1)1.1.1 基本要求 (1)1.1.2 扩展部分 (1)1.2 总体设计方案 (1)1.2.1 基本模块设计方案论证与比较 (1)1.2.2 系统总体设计方案 (5)2 单元硬件电路设计 (6)2.1 光电对管寻迹模块 (6)2.2电机驱动电路的设计 (6)2.3红外避障模块 (7)2.4 单片机P89V51核心模块 (8)2.5 声控电路 (8)2.6 语音播报模块 (9)3 系统软件设计 (10)3.1主程序流程图 (10)3.2 传感器数据处理及寻迹程序流程 (11)4 系统测试 (12)4.1 硬件测试 (12)4.2 硬件与软件的联机测试 (12)5 测试数据及实验结果 (13)参考文献 (14)II1 系统设计1.1 设计要求1.1.1 基本要求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单片机控制的自动循迹小车技术指标要求

基于51单片机控制的自动循迹小车技术指标要求1.引言1.1 概述概述部分:在现代科技的发展中,自动化技术逐渐成为人们生活和工作中不可或缺的一部分。

自动循迹小车作为自动化技术的一种重要应用,广泛应用于工业生产、仓储物流、无人驾驶和教育领域等各个领域。

本文将以基于51单片机的自动循迹小车为研究对象,探讨其技术指标要求及实现原理。

通过对循迹传感器原理和控制算法原理的介绍,将带领读者深入了解自动循迹小车的核心技术。

在循迹传感器原理方面,本文将介绍如何通过光电传感器进行光线检测,并利用检测结果来实现对小车运动方向的控制。

同时,在控制算法原理方面,本文将详细介绍基于51单片机的控制算法的设计思路和实现方法。

在硬件要求和软件要求部分,本文将分别列举并详细说明自动循迹小车各个功能模块的需求和实现方法。

通过对硬件和软件的需求分析,读者将了解到自动循迹小车技术研究和开发过程中的具体要求和实现方式。

通过本文的阅读,读者将能够全面了解基于51单片机控制的自动循迹小车的技术指标要求及实现原理。

同时,本文还将总结研究结果并展望未来自动循迹小车技术的发展方向,希望能够为相关领域的工程应用和学术研究提供有益的参考和借鉴。

1.2文章结构文章结构本文将详细介绍基于51单片机控制的自动循迹小车技术指标要求。

文章结构如下所述。

引言部分概述了本文的内容和目的。

首先,对自动循迹小车的技术指标要求进行了概述,包括硬件要求和软件要求。

然后,介绍了基于51单片机的控制原理,包括循迹传感器原理和控制算法原理。

正文部分将详细讨论技术指标要求。

首先,对硬件要求进行了分析和说明,包括所需的传感器、电机、微控制器等。

其次,对软件要求进行了介绍,包括编程语言、开发环境和控制算法等。

接下来,详细介绍基于51单片机的控制原理。

首先,解释了循迹传感器原理,包括红外线传感器的工作原理和信号处理方法。

其次,探讨了控制算法原理,包括循迹算法的设计和实现。

结论部分对全文进行总结,并展望了未来可能的研究方向。

基于51单片机循迹智能小车

基于51单片机循迹智能小车

小车走翘翘板摘要本次设计的简易智能电动车采用简单的人工智能技术,使用AT89C52作为小车的检测和控制核心。

根据题目设定的行进及具体要求,分别采用红外传感器进行寻迹行驶、黑带采集及变速行驶,采用霍尔元件对小车行驶过程中的速度进行测量,并在终点进行行驶路程的测量,采用直流减速电机对小车实行较精确定位,由LCD显示出各项功能知识。

由数码管进行行驶时间显示,由蜂鸣器及LED构成声光提示电路。

最后,小车的运行过程中的各种自动化过程由单片机通过编程实现。

关键词:AT89C52 红外传感器减速电机光电管霍尔元件一、方案比较1.轨迹探测模块设计与比较方案一:用光敏电阻组成光敏探测器。

光敏电阻的阻值可以跟随周围环境光线的变化而变化。

当光线照射到白线上面时,光线发射强烈,光线照射到黑线上面时,光线发射较弱。

因此光敏电阻在白线和黑线上方时,阻值会发生明显的变化。

将阻值的变化值经过比较器就可以输出高低电平。

但是这种方案受光照影响很大,不能够稳定的工作。

方案二:红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断红外发射管发出红外线,当发出的红外线照射到白色的平面后反射,若红外接收管能接收到反射回的光线则检测出白线继而输出低电平,若接收不到发射管发出的光线则检测出黑线继而输出高电平。

单片机就是通过接收到的高低电平为依据来确定黑线的位置和小车的行走路线。

对于发射和接收红外线的红外探头,可以自己制作或直接采用集成式红外探头。

经测试,此种方法简单可靠。

经反复对比后,采用方案二。

1、控制电机方案比较方案一:利用步进电机的准确定长步进性能方便的实现调速和方向的偏转,且能准确的测量速度、路程以及时间,简化编程和硬件连接的工作量。

但是步进电机在与机械配合的小车改装上难度极大,非短时间所能完成。

该方案实现较困难。

方案二:用玩具小车上自带的双直流电机,只需对后轮电机进行简单改造,加上一个齿轮减速装置即可,两电机分别负责小汽车的驱动和转向的功能,依据外围红外反射传感器所采集到的信息可以补足直流电机定位不准的缺点,同时红外反射传感器的使用还能实现比较准确的寻迹行驶,用较好的控制算法及特色硬件来提高小车的整体性能,可具有很高的性能/价格比。

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

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

********************** ************************参赛学校:******************参赛队号:******************参赛题目:(A题)智能小车控制参赛学生:*******************指导教师:*******************参赛日期:2011.7.18~2011.7.22智能小车控制摘要智能作为现代的新发明,是以后的发展方向,它可以按照预先设定的模式在一个环境里自动的运作,不需要人为的管理,可应用于科学勘探等用途。

我们通过软件编程实现它的行进、绕障、停止的精确控制以及遇障次数的显示,并再次寻找到原来的轨道。

一、功能说明1、基本功能:小车能够在设计的线路上完成寻迹功能;2、拓展功能:在循迹线路上设置障碍物,小车遇到障碍物能够自动绕道行驶,完成避障功能;二、方案论证方案一:以AT89S51单片机为核心的控制电路,采用模块化的设计方案,运用传感器检测电路,实现小车在行驶中自动寻迹、躲避障碍物的功能。

并将循迹过程中遇障次数等数据传至单片机进行处理,然后由单片机根据所检测数据实现对电动小车的智能化控制。

方案二:采用各类数字电路来组成电动小车的控制系统。

采用数字电路对外围探测轨迹信号,避障信号进行处理。

但对输入输出都是模拟量的小装置,如果采用数字化方案,则要先用A/D转换器和D/A 转换器实现数字量与模拟量之间的转换。

这样必然带来高成本、电路复杂等缺点。

因此,本方案灵活性不高,效率低,不利于电动小车智能化的扩展。

同时,对各路信号处理也比较困难。

比较以上两种方案的优缺点,方案一简洁、灵活、可扩展性好,能达到设计要求,因此本设计采用方案一来实现。

三、各模块设计电路分为电源模块、单片机系统模块、电机驱动板、寻迹模块、避障模块。

智能小车运行基本原理框图见图1。

图11、电源模块首先我们想到的是稳压电源供电,稳压电源供电稳定方便调试,但是稳压电源体积大,只适合调试阶段的使用。

基于51单片机的循迹避障小车的设计ppt课件

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

基于51单片机的自动巡线避障小车精编版

基于51单片机的自动巡线避障小车精编版

唐山师范学院本科毕业论文题目基于单片机的智能小车的设计学生***指导教师*** 副教授年级2008级专业电子信息科学与技术系别物理系唐山师范学院物理系2012年5月郑重声明本人的毕业论文是在老师的指导下独立撰写完成的。

如有剽窃、抄袭、造假等违反学术道德、学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法律责任,并愿意通过网络接受公众的监督。

特此郑重声明。

毕业论文作者(签名):年月日目录摘要 (3)第一章引言 (3)第二章方案说明 (3)2.1、方案论证 (3)2.2、总体设计方案概述 (4)第三章硬件电路设计 (5)3.1、主控电路 (5)3.1.1、L7805稳压器 (5)3.1.2、MAX232芯片简介 (6)3.2、八路红外传感器模块 (6)3.2.1、LM324简介 (6)3.2.2、74HC14D简介 (6)3.3、L298N电机驱动模块 (7)3.3.1、L298N简介 (8)3.4、机械部分 (9)第四章软件系统设计 (9)4.1、程序流程图 (9)4.2、程序设计方案 (9)参考文献 (12)第五章结束语 (12)致谢 (12)附录1 (13)附录2 (13)外文页 (20)基于单片机的智能小车的设计摘要本文介绍了基于STC89C52单片机的智能小车的设计与实现。

小车主要能够识别黑线并检测障碍物从而实现在固定跑道内行驶并且可自动避障。

小车以STC89C52单片机控制器;采用八路红外传感器及其处理模块实现对黑线及障碍物的检测;通过单片机产生PWM波并通过L298N来对小车的方向和速度进行控制。

关键字STC89C52 单片机红外传感器 PWM L298N第一章引言社会的发展,科技的进步,使得人们对生活中的很多事物都提出了更高的要求,就像人们自己走累了便想到了坐车,所以马车出现了;而马车已经满足不了人们对速度的追求的时候,便又发明了汽车,所以科技创新是基于人们的需要而出现的;那么到了现在这个普通汽车已经很普遍的掌控在人们手中的时候,一个新的概念便被提了出来,它就是智能车。

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

基于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单片机寻迹小车的设计摘要:本寻迹小车采用铝合金为车架,STC89C52单片机为控制核心,加以直流电机、光电传感器和电源电路以及其他电路的设计思路。

系统由STC89C52通过I/O口控制小车的前进后退以及转向。

寻迹由ST188型光电对管完成。

关键词:STC89C52 直流电机光电传感器自动寻迹电动车Abstract: The smart car use aluminum alloy for the chassis, STC89C52 MCU as its core, including motor and servo, plus photoelectric sensors, as well as other flame sensor and power circuit. MCU controls the car turning back forward or running on the black line. ST188 reflective photo sensor seeks the trace. Far infrared flame sensor tracks the flame.Keywords: ATmaga32L、Motor、Servo、Photo、sensor、Electrical、fire engines目录一、绪论 (2)1.1立项背景及课题研究的目的及意义 (2)1.1.1 立项背景 (2)1.1.2 课题研究的目的和意义 (3)1.2设计任务与设计要求 (3)1.2.1设计任务 (3)1.2.2设计要求 (3)1.3设计思路 (4)二、总体方案设计 (5)2.1模块方案比较与论证 (5)2.1.2 控制器模块设计 (5)2.1.3 电源模块设计 (5)2.1.4 稳压模块设计 (6)2.1.5 寻迹传感器模块设计 (6)2.1.6 电机模块设计 (6)2.1.7 电机驱动模块设计 (7)2.2最终选取方案 (7)三、硬件实现及单元电路设计 (8)3.1微控制器模块 (8)3.2光电对管电路 (8)3.3电机驱动电路的设计 (9)3.4电源模块设计 (9)3.4.1 12V稳压电源设计 (9)3.4.2 5V稳压电源设计 (10)3.5原理图整合图 (10)3.6整合电路板(PCB)图 (11)3.6.1 顶层图 (11)3.6.2 底层图 (11)3.6.3 整体图 (12)四、软件实现 (13)4.1主程序流程图 (13)4.2软件实现主程序(C语言) (13)五、结论 (16)六、结束语 (16)七、参考文献 (16)一、绪论1.1立项背景及课题研究的目的及意义1.1.1 立项背景目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。

基于51单片机的蓝牙循迹小车

基于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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三门峡职业技术学院基于51单片机寻迹小车的设计系部:电气工程系班级:09应用电子一班学号:**********姓名:***指导老师:***摘要:本寻迹小车采用铝合金为车架,STC89C52单片机为控制核心,加以直流电机、光电传感器和电源电路以及其他电路的设计思路。

系统由STC89C52通过I/O口控制小车的前进后退以及转向。

寻迹由ST188型光电对管完成。

关键词:STC89C52 直流电机光电传感器自动寻迹电动车Abstract: The smart car use aluminum alloy for the chassis, STC89C52 MCU as its core, including motor and servo, plus photoelectric sensors, as well as other flame sensor and power circuit. MCU controls the car turning back forward or running on the black line. ST188 reflective photo sensor seeks the trace. Far infrared flame sensor tracks the flame.Keywords: ATmaga32L、Motor、Servo、Photo、sensor、Electrical、fire engines目录一、绪论 (3)1.1立项背景及课题研究的目的及意义 (3)1.1.1 立项背景 (3)1.1.2 课题研究的目的和意义 (4)1.2设计任务与设计要求 (4)1.2.1设计任务 (4)1.2.2设计要求 (4)1.3设计思路 (5)二、总体方案设计 (6)2.1模块方案比较与论证 (6)2.1.2 控制器模块设计 (6)2.1.3 电源模块设计 (6)2.1.4 稳压模块设计 (7)2.1.5 寻迹传感器模块设计 (7)2.1.6 电机模块设计 (7)2.1.7 电机驱动模块设计 (8)2.2最终选取方案 (8)三、硬件实现及单元电路设计 (9)3.1微控制器模块 (9)3.2光电对管电路 (9)3.3电机驱动电路的设计 (10)3.4电源模块设计 (10)3.4.1 12V稳压电源设计 (10)3.4.2 5V稳压电源设计 (11)3.5原理图整合图 (11)3.6整合电路板(PCB)图 (12)3.6.1 顶层图 (12)3.6.2 底层图 (12)3.6.3 整体图 (13)四、软件实现 (14)4.1主程序流程图 (14)4.2软件实现主程序(C语言) (15)五、结论 (17)六、结束语 (18)一、绪论1.1立项背景及课题研究的目的及意义1.1.1 立项背景目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。

世界上许多国家都在积极进行智能车辆的研究和开发设计。

移动机器人是机器人学中的一个重要分支,出现于20世纪06年代。

当时斯坦福研究院(SRI)的Nils Nilssen和charles Rosen等人,在1966年至1972年中研制出了取名shakey的自主式移动机器人,目的是将人工智能技术应用在复杂环境下,完成机器人系统的自主推理、规划和控制。

从此,移动机器人从无到有,数量不断增多,智能车辆作为移动机器人的一个重要分支也得到越来越多的关注。

智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航及白动控制等技术,是典型的高新技术综合体。

智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。

它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和巡航控制等功能。

智能车辆的主要特点是在复杂的道路情况下,能自动地操纵和驾驶车辆绕开障碍物并沿着预定的道路(轨迹)行进。

智能车辆在原有车辆系统的基础上增加了一些智能化技术设备:(1)计算机处理系统,主要完成对来自摄像机所获取的图像的预处理、增强、分析、识别等工作;(2)摄像机,用来获得道路图像信息;(3)传感器设备,车速传感器用来获得当前车速,障碍物传感器用来获得前方、侧方、后方障碍物等信息。

智能车辆技术按功能可分为三层,即智能感知/预警系统、车辆驾驶系统和全自动操作系统团。

上一层技术是下一层技术的基础。

三个层次具体如下:(1)智能感知系统,利用各种传感器来获得车辆自身、车辆行驶的周围环境及驾驶员本身的状态信息,必要时发出预警信息。

主要包括碰撞预警系统和驾驶员状态监控系统。

碰撞预警系统可以给出前方碰撞警告、盲点警告、车道偏离警告、换道/并道警告、十字路口警告、行人检测与警告、后方碰撞警告等.驾驶员状态监控系统包括驾驶员打吨警告系统、驾驶员位置占有状态监测系统等。

(2)辅助驾驶系统,利用智能感知系统的信息进行决策规划,给驾驶员提出驾驶建议或部分地代替驾驶员进行车辆控制操作。

主要包括:巡航控制、车辆跟踪系统、准确泊车系统及精确机动系统。

(3)车辆自动驾驶系统,这是智能车辆技术的最高层次,它由车载计算机全部自动地实现车辆操作功能。

目前,主要发展用于拥挤交通时低速自动驾驶系统、近距离车辆排队驾驶系统等。

这种智能小车的主要应用领域包括以下几个方面:(1)军事侦察与环境探测现代战争对军事侦察提出了更高的要求,世界各国普遍重视对军事侦察的建设,采取各种有效措施预防敌方的突然袭击,并广泛应用先进科学技术,不断研制多用途的侦察器材和探测设备,在车上装备摄像机、安全激光测距仪、夜视装置和卫星全球定位仪等设备,通过光缆操纵,完成侦察和监视敌情、情报收集、目标搜索和自主巡逻等任务,进一步扩大侦察的范围,提高侦察的时效性和准确性。

(2)探测危险与排除险情在战场上或工程中,常常会遇到各种各样的意外。

这时,智能化探测小车就会发挥很好的作用。

战场上,可以使用智能车辆扫除路边炸弹、寻找和销毁地雷。

民用方面,可以探测化学泄漏物质,可以进行地铁灭火,以及在强烈地震发生后到废墟中寻找被埋人员等。

(3)安全检测受损评估在工程建设领域,可对高速公路自动巡迹,进行道路质量检测和破坏分析检测;对水库堤坝、海岸护岸堤、江河大坝进行质量和安全性检测。

在制造领域,可用于工业管道中机械损伤,裂纹等缺陷的探寻,对输油和输气管线的泄漏和破损点的查找和定位等。

(4)智能家居在家庭中,可以用智能小车进行家具、远程控制家中的家用电器,控制室温等等。

对这种小车的研究,将为未来环境探测术上的有力支持。

1.1.2 课题研究的目的和意义目前,国内外的许多大学及研究机构都在积极投入人力、财力研制开发针对特殊条件下的安全监测系统。

其中包括研究使用远程、无人的方法来进行实现,如机器人、远程监控等。

无线传输的发展使得测量变得相对简单而且使得处理数据的速度变得很快甚至可以达到实时处理”。

该智能小车可以作为机器人的典型代表。

它可以分为三大组成部分:传感器检测部分、执行部分、CPU。

机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。

可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。

通过构建智能小车系统,培养设计并实现自动控制系统的能力。

在实践过程中,熟悉以单片机为核心控制芯片,设计小车的检测、驱动和显示等外围电路,采用智能控制算法实现小车的智能循迹。

灵活应用机电等相关学科的理论知识,联系实际电路设计的具体实现方法,达到理论与实践的统一。

在此过程中,加深对控制理论的理解和认识。

本设计就是在这样的背景下提出的,指导教师已经有充分的准备。

本题目结合科研项目而确定的设计类课题。

1.2设计任务与设计要求1.2.1设计任务1.熟悉51单片机集成开发环境,运用C语言编写工程文件;2.熟练应用所选用单片机的内部结构、资源,以及软硬件调试设备的基本方法;3.自行构建基于单片机的最小系统,完成相关硬件电路的设计实现;4.了解电机、路面检测的原理和实现方法。

1.2.2设计要求1.完成单片机最小系统设计;2.完成外围应用电路(包括系统供电单元、运动控制单元、循迹检测单元)的设计和实现;3.完成软件对硬件检测和调试工作;4.查阅国内外的研究动态和发展前沿信息,阅读相关外文文献。

1.3 设计思路为了适应机电一体化的发展在汽车智能化方向的发展要求,提出简易智能小车的构想,目的在于:通过独立设计并制作一辆具有简单智能化的简易小车,获得项目整体设计的能力,并掌握多通道多样化传感器综合控制的方法。

根据题目要求,确定如下方案:在现有的玩具电动车的基础上,加装光电对管、传感器,实现对电动车位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。

这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠、精度高,可以满足对系统的各项要求。

此项设计是在以俞学兰老师提供的小车的基础上,采用STC89C52单片机为控制核心,实现能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。

二、总体方案设计2.1 模块方案比较与论证根据设计要求,本系统主要由控制器模块、电源模块、寻迹传感器模块、直流电机及其驱动模块、电压比较模块等模块构成。

为了较好的实现各模块的功能,我们分别设计了几种方案并分别进行了论证。

2.1.1 车体设计方案1:购买玩具电动车。

购买的玩具电动车具有组装完整的车架车轮、电机及其驱动电路。

但是一般的说来,玩具电动车具有如下缺点:首先,这种玩具电动车由于装配紧凑,使得各种所需传感器的安装十分不方便。

其次,这种电动车一般都是前轮转向后轮驱动,不能适应该题目的方格地图,不能方便迅速的实现原地保持坐标转90度甚至180度的弯角。

再次,玩具电动车的电机多为玩具直流电机,力矩小,空载转速快,负载性能差,不易调速。

而且这种电动车一般都价格不菲。

因此我们放弃了此方案。

方案2:自己制作电动车。

经过反复考虑论证,我们制定了左右四轮分别驱动的方案。

即左右轮分别用两个转速和力矩基本完全相同的直流电机进行驱动。

这样,当两个直流电机转向相反同时转速相同时就可以实现电动车的原地旋转,由此可以轻松的实现小车坐标不变的90度和180度的转弯。

在安装时我们保证两个驱动电机同轴。

当小车前进时,左右两组驱动轮形成了四点结构。

这种结构使得小车在前进时比较平稳,动力也比较足。

对于车架材料的选择,我们经过比较选择了铝合金。

用铝合金做的车架比塑料车架更加牢固,比铁制小车更轻便,美观。

综上考虑,我们选择了方案2。

相关文档
最新文档