陈 林
(湖北工业职业技术学院,十堰 442000)
目前高职院校汽车电子技术专业开设了微机控制课程(如汽车单片机及车联网技术)内容广、深奥、入门难、技术性强。要求学生除了掌握电路理论知识外,还需要具备一定的绘制和设计硬件电路以及软件编程的能力。设计四驱智能小车,用此作为载体,能很好的调动学生的积极性,提高学生的兴趣及主动学习能力,真正让学生做到学中做,做中学,理实相结合。
四驱智能小车选用STC15W4K48S4单片机作为主控芯片,该芯片参考资料多,便于无基础的学生开发学习,降低设计难度。,采用RPR220红外光电对管构成四路循迹,利用单片机的P1^0~P1^3双向IO口对循迹信号进行检测。利用P6^4 ~P6^7双向IO口对电机进行控制。同时在硬件电路上还设计的有功能按键,便于调整电机的循迹速度。
四路循迹利用光电传感器来检测信号,信号经过LM324四路电压比较器来进行处理。LM324是低成本的四路运算放大器,具有真正的差分输入。在单电源应用中,它们与标准运算放大器类型相比具有几个明显的优势。循迹时采用黑白对比,当传感器在白线上时,电压对比后,输出高电平给主控芯片,循迹指示灯不亮;传感器在黑线上时,电压对比后,输出低电平给主控芯片,循迹指示灯亮。
电机驱动芯片为L298N,将2个H-桥电路集成到一个芯片上,这样可以同时控制2个电机。其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电,接受5vTTL电平。通过单片机调整PWM占空比来控制电机的速度。独立驱动电路如下图:
智能小车具有红外循迹功能,利用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 ;
}
}
智能网联汽车成为发展趋势,对汽车的微机控制课程的学习刻不容缓。为了很好的入门及专研,必须在课堂教学中,理论结合实际,学以致用。四驱智能小车循迹的设计,将其运用于课程教学中,学生所学与汽车发展接轨。也可运用于专业竞赛中,提升学生的能力。