作者:达德聪 袁豪杰 杨垚
单位:邢台学院
指导老师:王承林 杨立芹
? ? ? 智能特殊环境清洗机器人基于STC系列单片机为核心,驱动摄像头模块、超声波模块、ESP8266无线模块、自动寻迹模块、舵机模块、语音识别模块,实现自主寻路、智能避障、智能烘干、智能打磨、智能消杀毒、智能开关移动烘干机器人。我们的智能特殊环境清洗机器人分为运动系统、传感系统、机械系统、烘干系统。在运动系统方面我们采用四个传动轮,实现智能特殊环境清洗机器人的移动功能;在传感系统方面,我们采用超声波模块来识别智能特殊环境清洗机器人对周围的物体的距离测量,配合运动系统达到智能避障功能;在机械系统方面,在智能特殊环境清洗机器人有限的空间内我们巧妙设计了机械传动装置,实现全方位扫描和利用机械臂对不平的地方打磨等机械动作,完成相应的功能;我们的智能特殊环境清洗机器人,可以解决非家庭地面的清理,在一定程度上解决了当前市面上智能特殊环境清洗机器人的空缺,更好的融入现代快节奏生活。
? ? ? 关键词:单片机、智能、机械臂、打磨、移动
1.1 智能特殊环境清洗机器人简介
? ? ? 智能特殊环境清洗机器人主要是对地面的清洗,并且具有烘干消毒的作用。如烘干因清洗湿漉的地面等,并可以对地面突起不易清理的异物进行打磨清除。我们产品采用机械臂控制打磨轮对突起的异物打磨清洗,烘干部分采用紫外灯照射并且可以通过测量地面温度自动切换加热模式,保障温度稳定。这样可以达到全方位的均匀烘干避免了地面受热不均匀对被清洗的地面造成破坏。通过遥控控制小车打磨的地方和紫外线照射的范围。紫外线在烘干的同时也能起到了杀菌的作用。我们的产品不仅起到了主要清洗作用在烘干方面也起到了消毒杀菌的作用。我们的产品也可以在施工的地方工作,比如对自流平施工完烘干,对工地不平的地方可以进行打磨。我们的产品不仅应用于家庭地面的清洗烘干更适合于特殊环境的清洗烘干。
1.2 模块系统
? ? ? 模块系统是由七个模块组成的,他们分别是:超声波模块、自动寻迹模块、舵机模块、语音识别模块、ESP8266无线模块、驱动摄像头模块、温湿度传感器模块。这些传感器可以实时检测周围环境的变化。
1.3 远程控制的发展
? ? ? 远程控制是利用无线或电信号对远端的设备进行操作的一种能力,远程控制通常通过网络才能进行。位于本地的计算机是操纵指令的发出端,称为主控端或客户端,非本地的被控计算机叫做被控端或服务器端。远程控制软件一般分客户端程序(Client)和服务器端程序(服务器)两部分,通常将客户端程序安装到主控端的电脑上,将服务器端程序安装到被控端的电脑上。使用时客户端程序向被控端电脑中的服务器端程序发出信号,建立一个特殊的远程服务,然后通过这个远程服务,使用各种远程控制功能发送远程控制命令,控制被控端电脑中的各种应用程序运行。
? ? ? 本产品采用Mehran控制面板和基于STC15W4K58S4单片机作为主控芯片,多种传感器构成传感系统,结合无线通信电路、WIFI电路等构成通信系统并有语音电路和按键模块构成控制系统,加热烘干电路构成烘干消毒系统,并具有打磨功能等,各功能相辅相成。多传感器模块独立分工同时相互配合,在各数据参量测量上更加准确无误;控制系统中设计有传统的按键控制模块功能,可以手动烘干、找平打磨、选择工作模式、选择控制模式。烘干消菌系统中主要为用加热灯烘干和高温消菌,打磨系统主要是利用机械臂来实现,对凸起的地方用电机带动砂轮进行打磨。
2.1 单片机的选择及介绍
? ? ? 此次设计的智能特殊环境清洗机器人用的是Mehran控制面板。Mehran是一块基于Atmel SAM3X8E CPU的微控制器板。它有14个数字IO口(其中12个可用于PWM输出),6个模拟输入口,1路UART硬件串口,84 MHz的时钟频率,一个USBOTG接口,一个电源插座,一个复位按键和一个擦写按键。
2.2 硬件模块介绍与电气连接
2.2.1 循迹传感器
? ? ? 使用3路PID循迹模块,拥有3路红外循迹传感器,比传统的2路传感器检测更加稳定有效。输出3路红外模拟量,可以根据模拟量来判断是否有黑线。模块底部是三颗红外传感器,分别利用红外光探测,然后把探测到黑线的距离转化成模拟量输出到对应的IO口,单片机只需要根据每个IO的模拟量就可以读取是否检测到黑线,最后根据三个传感器的数据处理电机运动的情况,从而达到小车巡线的功能。可应对多种复杂环境,感知弯道角度轻微变化。
2.2.2 LD3320模块
? ? ? 其LD3320 芯片是一款“语音识别”专用芯片,由 ICRoute 公司设计生产。该芯片集成了语音识别处理器和一些外部电路,包括 AD、DA 转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片如 Flash、RAM 等,直接集成在现有的产品中即可以实现语音识别/声控/人机对话功能。并且识别的关键词语列表是可以任意动态编辑的,如下图所示:
2.2.3 超声波模块
? ? ? 该模块有两个压电陶瓷超声传感器,一个用于发出超声波信号,一个用于接收反射回来的超声波信号。由于发出信号和接收信号都比较微弱,所以需要通过外围信号放大器提高发出信号的功率,和将反射回来信号进行放大,以能更稳定地将信号传输给单片机。超声波模块有4个引脚,分别为Vcc、Trig(控制端)、Echo(接收端)、GND;其中VCC、GND接上5V电源, Trig(控制端)控制发出的超声波信号,Echo(接收端)接收反射回来的超声波信号,如下图8所示:
2.2.4 8266WIFI模块
? ? ? 该模块尺寸小巧,更易集成;支持串口透传,契合物联网数据传输需求,低功耗硬件设计和软件架构,功耗更低;工作温度范围:-40°C - 125°C;802.11 b/g/n;内置低功耗32位CPU:可以兼作应用处理器;内置10 bit高精度ADC;内置TCP/IP协议栈;内置TR开关、balun、LNA、功率放大器和匹配网络;内置PLL、稳压器和电源管理组件;支持天线分集。如下图所示:
2.3 电路原理图整体设计
2.3.1 使用电路板的简介
? ? ? 此次设计的智能特殊环境清洗机器人用的是Mehran控制面板。Mehran是一块基于Atmel SAM3X8E CPU的微控制器板。它有14个数字IO口(其中12个可用于PWM输出),6个模拟输入口,1路UART硬件串口,84 MHz的时钟频率,一个USBOTG接口,一个电源插座,一个复位按键和一个擦写按键。
? ? ? 电路板上已经包含控制运行所需的各种部件,你仅需要通过USB连接到电脑或者通过AC-DC适配器、电池连接到电源插座就可以让控制器开始运行。Mehran兼容工作在3.3V且引脚排列符合arduino标准的arduino扩展板。
2.3.2 系统电路设计过程(扩充)
? ? ? 当需要一些小的模块或者其它补充电路时候我们会自行制作电路板。我们采用Altium Designer软件经行电路板扩充设计,Altium Designer 在单一设计环境中集成板级和FPGA(现场可编程门阵列)系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。并集成了现代设计数据管理功能,使得Altium Designer成为电子产品开发的完整解决方案-一个既满足当前,也满足未来开发需求的解决方案。以下是设计部分扩充电路部分和用到的电路部分原理图简介:
? ? ? 存储电路:为U2与电阻R2/R3。其中SDA 串行数据/地址;SCL 串行时钟与处理器U1的P3.6/P3.7相接。1/2/3/4/7引脚接GND,8引脚接地。
按键控制电路:为A1-A3,其中4引脚接地,2引脚接处理器的P1.2/P1.3/P1.4,1,3引脚悬空。
? ? ?? 蜂鸣器提醒电路:电阻R10、R12,蜂鸣器LS1,三极管Q1,二极管D1。电阻R12接处理器P4.5脚,三极管Q3接VCC,二极管D24与蜂鸣器LS1接GND。
下载电路:为下载口P8,下载口的3脚接GND,其1-2脚接处理器U1的RXD和TXD。其4脚接VCC。
? ? ? 继电器控制电路:具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。在此项目中可以控制加热灯的闭合。
? ? ? 舵机电路:所述舵机驱动部分分电路由P11、P12、P13、P14、P15组成的。其中每个舵机的1脚接GND,2脚接电源供电电路的7.2V,3脚接所述处理器的I/O口。
? ? ? 控制电路板接受来自信号线(白线)的控制信号,控制电机转动,舵机的输出轴和位置反馈电位计是相连的,舵盘转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板,进行反馈,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到目标停止。
控制原理:舵机的控制信号周期为20MS的脉宽调制(PWM)信号,其中脉冲宽度(占空比)从0.5-2.5MS,相对应的舵盘位置为0-180度,呈线性变化。即舵机控制时,需要给周期为20MS的PWM(方波)信号,改变脉冲宽度(占空比),就可以改变其转动的角度。
? ? ? 超声波电路:超声波模块P16的1脚接VCC;2脚、3脚接所述处理器的I\O口;4脚接地。该超声波模块用于测量距场地边界的距离,小车可根据距离准确的行走。
2.4 PCB板制作过程
? ? ? 在我们需要额外的模块的时候,我们会先绘制PCB,在绘制完PCB检查无误后开始进行PCB板子的制作,此过程分为八个步骤进行:
? ? ? ① 首先将在Altium Designer软件中画好的PCB进行页面设置,在执行菜单命令点击【打印预览】。
② 右击打印预览图纸选择【配置】,配置留Top Layer层,并在Top、Holes、Design Views下点击打勾。
? ? ? ③ 右击打印预览图纸选择【页面设计】,在其中修改缩放模式为Scaled Print,缩放比例为1.00,颜色设置选择单色。在软件中设置好页面后,用激光打印机将图打印到油纸上。
④ 裁剪出合适的覆铜板,注意测量好之后裁板时,一定要稳,这样裁出的板子才规整。
⑤ 运用HW-TT100热转印机转印PCB板。
⑥ 使用FeSO4腐蚀液腐蚀暴露在表面的铜。
? ? ? ⑦ 进行清洗后运用高精度打孔机打孔。
? ? ? ⑧ 之后再次进行裁剪将其调整到合适的大小,并将墨迹磨去pcb板就制作完成了。
2.5 电路装配与搭建
? ? ? 我们采用STC15W4K58S4单片机作为主控制芯片,使用蜂鸣器进行提示报警,使用紫外线强度检测模块、温湿度模块等模块,来检查环境的变化,使用AT24C02存储芯片进行数据的存储,实现数据的保存,使用ESP8266模块和蓝牙模块进行通讯,通过APP等上位机进行人机交互,使用按键切换不同的模式。
? ? ? 此次我们使用Arduino软件进行模块化编程。
3.1 程序总流程图
3.2 循迹传感器模块
循迹黑线宽度:1cm-4cm,模块距黑线距离:1.5cm-4cm,数据输出方式:串口,数据输出频率:10HZ-300HZ,数据输出范围:-1500-1500,输入电压:3.3V-5.0V,模块参数配置方式:按键一键配置。
? ? ? 循迹传感器初始化,读取循迹模块数据,如果中间的红外的OUT引脚输出为低电平,左右OUT引脚为高电平,即中间检测到黑线,左右检测到白线,则调用对应电机的前进函数,驱动小车前进;如果左红外OUT引脚输出为低电平,即左边检测到黑线,则调用左转函数,驱动小车左转;如果右红外OUT引脚输出为低电平,即右边检测到黑线,则调用右转函数,驱动小车右转;如果三个红外OUT全部检测到低电平,则表示到达终点线,调用停止函数,使小车停止。流程图如下图所示:
3.3 超声波模块
? ? ? 主要技术参数:
? ? ? ① 使用电压:DC5V
? ? ? ② 静态电流:小于2mA
? ? ? ③ 电平输出:高5V
? ? ? ④ 电平输出:底0V
? ? ? ⑤ 感应角度:不大于15度
? ? ? ⑥ 探测距离:2cm-450cm
? ? ? ⑦ 高精度:可达0.3cm
? ? ? 采用IO触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2
3.4 ESP8266模块
? ? ? 主要技术参数:
? ? ? ① 频率范围:2.412GHz~2.484GHz
? ? ? ② 发射功率:11~18dbm
? ? ? ③ 通信接口:TTL电平
? ? ? ④ 天线:板载PCB天线
? ? ? ⑤ 工作温度:-40℃~85℃
? ? ? ⑥ 工作湿度:10%~90%RH。
? ? ? ATK-ESP8266 模块支持 LVTTL 串口,兼容 3.3V 和 5V 单片机系统,可以很方便的与你的产品进行连接。模块支持串口转WIFI STA、串口转AP和WIFI STA+WIFIAP 的模式,从而快速构建串口-WIFI 数据传输方案,方便你的设备使用互联网传输数据。
4. 结构设计
? ? ? 4.1 智能特殊环境清洗机器人组装
? ? ? 首先使用SOLIDWORKS软件进行智能特殊环境清洗机器人的3D装配图设计,然后再进行组装。组装用具是扳手、镊子等,在这里分为五步对安装过程进行简单的叙述。
? ? ? ① 轮胎和电机安装:我们选择电机、支架和合适的螺丝组装在一起构成智能小车的一个轮胎系统,同理在做三个构成智能小车的整个小车移动系统。
② 智能小车底板安装,先用两个轮子和底板组合在一起,在安装上另外两个轮胎构成智能小车的底座。
③ 舵机的组装,选用合适的支架和螺丝安装在一起。
④ 每个舵机组装在一起构成一个机械臂,机械臂尾端安装一个打磨砂轮。
⑤ 最后智能小车和机械臂组装在一起构成智能特殊环境清洗机器人整体部件。
4.2 智能特殊环境清洗机器人3D设计(扩充)
? ? ? 当需要一些没有的器件时候我们会3D打印对器件进行扩充,我们的智能特殊环境清洗机器人3D结构设计以高效率、低成本、零污染为原则,在进行打磨清洗、消毒作业的同时,通过对器件的合理放置,使达到最好的去除污渍。
? ? ? 3D设计时所考虑的问题:
? ? ? ① 怎样才能使高效的利用机械臂打磨不易清理的地面粘贴物。
? ? ? ② 由于内环境是封闭的,电路板需要及时散热,否则将无法工作。
? ? ? 解决方案:
? ? ? ① 合理的选择舵机个数并把舵机组装在一起提高机械臂的灵活性。
? ? ? ② 在电路板附近放一个小电风扇,不仅能起到散热的作用,而且还能够加快空气的流动进一步提高烘干效率。
4.3 智能特殊环境清洗机器人的部分3D打印
? ? ? 3D打印它是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。利用光固化和纸层叠等技术的最新快速成型装置。它与普通打印工作原理基本相同,打印机内装有液体或粉末等“打印材料”,与电脑连接后,通过电脑控制把“打印材料”一层层叠加起来,最终把计算机上的蓝图变成实物。
? ? ? 它的优点就是可塑性强,可根据实际情况或者想象来制造出你所想要的东西,智能家居室内环境空气检测净化系统中物件的放置以及隔离装置支撑均可通过3D打印制作出,并能与实物完美融合,下面将具体介绍一下3D打印的具体过程。(以支撑隔板为例,其余可根据实际需要来设计)
? ? ? (1)首先利用犀牛软件画好需要打印的3D图。
? ? ? ① 打开犀牛建模软件;
? ? ? ② 量好实际所需要的尺寸;
? ? ? ③ 选择“建立立方体”输入具体的尺寸,首先建立侧面,然后按回车;
? ? ? ④ 然后建立平面,选择“建立立方体”输入具体的尺寸,按回车。
(2)将画好的3D图另存为.stl格式。文件-另存为,选择保存格式与名称。
(3)打开Pepetier Host切片软件。
(4)将3D打印机的数据控制线连接到电脑后,点击Pepetier Host界面左上角的连接,电脑将成功连接打印机。
(5)PC与打印机连接成功后,打开打印机设置,打印机设置(右上角)-打印机和打印机形状,分别设置打印机的各项参数与打印区域的大小,通常情况下保持默认值即可不用更改。
(6)设置好打印机后,就可以将.stl格式的文件导入到Pepetier Host中,文件-载入。
(7)导入到Pepetier Host中得物体可根据需要对其进行旋转、缩放和镜像处理等。
(8)物体放置完成后,点击切片软件,选择CuraEngine。
(9)之后进行打印设置,打印配置、结合类型、质量,一般都为默认值,支撑类型可根据需要选择无支撑,接触热床支撑和各处支撑,速度可以控制打印机的打印速度,其填充密度为打印物体内部的密度,一般为20%填充度,有一些打印件为5%填充度,但一些打印件为50%甚至为100%填充度,可根据打印件的用途及要求强度来设置填充度。
(10)完成打印设置后点击开始切片CuraEngine,完成切片后会显示预计打印花费时间、层数、总行数和需要的材料等信息。
(11)然后点击运行任务,打印机开始执行打印任务。
首先打印机回到原点(0,0,0),之后开始加热热床温度与挤出头温度,当二者都达到温度后打印机开始打印。
我们的智能特殊环境清洗机器人3D结构设计以高效率、低成本、零污染为原则,在进行烘干、打磨作业的同时,通过对器件的合理放置,使效率最大化。我们先使用SORIDWOLKS软件进行建立3D模型,使单个器件合理的组装在一块。
5.1 使用SORIDWOLKS步骤
? ? ? ① 在执行菜单栏点击【文件】/【新建】或者用快捷键Ctrl+N新建一个零件文件,再次可以构造零件。
? ? ? ② 在构造好每个零件后可以根据设计好的智能特殊环境清洗机器人器件架构进行装配图组合,在执行菜单栏先点击【插入零部件】,调整好位置后在进行配合。
5.2 装配体整体制作过程
? ? ? ① 首先制作智能特殊环境清洗机器人的底盘,我们选用的是四个直流电机加上四个轮胎和一个板类零件组装。
? ? ? ② 制作机械臂,我们使用伺服电机、舵机加上一个直流电机构成机械臂。在构建整个机械臂的时候我们先把每个舵机、伺服电机等3D图准备好,然后进行组合,最后构成机械臂。
? ? ? 智能特殊环境清洗机器人有外接舵机、超声波驱动电路、加热烘干灯、摄像头组件。
6.1芯片使用说明
? ? ? ① 首先找到Basra和Bigfish两块板子按下图所示组合在一起。将Bigfish的排针对准Basra的插座,注意两侧排针的数量是不同的。
② 电源接口展示,接在Basra的电池接口上。在电源接口的旁边是开关,不使用时记得关闭。
③ 下载程序时,需将USB线接在mini USB口上。
6.2 舵机使用说明
? ? ? ? 舵机,用来改变智能特殊环境清洗机器人人作业的角度,方便机器人进行作业。
? ? ? ? ① 270°伺服舵机:270°伺服电机都是3根线,棕色为地线(GND),红色为电源线(VCC),黄色为信号线(D*)。270°伺服电机一般接在Bigfish的3针伺服电机口上,注意观察板子上的针脚名称,不要插反了,简单来说露出金属的那一面朝下。
? ? ? ② 舵机:舵机都是3根线,黑色为地线(GND),红色为电源线(VCC),白色为信号线(D*)。伺服电机一般接在Rocegg伺服电机口上,注意观察板子上的针脚名称,不要插反了,简单来说,露出金属的那一面朝下。一般情况下,可以接6个伺服电机。如果需要同时接多个伺服电机,请尽量控制在4个以内,否则电池将无法提供足够电力;如果一定要接4个以上,请把电池充电至饱和状态,电压8V左右,可同时带动6个伺服电机5分钟左右。超过5分钟则可能耗尽电量。
③ 直流电机:将直流电机座插在任意2针接口上,正反均可。
④ 摄像头,根据输入的图像识别出道路情况。
? ? ? 整个系统主要由三个部分组成,第一个部分是智能特殊环境清洗机器人的主控系统,实现对当前环境的检测和对外接组件所连接的继电器电路进行控制;第二部分为副控系统,实现对路障的检测,能够进行报警提示;第三部分为舵机控制电路,它连接着所有外接组件,通过主控系统进行控制,使操作更加安全。
? ? ? 机器人按照连接图进行连接,需要注意以下几点:
? ? ? ① 装配时,零件、工具要有专门的摆放措施,零件和工具不得摆放在地板上,摆放时要做好保护措施。
? ? ? ② 确认舵机转向是否符合要求。
? ? ? ③ 检查供电电压是否符合要求。
? ? ? 系统组装完成后,再次进行安全检查,运行机器人,看是否正常工作,是否能够实现相应的功能。
????? 本课题的任务是设计一个智能特殊环境清洗机器人,采用基于单片机的智能化紫外线加热系统、机械传动装置和连杆机构系统构成的集机、光、电于一体的新型智能特殊环境清洗机器人。通过安装在智能特殊环境清洗机器人前超声波采集道路信息,感应前方道路路况,对路径识别后获得路径信息.温度传感器检测当前系统的温度,采集温度与预设的温度作比较,维持温度的恒定。利用遥控器控制小车方向的移动。
并通过APP软件能线上调整电机运行速度、设定紫外线照射时间及温度、湿度的实时监测。硬件电路设计从每个基本电路的设计到具体电路的制作,都需要考虑电路的安全性、稳定性和准确性。单片机软件设计要熟知各个寄存器的工作方式和C语言函数运用。适配APP监控软件设计中,软件的编写先实现基本的登录、调控、设定功能,然后再增加辅助功能,增加软件的可读性和可操作性,通过不断调试完善了监控软件显示、调整、设定等功能。本系统可以应用于多种环境,并且适合多种作业环境。
? ? ? 由于学习的知识有限,此次设计还有不足之处,如APP软件界面还可以美化,功能还可以更加完善。对紫外线灯的控制还不够精密,电路的设计还可以改进。
参考文献
[1]丁向荣,陈崇辉.单片机原理与应用[M].北京:清华大学出版社.2015
[2]高西全.数字信号处理-原理、实现及应用[M].北京:电子工业出版社.2016
[3]杨欣,莱·诺克斯.电子设计从零开始(第二版)[M].北京:清华大学出版社,2010.
[4]郭天祥.51单片机C语言教程[M].北京:电子工业出版社,2009.
[5]康华光.电子技术基础模拟部分(第五版)[M].北京:高等教育出版社, 2012.
[6]郁有文,常健.传感器原理及工程应用[M].西安:西安电子科技大学出版社, 2008.
[7]吉海彦.微机原理及接口技术[M].北京:中国水利水电出版社, 2010.
[8]李升.单片机原理与接口技术[M].北京:北京大学出版社, 2011.
[9]胡文华.Altium Designer 13从入门到精通[M].北京:机械工业出版社, 2013
更多详情请见:【S062】智能特殊环境清洗机器人