基于单片机的智能循迹小车---答辩ppt课件(1.0版)

上传人:20****08 文档编号:240681494 上传时间:2024-04-29 格式:PPT 页数:26 大小:1.59MB
返回 下载 相关 举报
基于单片机的智能循迹小车---答辩ppt课件(1.0版)_第1页
第1页 / 共26页
基于单片机的智能循迹小车---答辩ppt课件(1.0版)_第2页
第2页 / 共26页
基于单片机的智能循迹小车---答辩ppt课件(1.0版)_第3页
第3页 / 共26页
点击查看更多>>
资源描述
基于单片机的智能循迹小车的设计基于单片机的智能循迹小车的设计设计成员设计成员:车京运车京运002002号号董董 莲莲010010号号付付 蓉蓉012012号号胥志强胥志强 047047号号基于单片机的智能循迹小车的设计主要内容:主要内容:系统概述系统概述1循迹小车硬件设计循迹小车硬件设计2循迹小车软件设计循迹小车软件设计3总结总结4主要内容:系统概述1循迹小车硬件设计2循迹小车软件设计3整个系统括单片机控制模块、电机驱动模块、循迹模块、电源和小车车体。1.1.系统概述系统概述小车实物图整个系统括单片机控制模块、电机驱动模块、循迹模块、电源和小车本系统采用简单明了的设计方案。本系统采用简单明了的设计方案。通过高发射功率红外光电二极管和高灵敏度光电通过高发射功率红外光电二极管和高灵敏度光电晶体管组成的传感器循迹模块判断黑线路经晶体管组成的传感器循迹模块判断黑线路经然后由然后由STC89C52单片机单片机通过通过IOIO口控制口控制L298N驱动驱动模块改变两个直流电机的工作状态模块改变两个直流电机的工作状态最后实现小车循迹最后实现小车循迹循迹小车的工作原理循迹小车的工作原理4本系统采用简单明了的设计方案。循迹小车的工作原理4n n控制系统结构框图控制系统结构框图控制系统结构框图2.2.循迹小车硬件设计循迹小车硬件设计n n电机驱动模块n n循迹模块2.循迹小车硬件设计电机驱动模块电机驱动模块电机驱动模块L298N驱动芯片和直流电机接线原驱动芯片和直流电机接线原理图理图电机驱动模块L298N驱动芯片和直流电机接线原理图L298N电机驱动板电机驱动板 L298N 是一个内部有两是一个内部有两个个H桥的驱动芯片,桥的驱动芯片,这样电这样电机的运转只需要用三个信号机的运转只需要用三个信号控制:两个方向信号和一个控制:两个方向信号和一个使能信号。使能信号。实物图注意:注意:L298N 芯片的工作电压需要两路:芯片的工作电压需要两路:第一路:第一路:输出供给电机回路的工作电源输出供给电机回路的工作电源第二路:第二路:输入逻辑控制回路电源输入逻辑控制回路电源 5V(电源出电源出/入)入)L298N电机驱动板 L298N 是一个内部有两L298N接入直流电机的端口接法接入直流电机的端口接法L298N接入直流电机的端口接法循迹模块循迹模块循迹原理:利用红外线对于不同颜色具有不同的反射性质的特点。在小车行驶过程中传感器的红外发射二极管不断发射红外光,当红外光遇到白色地面时发生漫反射,红外对管接收管接收反射光;如果遇到黑线则红外光被吸收,则红外管接收不到信号.红外对管采集回来的信号通过3路循迹传感器模块里面的LM339比较器后输出高或低电平,从而实现信号的检测。循迹模块循迹原理:当模块检测到前方障碍物信号时 电路板上红色指示灯点亮,同时OUT 端口持续输出低电平信号,该模块检测距离260cm,检测角度35 LM339比较器红外探头电路当模块检测到前方障碍物信号时 电路板上红色指示灯点亮,同时O IN1-IN1-为定位器调节的电压输入端(为定位器调节的电压输入端(V V固定固定)IN1+IN1+为探头输出的电压(探头为探头输出的电压(探头outout与与GNDGND间电压间电压)Vout)Vout 检测到白色时检测到白色时 R1 R1减减 小小 VoutV VoutV VoutV固固定定 输出输出 高电平高电平 LED LED灭灭以第一路为例 简单分析V固定Vout IN1-为定位器调节的电压输入端(V固定)以第一路为例三路红外探头检测状态及其小车控制方法三路红外探头检测状态及其小车控制方法三路红外探头检测状态及其小车控制方法所谓的差速,是指左右两车轮的速度差,假如左边车轮比右边的快,则小车会偏向右。同时,左边的车轮转速比右的慢,那么小车会向左边转动。目前主要有以下两种方式。(1)小车向左转,可是是左轮停止,左轮继续转动,这样可实现左转,这种方式实现小角度的转弯,在角度不大时可采用此种方式。(2)小车向左转,可以是左轮反转,右轮正转,这样可以实现大角度的左转,甚至可以进行原地打转。同理可推出小车如何向右转向。14所谓的差速,是指左右两车轮的速度差,假如左边车轮比右边的快,循迹小车软件设计循迹小车软件设计:1本设计采用本设计采用C语言来编译程序。模块化结构程序的设语言来编译程序。模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。因此,软件的设计好地理解和阅读系统的程序设计。因此,软件的设计上,运用了模块化程序的结构对软件进行设计,使得上,运用了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂。程序的主要模块有:主程序、程序变得更加直观易懂。程序的主要模块有:主程序、定时溢出中断服务程序、外部中断服务程序。定时溢出中断服务程序、外部中断服务程序。2Keil C51单片机软件开发系统可用于编辑单片机软件开发系统可用于编辑C或汇编或汇编源文件。然后分别由源文件。然后分别由C51编译器编译生成目标文件编译器编译生成目标文件(.OBJ)。目标文件与库文件一起经)。目标文件与库文件一起经LIB51连接连接定位生成绝对目标文件(定位生成绝对目标文件(.ABS)。)。ABS文件由文件由OH51转换成标准的转换成标准的Hex文件文件。3在软件调试中,使用功能强大且的在软件调试中,使用功能强大且的WAVE 6000软件进软件进行软件编译与调试行软件编译与调试,使用使用Microcontroller ISP Software及其配套的单片机对程序进行烧录。及其配套的单片机对程序进行烧录。循迹小车软件设计:1本设计采用C语言来编译程序。模块化结主要程序功能主要程序功能/*/*第一部分第一部分第一部分第一部分 管脚声明管脚声明管脚声明管脚声明*/sbit Left_pwm=P16;sbit Left_pwm=P16;/接驱动模块接驱动模块接驱动模块接驱动模块ENAENA使能端,输入使能端,输入使能端,输入使能端,输入PWMPWM信号调节速度信号调节速度信号调节速度信号调节速度Sbit Right_pwm=P17;Sbit Right_pwm=P17;/接驱动模块接驱动模块接驱动模块接驱动模块ENBENB使能端,输入使能端,输入使能端,输入使能端,输入PWMPWM信号调节速度信号调节速度信号调节速度信号调节速度sbit P3_4=P34;sbit P3_4=P34;/IN1/IN1sbit P3_5=P35;sbit P3_5=P35;/IN2/IN2sbit P3_6=P36;sbit P3_6=P36;/IN3/IN3sbit P3_7=P37;sbit P3_7=P37;/IN4/IN4sbit HW1=P20;sbit HW1=P20;/三路寻迹模块接口第一路三路寻迹模块接口第一路三路寻迹模块接口第一路三路寻迹模块接口第一路sbit HW2=P21;sbit HW2=P21;/三路寻迹模块接口第二路三路寻迹模块接口第二路三路寻迹模块接口第二路三路寻迹模块接口第二路sbit HW3=P22;sbit HW3=P22;/三路寻迹模块接口第三路三路寻迹模块接口第三路三路寻迹模块接口第三路三路寻迹模块接口第三路#define Left_go P3_4=0,P3_5=1;/#define Left_go P3_4=0,P3_5=1;/当当当当 P3_4=0,P3_5=1;P3_4=0,P3_5=1;时左电机前进时左电机前进时左电机前进时左电机前进#define Left_back P3_4=1,P3_5=0;/#define Left_back P3_4=1,P3_5=0;/当当当当 P3_4=1,P3_5=0;P3_4=1,P3_5=0;时左电机后退时左电机后退时左电机后退时左电机后退#define Right_go P3_6=0,P3_7=1;/#define Right_go P3_6=0,P3_7=1;/当当当当 P3_6=0,P3_7=1;P3_6=0,P3_7=1;时右电机前转时右电机前转时右电机前转时右电机前转#define Right_back P3_6=1,P3_7=0;/#define Right_back P3_6=1,P3_7=0;/当当当当 P3_6=1,P3_7=0;P3_6=1,P3_7=0;时右电机后时右电机后时右电机后时右电机后退退退退主要程序功能/*第一void pwm_out_left(void)void pwm_out_left(void)/左电机调速左电机调速,调节调节push_val_leftpush_val_left的值改的值改变电机转速变电机转速,占空比占空比 if(Left_stop)if(Left_stop)if(pwm_val_left=push_val_left)if(pwm_val_left=40)if(pwm_val_left=40)pwm_val_left=0;pwm_val_left=0;else else Left_pwm=0;Left_pwm=0;void pwm_out_right(void)void pwm_out_right(void)/右电机调速右电机调速 if(Right_stop)if(Right_stop)if(pwm_val_right=push_val_right)if(pwm_val_right=40)if(pwm_val_right=40)pwm_val_right=0;pwm_val_right=0;else else Right_pwm=0;Right_pwm=0;/*第二部分第二部分 PWM调速控制函数调速控制函数*/void pwm_out_left(void)void pw/*/*第三部分第三部分第三部分第三部分 电机驱动函数电机驱动函数电机驱动函数电机驱动函数*/void forward(void)void forward(void)/前进前进前进前进 push_val_left=4;/PWM push_val_left=4;/PWM 调节参数调节参数调节参数调节参数 改这个值可以改变其速度改这个值可以改变其速度改这个值可以改变其速度改这个值可以改变其速度 push_val_right=4;push_val_right=4;Left_go;Left_go;Right_go;Right_go;void rotate_left(void)/void rotate_left(void)/旋转左转旋转左转旋转左转旋转左转 push_val_left=3;push_val_left=3;push_val_right=4;push_val_right=4;Left_back;Left_back;Right_go;Right_go;基于单片机的智能循迹小车-答辩ppt课件(1void little_left(void)/void little_left(void)/小车前进向左微调小车前进向左微调小车前进向左微调小车前进向左微调 Left_go;Left_go;Right_go;Right_go;push_val_left=2;push_val_left=2;push_val_right=5;push_val_right=5;void rotate_right(void)/void rotate_right(void)/旋转右转旋转右转旋转右转旋转右转 push_val_left=4;push_val_left=4;push_val_right=3;push_val_right=3;Left_go;Left_go;Right_back;Right_back;void little_right(void)/void little_right(void)/小车前进向右微调小车前进向右微调小车前进向右微调小车前进向右微调 Left_go;Left_go;Right_go;Right_go;push_val_left=4;push_val_left=4;push_val_right=2;push_val_right=2;void little_left(void)/小车前进向void stop(void)/void stop(void)/停止停止停止停止 push_val_left=0;push_val_left=0;push_val_right=0;push_val_right=0;/*/*第四部分第四部分第四部分第四部分 主函数主函数主函数主函数*/void main()void main()init();init();while(1)while(1)if(HW3=0&HW2=1&HW1=0)if(HW3=0&HW2=1&HW1=0)/直行直行直行直行 forward();forward();if(HW3=0&HW2=0&HW1=1)if(HW3=0&HW2=0&HW1=1)/微右微右微右微右 little_right();little_right();i=1;i=1;void stop(void)/停止if(HW3=0&HW2=0&HW1=0&i=1)/if(HW3=0&HW2=0&HW1=0&i=1)/右转出线时(特别)右转出线时(特别)右转出线时(特别)右转出线时(特别)little_right();little_right();j=0;q=0;w=0;j=0;q=0;w=0;if(HW3=1&HW2=0&HW1=0)/if(HW3=1&HW2=0&HW1=0)/微左微左微左微左 little_left();little_left();j=1;j=1;if(HW3=0&HW2=0&HW1=0&j=1)/if(HW3=0&HW2=0&HW1=0&j=1)/左转出线时(特别)左转出线时(特别)左转出线时(特别)左转出线时(特别)little_left();little_left();i=0;q=0;w=0;i=0;q=0;w=0;if(HW3=0&HW2=1&HW1=1)/if(HW3=0&HW2=1&HW1=1)/两个传感器测两个传感器测两个传感器测两个传感器测 右拐右拐右拐右拐 rotate_right();rotate_right();q=1;q=1;if(HW3=0&HW2=0&HW1=0&i=if(HW3=0&HW2=0&HW1=0&q=1)/if(HW3=0&HW2=0&HW1=0&q=1)/调整调整调整调整 rotate_right();rotate_right();w=0;i=0;j=0;w=0;i=0;j=0;if(HW3=1&HW2=1&HW1=0)/if(HW3=1&HW2=1&HW1=0)/两个传感器测到两个传感器测到两个传感器测到两个传感器测到 左拐左拐左拐左拐 rotate_left();rotate_left();w=1;w=1;if(HW3=0&HW2=0&HW1=0&w=1)if(HW3=0&HW2=0&HW1=0&w=1)rotate_left();rotate_left();q=0;i=0;j=0;q=0;i=0;j=0;if(HW3=1&HW2=1&HW1=1)/if(HW3=1&HW2=1&HW1=1)/检测到全为黑线时检测到全为黑线时检测到全为黑线时检测到全为黑线时 停止停止停止停止 stop();stop();基于单片机的智能循迹小车-答辩ppt课件(1/*/*第五部分第五部分第五部分第五部分 中断服务函数中断服务函数中断服务函数中断服务函数*/void init()void init()/初始化初始化初始化初始化 TMOD=0X01;TMOD=0X01;TH0=(65536-1000)/256;/1msTH0=(65536-1000)/256;/1ms定时定时定时定时TL0=(65536-1000)%256;TL0=(65536-1000)%256;EA=1;EA=1;ET0=1;ET0=1;TR0=1;TR0=1;void timer0()interrupt 1void timer0()interrupt 1/TIMER0/TIMER0中断服务子函数产生中断服务子函数产生中断服务子函数产生中断服务子函数产生PWMPWM信号信号信号信号 TH0=(65536-1000)/256;/1msTH0=(65536-1000)/256;/1ms定时定时定时定时TL0=(65536-1000)%256;TL0=(65536-1000)%256;/time+;/time+;pwm_val_left+;pwm_val_left+;pwm_val_right+;pwm_val_right+;pwm_out_left();pwm_out_left();pwm_out_right();pwm_out_right();基于单片机的智能循迹小车-答辩ppt课件(1结论:结论:本课题研究的内容主要是智能小车的循迹系统。以实验组装小车为基本课题研究的内容主要是智能小车的循迹系统。以实验组装小车为基础,使用了础,使用了3个光电传感器来探测周围环境,同时对采集到的数据信息个光电传感器来探测周围环境,同时对采集到的数据信息进行融合。取得了以下成果:进行融合。取得了以下成果:2经过经过多多次的测试证明,循迹传感器呈次的测试证明,循迹传感器呈M型布局时型布局时更更适合检适合检测多弯道的轨迹。由于传感器不在同一直线上,故小车转测多弯道的轨迹。由于传感器不在同一直线上,故小车转弯时,左右两边后部的传感器有较大的采样空间,两边前弯时,左右两边后部的传感器有较大的采样空间,两边前端的传感器则对采集的信号有更好的前瞻性。整个布局有端的传感器则对采集的信号有更好的前瞻性。整个布局有利于在弯道处提高小车速度。但相对一字型布局,利于在弯道处提高小车速度。但相对一字型布局,M型布型布局容易产生不稳定信号,从而产生信号震荡,影响小车行局容易产生不稳定信号,从而产生信号震荡,影响小车行驶的稳定性。驶的稳定性。3小车保留了扩展功能。循迹小车在完成设计预想的前提小车保留了扩展功能。循迹小车在完成设计预想的前提下,考虑下,考虑到到车体结构设计的简单化,降低了制作成本,车体结构设计的简单化,降低了制作成本,使之更具有普及性。保留了各种硬件接口和软件子程序使之更具有普及性。保留了各种硬件接口和软件子程序接口,方便以后的扩展和进一步的开发。接口,方便以后的扩展和进一步的开发。1小车可以实现按照预定轨道在无外部环境影响或改变时,小车可以实现按照预定轨道在无外部环境影响或改变时,小车将一直在轨道上循迹。小车将一直在轨道上循迹。结论:本课题研究的内容主要是智能小车的循迹系统。以实验组装小展望:展望:智能循迹小车属于应用开发项目,涉及了多种学科,由于本课题的试智能循迹小车属于应用开发项目,涉及了多种学科,由于本课题的试验性和不完善性。智能循迹小车在以下两个方面还有提升的空间:验性和不完善性。智能循迹小车在以下两个方面还有提升的空间:1环境信息采集功能:环境信息采集的实时性和完环境信息采集功能:环境信息采集的实时性和完整性。整性。增加避障控制功能:包括避障的精确性和灵活度这两增加避障控制功能:包括避障的精确性和灵活度这两个指标。个指标。2展望:智能循迹小车属于应用开发项目,涉及了多种学科,由于本课Thank You For Your Attention!2626Thank You For Your Attention!2
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!