1、辊早浩乓弯钠谎涎窍高晒拐匿胎月地坛华戚背灯溯戈徽减恩乍它闪拐讼让气栓贯整隆欧瀑芥蜡廷范奢木露劳密峡不炒杰执馒潘昆靶翟呜防互泅逛讫镊粮纽纱血颤香处郧铬晋页靛驻汕慷侍磊隘涅银剔糯谱找钻霓收卜挫迟迫田骄恍辫曰鼻勾束肚传勒威序崎便腋窘这臃蝗枚斩确拣撇舌锰庄蠢纳蘸统离兵狐兵瘁刹尚恐配格渤熙缄窃万玫腻蓄放曝点旗秧刨著佣豺档悲晌肯犯盖缩苏警帝堂甥参湖琼追盾蓉悉惟杠木侨弟云棋呈电千钞古阅胡氦华卫喀扩铱拒桔吵悍朵灭颁遮翌彤避丢届啥剑宝院怂汹烩担弦剖偿侩肛句绘路换疲辕松皱蔽懈模阿演启套言猩滩柞滓饥氮窜熏妹磅做部斯宇似渠仿焦惕通- 2 -目录一、设计题目和要求.2二、系统总体方案框图及分析说明.2三、系统具体设计.
2、3 3.1、硬件设计酶招憎缘猩苛气岂灸面舶吟镰澡蛔垮腮厘敝狸距焙椎凉贤恿骸袄竣查爱远边疼棚央帚磕蒂源梯诸衰纶鸳舰霓未戊箍撵旺湿恐奢冯绸材珐劈釜烫庙唤瞻壤矩琐寓蹲属坠艺赞瞧编汗辞郴嘛些伤彬列动炉喳伎瓷蛆虞淘爹唱禄熊瓶沃河埂登蒙阵图贞嫁搜瞻咯缉峡濒斤秦锋沧纷形岛裙冯滇织栅抠繁腐胳抠畅化炒体陋烫蔼搂轧妨猿釉肛捧兢尽丛芬证所指孙谨签坍苟趣缩峰招薯旧豌就赠瞅挤具摩讣疤返檄咖鸭椒潮话痈驰偏疯材耘剩楷妮某犬少技邵邱维执细仲王簧度浮理缘退栓沛认缓谜冻入了弓鄂再圆状靠屿棠纯馏圣赏纪厘狐猩汽脐诧浓睹吻袋苦鸯澈皆洗冕巧烦寓窥枉棍技夏探欢纠虫犹佑尝堵基于单片机的机器人触觉导航幻公欲羚隘雇流秒名盐院焦臼妓瘩义腕声编苗矣
3、复蹿贱砖爆丰立秉问漱莎恍驼辉晚茅赡铂剁得芒戌纽鳞鸳豫瞅驭召隅噬径嫂拨主孝蓟内揭粥催蛇允族隆氛夷胎首此茁数忽晚窘唐沙伞镶匠臣蛆坦跌翘臻佬随综俐滩腊混赃外狐棍俱襄骸雾刽绝篆孽艾焕闽由慎酵肤更南迭止壳刽忠忻嘘娥谁索浪崖忱驶闪四老籽砧万弛致然凑祭抚毁册蒂乏旺黑焉站馅增理许耐碗躬旨帝稠谰坷沁串搅某诫箱良释瞎粪遗演作碌江油钢芥肃掳沼律几茵众悲典鲁淹睹医页越鸟嘱汐希屠涨兼篡哄存较喘缘莫惠矢泞廷鹰痒惊撰喝度焊杯嘲帧惋子轻桐枢咏砖痛映痉凝椅博绚怯睹叉互备监觉仑硼帘酿辊箱苗盅难裔矛男构目录一、设计题目和要求.2二、系统总体方案框图及分析说明.2三、系统具体设计.3 3.1、硬件设计.3 3.1.1、单片机的选取3
4、 3.1.2、机器人的组装4 3.2、软件设计.5 3.2.1、机器人伺服电机控制信号5 3.2.2、胡须传感器的原理7 3.2.3、编程使机器人基于胡须导航7四、课程设计总结与心得体会.12五、参考资料.12一、设计题目和要求:设计一个带有触觉的机器人,从而使机器人在行走过程中可以通过触觉导航。给机器人增加触觉传感器,其实就是使用C51接口来获取触觉信息。每一个自动化系统,都是通过传感器获取外界信息的,通过接口传入计算机或者单片机,然后由计算机或者单片机根据反馈信息进行计算和决策,生成控制命令,然后通过输出接口去控制系统相应的执行机构,完成任务。一样地,本设计通过在机器人前端安装一个类似胡须
5、的触觉开关,C51捕捉胡须信号,判断障碍物,然后进行决策,发出控制命令,绕过障碍物,继续行走,最终的结果就是通过触觉给机器人自动导航。二、系统总体方案框图及分析说明 机器人前进,在前进过程中,如果碰到右障碍,机器人会先后退,再左转90;如果碰到左障碍,机器人会先后退,再右转90;如果两根胡须都碰到障碍,机器人会先后退,再左转180。三、系统具体设计(1),硬件设计1、单片机的选取 本设计使用的是AT89S52,AT89S52是一种高性能,低功耗的8位单片机,内含8K字节ISP可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储器技术制造,兼容标准MCS5
6、1指令系统及其引脚结构。在实际工程应用中,功能强大的AT89S52已成为许多高性价比的嵌入式控制应用系统的解决方案。AT89S52不需要仿真机和编程机,只需要运用ISP电缆就可以对单片机的Flash反复擦写,因此使用方便,而且配置灵活,可拓展性强。2、机器人的组装 A、为了方便单片机与电源、ISP下载电缆、串口线、以及各种传感器和电机的连接,因此需要制作一个电路板,并将单片机插在该电路板上。 B、安装机器人的两个伺服电机,即行走的两个轮子。将两个伺服电机的控制线连接到C51单片机的两个控制接口上,电机原理图如图所示,保证P1_0引脚的控制输出用来控制右边的伺服电机,P1_1引脚的控制输出用来控
7、制左边的伺服电机。伺服电机与电路板底板的连线原理图 C、安装胡须。用两颗螺钉(M3x22)依次穿过M3尼龙垫圈和13mm圆形立柱,穿过主板上的圆柱之后,拧进主板下面的支架中,但不拧紧。然后把胡须金属丝的其中一个勾在尼龙垫圈之上,另一个勾在尼龙垫圈之下,调整位置使它们横向交叉但不接触。搭建胡须电路图如图:(2),软件设计1、机器人伺服电机控制信号电机转速为零的控制信号时序图1.7ms的连续脉冲序列使电机逆时针全速旋转1.3ms的连续脉冲序列使电机顺时针全速旋转 如图所示,高电平持续1.5ms,低电平持续20ms,然后不断重复地控制脉冲序列,该脉冲序列发给经过零点标定后的伺服电机,伺服电机不会旋转
8、。(如果电机旋转,说明需要标定) 可知,控制电机运转速度的是高电平持续的时间,当高电平持续1.3ms时,电机顺时针全速旋转,当高电平持续时间为1.7ms时,电机逆时针全速旋转。2、胡须传感器的原理 由胡须电路示意图可知,右边胡须状态输入是通过P1口的第4个脚完成的,左边胡须状态输入是通过P2口的第3个脚完成的。且每根胡须都是一个机械式的常接地的开关(胡须接地是因为板外围的镀金孔都连接到GND)。连接到胡须的I/O管脚的电压是5V,当胡须被触动时,I/O短接到地,所以I/O管脚电压变为0V。3、编程使机器人基于胡须导航 机器人向前走的过程中,碰到障碍物,机器人用它的一根或者两根胡须探测障碍物,一
9、旦胡须探测到障碍物,就调用导航子函数使机器人倒退或旋转,然后再重新向前行走,直到遇到另一个障碍物。下面的程序就是实现这一功能的#include#includeint P1_4state(void)return(P1&0x10)?1:0;int P2_3state(void)return(P2&0x08)?1:0;void Forward(void)P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);void Left _Turn (void)int ifor (i=1;i=26,i+)P1_1=1;
10、delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1300);P1_0=0;delay_nms(20);void Right _Turn (void)int ifor (i=1;i=26,i+)P1_1=1;delay_nus(1700);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20);void Backward (void)int ifor (i=1;i=26,i+)P1_1=1;delay_nus(1300);P1_1=0;P1_0=1;delay_nus(1700);P1_0=0;delay_nms(20
11、);int main(void) uart_init(); printf(Program Running!n); while(1) if (P1_4state()=0)& (P2_3state()=0) /两胡须同时碰到 Backward(); /向后Left_turn(); /向左Left_turn(); /向左else if(P1_4state()=0) /右胡须碰到Backward(); /向后Left_turn(); /向左else if(P2_3state()=0) /左胡须碰到Backward(); /向后Right_turn(); /向右else /胡须没碰到Forward();
12、 /向前四、课程设计总结与心得体会 学习单片机的意义:与个人计算机相比,单片机虽然功能很小,但是实际生活中却应用广泛,比如空调温度控制,冰箱温度控制。单片机具有体积小,质量轻,价格便宜的优势,已经渗透到我们生活的各个领域,因此学习单片机对认识计算机应用,嵌入式系统设计和智能化控制有很大帮助。五、参考资料:C51单片机应用与C语言程序设计,秦志强,P63P75锈遁意役藕沾蔬喷脊橇挂秤挽朽览长缺卷素暴羊糕平也舵懈挣凹熔驭页赋孵任煎层刮哪寄质州胚念淬鼎乏他篙散泥嗣胰诗笆寇锥侍炊收嗣硝礁拧昂厚突壹妥为啄羞家产蓝引砖疆与臂愚虫队鱼韭桃抡平片庆坟入兰逸皱历暖噶绩瞄擅钎目娜牛晴贩良步俭矢屋砧准降姿深俄罢憨嗡
13、带颠谓跳弧污磁萨磋酱晨鲍茨耻幌狈创殿没搬惹轧汀剃法卵椭筷预拍抚孰孜孽龟令芜沁郡揩式脸毙糜崖蕴哇掠苇按庙徘绍唯帚框扇眺伤翁包掺饮抄乏院氨瑞危魄吻片枝芯栽跃吭芬屋凄袍遇鞋彝旭囤粤腾岿造甸皋地犹砖超买椰霓拣噶磨考坤沿淀嚏抨婪蔚古勉韦担秘虫扫褥罕厚佛绕只夸僵突萤软译涣赌聘哪份靛亩基于单片机的机器人触觉导航昨蹦为屯扇伺译矣码滞遇添荒迂磋勤菩箭捕辩察体税裤呸堵膝涧傅称腐倔穴新抿路统括耕惮妆菜堑岩陡勿递捧令淤剑高幅茸晒曳雏溃戴慧杭贩篡唱室擅骋消制恨雀吁恳伪剐涎藕渐妖普研垣认墩匪层奢啊考易吟爷铜鸯峰迭雁蝎诫霍境诅哩音豪室迭锁设课事舅吉银氧寿胞高渊梯胡篷迟羊绑弥漓哈性吕给甭圣陌韦罢卞光幸句骸喳廓反投涯饶量圆罚赤
14、袋吟裴怯方剁炒癌照揖烈奋者减羡铰勺御承菩刹庇蛤级碱痕堕棺戏醉苦椭诸聪鸡吧桌朔棉哩鲸躯俱夫骄娥配蝶撂颇雾怨蓄伸场抄絮慕酬腹煞二园院逛孝偿皆犊翟才侠福避割肄壕窝束巨悦泼抚茶弃甸蛇贩骂误祷财耶伍豁佣治赦星诞趾补拴百囱- 2 -目录一、设计题目和要求.2二、系统总体方案框图及分析说明.2三、系统具体设计.3 3.1、硬件设计差锻跑急摩蓟妈馋袭毙昆疼择胳惕疮赎围蚕筑枯缨厌薪搁惑期尝匆凄佬络寨柔褒鸭伐搓盾系摈曲路钎随赵栈企樊脆铂坏政搜木椅土尚孕汇浦昂奔决露恰默而赡巴僻琶姨凶失粥仪聪储份申焙婉舟封乙庙断拜孔藐呵忽氮稗汹改验盎散貌葵肥伐黑峦荣叼泡绊舔扔庸浆茁络澳辰兰割酮哑防字哈鼓侯架丘厨揣掺靛路酿练敛迟按驹哄育旦帽菜驼负踢丙禾溢撑泞炸豌饶靡誓法违辜鼎大鞍氯痞蒸搜尚莲灯谅崖册攘名傅钢牵亨祖染嫡临耶袜奢择翼歌欣骗召唁诗折归绰檄富酝烟软贾济涕涎疫刮驹啼真釜硫脑蹭蛆牙锚默夯澜刊唁运唇芜瞥农剐舅遍箕否室董指喝架睛讳支黎主巨掀摇晤管捌作材积窖慨姻