众所周知,鱼通过鱼鳔的伸缩实现灵活的沉浮。鱼类的上浮和下沉主要靠其腹内鱼鳔的收缩来实现。鱼鳔收缩使得鱼体体积发生变化,进而影响排开水的体积,从而实现上浮下沉。我们采用气缸排开水的体积来模拟鱼鳔的收缩。
我们的“鱼膘”采用双电机驱动气缸,在其往复做功的工程中,再配以电磁阀2,3的开合,将储水容器抽成低压,储气容器抽成高压,然后打开电磁阀1,使鱼吸水,实现鱼的下沉;我们将电磁阀1,2,3同时打开,利用高压将水排出,完成鱼的上浮动作。
图2-2 沉浮机构原理图
机器鱼尼莫的外形是模仿金枪鱼而设计的,跟真鱼一样,也是骨架结构,并采用主脊柱与肋环结构,使鱼成为一个整体空腔,便于安装其他机构。
机器鱼的防水是一个难点。普通的航海设备可以采用金属外壳防水,而机器鱼的防水层需要有伸缩性,以保证尾部能够灵活摆动。经过了多次防水实验,我们采用了在防水布外面涂防水胶的双层防水方案,很好的解决了防水和伸缩性的问题。
由于机器鱼控制系统较为复杂,为了方便设计,本项目设计中采用了模块设计的思想,共分为三大模块:
a) 遥控器及霍尔传感器模块 ;
b) 电源模块;
c) 电机及电磁阀驱动模块。
检测尾部极限位置的霍尔传感器,当尾部摆到极限位置时,霍尔元件将反馈给单片机一个信号,若此时遥控器的转向键按下,则鱼就开始左转或右转。
遥控器及霍尔元件模块图如图3-1所示:
图3-1 遥控器及霍尔传感器模块图
电源部分,采用四节3.6V的锂电池串联在一起形成14.4V的电源电压,再通过稳压三极管L7812将电压降到12V作为TL494的驱动电压,然后用一个DC-DC模块将12V电压降至5V作为各芯片的工作电压。对于14.4V的锂电池,有专门的充电器,可用家庭用220V交流电充电。另外尾部电机的驱动电压为24V,所以需要一个24V的电源,本次设计中用20节1.2V的镍氢电池串联起来使用,也配有相应的充电器。另外,驱动沉浮机构的电源电压也为24V,我们采用7节3.6V锂电池串联起来在稳压,然后提供给电磁阀及气缸作为动力。
电源模块的原理图如图3-2所示:
图3-2 电源模块的原理图
本电路中,我们采用了数模转换模块TLC7226与单片机连接来产生控制占空比的模拟信号。然后利用常用的PWM芯片TL494通过自身外接振荡电阻和振荡电容产生一个锯齿波,与输入的模拟电压信号进行比较运算,输出一个方波,该方波再通过一块电机驱动模块L293D来驱动电机及电磁阀。
电机及电磁阀驱动模块见图3-3、3-4:
图3-3 PWM驱动模块
图3-4 电磁阀驱动模块
机器鱼尾部摆动机构,从重量上分析应该尽量轻,保证鱼身的轻盈;从刚度上分析,要带动鱼尾部摆动起来,则必须有一定的刚度,所以我们基本上都选用铝材。支架采用整体机构,用铣床操作。
1)支架
加工方法:铣、钻孔,可在数控铣床上完成
2)轴和圆盘
加工方法:车、钻孔,可在数控车床上完成
3)杆
加工方法:线切割
1) 阶梯轴加工数控车床NC代码
N10 G92X20Z10
N20 M03
N30 S200
N40 G00X9Z2
N50 G01W-10F30
N60 G00U2
N70 G00W10
N80 G00U-4
N90 G01W-10F30
N100 G00U2
N110 G00W10
N120 G00U-2.5
N130 G01W-10
N140 G00U2
N150 G00W10
N160 G00U-2.5
N170 G01W-5
N180 G00U2
N190 G00X20Z10
N200 M05
N210 M02
2) 圆盘零件数控车床加工NC代码
N10 G92X50Z10
N20 M03
N30 S200
N40 G00X36Z2
N50 G01W-15F30
N60 G00U2
N70 G00W15
N80 G00U-3
N90 G01W-15F30
N100 G00U2
N110 G00W15
N120 G00U-4
N130 G01W-7
N140 G00U2
N150 G00W7
N160 G00U-4
N170 G01W-7
N180 G00U2
N190 G00W7
N200 G00U-4
N210 G01W-7
N220 G00U2
N230 G00W7
N240 G00U-4
N250 G01W-7
N260 G00U2
N270 G00W7
N280 G00U-3
N290 G01W-7
N300 G00U2
N310 G00X50Z10
N110 M05
N120 M02
3) 摆杆零件加工数控铣床NC代码
%1001
#10=100
#11=100
#12=12
N01 G92X0Y0Z0
N02 G00X10Y10Z10
N03 G00X10Y0Z-2 M03
#0=0
WHILE #0 LT 8
N[06+#0*4] G01X[-#10-10]Y[-#0*#12-0]Z-2
N[07+#0*4] G00X[-#10-10]Y[-#0*#12-#12/2]Z-2
N[08+#0*4] G01X0Y[-#0*#12-#12/2]Z-2
N[09+#0*4] G00X0Y[-#0*#12-#12]Z-2
#0=#0+1
ENDW
N[06+#0*4]
WHILE #0 LT 9
N[06+#0*4] G01X[-#10-10]Y[-#0*#12-0]Z-2
N[07+#0*4] G00X[-#10-10]Y[-#0*#12-#12/2]Z-2
N[08+#0*4] G01X0Y[-#0*#12-#12/2]Z-2
N[09+#0*4] G00X0Y[-#0*#12-#12]Z-2
#0=#0+1
ENDW
4) 支架零件数控铣床纵向铣削NC代码
%2001
#12=10
;JIN JI LIANG
#13=1.5
G92X0Y0Z0
GOOX[#12/2+3]Y[#12/2+3]Z2
M03
F100
#0=0
WHILE #0 LT 13
GOOX[#12/2+3]Y[#12/2-2]
G00Z[-#13-#0*#13]
G01X[-65.65-#12/2-2]
G01Y[-13-2-#12/2]
G01X[-51.15-2-#12/2]
G01Y[-2-13-16-#12/2]
G01X[-2-12-15.65+#12/2]
G01Y[-2-13-#12/2]
G01X[-2-12-#12/2]
G01Y[-2-14-#12/2]
G01X[-2+#12/2]
G01Y[-2+#12/2]
G00Z2
#0=#0+1
ENDW
;XUN HUAN 2;XI TU TAI
#0=0
WHILE #0 LT 8
GOOX[-2-12-#12/2]Y[#12/2+3]
G00Z[-#13-#0*#13]
G01Y[-2-14]
G01X[-2-12-15.65]
G01Y[-]
G01X[-]
G01Y[-]
G01X[]
G01Y[-]
G01X[]
G01Y[]
G00Z2
#0=#0+1
ENDW
;G00Z2
G00X0Y0
G00Z0
M05
5) 支架零件数控铣床横向铣削NC代码
%2006
#10=100
#11=35
#12=20
#13=1
G92X0Y0Z0
GOOX15Y15Z10
GOOX15Y0Z[-#13]
M03
F100
#0=0
WHILE #0 LT 2
G01X[-#10]Y[-#0*#12-0]
G01X[-#10]Y[-#0*#12-#12/2]
G01X0Y[-#0*#12-#12/2]
G01X0Y[-#0*#12-#12]
#0=#0+1
ENDW
GOOZ2
G00X0Y0
G01X0Y0Z[-#13]
M05