【参赛】自主充电扫地机器人
几年前就有这个想法,一年拖一年,一直没有信心,网上保洁机器人的视频越来越多,看的心里痒痒,从今年8月份就开始筹备扫地机器人的方案,原理:利用机器人前面的4个红外线传感模块进行避障,程序运行方式有单边寻边方式、随机避障方式、正方形沿边扩大方式、三角波形方式。扫地电机有断续工作、连续工作。如果机器人电源电压不足时,在单边寻边避障方式基础上开启寻迹(机器人低部的三个寻迹传感器)寻找墙边的充电位置,充电位置是一条30公分的黑线来引导机器人于充电器对接,充电器触点是磁助力触点,当机器人接近充电器时,利用磁力防止小位置的偏离,使触点良好接触。
避悬崖也是利用三个寻迹传感器完成的:在同一时间内三个寻迹传感器没有反馈,表示悬空,使机器人后退5公分,旋转180度,做掉头行驶。
主要考虑机器人的寿命问题,驱动主轴采用步进电机,用单片机P2驱动ULN2003驱动步进电机,步进电机电原用DC-DC模块,来调节所需的驱动电流和主轴的力度。
扫地减速电机是在网上购的,只是电机的寿命太短,于是拆了VCD的旧机芯,利用光驱的主轴电机和减速机搭配,增加电机寿命。
锂电电源分为三路,两路经DC-DC驱动步进电机、单片机,一路驱动吸尘风机。
三个按键:菜单键、增加键、清扫键
液晶屏采用5110屏,小巧、省电
DS1302实时时钟 设定三组开关机时间,实现自动化。单按清扫键,只运行30分钟(只是程序这样写而已)
具有低电压检测、充电检测、充电结束检测,全面采用TL431精确检测
电池是4000MA的锂电,正常工作电流1500MA,外壳是云台监控器罩,
经过两周的测试,使用效果良好,噪声低,寿命长。
程序还有待于提高,更加智能化,如果用89S52做计划、合理、不重复打扫卫生,很困难!
89S52的所有端口都被利用了,没有扩展空间,(增加避障传感器数量减少盲区,可以增加人机互动)
还有几张图片因限制无法上传了,哈哈,如果时间来的及的话,再发,下面有两个联接
www.crystalradio.cn/bbs/thread-238991-1-1.html
bbs.mydigit.cn/read.php?tid=353909 随机避障的一段函数
void control()
{
if(hour == on1||hour == on2||hour == on3||clean_inc == 1) //时间相同、清扫键按下时,启动
{
if(voltage_test == 1&&charge_test == 1) //如果电压高于10。6V时、没有检测到充电器时 开始工作
{
saodi = 0;//开启扫地机、吸尘器
if(man_test == 0){run =1; saodi =1;} //如果发现有人,停止扫地,跟随
if(front_left == 1&&left == 1&&front_right == 1&&right == 1) //如果前方没有障碍正确避障
{
if(jishu4==2){run = 2;delay_s(20);run = 4;delay_s(20);} //如果计数器4长时间(30s)没有动作,有可能机器卡住,就左右动作
if(jishu4==4){run = 2;delay_s(20);run = 3;delay_s(20);}
if(jishu4==6){run = 3;delay_s(30);run = 4;delay_s(30);run =1;delay_s(30);}
if(jishu4==10){buffer4 = 0;jishu4 = 0;run = 0;while(1){run = 0;en = 1;tiaoshi();disp_time();}} //如果3分钟不能摆脱障碍物,就待机
run = 1; //直线行走
}
if(left == 0||front_left == 0)
{
if(front_left == 0&&front_right == 0){run = 2;delay_s(30);run = 4;delay_s(10);buffer4 = 0;jishu4 = 0;}
run = 4;delay_s(10);jishu1++;buffer4 = 0;jishu4 = 0;
} // 如果左边、前左有障碍时,右转
else if(right== 0||front_right == 0)
{
if(front_left == 0&&front_right == 0){run = 2;delay_s(30);run = 3;delay_s(10);buffer4 = 0;jishu4 = 0;}
run = 3;delay_s(10);jishu2++;buffer4 = 0;jishu4 = 0;
} // 如果右边、前右有障碍时,左转
if(front_left == 0&&front_right == 0)//如果前方有障碍物
{
run = 2;
delay_s(30);
run = 3;
delay_s(10);
buffer4 = 0;
jishu4 = 0;
}
if((jishu1>=8)||(jishu2>=8)) // 10秒钟连续碰撞8次,就后退加随机左右运动
{
run = 2;
delay_s(30);
if(jishu3){run = 3;buffer4 = 0;jishu4 = 0;}
if(!jishu3){run = 4;buffer4 = 0;jishu4 = 0;}
delay_s(10);
buffer4 = 0;
jishu4 = 0;
}
if(under_right ==1&&under_mid==1&&under_left ==1){run =2;delay_s(10);run =4;delay_s(80);buffer4 = 0;jishu4 = 0;}
}
} 请补上电路图 这个要顶,希望有详细资料学习 本帖最后由 爱制作 于 2012-1-5 19:44 编辑
看似不错,但不知实用效果任何。我在商城里看到有成品出售,很感兴趣。但问了一下售货员,快一年了,一台也没卖出去。因为实用效果不行,有一个客户买了以后,又退货了,说只能当一个玩具用。你这个不知怎么样,请详细介绍一下,很感兴趣。 这个实用,以后可以不用自己扫地了 元器件清单:
89S52 1个
DS1302 1个
2032电池座 1个
40P座 1个
8P座 1个
16P座 2个
ULN2003 2个
CR2032电池 1个
24M晶体 1个
32.768K晶体 1个
103排阻 1个
102排阻 1个
5V继电器 3个
3MM不锈钢螺丝40个
30P电容 2个
16V220电容 1个
104电容 3个
5110液晶屏 1块
1N4148 5个
电阻103 8个
电阻220 4个
电阻0.1欧1W 1个
发光二极管 4个
硬盘音圈磁铁 1块
DC-DC模块 2个
按键 6个
开关 3个
风机12V 700MA1个
过滤网 1块
步进电机 2个
车轮+轮轴 2套
红外传感器 7个
减速机 2个
VCD光驱电机 2个
503电位器 2个
光藕 3个
S8550三极管 3个
S8050三极管 3个
TL431 2个
ISP10P插座 1个
排针 2根
保险管座 1个
2A保险管 1个
杜邦线 40根
尼龙扎带 20根
5000MA 12.6V锂电1块
充电器 1个
网线 跳线 0.5米
20MM铜接 20个
10MM铜接 6个
洞洞板 1块
2MM铝板 0.3平
自制旋转扫把 2把
云台监控器罩 1个 万向轮 1个 电路图发不上了,只能明天发了,有限制,请谅解!!谢谢 这种类似产品我买了,也是受同事影响,他说好,我就买了。
效果:不要要求太高就可以,程序上可设定定时清扫,我订的是每周两次,我家是木地板,扫满后用手指抹地板还是很干净(但难免还有一点灰色的极细灰尘),比起自己拖地也差不多,据我经验,适应传统拖布拖地,要想手摸绝对无灰,恐怕要拖三次,还的工具且每次每房间都先洗拖布再拖的话也许两次。
而机器人扫地机大致相当于拖一遍的效果,我还是满意的,主要他可以拖床底。
另外他适合无人在家时使用,因为扫地路径是按程序安排的,干扰越多效率越低。毕竟智能有限,所以有人把它当成玩具也可理解。对此类新生事物个人感觉不能实现把他想象太高,这样故居价格就能决定是否适合你。我同事2005年在日本看到5000多元人民币价位的相同产品,如今降到 600~1000~2000的水平,所以他买了。 真牛啊,高人。 视频已发布,本人没有发联接的权限,百度一下以下标题就可以了 ,谢谢大家
扫地机器人钻床底
扫地机器人清扫效果
扫地机器人小空间避障
扫地机器人
扫地机器人与狗狗互动
扫地机器人带上帽子