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

您所在的位置:网站首页 基于stm32智能小车答辩ppt 基于单片机的智能循迹小车

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

2024-06-09 15:21| 来源: 网络整理| 查看: 265

《基于单片机的智能循迹小车---答辩PPT(1.0版).ppt》由会员分享,可在线阅读,更多相关《基于单片机的智能循迹小车---答辩PPT(1.0版).ppt(26页珍藏版)》请在一课资料网上搜索。

1、基于单片机的智能循迹小车的设计,设计成员: 车京运002号 董 莲010号 付 蓉012号 胥志强 047号,主要内容,整个系统括单片机控制模块、电机驱动模块、循迹模块、电源和小车车体,1.系统概述,小车实物图,本系统采用简单明了的设计方案。 通过高发射功率红外光电二极管和高灵敏度光电晶体管组成的传感器循迹模块判断黑线路经 然后由STC89C52单片机通过IO口控制L298N驱动模块改变两个直流电机的工作状态 最后实现小车循迹,循迹小车的工作原理,4,控制系统结构框图,2.循迹小车硬件设计,电机驱动模块 循迹模块,电机驱动模块,L298N驱动芯片和直流电机接线原理图,L298N电机驱动板,L2

2、98N 是一个内部有两 个H桥的驱动芯片,这样电 机的运转只需要用三个信号 控制:两个方向信号和一个 使能信号,实物图,注意:L298N 芯片的工作电压需要两路: 第一路: 输出供给电机回路的工作电源第二路: 输入逻辑控制回路电源 5V ( 电源出/入,L298N接入直流电机的端口接法,循迹模块,循迹原理: 利用红外线对于不同颜色具有不同的反射性质的特点。在小车行驶过程中传感器的红外发射二极管不断发射红外光,当红外光遇到白色地面时发生漫反射,红外对管接收管接收反射光;如果遇到黑线则红外光被吸收,则红外管接收不到信号. 红外对管采集回来的信号通过3路循迹传感器模块里面的LM339比较器后输出高或

3、低电平,从而实现信号的检测,当模块检测到前方障碍物信号时 电路板上红色指示灯点亮,同时OUT 端口持续输出低电平信号,该模块检测距离260cm, 检测角度35,LM339比较器,红外探头电路,IN1-为定位器调节的电压输入端(V固定) IN1+为探头输出的电压(探头out与GND间电压)Vout 检测到白色时 R1减 小 VoutV固定 输出 高电平 LED灭,以第一路为例 简单分析,V固定,Vout,三路红外探头检测状态及其小车控制方法,所谓的差速,是指左右两车轮的速度差,假如左边车轮比右边的快,则小车会偏向右。同时,左边的车轮转速比右的慢,那么小车会向左边转动。 目前主要有以下两种方式。

4、(1)小车向左转,可是是左轮停止,左轮继续转动,这样可实现左转,这种方式实现小角度的转弯,在角度不大时可采用此种方式。 (2)小车向左转,可以是左轮反转,右轮正转,这样可以实现大角度的左转,甚至可以进行原地打转。 同理可推出小车如何向右转向,14,循迹小车软件设计,1,本设计采用C语言来编译程序。模块化结构程序的设计,可以使系统软件便于调试与优化,也使其他人更好地理解和阅读系统的程序设计。因此,软件的设计上,运用了模块化程序的结构对软件进行设计,使得程序变得更加直观易懂。程序的主要模块有:主程序、定时溢出中断服务程序、外部中断服务程序,2,Keil C51单片机软件开发系统可用于编辑C或汇编源

5、文件。然后分别由C51编译器编译生成目标文件(.OBJ)。目标文件与库文件一起经LIB51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,3,在软件调试中,使用功能强大且的WAVE 6000软件进行软件编译与调试,使用Microcontroller ISP Software及其配套的单片机对程序进行烧录,主要程序功能,*第一部分 管脚声明*/ sbit Left_pwm=P16;/接驱动模块ENA使能端,输入PWM信号调节速度 Sbit Right_pwm=P17;/接驱动模块ENB使能端,输入PWM信号调节速度 sbit P3_4=P34; /IN1 sbi

6、t P3_5=P35; /IN2 sbit P3_6=P36; /IN3 sbit P3_7=P37; /IN4 sbit HW1=P20; /三路寻迹模块接口第一路 sbit HW2=P21; /三路寻迹模块接口第二路 sbit HW3=P22; /三路寻迹模块接口第三路 #define Left_go P3_4=0,P3_5=1; /当 P3_4=0,P3_5=1; 时左电机前进 #define Left_back P3_4=1,P3_5=0; /当 P3_4=1,P3_5=0; 时左电机后退 #define Right_go P3_6=0,P3_7=1; /当 P3_6=0,P3_7=1

7、; 时右电机前转 #define Right_back P3_6=1,P3_7=0; /当 P3_6=1,P3_7=0; 时右电机后退,void pwm_out_left(void) /左电机调速,调节push_val_left的值改变电机转速,占空比 if(Left_stop) if(pwm_val_left=40) pwm_val_left=0; else Left_pwm=0;,void pwm_out_right(void) /右电机调速 if(Right_stop) if(pwm_val_right=40) pwm_val_right=0; else Right_pwm=0;,*第二

8、部分 PWM调速控制函数*,*第三部分 电机驱动函数*/ void forward(void)/前进 push_val_left=4; /PWM 调节参数 改这个值可以改变其速度 push_val_right=4; Left_go; Right_go; void rotate_left(void) /旋转左转 push_val_left=3; push_val_right=4; Left_back; Right_go;,void little_left(void) /小车前进向左微调 Left_go; Right_go; push_val_left=2; push_val_right=5; v

9、oid rotate_right(void) /旋转右转 push_val_left=4; push_val_right=3; Left_go; Right_back; void little_right(void) /小车前进向右微调 Left_go; Right_go; push_val_left=4; push_val_right=2;,void stop(void)/停止 push_val_left=0; push_val_right=0; /*第四部分 主函数*/ void main() init(); while(1) if(HW3=0,if(HW3=0,if(HW3=0,*第五部

10、分 中断服务函数*/ void init()/初始化 TMOD=0X01; TH0=(65536-1000)/256; /1ms定时 TL0=(65536-1000)%256; EA = 1; ET0= 1; TR0= 1; void timer0() interrupt 1 /TIMER0中断服务子函数产生PWM信号 TH0=(65536-1000)/256; /1ms定时 TL0=(65536-1000)%256; /time+; pwm_val_left+; pwm_val_right+; pwm_out_left(); pwm_out_right();,结论,本课题研究的内容主要是智能

11、小车的循迹系统。以实验组装小车为基础,使用了3个光电传感器来探测周围环境,同时对采集到的数据信息进行融合。取得了以下成果,2,经过多次的测试证明,循迹传感器呈M型布局时更适合检测多弯道的轨迹。由于传感器不在同一直线上,故小车转弯时,左右两边后部的传感器有较大的采样空间,两边前端的传感器则对采集的信号有更好的前瞻性。整个布局有利于在弯道处提高小车速度。但相对一字型布局,M型布局容易产生不稳定信号,从而产生信号震荡,影响小车行驶的稳定性,3,小车保留了扩展功能。循迹小车在完成设计预想的前提下,考虑到车体结构设计的简单化,降低了制作成本,使之更具有普及性。保留了各种硬件接口和软件子程序接口,方便以后的扩展和进一步的开发,1,小车可以实现按照预定轨道在无外部环境影响或改变时,小车将一直在轨道上循迹,展望,智能循迹小车属于应用开发项目,涉及了多种学科,由于本课题的试验性和不完善性。智能循迹小车在以下两个方面还有提升的空间,1,环境信息采集功能:环境信息采集的实时性和完整性,增加避障控制功能:包括避障的精确性和灵活度这两个指标,2,Thank You For Your Attention,26



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3