APP下载

基于STC15单片机的四驱智能小车循迹设计

2020-04-06

数字通信世界 2020年3期
关键词:循迹双向小车

陈 林

(湖北工业职业技术学院,十堰 442000)

0 引言

目前高职院校汽车电子技术专业开设了微机控制课程(如汽车单片机及车联网技术)内容广、深奥、入门难、技术性强。要求学生除了掌握电路理论知识外,还需要具备一定的绘制和设计硬件电路以及软件编程的能力。设计四驱智能小车,用此作为载体,能很好的调动学生的积极性,提高学生的兴趣及主动学习能力,真正让学生做到学中做,做中学,理实相结合。

1 智能小车硬件设计

1.1 硬件系统整体设计

四驱智能小车选用STC15W4K48S4单片机作为主控芯片,该芯片参考资料多,便于无基础的学生开发学习,降低设计难度。,采用RPR220红外光电对管构成四路循迹,利用单片机的P1^0~P1^3双向IO口对循迹信号进行检测。利用P6^4 ~P6^7双向IO口对电机进行控制。同时在硬件电路上还设计的有功能按键,便于调整电机的循迹速度。

1.2 循迹电路设计

四路循迹利用光电传感器来检测信号,信号经过LM324四路电压比较器来进行处理。LM324是低成本的四路运算放大器,具有真正的差分输入。在单电源应用中,它们与标准运算放大器类型相比具有几个明显的优势。循迹时采用黑白对比,当传感器在白线上时,电压对比后,输出高电平给主控芯片,循迹指示灯不亮;传感器在黑线上时,电压对比后,输出低电平给主控芯片,循迹指示灯亮。

1.3 电机驱动电路设计

电机驱动芯片为L298N,将2个H-桥电路集成到一个芯片上,这样可以同时控制2个电机。其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。通过单片机调整PWM占空比来控制电机的速度。独立驱动电路如下图:

2 智能小车循迹软件设计

智能小车具有红外循迹功能,利用C语言编程来完成软件设计。其中STC15W4K48S4单片机的P1^0 ~P1^3双向IO口对循迹信号进行检测。P6^4 ~P6^7双向IO口对电机进行控制,并通过改变PWM占空比来控制电机的速度。部分控制程序(PWM控制、循迹控制)如下:

void PWM7_2_Control(u16 PWM7num,u16 PWM2num)

{

//15位寄存器第一次翻转计数 第一次翻转是指从低电平翻转到高电平的计时

P_SW2=0x80; //最高位置1才能访问和 PWM 相关的特殊寄存器

PWM7T2H=PWM7num>>8;

PWM7T2L=PWM7num;

PWM2T2H=PWM2num>>8;

PWM2T2L=PWM2num;

P_SW2 &=~0x80 ; //最高位置0,关闭访问和 PWM相关的特殊寄存器

}

/**小车循迹程序**/

void FollowLine(void)

{

switch(XunJi&0X0F)

{

case 0x0C:PWM7_2_Control(32,32);MOTOR_GO_RIGHT ; break ;

case 0x0D:PWM7_2_Control(32,32);MOTOR_GO_RIGHT ; break ;

case 0x0E:PWM7_2_Control(32,32);MOTOR_GO_RIGHT ; break ;

case 0x03:PWM7_2_Control(32,32);MOTOR_GO_LEFT ; break ;

case 0x07:PWM7_2_Control(32,32);MOTOR_GO_LEFT ; break ;

case 0x0B:PWM7_2_Control(32,32);MOTOR_GO_LEFT ; break ;

case 0x00:MOTOR_GO_STOP ;break;

case 0x0F:

{PWM7_2_Control(26,26);MOTOR_GO_FORWARD;break;}

default:PWM7_2_Control(26,26);MOTOR_GO_FORWARD ; break ;

}

}

3 结束语

智能网联汽车成为发展趋势,对汽车的微机控制课程的学习刻不容缓。为了很好的入门及专研,必须在课堂教学中,理论结合实际,学以致用。四驱智能小车循迹的设计,将其运用于课程教学中,学生所学与汽车发展接轨。也可运用于专业竞赛中,提升学生的能力。

猜你喜欢

循迹双向小车
双向度的成长与自我实现
基于DFT算法的电力巡检无人机循迹检测系统设计
降低寄递成本需双向发力
用“双向宫排除法”解四宫数独
大车拉小车
浅谈基于机器视觉和姿态检测的循迹智能车
刘老师想开小车
完善刑事证据双向开示制度的思考
两轮自平衡小车的设计与实现
智能差分循迹小车设计