| 由于舵机性能的离散性、计算机性能(CPU工作频率不同)差异也相差很大。因此程序和程序中的参数要反复调试才能确定。
为了取得机械手运动位置和相关的数据参数我们先编一个程序,用来观察机械手四个舵机的运动情况,取得机械手各个舵机运动在不同的位置的参数。(最大、最小、中间位置的数据)
program test; {程序取名}
uses crt; {定义使用单元}
var {变量说明}
i,x,l,n:integer;{整形}
procedure ys(n:integer);{延时过程程序的头部说明.过程相当于C语言或BASIC语言中的子程序.}
var
i,j:integer;
begin {过程开始,本过程执行双循环,其功能是让机器人运动延时一段时间.}
j:=1;
while j<n do
begin
i:=1;
while i<100 do
i:=i+1;
j:=j+1;
end;
end;
begin {主程序开始,功能是让某一舵机位置初始化定位.}
for x:=1 to 80 do begin
n:=0;
port[$378]:=32; {并行口数据线的第6位置“1”
ys(100); {调用延时过程,参数是100,观察舵机转动的位置}
port[$378]:=0; {发0电平,所有8根线为0,产生周期信号。}
delay(20); {系统延时,DELAY 是标准函数。}
end;
for x:=100 to 400? do {参数X从100随着循环变量增加到400,观察舵机转动的方向和位置。}
begin
port[$378]:=32;{改变参数32,可改变不同的舵机。}
ys(x);
port[$378]:=0;
delay(20);
end;
end.
本程序仅作参考,同学们可以动脑改进,如使程序可以达到一次连续测4个舵机的功能。
由于舵机所转角度是确定的,要保证机械手每次运动的位置正确性和一致性,在装配机械手时一定想法要使机械手的机械运动保持稳定,以确保机械手每次运动的位置正确性和一致性,这一点非常重要。我们在装配是中前后共作4次修改。把传动索分二段、向反方向拉紧,使传动轮和钢丝索之间不打滑,保持舵机每次运动的位置正确性;我们把机械手底座加上平面轴承,消除其运动中的抖动和不稳定;我们还给手臂加上配重,以减小手臂运动的阻力等措施。其他,如电源的供电稳定性、篮球架设置的位置等问题都要考虑。
要取得好的成绩必须要反复研究、反复实验才能取得。正是这样,才能培养学生的动手能力,动脑能力。创造性思维能力。
指导学生编程序首先要学生清楚程序的功能:让机器人从某个地方拾起一个小球,然后抬起手臂,旋转到另一个地方把小球放下。另外学生要学习基本的计算机语言,然后根据程序要完成的任务编写程序的流程图,最后才能编写和调试程序。完成机械手功能的基本思想可以按上面讲述的原理和测试机械手位置的基本程序,同学们可以动脑、创新、不断改进,使你的机械手快速平稳地完成任务。
这次我们参加比赛的成绩不理想、只拿到一个比赛三等奖、一个创意第三名,但是我们通过参加比赛开展了机器人活动、锻炼了学生和老师收获也不小,为以后开展机器人教学活动打了基础。
|