您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于STM8的寻迹车报告书
电气工程学院创新设计说明书题目:寻迹车学院(系):电气工程学院年级专业:09应电4班学号:090103030173学生姓名:郑喜东电气学院创新设计(论文)任务书学号090103030173学生姓名郑喜东专业(班级)09级应电4班设计题目寻迹车设计技术参数1掌握红外检测原理,测量路径走向;2合理设置电机控制周期;3掌握PWM电机调速原理。设计要求1最多选用三个红外寻迹模块;2主板选用MSP430或STM8均可;3驱动采用L9110模块。工作量较大工作计划1学习和掌握IAR软件的使用,了解一下STM8单片机的基本知识。2系统学习IO端口、定时器、中断的应用,结合相关例程熟悉相关库函数和对应的寄存器。3按照任务书要求编写程序,结合相关模块检测程序,观察寻迹车能否寻迹前行。4根据寻迹车的运行情况调试程序,直至寻迹车可以正常运行。参考资料1光电检测技术;2直流电机调速原理;3相应的微处理器原理及应用。目录第一章摘要第二章引言第三章PWM控制直流电机原理3.1PWM基本原理3.2PWM波实现方法第四章寻迹车硬件部分4.1管脚接线4.2电机驱动部分4.3红外检测部分第五章寻迹车软件部分5.1程序流程图5.2源程序第六章结束语第七章参考文献第一章摘要本设计是一种基于STM8控制的简易自动寻迹小车系统,其研究意义涵盖了工业、生活、勘探以及人类关注的探月工程。旨在设计出一款可以自主识别路线,选择正确的行进线路的小车。用软件模拟PWM输出驱动直流电动机,并控制小车速度和方向。利用红外反射式光电传感器对路面黑色轨迹进行检测,比较小车当前的位置,将路面检测信号反馈给控制系统。控制系统对采集到的信号予以分析判断,及时控制驱动左右方向电机不同转速以调整小车直走或转向,从而使小车能够沿着黑色轨迹自动行驶,实现小车自动寻迹的目的。关键词:寻迹小车,STM8,红外反射光电传感器第二章引言近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。而近几十年来中国在航天领域的发展越来越快,世界各国也从没停止过探索外星的脚步。在外星球恶劣的环境下探索全由人去完成是不可能的。那么可以自动驾驶的小车就发挥了它的作用了。用带有摄像头的小车就可以让我们在地球上看到外星球的地貌。如何让小车自动的准确的按照人预设的路线去进行工作成了人们开始研究的课题,现在也有很多的相关成果。寻迹小车要实现自动导引功能就必须要感知导引线,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车(AGV—auto-guidevehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并做出判断和相应的执行动作。本设计就采用了比较先进的STM8为控制核心,该设计具有实际意义,可以应用于考古、机器人、医疗器械等许多方面。尤其是在足球机器人研究方面具有很好的发展前景;在考古方面也应用到了超声波传感器进行检测。所以本设计与实际相结合,现实意义很强。该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、执行部分、CPU。实现小车自动识别路线,选择正确的行进路线。传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外反射式传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向。实现了小车根据路线自动转向也就可以让小车去完成人预设的任务。第三章PWM控制直流电机原理3.1PWM基本原理脉宽调制的基本原理,脉宽调制(PulseWidthModulation),是利用电力电子开关器件的导通与关断,将直流电压变成连续的直流脉冲序列,并通过控制脉冲的宽度或周期达到变压的目的。所采用的电力电子器件都为全控型器件,如电力晶体管(GTR)、功率MOSFET、IGBT等。通常PWM变换器是用定频调宽来达到调压的目的PWM变换器调压与晶闸管相控调压相比有许多优点,如需要的滤波装置很小甚至只利用电枢电感已经足够,不需要外加滤波装置;电动机的损耗和发热较小、动态响应快、开关频率高、控制线路简单等。PWM的占空比决定输出到直流电机的平均电压.PWM不是调节电流的.PWM的意思是脉宽调节,也就是调节方波高电平和低电平的时间比,一个20%占空比波形,会有20%的高电平时间和80%的低电平时间,而一个60%占空比的波形则具有60%的高电平时间和40%的低电平时间,占空比越大,高电平时间越长,则输出的脉冲幅度越高,即电压越高.如果占空比为0%,那么高电平时间为0,则没有电压输出.如果占空比为100%,那么输出全部电压.所以通过调节占空比,可以实现调节输出电压的目的,而且输出电压可以无级连续调节.PWM信号是一个矩形的方波,他的脉冲宽度可以任意改变,改变其脉冲宽度控制控制回路输出电压高低或者做功时间的长短,实现无级调速。3.2PWM波实现方法PWM信号的产生通常有两种方法:一种是软件的方法;另一种是硬件的方法。本实验用STM8以软件的的方式实现PWM的输出和占空比的改变。通过控制定时器,从而可以实现从STM8的任意输出口输出不同占空比的脉冲波形。第四章寻迹车硬件部分4.1管脚接线CPU通过接口PD3、PD4输出两个占空比可调的PWM波,分别连接小车上的两个直流电机控制小车的直走或转弯。两个红外反射式光电传感器对称接在小车的两端发射和接收红外信号,将红外反射式光电传感器的接收端分别连至CPU的PB1、PC1接口。CPU内部时基单元采用高速时钟HSI,8分频,即2MHz。红外反射式光电传感器的扫描周期通过延时程序delay设置实现。利用两个输出比较通道CH1、CH2,可输出占空比可调的PWM波。4.2电机驱动部分对于小车车轮的两个直流电机,我们采用了两片L9110电机驱动芯片分别对其进行驱动,接收STM8单片机的信号使两个直流电机转速相同或不同,从而调整小车的前进方向和转速。4.3红外检测部分小车循迹原理是小车在画有黑线的白纸“路面”上行驶,由于黑线和白纸对光线的反射系数不同,可根据接收到的反射光的强弱来判断“道路”—黑线。该模块中利用了简单、应用也比较普遍的检测方法——红外探测法。红外探测法,即利用红外线在不同颜色的物理表面具有不同的反射性质的特点。在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色地面时发生漫发射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,则小车上的接收管接收不到信号,接收管收到信号后,输出端为低电平,接收管不能接收到信号时,输出端为高电平,单片机通过采集每个红外接收管的输出端电压,便可以检测出轨道的位置,从而控制小车的转向,使小车一直沿轨道前进。为了使检测准确,2只红外接收管对称分布在黑线的两侧。本寻迹车采用TCR5000红外反射式传感器,TCR5000具有结构紧凑建设发光光源和探测器排列在同一方向,以感知对象的存在从对象使用反射红外线光束。工作波长为950毫米。该探测器光电晶体管组成。工作时由蓝色发射管发射红外线,红外线由遮挡物反射回来被接收管接收。接收反射光线后的接收管呈导通状态,与一电阻串联即可主城一个由发射管控制的分压电路,由此可实现对遮挡物反射光线强度的检测。我们经常利用这一特性去实现颜色识别。其实物图如图1,引脚图如图2所示。图1TCR5000实物图图2TCR5000引脚定义第五章寻迹车软件部分5.1程序流程图开始无限循环小车是否右转小车是否左转小车右转(左轮转速较快,右轮转速较慢)小车左转(左轮转速较慢,右轮转速较快)是否是否是否检测到终点线小车直行(左右轮转速相同)结束否是小车停止5.2源程序#includestm8s.h#defineucharunsignedchar#defineuintunsignedint#defineulongunsignedlongunsignedintleft_read(void){returnGPIO_ReadInputPin(GPIOB,GPIO_PIN_1);}unsignedintright_read(void){returnGPIO_ReadInputPin(GPIOC,GPIO_PIN_1);}voiddelay(ulongi){ulongj;for(j=0;ji;j++){;}}voidCLK_configuration(void){CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);}voidGPIO_configuration(void){GPIO_DeInit(GPIOD);GPIO_DeInit(GPIOB);GPIO_DeInit(GPIOC);GPIO_Init(GPIOD,GPIO_PIN_3,GPIO_MODE_OUT_PP_LOW_FAST);//CH2GPIO_Init(GPIOD,GPIO_PIN_4,GPIO_MODE_OUT_PP_LOW_FAST);//CH1GPIO_Init(GPIOB,GPIO_PIN_1,GPIO_MODE_IN_FL_IT);//左检测GPIO_Init(GPIOC,GPIO_PIN_1,GPIO_MODE_IN_FL_IT);//右检测}voidmain(void){CLK_configuration();GPIO_configuration();TIM2_TimeBaseInit(TIM2_PRESCALER_8,1000);TIM2_OC1Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,0,TIM2_OCPOLARITY_HIGH);TIM2_OC1PreloadConfig(ENABLE);TIM2_OC2Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTSTATE_ENABLE,0,TIM2_OCPOLARITY_HIGH);TIM2_OC2PreloadConfig(ENABLE);TIM2_ARRPreloadConfig(ENABLE);TIM2_Cmd(ENABLE);while(1){unsignedintN;unsignedintM;N=left_read();M=right_read();delay(600);if(N==0x00&&M==0x00){TIM2_SetCompare1(900);//直线行驶TIM2_SetCompare2(900);}elseif(N==0x00&&M!=0x00){TIM2_SetCompare1(800);//右转TIM2_SetCompare2(300);}elseif(N!=0x00&&M==0x00){TIM2_SetCompare1(300);//左转TIM2_SetCompare2(800);}elseif(N!=0x00&&M!=0x00){TIM2_SetCompare1(0);//停止行驶TIM2_SetCompare2(0);}}}第六章结束语我在这次设计中收获很大,感觉这次创新实验是很有意义的。身为应用电子专业的学生,设计是我将来必需的技能。而这次制作恰恰给我提供了一个应用自己所学知识的平台,通过这次的制作,可以考察自己在自学单片机中,收获的那些知识。从理论设计,到确定具体方案,再到仿真软件仿真,再到安装实际电路,最后到调试程序、成型。整个过程都需要充分利用所学的知识进行思考、借鉴。可以说,本次制作是对前面所学的知识进行的一次比较综合的检验,而且还帮我增加了STM8芯片的理解和对智能小车的了解。总的来说,这次制作虽然累,但非常充实。在这次创新实验中,正确的思路是很重要的,只有设计思路是正确的,那设计才有可能成功。因此我们在设计前做好充分的准备,认真查找详细的资料,为我们设计的成功打下了坚实的基础。本实验程序设计比较简单,程序思路框架容易理清,比较费时间的是小车寻迹效果的调试。其中主要通过改变占空比的配合来改善小车的寻迹性能,另外当
本文标题:基于STM8的寻迹车报告书
链接地址:https://www.777doc.com/doc-2572290 .html