Hybrid Car – More Fun with Less Gas

spa parts for home built hydroelectric

register ::  Login Password  :: Lost Password?
Posted by z on June 19, 2009, 3:32 pm
 
I don't know why I never thought of this before.  Turns out spa
manufacturers use a lot of the same kind of hardware I could have used when
making my hydro system.

FINALLY found an actual 2" PVC Wye
http://www.usspaparts.com/index.php?
main_page=advanced_search_result&search_in_description=1&keyword=wye

for the long url impared: http://tinyurl.com/m2d36s

Now i'm checking out the various spa jets and hardware related to sqirting
water.  Not really sure how well those would actually work since many are
probably not designed for strait stream, but looking through the basic
plastic jets its probably not too hard to modify them.

I can't believe I never thought to look at the spa thing for inspiration.  
They have to contend with the strange angles regular plumbers never use and
they're all about shooting water.  Might have to see if I can find a spa
place around here and look at some examples in person before getting order
happy.

So you budding home hydro builders keep the spa people in mind for
ideas/parts

-zachary

Posted by Curbie on June 19, 2009, 4:47 pm
 
z,

I like the spa idea, economy of scale pricing and availability.

Did you ever figure out the head & flow for your system?

Curbie


Posted by z on June 19, 2009, 5:15 pm
 

Its between 37-39 PSI so thats roughly 90 feet of head.  My pressure
gauge isn't so easy to read.

The optimal flow for 2 inch pipe at 450 feet is around 54 GPM
so according to microhydrocalc I should have 300+ watts available.  Sadly
i'm only making about 120 at the moment (I finally scored a charge
controller that shows watts produced), but i'm not using nearly the
optimal GPM, more like half, so I use 25 GPM as an estimate.

That results in 206 watts, so i'm probably losing quite a bit in my
design.  But I'm pretty sure a lot of that is from the transition to the
nozzles and the big T -- so i'm going to get a 2 inch wye like above and
go flexi 2 inch all the way right before the transition to nozzles.  
Might gain some there.

Been experimenting with different bore sizes too

I've got a lot of notes one of these days i'll compile everything
together and make some sense of it ;)

-z

Posted by Curbie on June 19, 2009, 5:45 pm
 z,

Maybe a stupid idea, but I recall tire air fill nozzle for tube-less
tires that you just bolted to the rim before spooning a tube-less tire
to the rim. The questionable idea would be to bolt one of these air
fill nozzles to a water feed-pipe near your generator to take a water
pressure reading with a cheapo tire pressure gauge?

Sense:
  Head * 0.433 = PSI
  87 (Ft. Head) * 0.433 = 37.6 (PSI)
Then:
  37.6 (PSI) / 0.433 = 87 (Ft. Head)

So you obviously got that.

Flow would be easy, just time how long it takes to fill a 1 gallon jug
from power drum. (?correct term) Say it 21 seconds to a one gallon
jug:

Flow (GPM) 2.85 =(1 / 21) * 60

With proper head and flow measurements that "turgo" spread-sheet you
have should help in estimating the number and size of the jets you
need?

It may take some of the time out of experiments?

Curbie



Posted by Curbie on June 20, 2009, 11:21 pm
 z,

SolPos.c is too intense for a simple tracking system, here is some
tracking specific code I ported from JavaScript which is far better
suited for tracking I found here:
http://www.powerfromthesun.net/CALCULATORS/AngleCalc.html

Have fun.

Curbie

***********************************************************************************
Dim LA              As Double                       ' latitude
Dim ZE              As Double                       ' zenith
Dim AZ              As Double                       ' azimuth
Dim TmpAZ           As Double                       ' temporary
azimuth
Dim HA              As Double                       ' hour angle
Dim DE              As Double                       ' declination
Dim AL              As Double                       ' altitude
Dim CZ              As Double                       '
Dim CI              As Double                       ' collector angle
of tncidence
Dim CT              As Double                       '
Dim HAS             As Double                       ' hour of sunset
Dim HAR             As Double                       ' hour of sunrise
Dim HD              As Double                       ' hours of
daylight
Dim Text            As String                       ' results text

LA = Radians(Me.Latitude)                           ' latitude in
radians
AZ = Radians(Me.Azi)                                ' azimuth in
radians
ZE = Radians(Me.Zen)                                ' zenith in
radians

' Perform calculations here
HA = Radians(15 * (Me.ST - 12))                     ' calculate hour
angle in radians
DE = ASin(C1 * Cos(Radians(C2 * (Me.Day - 173))))   ' calculate
declination in radians
                                                    ' calculate
altitude
AL = ASin(Sin(DE) * Sin(Me.Latitude) + Cos(DE) * Cos(HA) *
Cos(Me.Latitude))
ZE = (Pi / 2) - AL                                  ' calculate zenith
                                                    ' calculate
azimuth
TmpAZ = ACos((Sin(DE) * Cos(LA) - Cos(DE) * Cos(HA) * Sin(LA)) /
Cos(AL))

If Sin(HA) > 0 Then                                 '
  AZ = 2 * (Pi) - TmpAZ                             '
End If                                              '

If Sin(HA) < 0 Then                                 '
  AZ = TmpAZ                                        '
End If                                              '

If Sin(HA) = 0 Then                                 '
  AZ = Pi                                           '
End If                                              '

' calculate collector angle of incidence
Select Case Me.TA                                   ' get number of
tracking axes
  Case 0                                            ' if fixed
    CI = ACos(Sin(AL) * Cos(ZE) + Cos(AL) * Sin(ZE) * Cos(CZ - AZ))
  Case 1                                            ' if eest/west
only
    CI = ACos(Sin(AL) * Cos(CT) + Cos(AL) * Sin(CT) * Cos(CZ - AZ))
  Case 2                                            ' if both
east/west and north/south
    CI = 0#
End Select                                          ' get number of
tracking axes

HAS = (Degrees(ACos(-Tan(DE) * Tan(LA))) / 15) + 12 ' calculate solar
time of sunset
HAR = 12 - (HAS - 12)                               ' calculate solar
time of sunrise
HD = 2 * (HAS - 12)                                 ' calculate hours
of daylight

' Display results
''Text = "At Solar Time: " & Format(T, "##.000") & " (hr)" & vbCrLf
Text = Text & "Solar Time: " & DecimalToHMS(ST) & vbCrLf
Text = Text & "Hour Angle: " & Format(Degrees(HA), "###.00") & "
(deg)" & vbCrLf
Text = Text & "Declination: " & Format(Degrees(DE), "###.00") & "
(deg)" & vbCrLf
Text = Text & "Sun Altitude Angle: " & Format(Degrees(AL), "###.00") &
" (deg)" & vbCrLf
Text = Text & "Sun Zenith Angle: " & Format(Degrees(ZE), "###.00") & "
(deg)" & vbCrLf
Text = Text & "Sun Azimuth Angle: " & Format(Degrees(AZ), "###.00") &
" (deg)" & vbCrLf
Text = Text & "Time of Sunset (solar time): " & Format(HAS, "###.000")
& " (hr)" & vbCrLf
Text = Text & "Time of Sunrise (solar time): " & Format(HAR,
"###.000") & " (hr)" & vbCrLf
Text = Text & "Hours of Daylight: " & Format(HD, "###.00") & " (hr)" &
vbCrLf
''Text = Text & "Angle of Incidence on Collector: " &
Format(Degrees(CI), "###.00") & " (deg)" & vbCrLf

Me.Results = Text                                   ' display results
***********************************************************************************
Public Const Pi = 3.14159265                        ' define pi

Public Function Radians(Degree As Double) As Double
' convert degrees to radians
  Radians = Degree * Pi / 180                       ' calculate and
return degrees converted to radians
End Function

Public Function Degrees(Radian As Double) As Double
' convert radians to degrees
  Degrees = Radian * 180 / Pi                       ' calculate and
return radians converted to degrees
End Function

Public Function EquationOfTime(DayNumber As Double) As Double
' Equation of Time using day number
Dim R               As Double                       ' radians
  R = Radians((360 * (DayNumber - 1)) / 365.242)    ' load radians
  EquationOfTime = 0.258 * Cos(R) - 7.416 * Sin(R) - 3.648 * Cos(2 *
R) - 9.228 * Sin(2 * R)
End Function

Public Function LongitudeCorrection(TimeZone As Double, Longitude As
Double) As Double
' Longitude Correction using time zone and longitude
LongitudeCorrection = (15 * TimeZone - Longitude) / 15 ' calculate and
return solar time
End Function

Public Function LocalTime(ST As Double, DST As Double, EOT As Double,
LC As Double) As Double
' Local Time using solar time, daylight saving time, equation of time,
and longitude correction
  LocalTime = ST - (EOT / 60) + LC + DST            '  calculate and
return local time
End Function

Public Function SolarTime(LTD As Double, DST As Double, EOT As Double,
LC As Double) As Double
' Solar Time using local time decmal, daylight saving time, equation
of time, and longitude correction
SolarTime = LTD + (EOT / 60) - LC - DST             '  calculate and
return solar time
End Function

Public Function DecimalToHMS(X As Double) As String
' Return time in 24Hr. string formatted 19:29:12
Dim Hrs             As Integer                      ' hours
Dim Mins            As Integer                      ' minutes
Dim Secs            As Integer                      ' seconds
  
  Hrs = Int(X)                                      ' calculate hours
  Mins = Int(60 * (X - Hrs))                        ' calculate
minutes
  Secs = Int(3600 * (X - Hrs - Mins / 60))          ' calculate
seconds
  DecimalToHMS = Format(Hrs, "00") & ":" & Format(Mins, "00") & ":" &
Format(Secs, "00")
End Function

' arc sine
' error if value is outside the range [-1,1]
Function ASin(value As Double) As Double
If Abs(value) <> 1 Then
  ASin = Atn(value / Sqr(1 - value * value))
Else
  ASin = 1.5707963267949 * Sgn(value)
End If
End Function

' arc cosine
' error if NUMBER is outside the range [-1,1]
Function ACos(ByVal number As Double) As Double
If Abs(number) <> 1 Then
  ACos = 1.5707963267949 - Atn(number / Sqr(1 - number * number))
ElseIf number = -1 Then
  ACos = 3.14159265358979
End If
'elseif number=1 --> Acos=0 (implicit)
End Function

' arc cotangent
' error if NUMBER is zero
Function ACot(value As Double) As Double
  ACot = Atn(1 / value)
End Function

' arc secant
' error if value is inside the range [-1,1]
Function ASec(value As Double) As Double
' NOTE: the following lines can be replaced by a single call
'            ASec = ACos(1 / value)
If Abs(value) <> 1 Then
  ASec = 1.5707963267949 - Atn((1 / value) / Sqr(1 - 1 / (value *
value)))
Else
  ASec = 3.14159265358979 * Sgn(value)
End If
End Function

' arc cosecant
' error if value is inside the range [-1,1]
Function ACsc(value As Double) As Double
' NOTE: the following lines can be replaced by a single call
'            ACsc = ASin(1 / value)
If Abs(value) <> 1 Then
  ACsc = Atn((1 / value) / Sqr(1 - 1 / (value * value)))
Else
  ACsc = 1.5707963267949 * Sgn(value)
End If
End Function




This Thread
Bookmark this thread:
 
 
 
 
 
 
  •  
  • Subject
  • Author
  • Date
please rate this thread