基于STM32单机的扫地机器人设计
来源:用户上传
作者:
摘要:随着科学技术的快速发展,服务类机器人已经广泛应用到人们的日常生活中。不仅提高了人们的生活质量,还为人们节省了大量时间。因此,进行扫地机器人的设计与研究工作就具有十分重要的意义。本文以STM32单片机作为核心控制器,通过电源电路、光耦隔离电路、H桥电机驱动电路的设计以及红外传感器模块的应用,设计出一款可以将地上的纸屑等杂物吸入垃圾收纳盒的扫地机器人,并且该机器人还具有前方遇障碍物自行躲避,前方悬空可防坠落等功能。
关键词:STM32;光耦隔离:H桥电机驱动:红外传感器模块
0 引言
近年来,随着科学技术的快速发展,人们生活水平日益提高,人们越来越注重时间成本的节约。因此,家庭服务类智能机器人在人们日常生活中得到了广泛的应用。本文以STM32单片机作为核心控制器,通过电源电路,光耦隔离电路,H桥电机驱动电路的设计以及红外传感器模块的应用,设计开发了一款具有清扫功能的机器人。
1 系统整体设计
扫地机器人整体设计主要分为结构设计和系统设计。结构设计主要使用SolidWorks制图软件设计扫地机器人所需零件。运用3D打印技术和激光雕刻机完成结构的打印以及外形的雕刻。系统设计分为硬件电路设计和软件程序调试,硬件电路设计主要包含电源电路、光耦隔离电路、H桥电机驱动电路。软件程序调试主要分为红外数据采集与处理程序设计和PWM控制电机转速程序设计。系统整体方案框架如图1所示。
2 结构设计
结构设计主要使用Solidworks制图软件,3D打印机以及激光雕刻机。SolidworLs软件是一个基于Windows开发的三维CAD系统,3D打印机是一种累积制造技术,即快速成形技术的一种机器,其以数字模型文件为基础,运用特殊蜡材、粉末状金属或塑料等可粘合材料,通过打印一层层的粘合材料来制造三维的物体。激光雕刻机是利用激光技术对物体进行雕刻的一种设备,用此设备雕刻物体可使雕刻处表面光滑,且可以快速降低被雕刻处的温度,减少被雕刻物体的形变。本文使用SolidWorks软件完成扫地机器人边板、垃圾盒、抽气通道、连接件、底板等相关零件的模型设计,运用3D打印机和激光雕刻机。完成扫地机器人各结构件的打印以及外形的雕刻。最终,根据设计组装图,进行零件的装配以及外形结构的安装,完成扫地机器人整体结构设计。
3 系统设计
系统设计分为硬件电路设计和软件程序调试,硬件电路设计主要分为STM32单片机最小系统电路、电源电路、光耦隔离电路和H桥电机驱动电路。软件程序调试主要包括红外数据采集与处理程序设计以及PWM控制电机转速程序设计。
3.1 硬件电路设计
3.1.1 单片机最小系统电路
本系统采用STM32F103单片机作为控制系统的核心控制器,最小系统电路主要包含STM32F103核心控制器、晶振电路、复位电路等。最小系统电路主要完成对采集信号的分析与处理,实现对扫地机器人电机的控制。
3.1.2 电源电路
本文所设计的电源电路由12V锂电池供电,主要为扫地机器人的光耦隔离电路、STM32最小系统电路,H桥电机驱动电路供电。电源电路可提供+5V、+12V和+3.3V电源。+5V电源主要用于光耦隔离电路,+12V电源主要用于H桥电机驱动电路用于驱动直流电机,+3.3V主要用于STM32单片机最小系统电路。
电源电路采用12V锂电池,直接为H桥电机驱动电路供电。H桥电机驱动电源电路原理如图2所示。
78L05是一种固定电压5V的三端集成稳压器。12V的电源电压经过78L05稳压器转换为5V电压,为光耦隔离电路供电。光耦隔离电源电路原理如图3所示。
3.1.3 光耦隔离电路
光耦隔离电路主要分为输入端和输出端两部分,输入端一般采用发光二极管。输出端采用光敏晶体管、集成电路等多种形式,主要对信号实施电一光一电的转换与传输。输入信号的有无和强弱控制了发光二极管的发光强度,而输出端接收光信号,根据感光强度输出信号。光耦隔离电路使被隔离的两部分电路之间只有光的传输,而没有电的直接传输,因此可以防止电流信号的直接传输而引起的干扰。特别是当低压控制电路与高压控制电路共地时,高压控制电路就可能会对低压控制电路产生干扰,影响驱动电路的稳定性。因此采用光耦隔离电路来隔离高压控制电路和低压控制电路,有效的解决了电路之间的干扰问题。光耦隔离电路原理如图5所示。
3.1.4 H桥电机驱动电路
H桥电机驱动电路的形状类似字母H。因此被称为“H桥驱动电路”。H桥电机驱动电路由四个场效应管和一个直流电机组成。要使电机运转,必须使对角线上的一对场效应管导通。当T5场效应管和T8场效应管同时导通时。电流将驱动直流电机沿着一个方向转动。当另一对场效应管T7场效应管和T6场效应管同时导通时,电流将驱动直流电机沿着另一个方向转动。因此控制一对场效应管的导通与截至,就可以实现控制电机转动和停止的目的。H桥电机驱动电路原理如图6所示。
3.2 软件程序调试
软件程序调试分为红外数据采集与处理程序设计、PWM控制电机转速程序设计两部分。单片机通过采集和处理红外数据实现扫地机器人对障碍物自动检测的功能。然后通过单片机输出PWM波控制电机转速实现扫地机器人对障碍物自动躲避的功能。程序流程如图7所示。
3.2.1 红外数据采集与处理程序设计
红外传感器模块通过检测红外光束是否被被测物体遮挡或者反射,由其内部电路判断与被测物体之间距离的一种光电接近开关。可通过计算接收到光的强度大小,计算出扫地机器人与障碍物之间的距离。红外传感器模块具有一个红外信号发射二极管与一个红外信号接收二极管,发射二极管发射特定频率的红外信号,接收二极管接收与其发射红外信号频率一致的红外信号。当发射二极管发射的红外信号遇到障碍物后便会被反射,反射后的红外信号被接收二极管接收,经电路处理后,可得到其相应距离。单片机通过对采集到的红外数据进行处理,并根据数值做出相应的判断,改变扫地机器人的运动速度和运动轨迹。
3.2.2 PWM控制电机转速程序设计
PWM称为脉冲宽度调制技术,通过改变脉冲占空比来调整电机转速。从而控制扫地机器人的运动速度和运动方向。而在PWM的具体实时方法中,一般有三种办法来改变脉冲的占空比,分别为:定宽调频法、调宽调频法、定频调宽法。本文所采用的是定频调宽法改变PWM波的占空比。通过使用STM32单片机自带PWM波输出功能,控制扫地机器人电机转速,从而实现控制扫地机器人运动速度和运動方向的目的。
PWM调制技术的定频调宽法的原理是:保持脉冲的频率不变,利用一个脉冲周期内高低电平所占比例来改变波形的占空比,从而改变一个周期内的平均电压,进而控制电机的转速。假设电机一直保持通电状态及一个周期内脉冲保持高电平,此时电机的最大转速为Vmax,当改变电机的通电状态使其在一个周期T时间内,脉冲为高电平的时间为t,则此时的占空比为D=t/T,电机平均转速为Vd=D*Vmax。具体实现步骤为:
(1)开启定时器的时钟,设置IO口的相关模式,进行初始化。
(2)设置自动重装载寄存器参数和预分频参数,将其计数模式设置为向上计数。
(3)计数器值与通道捕获比较寄存器的值进行比较,输出相应的高低电平。
(4)设置输入/捕获通道的输出极性。
(5)捕获/比较使能寄存器的CCE1位控制输出使能电路,信号由此输出到相应的引脚。PWM的实际频率是通过预分频参数和自动重装载寄存器的参数决定。预分频的参数决定了计数器的时钟,自动重装载寄存器的参数决定了在此时钟频率下的周期。
4 结束语
本文以STM32单片机作为核心控制器,利用传感器技术、电机控制技术以及3D打印技术,给出系统详细的设计方案。针对设计方案完成扫地机器人的结构设计及控制系统设计,并结合扫地机器人控制方法完成系统程序编写,实现系统的软件设计以及整体功能调试,实现了机器人的垃圾清扫、避障及防坠落功能。该设计为后续进行清扫机器人的运动控制以及相关控制算法的研究奠定了基础。
转载注明来源:https://www.xzbu.com/8/view-15125545.htm