科技论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 10963|回复: 19

[技术] 螺旋式电解槽

[复制链接]
发表于 2010-8-21 10:58:12 | 显示全部楼层 |阅读模式
水燃料电池使用螺旋式电解槽可以更有效的增加接触面积,提高电解效率,下面的这个帖子就是关于采用螺旋式电解槽抽取氢氧的设备。

  

  in my kettle, there are mounting holes at every 90 degrees, and these must be accurate. i wrote a little script using 3d studio max to create a bitmap, and draw/plot any number of interleaved spirals in that bitmap, with each spiral being a differing hue (colour), and to work out the distance between each mounting hole, so that when all the plates are rolled up, the distance between each plate is c**tant, this is an early test

  

  this is the bitmap my 3d studio max maxscript generated, it gives me a 300dpi visualisation of the 4 interleaved spirals

  this script also gives me the distance between mounting holes which are 90 degrees apart

  ... all these dimensi** were the ones i used in my kettle

  you NEED to add a bit extra to the lengths as the mounting hole locati** reported below are where the centre of the hole is made, when i say the 'theoretical' plate length in this example is 1069mm, i mean the distance between the centres of the last and first mounting hole, and not including where i have duplicated (or should that be triplicated) the first mounting hole so i could fold over the shim to create a rigid mounting / electrode post

  if you  are cutting and pasting the script into max the smiley face near the end of the script should be a closed round bracket )

  the smiley face doesnt paste in as a ), so you need to make sure two closed round brackets occur

  at that point

  if ((mod z 90.) == 0) then print (circum / dpmm)

  )

  )

  display spiral

  this is the text output of the script, stuff after the = ('equals sign) are my comments

  ========

  Welcome to MAXScript.

  28 = inner diameter in millimetres, inner pvc pipe was 25mm/1" + (2 x 1.5mm) rubber spacers = 28mm

  2.0 = spacing between plates, including material thickness (i used 0.25mm/10thou" stainless shim, so the gap is 1.75mm)

  11.811 = pixels per millimetre

  5 = number of turns

  4 = number of plates

  16.0

  108.0 = outer diameter in millimetres

  1275.59 = bitmap height/width in pixels, rounded to 1276, 1276@300dpi = 4.2533" = 108mm = outer diameter

  BitMap:

  #((color 255 0 255)) = hue changes with each plate, seed colour is any 100% primary (red,green,blue) or secondary (yellow, cyan, magenta) colour

  0.0

  4

  90

  ===start of mounting hole locati**, beginning at the outside, and the distance of the mounting locati** gradually decreasing

  0.0

  83.2762

  163.412

  240.407

  314.262

  384.976

  452.55

  516.984

  578.278

  63**32

  691.446

  743.322

  792.058

  837.655

  880.115

  919.437

  955.62

  988.666

  1018.58

  1045.36

  1069.01

  OK

  OK

  true

  1069.01  = distance between first and last mounting hole in millimetres

  1069.01

  1069.01

  28.0

  108.0

  108.0

  OK

  the script is as below

  =======================

  id = 28

  spacing = 2.0

  dpmm = 300 / 25.4

  turns = 5

  plates = 4

  decrement = plates * 2 * spacing

  diameter = (turns * decrement) + id

  pxls = diameter * dpmm

  spiral = bitmap ((pxls + 0.5) as integer) ((pxls + 0.5) as integer) color:white

  pxlcolour = #(color 255 0 255)

  circum = z = zz = theta = sn = cs = pxlD = pxlR = sx = cy = lastx = lasty = deltax = deltay = 0.0

  deg = 360 / plates

  for zz = 0 to (360-deg) by deg do

  (

  pxlcolour.h = (zz / 360.) * 255

  pxlD=pxls

  for z = zz to ((turns*360) + zz) by .03125 do

  (

  if z > 0 then (lastx = sx ; lasty = cy)   

  theta = mod z 360

  sn = sin theta

  cs = cos theta

  pxlD = pxls - (((z-zz) / (360.)) * decrement * dpmm)

  pxlR = pxlD / 2   

  sx = (pxls / 2) + (sn * pxlR)

  cy = (pxls / 2) + (cs * pxlR)

  if z == 0 then (lastx = sx ; lasty = cy)   

  setPixels spiral [((sx + 0.5) as integer),((cy + 0.5) as integer)] pxlcolour

  if zz == 0 then

  (

  deltax = sx - lastx

  deltay = cy - lasty

  circum = sqrt((deltax * deltax) + (deltay * deltay)) + circum

  if ((mod z 90.) == 0) then print (circum / dpmm)

  )

  

  display spiral

  )

  display spiral

  setPixels spiral [((pxls / 2) as integer),((pxls / 2) as integer)] #(color 255 255 255)

  lngth = circum / dpmm

  print lngth

  print diameter

  

  plate layout ... this script is one for 1.75mm spacing and 5.75 turns per plate, so each plate is more than 1200mm long, but i think that was a bit tight of a tolerance ... maybe i used that version for my plastic mockup, can't quite remember exactly ... the 4 spiral cell uses 2 differing plates, the differece being how the holes are offset, look closely at the mounting holes that are  the three-ones-in-a-row, so that when folded form the outer electrode posts, the offset as referenced to the top (non-L) edge of the plates are slightly different, so that the plates can be mounted 90 degrees apart, 2 of each plate are used
 楼主| 发表于 2010-8-21 11:00:21 | 显示全部楼层
  

  you can use the script to make spirals with different number of plates

  here the spacing (2mm), internal diameter (28mm) and number of turns (5) are the same

  in a 1 plate design,

  each theoretical plate length = 597mm, outside diameter = 48mm

  in a 2 plate design,

  each theoretical plate length = 754mm, outside diameter = 68mm

  in a 3 plate design,

  each theoretical plate length = 912mm, outside diameter = 88mm

  ====

  you would need to change the line

  if ((mod z 90.) == 0) then print (circum / dpmm)

  if you wanted to change the number of mounting holes from one every 90 degrees

  change it to

  if ((mod z 60.) == 0) then print (circum / dpmm)

  if you want mounting holes every 60 degrees

  play around with the number of turns to get the outside diameter you want

  

  you can use the script to make spirals with different number of plates

  here the spacing (2mm), internal diameter (28mm) and number of turns (5) are the same

  in a 6 plate design,

  each theoretical plate length = 1384mm, outside diameter = 148mm

  in a 7 plate design,

  each theoretical plate length = 1541mm, outside diameter = 168mm

  in a 8 plate design,

  each theoretical plate length = 1699mm, outside diameter = 188mm

  ====
 楼主| 发表于 2010-8-21 11:00:45 | 显示全部楼层
  you would need to change the line

  if ((mod z 90.) == 0) then print (circum / dpmm)

  if you wanted to change the number of mounting holes from one every 90 degrees

  change it to

  if ((mod z 45.) == 0) then print (circum / dpmm)

  if you want mounting holes every 45 degrees

  play around with the number of turns to get the outside diamete

  

  talking with rsgpitt in "Spiral Formula" post

  rsgpitt wasnt convinced my numbers were right, and i know that i used a summing tangents method to calculate the inter-hole mounting distances, rather than a nice 100% accurate mathematical method, so i wrote another part to my code

  the fullsize picture to the left when printed at 300dpi will be a lifesize depiction of rsgpitt's numbers

  shim = 0.004" * 25.4 = 0.1016mm

  washers = 1/8" * 25.4 = 3.1750mm

  spacing = 3.2766mm

  id = 0.935" = 23.749mm

  ///////////////////////////////

  id = 23.749

  spacing = 3.2766

  dpmm = 300 / 25.4

  turns = 3.75

  plates = 2

  decrement = plates * 2 * spacing

  od = (turns * decrement) + id

  pxls = od * dpmm

  spiral = bitmap ((pxls + 0.5) as integer) ((pxls + 0.5) as integer) color:white

  pxlcolour = #(color 255 0 255)

  circum = z = zz = theta = sn = cs = pxlD = pxlR = sx = cy = lastx = lasty = deltax = deltay = 0.0

  deg = 360 / plates

  for zz = 0 to (360-deg) by deg do

  (

  pxlcolour.h = (zz / 360.) * 255

  pxlD=pxls

  for z = zz to ((turns*360) + zz) by .03125 do

  (

  if z > 0 then (lastx = sx ; lasty = cy)   

  theta = mod z 360

  sn = sin theta

  cs = cos theta

  pxlD = pxls - (((z-zz) / (360.)) * decrement * dpmm)

  pxlR = pxlD / 2   

  sx = (pxls / 2) + (sn * pxlR)

  cy = (pxls / 2) + (cs * pxlR)

  if z == 0 then (lastx = sx ; lasty = cy)   

  setPixels spiral [((sx + 0.5) as integer),((cy + 0.5) as integer)] pxlcolour

  if zz == 0 then

  (

  deltax = sx - lastx

  deltay = cy - lasty

  circum = sqrt((deltax * deltax) + (deltay * deltay)) + circum

  if ((mod z 90.) == 0) then print (((circum / dpmm) as string) +"mm = " +  (((circum / dpmm)/25.4) as string))

  )

  )

  display spiral

  )

  display spiral

  setPixels spiral [((pxls / 2) as integer),((pxls / 2) as integer)] #(color 0 0 0)

  lngth = circum / dpmm

  print lngth

  ;id = od - (turns * decrement)

  print od

  lngth = 0

  print "confidence\n==========="

  print "0.0mm = 0.0"

  for z = (od - (decrement / 8.)) to (id + (decrement / 8.)) by (-decrement / 4.) do

  (

  lngth += (z * pi / 4.)

  print ((lngth as string) +"mm = " +  ((lngth/25.4) as string))

  )

  ///////////////////////////////
 楼主| 发表于 2010-8-21 11:01:04 | 显示全部楼层
  id in mm = 23.749

  spacing = 3.2766

  turns = 3.75

  plates = 2

  od in mm = 72.898

  pixels dimensi** for bitmap @ 300dpi = 861.0

  plate mounting offset in degrees = 180

  "0.0mm = 0.0"

  "55.9912mm = 2.20438"

  "109.41mm = 4.30749"

  "160.257mm = 6.30934"

  "208.532mm = 8.20992"

  "254.235mm = 10.0092"

  "297.366mm = 11.7073"

  "337.926mm = 13.3042"

  "375.914mm = 14.7998"

  "411.332mm = 16.1942"

  "444.18mm = 17.4874"

  "474.457mm = 18.6794"

  "502.165mm = 19.7703"

  "527.305mm = 20.7601"

  "549.878mm = 21.6487"

  "569.884mm = 22.4364"

  OK

  OK

  true

  569.884

  569.884

  569.884

  23.749

  72.898

  72.898

  0

  "confidence

  ==========="

  "0.0mm = 0.0"

  "55.9672mm = 2.20343"

  "109.361mm = 4.30555"

  "160.181mm = 6.30635"

  "208.428mm = 8.20584"

  "254.102mm = 10.004"

  "297.202mm = 11.7009"

  "337.728mm = 13.2964"

  "375.682mm = 14.7906"

  "411.061mm = 16.1835"

  "443.868mm = 17.4751"

  "474.101mm = 18.6654"

  "501.76mm = 19.7543"

  "526.846mm = 20.742"

  "549.359mm = 21.6283"

  "569.298mm = 22.4133"

  OK

  OK

  1

  thus the second set of numbers will be 100% correct

  ========================================

  so you dont have 3dstudio, and dont want a bitmap printed out

  then translate the following to whatever programming language you use ... maybe even eXcel

  the theory is

  circumference = 2 * pi * radius  = pi * diameter

  therefor

  length of a 90 degree arc = pi * diameter / 4

  with a c**tantly increasing radius/diameter a 90 degree arc component of a spiral would have a length of

  ((pi * od / 4) + (pi * id / 4)) / 2

  or

  pi * ((od + id ) / 2) / 4

  or

  pi * ((od/2) + (id/2)) / 4

  my country is metric, so the below dimensi** are in millimetres

  -------------------------
 楼主| 发表于 2010-8-21 11:01:26 | 显示全部楼层
  id = 23.749

  spacing = 3.2766

  turns = 3.75

  plates = 2

  decrement = plates * 2 * spacing

  od = (turns * decrement) + id

  lngth = 0

  print ("outside diameter = " + (od as string)  +"mm = " +  ((od/25.4) as string))

  print "0.0mm = 0.0"

  for z = (od - (decrement / 8.)) to (id + (decrement / 8.)) by (-decrement / 4.) do

  (

  lngth += (z * pi / 4.)

  print ((lngth as string) +"mm = " +  ((lngth/25.4) as string))

  )

  ==============================

  when i run this code with my kettle dimensi** i get the following numbers

  id = 28.

  spacing = 2.

  turns = 5

  plates = 4

  outside diameter = 108.0mm = 4.25197"

  0.0mm = 0.0"

  83.2522mm = 3.27765"

  163.363mm = **3161"

  240.332mm = 9.46188"

  314.159mm = 12.3685"

  384.845mm = 15.1514"

  452.389mm = 17.8106"

  516.792mm = 20.3461"

  578.053mm = 22.758"

  636.172mm = 25.0462"

  691.15mm = 27.2106"

  742.987mm = 29.2514"

  791.681mm = 31.1686"

  837.234mm = 32.962"

  879.646mm = 34.6317"

  918.916mm = 36.1778"

  955.044mm = 37.6002"

  988.031mm = 38.8989"

  1017.88mm = 40.0739"

  1044.58mm = 41.1252"

  1068.14mm = 42.0528"

  compare this with the numbers in item #2 of this directory, and you will see that the "tangental summing" method is only 99.9% accurate
 楼主| 发表于 2010-8-21 11:01:41 | 显示全部楼层
  

  PVC pipe is the central former/mount and plate mounting rods, the pipe i actually ended up using had a slight increase in diameter at the upper (non-drilled) end (a pipe extension); the holes at the bottom allow water to move into the core of the pipe where its pressure can be monitored by a pressure gauge

  

  200 or so rubber washers i punched out by hand with a punch set and hammer; next time i  will get a gasket maker to make them if i cant find the size i want

  14mmOD x 6mmID x 1.8mm from memory, spacing between the plates is a theoritcal 1.75mm

  

  plates and other parts prior to rolling; plates are over 1000mm long and about 125mm(5inches) wide.

  material is stainless shim having a thickness of 0.25mm(10thou of an inch), if i went thicker bending around the PVC central mount would be very difficult, you can use a feeler gauge to get an idea of how pliable stainless shim is for a given thickness .... handle this material carefully cause it likes cutting human skin

  work out the total surface area

  100cm (length) x 12.5cm (height) x 2 (sides per plate) x 4 (plates) = 10,000 square centimetres or 1550 square inches

  i had the plates laser cut, because the accurate location of the mounting holes is critical to keep the spirally plates circular, and drilling stainless is quite hard - even when the material is this thin

  i wrote a little program in 3dstudio maxscript to calculate how far apart the holes should be from one another; they start close, and progressively get further and further apart.
 楼主| 发表于 2010-8-21 11:01:56 | 显示全部楼层
  see  

  laser cutting was about us$80, so much cheaper than you might imagine. the laser cutters will like you if you supply them an autocad file, where any circles are true circles and not made up of thousands of little lines as this is hard on the laser cutting machine. they use that file to program the cutter, firstly cutting the mounting holes, then cutting out the shape itself.

  the raw material was 300mm/12" wide, but 25mm/1" on each of the longest edges was lost as the laser cutters needed to weight those edges of the shim to keep the material flat during cutting.

  i got my 0.25mm shim stock from an auto parts wholesaler who had enormous rolls of the stuff, i had go through a metal broker, as the wholesaler wouldn't sell direct ... if you live in the states, you can buy it through the internet; an example of a seller is  

  ====

  i made a model out of sheet plastic first to determine how difficult the whole deal would be :-)

  i did the artwork on a computer, printed out with a large format inkjet printer (inkjets are much more accurate than laser printers), and spray glued it to some thin plastic sheet, to create a mock up.

  

  dont make the inner core too small a diameter ... the smaller the inner diameter the harder it is going to be to get that inner bit nice and neat

  

  detail of electrode posts prior to being folded over itself for mechanical strength; the corners of the posts were bent later to lock the 6mm bolts in place, so they wouldnt move too much when a nut on the other side of the post was tightened
 楼主| 发表于 2010-8-21 11:02:06 | 显示全部楼层
  

  nearly there, but then i decided to change out the inner pvc core to one that had a flange on it at one end, so slide out those four plastic rods, and start again

  

  prior to rolling, again, you can see the old core (right) and the one i replaced it with (left) this was necessary becuase the old core had too small an internal diameter, and it interfered with the brass fittings i used in the container which were about 20 - 25 mm in diameter

  

  .

  

  oblong rubber spacers are placed and each end of each plate, but the ones closest to the electrode posts (not shown here) are only half as wide

  

  re-starting the plate rolling process
 楼主| 发表于 2010-8-21 11:02:17 | 显示全部楼层
  

  i had to keep sliding the mounting rods backwards and forwards while winding, rounded ends of the rods make it easier to insert through the rubber washers, but still a very tedious operation; rubber washers are added one at a time to space out the plates

  

  nearly done

  

  don't use those clamps, they will deform the thin shim material

  

  about an hour and a half later, temporarily clamped, protruding rod ends will have a thread tapped on their ends, then cut down.

  see my mistake here .... those clamps can deform the stainless shim ... so i took them off and used masking tape instead.

  the folded end of the plates add structural rigidity, and prevent the ends of the spirals from "bowing" (they remain nice and flat, rather than trying to bow into a "U" shape)

  

  masking tape won't deform the plates
 楼主| 发表于 2010-8-21 11:02:31 | 显示全部楼层
  

  early tests, no electrolyte skinny little wires

  

  looking closer

  

  finished assembly has a diameter of  108mm + the height of two nuts, totalling around 125mm or 5"

  need to handle the assembly carefully so you dont deform the plates, you don't want one plate touching another, so test that they are electrically isolated from one another

  mount in a container that is hard to squeeze

  

  nice side view

  those lower nylon and brass nuts DO get replaced with stainless steel ones

  marine chandlers have lots of stainless hardware and fittings
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|辽公网安备 21100402204006号|科技论坛 ( 辽ICP备07501385号-1    

GMT+8, 2017-10-23 08:32

Powered by X3.3 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表