基于单片机的扫地机器人的设计.docx
《基于单片机的扫地机器人的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的扫地机器人的设计.docx(51页珍藏版)》请在冰点文库上搜索。
![基于单片机的扫地机器人的设计.docx](https://file1.bingdoc.com/fileroot1/2023-5/6/49b2616e-99d2-4532-8df4-807bbdf4315f/49b2616e-99d2-4532-8df4-807bbdf4315f1.gif)
基于单片机的扫地机器人的设计
毕业设计
题目:
基于单片机的扫地机器人的设计
副标题:
学生姓名:
所在系、专业:
班级:
指导教师:
日期:
摘要
本文主要设计并制作一个简易扫地机器人。
本扫地机器人具有自动清扫、自动充电、防撞、防跌落的功能。
本文介绍了扫地机器人系统的总体的设计方案,它主要由MCU主控电路、防撞电路、防跌落电路、电压检测电路、稳压电路和充电位检测电路组成。
它完全解放了人民的双手,能够全自动的完成清扫工作,当电量不足时,自动寻到充电座,进行充电,充满后继续工作本机采用stc89c52单片机为核心控制器件,虽然它的是一个入门级的单片机,但成本低,效率高,编写程序简单等优点,在市场上还是有很好的应用前景。
关键字:
扫地机器人;壁障;stc89c52单片机
Abstract
Inthispaper,thedesignandimplementationofasimplecleaningrobot.Thesweepingrobotwithautomaticcleaning,automaticcharging,anti-collision,antidropfunction.Thispaperintroducesthedesignschemeoftheoverallcleaningrobotsystem,whichmainlyconsistsofMCUmaincontrolcircuit,protectioncircuit,fallprotectioncircuit,voltagedetectioncircuit,voltagestabilizingcircuitandachargingpositiondetectioncircuit.Itiscompletelyliberatedpeople'shands,andcanautomaticallycompletethecleaningwork,whenelectricityshortage,automaticallyfindcharging,charging,fullcontinuetoworkthemachineadoptsSTC89C52microcontrollerasthecorecontroldevice,althoughitisanentry-levelmicrocontroller,butlowcost,highefficiencyadvantages,writingtheprogramissimple,andhasgoodapplicationprospectinthemarket.
Keywords:
Sweepingrobot,barrier,STC89C52
1、概述
1.1国内产品研究背景
在国内的一些大学、如哈尔滨工业大学、华南理工大学、上海交通大学等单位也对清洁机器人进行了大量的研究并取得了一成果,对清扫机器人相关技术如机器感知、机器人导航和定位与路径规划、机器人控制、电源与电源管理、动力驱动等技术的研究则更多,这些都为清洁机器人的研究开发和推广奠定了物质基础和技术基础。
哈尔滨工业大学于90年代开始致力于这方面的亚久,与香港中文大学合作,联合研制开发出一种全方位移动清扫机器人。
该机器人具有如下特点:
采用全放位移动技术,使机器人可执行对狭窄区域等死区的清扫任务;采用开放式机器人铰制结构,实现硬件可扩展,软件可移植、可继承,使机器人作为服务载体具有更好的功能适应性;在拥挤环境下的实时避障功能能更好地适应不断变化的清扫工作环境;遥控操作和自主运动两种运动方式;吸尘机构可实现吸尘腔路的自动转换,提高了吸尘效率。
浙江大学l999年初在浙江大学机械电子研究所开始进行智能吸尘机器人的研究,两年后设计成功国内第一个左右初步朱能的自主吸尘机器人,这种智能吸尘机器人工作时,首先进行环境学习;利用超声波传感器测距,与墙保持一定距离行走,在清洁这角落的同时获得房间的尺寸信息,从而决定清扫时间;之后,利用随机和局部遍历规划相结合的策略产生高效的清扫路径;清扫结束以后,自行回到充电座补充电力。
吸尘机器人在5.5×3.5m2的实际家庭环境中,工作10分钟可以达到90%以上的覆盖率。
更大房间的清扫试验还没有进行。
目前,系统正在引入机器视觉和全局定位功能,力图在多房间环境下,提高自定位能力、智能决策能力以及回归充电效率,最终提高清扫效率。
1.2研究的目的和意义
吸尘机器人将移动机器人技术和吸尘器技术有机地融台起来,实现室内环境(地面)的半自动或全自动清洁,替代传统繁重的人工清洁工作近年来已受到国内外的研究人员重视。
作为智能移动机器人的一个特殊应用,从技术方面讲,智能化自王式吸尘器比较具体地体现了移动机器人的多项关键技术,具有较强的代表性。
性市场前景角度讲,自主吸尘器将大大降低劳动强度、提高劳动效率,适用于家庭和公共场馆的室内清洁。
因此,开发自主智能吸尘器既具有科研上的挑战性,又具有广阔的市场前景。
融合现代传感器以及机器人领域的关键技术,本课题旨在开发一部价格便宜,全区域盖,能够充分满足家庭需求且方便适用的智能家鹿清扫机器人。
使它可以替代传统的家庭人工清扫方式,使家庭生活电气化、智能化、使科技更好地为人类服务。
1.3课题的要内容
1.3.1扫地机器人功能
(1)自动清扫
(2)壁障
(3)防撞
(4)自动充电
(5)虚拟墙
1.3.2性能指标
(1)输入电压:
13V~15V
(2)输入电流:
1A
(3)运行速度:
10m/min
(4)最大工作时间30min
1.3.3论文的主要内容
第一部分主要介绍课题的背景,研究的目的与意义。
第二部分详细说明了扫地机器人各部分电路的设计。
第三部分详细描述了PCB板的设计流程。
第四部分详细描述了焊接工艺和部分电路的调试。
第五部分详细说明了系统软件设计,并给出详细的流程图。
第六部分详细介绍了扫地机的外壳制作过程。
第七部分对扫地机的整机装配及调试进行了详细的说明。
第八部分设计总结。
2、电路设计、理论分析与计算
2.1电源电路设计
电源的好坏决定了整个电路的稳定性,输出波纹越平滑,性能越好。
本电源采用两块LM7805作为稳压电源,一块为控制电路和传感器电路供电,另一块单独为电机供电。
分开供电这样做的好处,有利于减小干扰,提高系统稳定性。
LM7805是国家半导体开发出来比较成熟,较早的一种线性稳压半导体器件,通常采用TO-220封装,具有短路保护、过流保护、高温保护等保护措施,同时只要用到很少的元件就能输出稳定的5V电压,最大输出电流能达到1.5A。
外形如图2-1所示。
1管脚为输入端,2管脚为地,3管脚为输出.
图2-1封装图
2.1.1电路原理
由于后级电路需要1A左右的大电流用于驱动各类电机,查找后发现E13003完全满足这要求,集电极最大允许电流ICM可以到达1.5A。
由于13003开关管需要较大的驱动电流,因此增加了一个Q1三极管与其构成达林顿驱动管,Q3为控制管,当DY引脚为低电平同时总开关K1闭合时电源部分才能正常供电。
DY为高电平时电机供电部分停止工作。
U4单独为两个减速电机和边刷提供5V电源,由于需要输出较大的电流,输入压降又比较大,因此在输入端加了一个分压电阻,降低U4上的电压,从而降低管耗。
U5为MCU和传感器电路提供稳定的5V工作电压。
在正常开机后连续保持输出。
电源电路如图2-2所示。
图2-2电源电路
2.2总控制电路
2.2.1STC89C52单片机简介
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:
8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
1)特性
1 8K字节程序存储空间。
2 512字节数据存储空间。
3 内带2K字节EEPROM存储空间。
4 可直接使用串口下载。
2)参数
1 增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051,工作电压:
5.5V~3.3V。
2 工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz。
用户应用程序空间为8K字节。
3 片上集成512字节RAM。
4 通用I/O口(32个),复位后为:
P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
5 ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。
6 具有EEPROM功能。
7 共3个16位定时器/计数器。
即定时器T0、T1、T2。
8 外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒。
9 通用异步串行口(UART),还可用定时器软件实现多个UART。
10 工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)。
11 PDIP封装。
3)引脚介绍
STC89C52有PDIP、PLCC、TQFP三种封装方式,其中最常见的就是采用40Pin封装的双列直封装,外形结构下图。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口(如图2-3)左边那列引脚逆时针数起,依次为1、2、3、4。
。
。
40,其中芯片的1脚顶上有个凹点。
在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
XTAL1(Pin19):
片内振荡电路的输入端
XTAL2(Pin20):
片内振荡电路的输出端
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
STC89C5单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
每一根引脚都可以编程,比如用来控制电机、交通灯、霓虹灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能,尽情发挥你的想象力吧,实现你想要的:
)强大无比。
。
。
PO口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin1~Pin8):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
上面就是STC89C5单片机引脚的简单介绍,其它51系列家族的单片机8031、8051、89C51等引脚和89S51兼容,只是个别引脚功能定义不同。
如图5-3为51单片机的引脚分布图。
图2-351单片机引脚图
2.2.2总控制电路的设计
1)I/O口定义
1 P00、P01、P02、P12、P13、P14为扫地机器人防撞信号输入引脚;
2 P03、P04、P05为防跌落信号引脚;
3 P10为电机电源控制型号(低电平有效);
4 P11、P12为电池电压检测信号输入引脚,P11为过放检测,P12为过充检测;
5 P23、P24、P24、P26为充电时位置检测信号输入引脚;
6 P34、P35、P35、P35为电机驱动信号,P34、P35控制左电机正反转,P35、P35控制左电机正反转;
7 P20为两边刷电机控制信号;
8 P21为吸尘器电机控制信号;
9 P36、P37为晶振信号输入引脚
10 REST引脚为复位信号输入引脚
2)复位电路设计
51单片机高电平复位。
以当前使用较多的STC89系列单片机来说,,在复位脚加高电平2个机器周期(即24个振荡周期)可使单片机复位。
复位后,主要特征是各IO口呈现高电平,程序计数器从零开始执行程序。
3)复位方式有两种:
1 手动复位:
按钮按下,复位引脚得到VCC的高电平,单片机复位,按钮松开后,单片机开始工作。
2 上电复位:
上电后,电容电压不能突变,VCC通过复位电容给单片机复位脚施加高电平5V,同时,通过电阻向电容器反向充电,使复位脚电压逐渐降低。
经一定时间后复位脚变为0V,单片机开始工作。
本复位电路采用上电自动复位电路,电阻和电容的阻值根据时间常熟τ=RC求出电阻和电容的阻值分别为10K与10uF。
复位电路如图2-4。
晶振电路设计理论上来说,振荡频率越高表示单片机运行速度越快,但同时对存储器的速度和印刷电路板的要求也就越高。
如同木桶原理。
同时单片机性能的好坏,不仅与CPU运算速度有关,而且与存储器的速度、外设速度等都有很大关系。
根据数据手册上STC89系列单片机最高频率可达到40MHZ,但频率越高就越不稳定,最终根据数据手册所推荐使用12MHZ,这以常见的晶振。
并联谐振电路对电容的值没有严格要求,但两个电容必须,不然会影响振荡器的稳定、振荡器频率高低、起振快速性等,所以一般C1、C2选值30pF。
晶振电路如图2-4。
4)I/O电路设计
P0口是双向指的是它被用作地址/数据端口时,只有在这个时候,P0口才处于两个开关管推挽状态,当两个开关管都关闭时,才会出现高阻状态。
当P0口用于一般I/O口时,内部接VCC的那个开关管是与引脚(端口)脱离联系的,这个时候,只有拉地的那个开关管起作用,P0口作为输出,是必须外接上拉电阻的,不然就无法输出高电平。
因此在P0口上加上一个10K说的排阻。
I/O口如图2-4。
图2-4总控制电路
2.3防跌落电路
防跌落电路用于检测扫地机器人机身前方是否处于悬空状态,当出于悬空状态时,防跌落电路会发出一个低电平给CPU,CPU做出相应的动作来控制两个轮子的电机,使机身始终处于非悬空状态。
LM393/339是高增益,宽频带器件,像大多数比较器一样,如果输出端到输入端有寄生电容而产生耦合,则很容易产生振荡。
这种现象仅仅出现在当比较器改变状态时,输出电压过渡的间隙,电源加旁路滤波并不能解决这个问题,标准PC板的设计对减小输入—输出寄生电容耦合是有助的。
减小输入电阻至小于10K将减小反馈信号,而且增加甚至很小的正反馈量(滞回1.0~10mV)能导致快速转换,使得不可能产生由于寄生电容引起的振荡。
除非利用滞后,否则直接插入IC并在引脚上加上电阻将引起输入—输出在很短的转换周期内振荡,如果输入信号是脉冲波形,并且上升和下降时间相当快,则滞回将不需要。
比较器的所有没有用的引脚必须接地。
LM393/339偏置网络确立了其静态电流与电源电压范围2.0~30V无关。
通常电源不需要加旁路电容。
差分输入电压可以大于VCC并不损坏器件。
保护部分必须能阻止输入电压向负端超过-0.3V。
LM393/339的输出部分是集电极开路,发射极接地的NPN输出晶体管,可以用多集电极输出提供。
输出负载电阻能衔接在可允许电源电压范围内的任何电源电压上,不受VCC端电压值的限制。
此输出能作为一个简单的对地SPS开路(当不用负载电阻没被运用),输出部分的陷电流被可能得到的驱动和器件的β值所限制。
当达到极限电流(16mA)时,输出晶体管将退出而且输出电压将很快上升。
输出饱和电压被输出晶体管大约60ohm的γSAT限制。
当负载电流很小时,输出晶体管的低失调电压(约1.0mV)允许输出箝位在零电平。
本电路采用电压比较器来比较光电对管和基准电压信号之间的关系。
当光电对管处于悬空状态时,接收管上的阻值加大,此时R28上的电压低于基准电压,电压比较器反向输入端电压高于同向输入端,因此输出高电平。
当光电对管处于非悬空状态时,接收管上的阻值降低,此时R28上的电压高于基准电压,电压比较器反向输入端电压低于同向输入端,因此输出低电平。
调节电位器R34、R37、R38改变参考电压,可调节光电电头探测的距离。
防跌落电路如图2-5。
图2-5防跌落电路
2.4防撞落电路
防撞电路作为扫地机器人的眼睛,用于检测前方是否有障碍物,当前方有障碍物时,相应的探头所连接的电路会发出一个低电平信号给CPU,CPU做出相应的动作来控制两个轮子的电机,使机身始终不撞向障碍物。
当红外线对管前方无障碍时,红外线接收管上的阻值加大,此时R27上的电压低于基准电压,电压比较器反向输入端电压高于同向输入端,因此输出高电平。
当红外线对管处于有障碍时,红外线接收管上的阻值降低,此时R28上的电压高于基准电压,电压比较器反向输入端电压低于同向输入端,因此输出低电平。
调节电位器R33、R35、R36、R7、R8、R9改变参考电压,可探测距离。
防撞电路如图2-6。
图2-6防撞电路
2.5电源电压检测电路
电源电压检测电路用于监测电池电压,防止电池过充和过放。
当电池充满电后,过充电路会向CPU发出一个高电平,提醒CPU电池已经充满电,应停止充电。
当电池电压不足时,过放电路会向CPU发出一个高电平,提醒CPU电池已经欠压,需要充电。
R41与D4构成2.4V的参考电压,调节R43可改变过充电压,调节R42可改变过放电压。
每节镍镉电池充满电后电压为1.4V,因此设置过充电压为14V,过放电压设置为11V。
电压检测电路如图2-7。
图2-7电压检测电路
2.6电池充电电路
电池充电电路用于检测充电座的位置和充电提示。
当扫地机器人上的红外线接收头接收到充电座发出的红外信号后,向CPU发出信号,CPU控制电机,调节机身位置,进入充电区。
当扫地机器人与充电座连接后,会产生一个信号提示CPU以开始充电。
2.6.1电池充电电路设计
Q1、Q2、Q3、Q4为红外接收头,用于接受充电座发出的红外信号。
当扫地机器人处于欠压状态时,机身经过充电座,红外线接收管接收到充电座发出的红外信号,此接收管所在的电路向CPU发出一个高电平,CUP产生相应的动作。
当4个接受管都接到红外信号后,表明机身与充电座处于垂直状态,扫地机开始向前前进。
当充电触电与充电座接触后,会产生一个低电平信号,发送给CPU扫地机已经充电位置,关闭所有电机,进入充电状态。
防撞电路电路如图2-8。
图2-8防撞电路
2.7电机驱动电路
电机驱动电路用于驱动两路减速电机的正反转、两路边刷和一个吸尘器风机。
2.7.1电机的选择
1)轮胎减速电机的选择
本扫地机器人使用了智能小车专用减速电力,减速比为48:
1可以带动500克的负载。
电机如图2-9所示,具体参数如表2-1。
图2-9
额定电压
3V
6V
7.2V
9V
空载电流
≤90MA
≤100MA
≤110
≤120MA
空载转速
4600±10%
9800±10%
11000±10%
14800±10%
负载电流
≤150MA
≤160MA
≤180MA
≤200MA
负载转速
90转/分
190转/分
230转/分
300转/分
扭矩
0.4kg.cm
0.8kg.cm
0.1kg.cm
1.2kg.cm
表2-1减速电机参数
2)边刷电机的选择
边刷电机用于带动边刷,将扫地机四周的灰尘聚拢至吸尘口,并不需要多大的负载能力,因此选择了一款微型减速电机。
电压范围:
DC3V--5V;转速80-130转/分钟。
电机实物如图2-10所示。
图2-10
3)吸尘器电机的选择
吸尘器电机需要较大的功率,5V电压无法带动较大的功率,因此选择12V,为吸尘器电机的工作电压。
经查找资料后最终选择12V0.29A的涡轮离心电机。
电机实物图如图2-11所示。
图2-11
2.7.2电机驱动电路设计
L9110是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片IC之中,使外围器件成本降低,整机可靠性提高。
该芯片有两个TTL/CMOS兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过750~800mA的持续电流,峰值电流能力可达1.5~2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。
L9110被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。
管脚定义如表2-2所示。
表2-2管脚定义
序号
符号
功能
1
OA
A路输出管脚
2
VCC
电源电压
3
VCC
电源电压
4
OB
B路输出管脚
5
GND
地线
6
IA
A路输出管脚
7
IB
B路输出管脚
8
GND
地线
电气参数如表2-3所示。
表2-3电气参数
符号
参数
范围
单
位
最小
典型
最大
VCC
电源电压
2.5
6
12
V
Idd
静态电流
-
0
2
uA
Iin
操作电流
200
350
500
uA
IC
持续输出电流
750
800
850
mA
Imax
电流峰值
-
1500
2000
mA
逻辑关系如表2-4所示。
表2-4逻辑关系
IA
IB
OA
OB
H
L
H
L
L
H
L
H
L
L
L
L
H
H
H
H
三极管ss8050是一种常用的普通三极管。
它是一种低电压,大电流,小信号的NPN型硅三极管。
它是S8050的增强版,具体参数见表2-5。
表2-5
参数
符号
测试条件
最小
典型
最大
单位
集电极-基级击穿电压
VCBO
IC=100uA,IE=0
40
V
集电极-发射级击穿电压
VCE0
IC=1mA,IB=0
25
V
发射极-基级击穿电压
VEBO
IE=100uA,IC=0
5
V
集电极截至电流