510 likes | 670 Views
燕 山 大 学. 大学生创新性实验计划 结题答辩. 课题名称: 一种新型 3-5R 并联微动机器人 所在学院: 机械工程学院 学生姓名: 孙龙庆 戚炜 霍杰 指导教师: 李仕华 马筱聪. 一种新型 3-5R 并联微动机器人. 项目研究创新点与特色 项目研究内容 项目研究结果. 项目研究创新点与特色. 1 、采用燕山大学提出的一种 3-RRRRR 机构 2 、采用柔性运动副 3 、采用压电陶瓷驱动 4 、通过实体造型与分析软件来进行机器人本体的设计和静刚度分析 5 、主控模块以单片机和数模转换芯片为核心. 项目研究内容. 3-5R 并联机构的运动学研究
E N D
燕 山 大 学 大学生创新性实验计划 结题答辩
课题名称:一种新型3-5R并联微动机器人 • 所在学院:机械工程学院 • 学生姓名:孙龙庆 戚炜 霍杰 • 指导教师:李仕华 马筱聪
一种新型3-5R并联微动机器人 • 项目研究创新点与特色 • 项目研究内容 • 项目研究结果
项目研究创新点与特色 • 1、采用燕山大学提出的一种3-RRRRR机构 • 2、采用柔性运动副 • 3、采用压电陶瓷驱动 • 4、通过实体造型与分析软件来进行机器人本体的设计和静刚度分析 • 5、主控模块以单片机和数模转换芯片为核心
项目研究内容 • 3-5R并联机构的运动学研究 • 微动机器人柔性本体的设计 • 微动机器人本体静刚度分析 • 机器人本体加工 • 机器人驱动系统
3-5R并联机构的运动学研究 • 自由度的计算 F=6×13-5×15=3 • 线框模型位置反解
3-5R并联机构的运动学研究 • 坐标变换的m文件 • syms f1 f2 f3 f4 f5 ar01 ar12 ar23 ar34 ar45 ar56 s1 s2 s3 s4 s5 a01 a12 a23 a34 a45 a56 R px py pz; • T01=[cos(f1),-sin(f1),0,0;sin(f1),cos(f1),0,0;0,0,1,0;0,0,0,1]; • T12=[cos(f2),-sin(f2),0,a12;sin(f2),cos(f2),0,0;0,0,1,0;0,0,0,1]; • T23=[cos(f3),-sin(f3),0,a23;sin(f3),cos(f3),0,0;0,0,1,s3;0,0,0,1]; • T34=[cos(f4),-sin(f4),0,0;sin(f4)*cos(ar34),cos(f4)*cos(ar34), • cos(ar34),0;sin(f4)*sin(ar34),cos(f4)*sin(ar34),cos(ar34),0;0,0,0,1]; • T45=[cos(f5),-sin(f5),0,a45;sin(f5),cos(f5),0,0;0,0,1,s5;0,0,0,1]; • T56=[1,0,0,a56;0,cos(ar56),-sin(ar56),0;0,sin(ar56),cos(ar56),0;0,0,0,1]; • To0=[1,0,0,-sqrt(3)/3*R;0,0,-1,0;0,1,0,0;0,0,0,1]; • To6=[1,0,0,px;0,1,0,py;0,0,1,pz;0,0,0,1];
3-5R并联机构的运动学研究 • 位置反解矩阵方程: • inv(T01)*inv(To0)*To6=T12*T23*T34*T45*T56;
3-5R并联机构的运动学研究 1,2,3,4,5坐标系如图; 0坐标系为固定坐标系,初始时与1坐标系重合; s坐标系为固定坐标系,是0坐标系绕x旋转-45度得到; 6坐标系为动平台坐标系,初始时,x6与x0反向,z6由z0绕x0旋转225度得到。
3-5R并联机构的运动学研究 • syms f1 f2 f3 f4 f5 a1 a2 d3 ar3 a4 a r xo5 yo5 zo5 x0 • T01=[cos(f1),-sin(f1),0,0;sin(f1),cos(f1),0,0;0,0,1,0;0,0,0,1] • T12=[1,0,0,a1;0,1,0,0;0,0,1,0;0,0,0,1]*[cos(f2),-sin(f2),0,0;sin(f2),cos(f2),0,0;0,0,1,0;0,0,0,1] • T23=[1,0,0,a2;0,1,0,0;0,0,1,0;0,0,0,1]*[cos(f3),-sin(f3),0,0;sin(f3),cos(f3),0,0;0,0,1,0;0,0,0,1]*[1,0,0,0;0,1,0,0;0,0,1,d3;0,0,0,1] • T34=[1,0,0,0;0,cos(ar3),-sin(ar3),0;0,sin(ar3),cos(ar3),0;0,0,0,1]*[cos(f4),-sin(f4),0,0;sin(f4),cos(f4),0,0;0,0,1,0;0,0,0,1] • T45=[1,0,0,a4;0,1,0,0;0,0,1,0;0,0,0,1]*[cos(f5),-sin(f5),0,0;sin(f5),cos(f5),0,0;0,0,1,0;0,0,0,1] • T56=[cos(pi+ar3),0,sin(pi+ar3),0;0,1,0,0;-sin(pi+ar3),0,cos(pi+ar3),0;0,0,0,1]*[1,0,0,0;0,cos(r),-sin(r),0;0,sin(r),cos(r),0;0,0,0,1]*[1,0,0,xo5;0,1,0,yo5;0,0,1,zo5;0,0,0,1] • Ts0=[1,0,0,0;0,cos(r),-sin(r),0;0,sin(r),cos(r),0;0,0,0,1] • Ts6=[-1,0,0,x0-a;0,1,0,a;0,0,-1,-a;0,0,0,1] • T1= simplify (simplify(inv(T01))*inv(Ts0)*Ts6*inv(T56)) • T2= T12*T23*T34*T45
机器人本体静刚度分析 有限元分析得到,2mm壁厚柔性机构驱动力、驱动位移和动平台位移的关系,以下为在三分支上施加相同驱动力时得到的对应驱动位移和动平台位移:5N,0.4439um,12.24nm10N,0.8878um,24.48nm20N,1.776um,48.96nm30N,2.663um,73.44nm50N,4.439um,122.4nm100N,8.878um,244.8nm
机器人本体静刚度分析 在3个分支同时施加100N法向力时:2mm模型驱动位移为8.878um,动平台位移为244.8nm;而原来1mm模型驱动位移为20.32um,动平台位移为310.7nm;而当1mm模型3分支同时施加50N力时,驱动位移为10.16um,动平台位移155.3nm
机器人本体静刚度分析 在3个分支同时施加100N法向力时:2mm模型驱动位移为8.878um,动平台位移为244.8nm;而动平台切除后,驱动位移为9.241um,动平台位移约为200nm。与切除前相比,有略微的改变,但影响不大。
主控方案1 • ORG 0000H • start: jmp main • ORG 0030H • main: clr P3.5 ;LOADDACS清零 • mov P1,#00H ;P1口清零 • mov DPH,#7CH ;8255工作方式 • mov A,#80H • movx @DPTR,A • mov DPH,#3CH ;8255PB口清零 • mov A,#00H • movx @DPTR,A • read: mov c,P3.2 ;是否按下START按钮 • jnc act • sjmp read • act: • mov R0,#80H ;输入幅值电压,从#01H到#0FFH,(最大为#00H,还未 • ;考虑) • mov R1,#10H ;输入步长,根据 电压^2(v^2)×频率(Hz)×负 • ;载(uF)=50000 计算 • mov P1,#00H ;P1口清零 • mov DPH,#3CH ;8255PB口清零 • mov A,#00H • movx @DPTR,A • ;电压由零直线上升 • loop0: nop • nop • nop • nop • nop • nop • nop • loop1: call OutDAC • add A,R1 • movx @DPTR,A ;写PB口 • jnz loop0 • inc P1 ;写P1口 • mov A,R0 • cjne A,P1,Continue • jmp Over • Continue: • mov A,#00H • jmp loop1 • Over: mov A,#00H • call OutDAC • nop • nop • nop • nop • mov c,P3.3 ;是否按下 “卸载” 按钮 • jc loop1
主控方案1 • ;电压由幅值直线下降到零 • loop2: dec P1 • loop3: • clr c • subb A,R1 • movx @DPTR,A • nop • nop • nop • call OutDAC • jz loop4 • nop • jmp loop3 • loop4: • cjne P1,#00H,loop2 • call OutDAC • jmp start • ;输出DAC子程序 • OutDAC: • ;push ACC ;保护A和DPH • push DPH ;2周期 • mov DPH,#80H ;产生DACA写信号,4周期 • movx @DPTR,A • mov DPH,#88H ;产生DACB写信号 • movx @DPTR,A • mov DPH,#90H ;产生DACC写信号 • movx @DPTR,A • setb P3.5 ;产生LOADDACS上升沿 ,3周期 • nop • clr P3.5 • pop DPH ;还原A和DPH • ;pop ACC • ret • end
主控方案2 • ORG 0000H • start: jmp main • ORG 0030H • main: mov sp,#44H ;堆栈指针初始化 • setb P3.0 ;联络信号无效 • mov P1,#FFH ;P1口要输入 • mov DPTR,#8003H ;A8255工作方式 • mov A,#80H • movx @DPTR,A • mov A,#FFH ;A8255PA、PB置FF,即数码管均灭 • mov DPTR,#8000H • movx @DPTR,A • mov DPTR,#8001H • movx @DPTR,A • mov DPTR,#4003H ;B8255工作方式 • mov A,#80H • movx @DPTR,A • mov A,#FFH ;B8255PA、PB置FF,即数码管均灭 • mov DPTR,#4000H • movx @DPTR,A • mov DPTR,#4001H • movx @DPTR,A • mov DPTR,#0C003H ;C8255工作方式 • mov A,#80H • movx @DPTR,A • mov A,#FFH ;C8255PA、PB置FF,即数码管均灭 • mov DPTR,#0C001H • movx @DPTR,A • mov DPTR,#0C002H • movx @DPTR,A • mov DPTR,#2003H ;D8255工作方式 • mov A,#81H • movx @DPTR,A • mov A,#0FFH ;外存全部写入0FFH • wrf: mov DPTR,#0000H • movx @DPTR,A • inc DPTR • mov R0,DPH • cjne R0,#08H,wrf • mov 30H,#0C0H ;0-F的共阳极段码 • mov 31H,#0F9H • mov 32H,#0A4H • mov 33H,#0B0H • mov 34H,#099H • mov 35H,#092H • mov 36H,#082H • mov 37H,#0F8H • mov 38H,#080H • mov 39H,#090H • mov 3AH,#088H • mov 3BH,#083H • mov 3CH,#0C6H • mov 3DH,#0A1H • mov 3EH,#086H • mov 3FH,#08EH • mov DPTR,#FFFFH • conti: inc DPTR • lcall wrr1 • coe: mov c,P1.2 ;继续还是结束 • jnc conti • mov c,P1.3 • jc coe • mov A,#0FFH ;按了结束,数码管灭 • mov DPTR,#8000H • movx @DPTR,A • mov DPTR,#8001H • movx @DPTR,A • mov DPTR,#4000H • movx @DPTR,A • mov DPTR,#4001H • movx @DPTR,A • mov DPTR,#0C001H • movx @DPTR,A • mov DPTR,#0C002H • movx @DPTR,A • clr P3.0 ;使联络线有效 • jmp $ • ;记录一组坐标的子程序 • wrr1: push DPH • push DPL • x0: lcall KEY ;键盘子程序,按键0-F送入A • push ACC • x1: lcall KS ;判断按键是否松开 • jnz x1 • pop ACC • push ACC ;保护x轴高位数 • add A,#30H ;x轴高位数码管显示 • mov R0,A • mov A,@R0 • mov DPTR,#8000H • movx @DPTR,A • lcall KEY ;键盘子程序,按键0-F送入A • push ACC • x2: lcall KS ;判断按键是否松开 • jnz x2 • pop ACC • push ACC ;保护x轴低位数 • add A,#30H ;x轴低位数码管显示 • mov R0,A • mov A,@R0 • mov DPTR,#8001H • movx @DPTR,A • pop ACC • mov R0,A • pop ACC • swap A ;A高低半字节交换,由于A为0-F间的一个数,所以此指令相当于A×#10H • add A,R0 • mov 40H,A ;40H存放x轴坐标 • lcall KEY ;键盘子程序,按键0-F送入A • push ACC • y1: lcall KS ;判断按键是否松开 • jnz y1 • pop ACC • push ACC ;保护y轴高位数 • add A,#30H ;y轴高位数码管显示 • mov R0,A • mov A,@R0 • mov DPTR,#4000H • movx @DPTR,A • lcall KEY • push ACC • y2: lcall KS ;判断按键是否松开 • jnz y2 • pop ACC • push ACC ;保护y轴低位数 • add A,#30H ;y轴低位数码管显示 • mov R0,A • mov A,@R0 • mov DPTR,#4001H • movx @DPTR,A • pop ACC • mov R0,A • pop ACC • swap A ;A高低半字节交换,由于A为0-F间的一个数,所以此指令相当于A×#10H • add A,R0 • mov 41H,A ;41H存放y轴坐标 • lcall KEY ;键盘子程序,按键0-F送入A • push ACC • z1: lcall KS ;判断按键是否松开 • jnz z1 • pop ACC • push ACC ;保护z轴高位数 • add A,#30H ;z轴高位数码管显示 • mov R0,A • mov A,@R0 • mov DPTR,#0C000H • movx @DPTR,A • lcall KEY • push ACC • z2: lcall KS ;判断按键是否松开 • jnz z2 • pop ACC • push ACC ;保护z轴低位数 • add A,#30H ;z轴低位数码管显示 • mov R0,A • mov A,@R0 • mov DPTR,#0C001H • movx @DPTR,A • pop ACC • mov R0,A • pop ACC • swap A ;A高低半字节交换,由于A为0-F间的一个数,所以此指令相当于A×#10H • add A,R0 • mov 42H,A ;42H存放z轴坐标 • wryon: mov c,P1.0 ;确认还是取消 • jnc wry • mov c,P1.1 • jc wryon • mov A,#0FFH ;按了取消,数码管灭,重新输入 • mov DPTR,#8000H • movx @DPTR,A • mov DPTR,#8001H • movx @DPTR,A • mov DPTR,#4000H • movx @DPTR,A • mov DPTR,#4001H • movx @DPTR,A • mov DPTR,#0C001H • movx @DPTR,A • mov DPTR,#0C002H • movx @DPTR,A • jmp x0 • wry: pop DPL ;将x,y,z坐标放入外存6116中 • pop DPH • mov A,40H • movx @DPTR,A • inc DPTR • mov A,41H • movx @DPTR,A • inc DPTR • mov A,42H • movx @DPTR,A • ret • ;检测按了什么键的子程序 • KEY: lcall KS ;检查是否有键闭合 • jz KEY • LK1: lcall delay2 ;延时约12ms,去抖动 • lcall KS ;再检查是否有键闭合 • jz KEY • LK2: mov R2,#EFH ;扫描初值送R2 • mov R4,#00H ;扫描行号送R4 • LK4: mov DPTR,#2002H • mov A,R2 • movx @DPTR,A • nop • nop • movx A,@DPTR • jb ACC.0,LONE • mov A,#00H • jmp LKP • LONE: jb ACC.1,LTWO • mov A,#04H • jmp LKP • LTWO: jb ACC.2,LTHR • mov A,#08H • jmp LKP • LTHR: jb ACC.3,NEXT • mov A,#0CH • jmp LKP • NEXT: inc R4 • mov A,R2 • jnb ACC.7,KND • rl A • mov R2,A • jmp LK4 • KND: jmp KEY • LKP: add A,R4 • ret • ;检测是否按键的子程序 • KS: mov DPTR,#2002H ;D8255PC高位送0 • mov A,#00H • movx @DPTR,A • nop ;等待数据确实送到PC口 • nop • movx A,@DPTR ;读入D8255PC低位 • orl A,#0F0H • cpl A • ret • ;延时子程序 • delay0:mov R4,#0H;262915us • again0:mov R5,#0H • again00:nop • nop • djnz R5,again00 • djnz R4,again0 • ret • delay1:mov R6,#0H;1027us • again1:nop • nop • djnz R6,again1 • ret • delay2:mov R3,#0CH ;去抖动时间 • again2:lcall delay1 • djnz R3,again2 • ret • end
主控方案2 • ORG 0000H • start: jmp main • ORG 0030H • main: mov sp,#30H ;堆栈指针初始化 • clr P3.5 ;LOADDACS无效 • mov P1,#FFH ;P1口要输入 • mov DPTR,#8003H ;8255工作方式 • mov A,#80H • movx @DPTR,A • lcall OUT_DAC0 ;DAC7744初始化 • read: mov c,P1.0 ;读联络信号 • jc read • mov DPTR,#FFFFH • conti: lcall READ_R • cjne R0,#FFH,NEXT ;继续还是结束,从判断6116的x坐标是否为FF决定 • jmp done • NEXT: lcall delay ;延时,其长短取决于压电陶瓷电路响应时间,及相邻坐标之间的增量(各增量不应相差太大) • lcall OUT_DAC1 • jmp conti • done: jmp $ • READ_R: inc DPTR • movx A,@DPTR • mov R0,A • inc DPTR • movx A,@DPTR • mov R1,A • inc DPTR • movx A,@DPTR • mov R2,A • ret • OUT_DAC0: • mov DPTR,#8001H ;8255PB口置零 • mov A,#00H • movx @DPTR,A • nop • mov DPTR,#4000H ;写DACA • movx @DPTR,A • mov DPTR,#4001H ;写DACB • movx @DPTR,A • mov DPTR,#4002H ;写DACC • movx @DPTR,A • nop • setb P3.5 ;LOADDACS上升沿 • nop • clr P3.5 • ret • OUT_DAC1: push DPH ;保护DPTR • push DPL • mov DPTR,#8001H • mov A,R0 • movx @DPTR,A • nop • mov DPTR,#4000H ;R0写入DACA • movx @DPTR,A • mov DPTR,#8001H • mov A,R1 • movx @DPTR,A • nop • mov DPTR,#4001H ;R1写入DACB • movx @DPTR,A • mov DPTR,#8001H • mov A,R2 • movx @DPTR,A • nop • mov DPTR,#4002H ;R2写入DACC • mov @DPTR,A • nop • setb P3.5 ;LOADDACS上升沿 • nop • clr P3.5 • pop DPL • pop DPH • ret • delay: mov R7,#06H ;延时,其长短取决于压电陶瓷电路响应时间,及相邻坐标之间的增量(各增量不应相差太大) • again2: lcall delay1 • djnz R7,again2 • ret • delay0:mov R4,#0H;262915us • again0:mov R5,#0H • again00:nop • nop • djnz R5,again00 • djnz R4,again0 • ret • delay1:mov R6,#0H;1027us • again1:nop • nop • djnz R6,again1 • ret • end
压电陶瓷选择 • PST150/7/7vs12,最大电压为150V,陶瓷直径7mm,封装直径12mm,标称位移7mm,电容0.7uF,刚度120N/um,最大出力1800N。(8715元/支) • 国产裸陶瓷MTp200/8×8/10,最大电压200V,陶瓷尺寸8mm×8mm×10mm,尺寸误差不超0.5mm,标称位移10um,电容0.852uF,刚度100N/um,最大出力1350N。(448元/支)
一种新型3-5R并联微动机器人 • 项目研究创新点与特色 • 项目研究过程 • 项目研究结果
自我评价 • 完成了整个3-5R并联微动机器人的设计 • 未能达到开题时提出的目标 • 完成了3-RRRRR机构的加工和装配 • 整个3-5R并联微动机器人的设计以及项目实施的整个过程使我们的各方面都得到了锻炼和提高
致 谢 感谢我们的指导老师李仕华教授和马筱聪老师的热情关怀和悉心指导!感谢句彦儒师兄的帮助! 感谢各位评审专家!