浅谈基于STM32单片机的智能车设计过程

2016-12-19 07:25李娜杨春鹤王泽昊娄世超
数码世界 2016年11期
关键词:循迹障碍物小车

李娜 杨春鹤 王泽昊 娄世超

沈阳工学院信息与控制学院

浅谈基于STM32单片机的智能车设计过程

李娜 杨春鹤 王泽昊 娄世超

沈阳工学院信息与控制学院

介绍了关于基于STM32的智能车设计过程,主要通过硬件和软件两部分来实现。实物可以完成小车直线行进、四边形匀速、变速行进等一系列基础的功能和引用红外模块同时能实现小车循迹避障的功能。

STM32 智能车 设计 功能

如今智能车的设计过程方案很多种,本文采用了以STM32单片机为核心,外加电机驱动模块,红外寻迹模块,红外避障模块,报警模块所组成。接下来详细介绍智能车的设计过程。

1 模块介绍

1.1 单片机模块介绍

智能车设计的核心部分要协调整个外设工作过程和相互通信,所以单片机的选择很重要,既要考虑速度,又要考虑io引脚资源,还要考虑中断等一系列问题,因此本文采用了适合本设计的STM32S103型号单片机。该单片机在整个系统中需要完成采集数据的处理工作,需要完成输出信号的控制工作,需要在特殊情况下进行报警控制。

1.2 电机模块介绍

智能车的运行是通过电机的运转来实现的,电机的运行需要高电压,大电流,直接利用单片机的IO口来提供无法保证电机正常工作,那么一个驱动模块就非常有必要。本文中采用了L298N模块来保证电机的正常工作。单片机与驱动模块之间的控制信号如下:

1.3 红外循迹和避障模块

小车的行进过程中可能会碰到障碍物,那么小车需要事前检测到,然后进行合理的避障处理机制,本文采用了红外这种方式来实现红外的避障检测过程,当小车在行进过程中红外模块始终发送出红外信号,当无障碍物时,红外接收器没有接收到红外信号,小车正常运行,当有障碍物时,接收模块接收到信号,单片机根据信号的变化判断出小车遇到障碍物要通过改变当前的行进路线进行避障处理。小车在运行过程中需要按照规划的路线循迹行驶,那么红外模块就起到了循迹的功能,可以通过红外模块与地面和路线反馈给红外接收器信号的不等,单片机实时检测信号发生的变化判断出小车与规定路线的偏差,来实时调整运行方式。

1.4 报警模块

小车在遇到障碍物或者是无法找到行走的路线时,要实时进行报警来提示当前的状态,所以设计了报警模块。当需要报警的时候,单片机发出报警信号驱动报警电路工作,该模块就可以进行声音和光报警两种方式,有效起到提醒的作用。

2 实现的功能

该设计利用单片机和电机模块可以实现的基本功能包括:直行,后退,左转,右转四种基本功能。

该设计利用单片机和电机模块可以实现的其他功能包括:左转,右转。

该设计利用单片机和电机模块加红外循迹模块可以实现的在基础功能包括:随机设计运行轨迹,小车可以自由运行在轨道上。

该设计利用单片机和电机模块加红外避障模块可以实现的在基础功能包括:随机设计障碍物的位置,小车在运行过程中一旦碰到障碍物立即停止,当障碍物清楚,小车继续运行。

该设计利用单片机和电机模块加红外避障模块加红外循迹模块可以实现的在基础功能包括:随机设计障碍物的位置,随机设计运行轨迹,小车按照轨迹运行,当碰到障碍物时,进行声音和光报警,并在运行过程中一旦碰到障碍物立即停止,当障碍物清楚,小车继续运行。

3 软件设计

设计思路: 先定义好前进、左转、右转、停止、后退的子函数。在主函数中做if判断,若两个传感器都感应到了障碍物,则调用停止函数,让小车停止,同时将PB6置低电平让蜂鸣器响;若小车左方有障碍物,则调用后退、右转函数,让小车先后退再右转,同时让蜂鸣器响;若小车右方有障碍物,则调用后退、左转函数,让小车先后退再左转,同时让蜂鸣器响;若没检测到障碍物,则调用直行函数,同时将PB6置高电平,蜂鸣器不响。将红外传感器跨在黑线两旁,若小车向右偏,则小车左侧传感器就会检测到黑线,左侧传感器就没有反射信号,此时设置小车向左转;若小车向左偏,原理亦然;若两侧的红外传感器都能检测到信号,则证明小车没有走偏,持续直行。

4 结论

经过测试,本文设计的智能小车可以完成循迹和避障过程,同时可以给出声音和光报警,是一种非常适合于学生来完成的一个设计过程。因此,单片机的学习、开发与应用是学生必须掌握的基本技能。

[1] 谭淑梅.简析STM32单片机原理及硬件电路设计[J].大庆师范学院学报,2014

[2] 杨光祥.STM32单片机原理与工程实践[M].武汉理工大学出版社,2008

[3] 刘火良,杨森.STM32库开发实战指南[M]. 机械工业出版社,2013

猜你喜欢
循迹障碍物小车
基于DFT算法的电力巡检无人机循迹检测系统设计
大车拉小车
高低翻越
赶飞机
浅谈基于机器视觉和姿态检测的循迹智能车
月亮为什么会有圆缺
刘老师想开小车
两轮自平衡小车的设计与实现
智能差分循迹小车设计
去修理厂