智能循迹小车设计报告

时间:2024.4.20

电子作品设计报告

项目名称:­­    智能小车   

学院:       机电工程学院      

专业:       应用电子技术      

班级:       09应电(1)班     

组别:        

姓名:  杨磊  赖焕宁  梁广生    

指导老师:杨青勇   玉宁

                                                    

                                                                                                                              

目录

摘要:................................................................................................ 3

关键词:............................................................................................ 3

引言:................................................................................................ 3

一、系统设计.................................................................................... 3

1.1设计要求................................................................................. 4

1.2车体方案认证与选择............................................................. 4

二、硬件设计及说明........................................................................ 5

2.1原理图设计............................................................................. 5

2.1.1稳压电源.......................................................................... 5

2.1.2基本系统.......................................................................... 5

2.1.3电机驱动........................................................................... 5

2.1.4液晶显示部分................................................................... 6

2.1.5RS485数据总线................................................................ 6

2.1.6循迹部分........................................................................... 7

2.2PCB设计................................................................................... 7

2.2.1主板PCB........................................................................... 7

2.2.2循迹板PCB....................................................................... 8

三、软件设计及说明........................................................................ 8

四、系统测试过程.......................................................................... 10

五、总结.......................................................................................... 11

六、附录.......................................................................................... 11

附录一:系统元器件清单........................................................... 11

附件二:系统测试源程序........................................................... 12

摘要:本组的智能小车是采用凌阳的车架,是以两个电机来驱动小车,主板部分自行设计。通过接收器MAX1483来采集信息,传送进主控芯片PIC16F886单片机, 进行数据处理后,送进驱动芯片L293D以完成相应的操作。采用反射式红外光电传感器ST178来实现小车自动循迹功能,并且整个过程采用液晶显示屏RT1602来显示相应的数据。

关键词:PIC16F886     L293D   反射式红外光电传感器ST178   自动循迹

引言:

近现代,随着电子科技的迅猛发展, 人们对技术也提出了更高的要求。汽车的智能化在提高汽车的行驶安全性,操作性等方面都有巨大的优势,在一些特殊的场合下也能满足一些特殊的需要。智能小车系统涉及到自动控制,车辆工程,计算机等多个领域,是未来汽车智能化是一个不可避免的大趋势。本文设计的小车以PIC16f886 为控制核心,用反射式红外光电传感器作为检测元件实现小车的自动循迹前行,并显示等功能。

一、系统设计

  本组智能小车的硬件主要有以PIC16f886 作为核心的主控器部分、自动循迹部分、显示部分、电机驱动部分。其中电机驱动部分和其他部分分别由两个不同的电源分开供电。

小车硬件系统结构示意图如下:

1.1设计要求:

   (1)基本要求:实现小车的前进后退,左转右转(按照程序预设)

   (2)扩展部分:实现小车自动循迹功能,避障功能。

1.2车体方案论证与选择:

方案一:自己动手制作电动车,一方面材料缺少,另一方面制作过程要花费大量的时间,而且同学中手艺也不好,制作出来的小车还可能机械性能不好。考虑到时间与性能这两方面,我们放弃了这一方案

方案二:购买凌阳小车,购买的凌阳小车具有组装完整的车架车轮、电机及其驱动电路。易改装,好控制。机械性能有保障。其小车图片如下:

综合考虑,我们选择了方案一

二、硬件设计及说明

2.1原理图设计

2.1.1 稳压电源:

电源电路为系统提供了基准电源,是整个系统工作稳定性关键所在,同时又考虑到节省空间的问题,所以我们选用了LT1117-5.0来稳定电压输出(5V),使用了电解电容C1、C2来作为滤波电容。其原理图如下:

2.1.2 基本系统:

基本系统控制电路采用单片机PIC16F886作为主控单元,负责整个电路的资源分配以及对各路信号的采集、分析和处理。配置了20MHZ的外部晶振以及蜂鸣器。同时还配置了四个端口作功能扩展。(可以用来连接小车循迹模块)单片机控制电路原理图如所示:

2.1.3 电机驱动:

驱动电路主要采用驱动芯片L293D来直接驱动电机,L293D为单块集成电路、高电压、高电流、四通道驱动,其额定工作电流为1A,最大可达1.5A,Vss电压最小4.5V,最大可达36V,可直接的对电机进行控制,无须隔离电路。L293D从主控单片机PIC16F886那里接受指令来直接控制电机的工作状态。可以对电机进行正反转,停止的操作,非常方便。发光二极管作为电源的指示灯。其驱动电路原理图如下所示:

2.1.4 液晶显示部分:

主要用RT1602来显示数据,二极管1N4148用来调节显示器的对比度,电阻R2用来调节显示器的背光亮度。(LCD液晶具有功耗低、显示内容丰富、清晰,显示信息量大,显示速度较快等特点)

2.1.5 RS485数据总线

主要用到的接收器是MAX1483

由于MAX1483是用于RS-485和RS-422通信的低功耗收发器。这种类型的摆率限制的驱动器,能够减小EMI和由于不恰当的电缆端接所引起的反射。保证数据速率高达250kbps。MAX1483仅绘制的供应电流为20μA。此外,还有一个低电流关断模式,仅消耗0.1μA。这两种模式都工作在+5 V单电源。驱动器具有短路电流限制,并通过将驱动器输出设置为高阻抗状态的热功耗关断电路来保护功耗不会过大。当输入为开路,接收器输入具有失效保护功能,保证了逻辑高电平输出。MAX1483具有1/8单位负载输入阻抗,保证总线上多达256个收发器。

2.1.6 循迹部分

主要由四个反射式红外光电传感器ST178和四个电位器组成。采用ST178型光电管完成系统循迹任务,循迹电路是用以实现小车沿着场地的黑色弧形引导轨迹进行前进和位置校正的,且小车不能偏离该轨迹。在本设计中采用ST178型反射式红外光电传感器完成系统循迹任务,硬件电路实现比较简单,其灵敏度可以通过调节多圈电位器来实现。其电路原理图如下:

2.2 PCB设计

2.2.1 主板PCB图如下:

图1.主板PCB图

2.2.2 循迹板PCB

图2.循迹板PCB图

三、软件设计及说明

系统软件流程图如下图所示:(系统程序的具体代码见附录2)

主程序流程图

循迹子函数流程图

四、系统测试过程

测试工具:

测试过程:

1.     我们尝试着先用PIC12F683来控制小车的前进、后退、左右转向。结果试验成功,小车能正常的跑动起来。这个小试验,是为了检测小车的机械性能。达到了我们预期目的。

2.     制作主板

3.     主板通电前检查:电路安装完毕,我们首先直观检查电路各部分生产线是否正确,检查电源、地线、信号线、元器件引脚之间有无短路,器件有无接错。结果发现L293芯片的5和12管脚没有接地,查看发现原来是原理图没注意改正才导致的。

4.     通电检查:给电机通电,观察电机是否工作正常。电机正常工作时,后驱工作电流为320 mA,电压为5.4V;前驱电机工作电流为180mA,电压为5.41V。给主板通电,观察电路各部分器件有无异常现象。

5.     主板安装调试(主控芯片用PIC16F886),在调试的过程中我们发现了原理图中有一个小小的错误。这个错误导致小车的稳压芯片过热。一起讨论之后决定,修改原理图,调换小车驱动芯片的位置。改动之后,小车电源稳压芯片过热现象消失。小车也能实现了基本的功能。(由于我们没能在制板之前发现这个问题,导致了主板在修整后变得不太美观了。)

6.     制作并调试小车循迹板,传感器采用反射式红外传感器ST178,当Vcc=5V时,工作电流为17mA,VR1=3.83V,VD=1.17V,RD=68.8欧。电路图如下:

   在调试的过程中却发现小车不循迹,经过了4天的努力,终于发现了问题的所在,原来是焊错了一个电阻导致(错将1K电阻当成220欧的来用)。改正后调试,终于也能实现了循迹功能。

五、总结

            测试结果表明:本组智能小车能很好的完成了基本功能和循迹功能,跑道是由黑色胶布在白色地面上拉线完成,小车可以从O型跑道的任何段为起点,跑完全程。本组智能小车目前只能完成在没有任何交叉路口的跑道上,要想跑在有“十”字路口的跑道上,还须要对循迹程序进行补充和修改。我们保留了各种硬件接口和软件子程序接口,方便以后的扩展和进一步的开发。

六、附录

附录一:系统元器件清单如表1所示

            

主板元件清单 


循迹板元件清单

   


附件二:系统测试源程序

#include <16f886.h>

#fuses HS,NOWDT,NOPROTECT,PUT,NOBROWNOUT,MCLR

#use delay(clock=20M)

#zero_ram

#use fast_io(A)         //IO直接操作

#use fast_io(B)         //IO直接操作

#use fast_io(C)         //IO直接操作

#define PORTA 0x05

#define PORTB 0x06

#define PORTC 0x07

//======电机定义======

#bit M1=PORTC.5

#bit M2=PORTC.4

#bit M3=PORTC.3

#bit M4=PORTC.0

#bit PWM1=PORTC.2

#bit PWM2=PORTC.1

//=====循迹定义======

#bit IN1=PORTB.4

#bit IN2=PORTB.5

#bit PGC=PORTB.6

#bit PGD=PORTB.7

//=====液晶屏定义=====

#bit  EN=PORTA.0

#bit  RW=PORTA.1

#bit  RS=PORTA.2

////========宏定义=======

#define TIME 1000 //动作延时

#define MAX 200   //占空比设定

#define MED 185

#define MIN 170

//定义I0端口检测

#define SENSE1 bit_test(*PORTB,4)

#define SENSE2 bit_test(*PORTB,5)

#define SENSE3 bit_test(*PORTB,6)

#define SENSE4 bit_test(*PORTB,7)

#include "lcd_1602_4bit.h"

void init()

{

    set_tris_C(0X00);

    set_tris_B(0xf0);

    set_tris_A(0x10);

    port_b_pullups(0xff);  //关闭B口内部弱上拉

    setup_timer_2(T2_DIV_BY_1,200,1); //set t2

    setup_ccp1(ccp_pwm); //set cpp --pwm mode

    setup_ccp2(ccp_pwm);

    lcd_init();

}

//传感检测结果表达

void sense_detect()

{

    lcd_gotoxy(1,1);

    lcd_putc("  NCVT   Ver1.1 ");

    lcd_gotoxy(7,2);  //指定开始显示的坐标

    if(SENSE1) lcd_putc("1");

    else lcd_putc("0");

    if(SENSE2) lcd_putc("1");

    else lcd_putc("0");

    if(SENSE3) lcd_putc("1");

    else lcd_putc("0");

    if(SENSE4) lcd_putc("1");

    else lcd_putc("0");

}

//前进

void go()    

{

   

    M1=0;

    M2=1;

    M3=0;

    M4=0;

    set_pwm2_duty(0); //set pwm 占空比

    set_pwm1_duty(MAX);

}

//后退

void back()    

{

    M1=1;

    M2=0;

    M3=0;

    M4=1;

    set_pwm2_duty(MAX); //set pwm 占空比

    set_pwm1_duty(MAX);

    delay_ms(100);

}

//停止

void stop()    

{

    M1=0;

    M2=0;

    M3=0;

    M4=0;

    set_pwm1_duty(0); //set pwm 占空比

    set_pwm2_duty(0);

}

//右小转

void run_MIN_right()     

{

    M1=0;

    M2=1;

    M3=0;

    M4=1;

    set_pwm1_duty(MAX); //set pwm 占空比

    set_pwm2_duty(MIN);

}

//右中转

void run_MED_right()    

{

    M1=0;

    M2=1;

    M3=0;

    M4=1;

    set_pwm1_duty(MAX); //set pwm 占空比

    set_pwm2_duty(MED);

}

//右大转

void run_MAX_right()    

{

    M1=0;

    M2=1;

    M3=0;

    M4=1;

    set_pwm1_duty(MAX); //set pwm 占空比

    set_pwm2_duty(MAX);

}

//左小转

void run_MIN_left()            

{

    M1=0;

    M2=1;

    M3=1;

    M4=0;

    set_pwm1_duty(MAX); //set pwm 占空比

    set_pwm2_duty(MIN);

}

//左中转

void run_MED_left()      

{

    M1=0;

    M2=1;

    M3=1;

    M4=0;

    set_pwm1_duty(MAX); //set pwm 占空比

    set_pwm2_duty(MED);

}

//左大转

void run_MAX_left()      

{

    M1=0;

    M2=1;

    M3=1;

    M4=0;

    set_pwm1_duty(MAX); //set pwm 占空比

    set_pwm2_duty(MAX);

}

//寻迹判断

void trace()

{  

    if((IN1==0)&&(IN2==0)&&(PGC==1)&&(PGD==0))      //左小转

        run_MIN_left();       

    if((IN1==0)&&(IN2==0)&&(PGC==1)&&(PGD==1))      //左中转

        run_MED_left();      

    if((IN1==0)&&(IN2==1)&&(PGC==0)&&(PGD==0))      //右小转

        run_MIN_right();             

    if((IN1==0)&&(IN2==1)&&(PGC==1)&&(PGD==0))      //前进

        go();       

    if((IN1==0)&&(IN2==0)&&(PGC==0)&&(PGD==1))      //左大转

        run_MAX_left();                  

    if((IN1==1)&&(IN2==1)&&(PGC==0)&&(PGD==0))      //右中转

        run_MED_right();                

    if((IN1==1)&&(IN2==0)&&(PGC==0)&&(PGD==0))      //右大转

        run_MAX_right();   

    if((IN1==1)&&(IN2==1)&&(PGC==1)&&(PGD==1))      //

        stop();       

    if((IN1==0)&&(IN2==0)&&(PGC==0)&&(PGD==0))      //后退

        back();        

   

       

}

       

void main()

{

    init();

    while(1)

    {  

        sense_detect();

        trace();

    }

}

更多相关推荐:
智能寻迹小车的设计报告

智能寻迹小车的设计IntelligentTracingCarDesign摘要在智能寻迹小车控制系统的设计中以AT89C51为核心用L298N驱动两个减速电机当产生信号驱动小车前进时是通过寻迹模块里的红外对管是否...

循迹小车设计报告-精华51单片机智能小车

设计报告课程机器人工程设计名称智能循迹小车小组成员学号专业机械电子工程日期20xx25指导老师成绩智能小车设计1任务及要求11任务设计一个基于直流电机的自动寻迹小车使小车能够自动检测地面黑色轨迹并沿着黑色车轨迹...

智能循迹小车实验报告

摘要本设计主要有单片机模块传感器模块电机驱动模块以及电源模块组成小车具有自主寻迹的功能本次设计采用STC公司的89C52单片机作为控制芯片传感器模块采用红外光电对管和比较器实现能够轻松识别黑白两色路面同时具有抗...

智能循迹小车___设计报告

智能循迹小车设计专业:自动化班级:自动化132姓名:XXX指导老师:20XX年4月20XX年6月摘要:本课题是基于STC89C52单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑…

智能循迹小车课程设计报告

青岛理工大学琴岛学院课程设计报告课题名称智能循迹机器人小车学院机电工程系专业班级电气工程及其自动化学号20xx020xx29学生许辉指导老师张岐磊青岛理工大学琴岛学院教务处20xx年12月14日

智能循迹小车设计报告

电子作品设计报告项目名称智能循迹小车1摘要本组的智能循迹小车是采用自主设计的车体以两个直流电机来驱动小车各个模块自行设计通过反射式红外光电传感器TCRT5000来采集跑道信息传送至主控芯片STC12C5A60S...

智能循迹小车___设计报告

竞速智能循迹小车设计报告参赛队伍参赛人胡沁玫万超目录摘要引言设计方案报告内容安排技术方案说明一总体模块二设计思路硬件电路的设计一最小系统二电源电路设计三传感器电路四电机驱动电路小车调试小车循迹规则软件系统的实现...

智能循迹小车报告

电子信息专业实验报告课程电子信息系统综合设计实验MCU部分实验题目智能机器小车设计实验总分学生姓名学号学生姓名学号学生姓名学号实验时间地点分组电子信息学院专业实验中心目录一摘要二题目要求三软硬件设计方案四各部分...

循迹智能小车的设计报告

20xx年全国大学生电子设计大赛报告智能小车设计摘要智能车辆是目前世界车辆研究领域的热点和汽车工业新的增长点未来的车辆也一定是智能化的车辆所以智能化的车辆是未来人们生活重要的载体因此有必要对智能车辆进行研究研制...

智能循迹小车 设计报告

智能循迹小车设计专业自动化班级0804班姓名指导老师20xx年8月20xx年10月摘要本课题是基于AT89C52单片机的智能小车的设计与实现小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的...

循迹小车课程设计模板

HarbinInstituteofTechnology课程设计说明书论文课程名称设计题目院系班级设计者学号指导教师设计时间哈尔滨工业大学哈尔滨工业大学课程设计任务书哈尔滨工业大学课程设计说明书论文开题报告1绪论...

循迹小车课程设计

HarbinInstituteofTechnology课程设计说明书论文课程名称设计题目院系班级设计者学号指导教师设计时间哈尔滨工业大学哈尔滨工业大学课程设计任务书哈尔滨工业大学课程设计说明书论文开题报告一立项...

智能循迹小车设计报告(31篇)