莫慧芳 段智敏
摘 要 本文结合微课程设计的特点,构建“学做创”为导向的创客微课程设计模式,通过制作智能避障小车,将过程应用于微课程项目设计。本设计以Arduino单片机为主控芯片,配合直流电动机、光电传感器等器件,通过相应的软件代码实现控制小车的前进、转弯、避障、自动转向等动作。将智能小车设计过程制作成微视频演示,设计任务目标、学习内容,可用于创客教育相关课程建设。
关键词 微课程 创客 避障小车
中图分类号:G434文献标识码:A
0引言
智能小车,即轮式机器人,是移动机器人的一种。基于Arduino开发单板设计智能避障小车,电源模块为单片机及其他电路提供工作电压,直流12V主要为电机提供驱动电压。超声波避障模块,通过单片机控制超声波模块去小车行驶道路上的障碍物进行检测,然后单片机通过处理反馈的信息,判断障碍物的距离,进而发出指令控制模块,控制小车实现转向,达到避障的目的。
将智能小车设计过程制作成微视频演示,设计任务目标、学习内容,可以用于创客教育相关课程建设。
1任务目标设计
以Arduino单片机为核心,制作一款避障小车,小车从无障碍地区启动前进,感应前进路线上的障碍物后,根据障碍物的位置选择下一步行进方向。当小车转过90度后,对前方道路再次检测。若无障碍,向前行驶。如果存在障碍物且小于15cm,小车右转180度,并再次检测前方路况,若无障碍物,向前行驶,有障碍物且距离小于15cm,小车向右转90度并向前行驶。
2任务学习内容设计
本系统由硬件和软件两部分组成。硬件部分由电机驱动模块、单片机控制模块、电源模块、舵机模块、超声波模块和避障模块部分组成,完成障碍物检测和直流电机的驱动等功能;软件部分主要信号检测和处理、直流电机的控制等功能。系统结构框图如图1所示。
2.1 硬件电路设计
本小车的硬件部分分为几个模块:超声波传感器、Arduino单片机、电源、两个直流电动机、电机驱动板、车身和遥控模块等。电源连接在Arduino单片机上给整个小车供电,将超声波传感器安置在车身的最前端,用于探测前方是否有障碍物。当超声波传感器遇到障碍物,将反馈提供到单片机里从而做出旋转的反应;再次检测前方是否有障碍物,若有障碍物则继续旋转,没有障碍物则电机驱动器驱动电机前进,从而实现整个小车的避障功能。
2.1.1单片机控制模块
中控芯片选择Arduino单片机,控制信号由单片机对应接收通道进入信号调制芯片,获得直流偏置电压。Arduino是一款便捷灵活十分方便上手的开源电子原型平台,能通过各种传感器来感知环境,通过灯光、电机和其他装置来反馈、影响环境。
2.1.2舵机模块
舵机是小车转向的执行机构,在硬件连接上共有三根线,分别为电源线、地线及控制输入项。小车采用辉盛9g舵机,控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。
舵机信号接口输入图程序,舵机开始从0度旋转到180度,在从180度旋转到0度,最后初始化舵机角度为90度,再安装超声波模块,确保舵机在90度的时候,超声波模块在小车正前方,超声波模块每次程序执行完都要回到90度的位置。
2.1.3 超声波模块
超声波传感器是利用超声波的特性研制而成的传感器,它是通过传送一个超声波(远高于人的听觉范围)和提供一个对应于爆裂回声返回到传感器所需时间的输出脉冲来工作的。测距程序基本工作原理:
(1)采用IO口TRIG触发测距,给至少10us的高电平信号;
(2)模块自动发送8个40khz的方波,自动检测是否有信号返回;
(3)有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。
测试距离=(高电平时间*声速(340M/S))/2,打开串口监视器,可以看到超声波模块的测距结果。
3软件设计
本系统的软件用C语言编写,分为主程序、外部中断解码子程序、自动驾驶子程序、障碍物检测子程序、定时器中断调速子程序等,主要完成系统硬件的初始化、子程序调用等功能。图2是测距部分程序,图3是实物图。
参考文献
[1] 赵津.基于Arduino单片机的智能避障小车设计[J].自动化与仪表,2013(05):1-4.
[2] 王艳.基于51单片机的红外遥控小车设计和制作[J].机电信息,2010(04):4-5.
[3] 吳迪.基于Arduino 的智能循迹小车研究[J].课程教育研究,2019(04):235-236.
[4] 冯晓伟.多路舵机控制PWM发生器的设计与Proteus仿真[J].现代电子技术,2011(11):167-169.