Hoe plaats je een foto op dit forum, klik hier voor nadere uitleg.

Steun het forum. Koop via deze links: Nederlandstalige bierboeken, Engelstalige bierboeken, een bierig artikel of een ander artikel van bol.com

Auteur Topic: BrouwVisie (zuur toevoegen)  (gelezen 1140 keer)

0 leden en 1 gast bekijken dit topic.

Offline tieskewieske

  • Boven 10 berichten
  • *
  • Berichten: 26
  • Land: nl
  • Setting the first steps into a world of brewing
BrouwVisie (zuur toevoegen)
« Gepost op: 31-05-2019 14:10 u »
Goedemiddag,

Ik wil in BrouwVisie invullen hoeveel fosforzuur (75%) ik toevoeg aan mijn water. Hoe doe ik dit precies? Ik zie een leeg vakje, dan een M en dan H3PO4. Moet ik niet ook ergens invullen welke concentratie ik gebruik? Kan ik ook ergens uitrekenen hoeveel zuur/brouwzouten ik moet toevoegen? (Net als in BrouwHulp). 

Groet

Heb je iets nodig dat je bij Bol.com wil kopen? Zoek het op met de onderstaande advertentie en bestel. Pas het zoekwoord aan. Je kunt zoeken in de volledige catalogus van Bol. Door de spullen van Bol te kopen via onderstaande advertentie steun je het forum en het kost je niets extra. Voor de bierliefhebber hebben ze overigens meer spullen dan je zou verwachten. Zoek maar eens.


Offline Oscar

  • Beheerder BrouwVisie
  • Super lid
  • *****
  • Berichten: 24.012
  • Land: nl
  • BrouwVisie, brewvision, brauVision...
    • De Bier Brouwer
Re: BrouwVisie (zuur toevoegen)
« Reactie #1 Gepost op: 01-06-2019 00:11 u »


In je maisscherm... en dan bij je aantekeningen dat je dit aan je maischwater hebt toegevoegd

Kan ik ook ergens uitrekenen hoeveel zuur/brouwzouten ik moet toevoegen? (Net als in BrouwHulp). 

Nee...


Offline Jacques

  • Hoofdbeheerder
  • Super lid
  • *****
  • Berichten: 33.270
  • Land: nl
  • Brouw ze, roer ze en Proost!
    • Hobbybrouwen.nl
Re: BrouwVisie (zuur toevoegen)
« Reactie #2 Gepost op: 01-06-2019 15:28 u »


In je maisscherm... en dan bij je aantekeningen dat je dit aan je maischwater hebt toegevoegd

Nee...

Daarvoor heb je een aanvullend rekenhulpje voor nodig zoals

https://sites.google.com/site/brunwater/
of
http://www.ezwatercalculator.com/


@Oscar
Misschien een idee om dit alsnog in te bouwen? (Ik weet het... dat kost de nodige tijd en die is schaars.)

Offline Oscar

  • Beheerder BrouwVisie
  • Super lid
  • *****
  • Berichten: 24.012
  • Land: nl
  • BrouwVisie, brewvision, brauVision...
    • De Bier Brouwer
Re: BrouwVisie (zuur toevoegen)
« Reactie #3 Gepost op: 02-06-2019 01:42 u »
@Oscar
Misschien een idee om dit alsnog in te bouwen? (Ik weet het... dat kost de nodige tijd en die is schaars.)

Indien ik de formules kan achterhalen.... :denken:

Offline hansHalberstadt

  • Super lid
  • *****
  • Berichten: 7.458
  • Land: nl
  • meten is weten
Re: BrouwVisie (zuur toevoegen)
« Reactie #4 Gepost op: 02-06-2019 10:07 u »
Zou inderdaad mooi zijn om daar een keer de theorie van op een rijtje te hebben. Adrie heeft eea geimplementeerd. Als je zoekt in zijn code dan staat het in frwateradjustment.pas. Maar dat is 70kB aan programmacode, dus niet echt uitnodigend voor reverse engineering.

Offline Jacques

  • Hoofdbeheerder
  • Super lid
  • *****
  • Berichten: 33.270
  • Land: nl
  • Brouw ze, roer ze en Proost!
    • Hobbybrouwen.nl
Re: BrouwVisie (zuur toevoegen)
« Reactie #5 Gepost op: 02-06-2019 12:05 u »
Indien ik de formules kan achterhalen.... :denken:

Zie de links die ik hiervoor gegeven heb. (Excel-rekenbladen...)

Offline Oscar

  • Beheerder BrouwVisie
  • Super lid
  • *****
  • Berichten: 24.012
  • Land: nl
  • BrouwVisie, brewvision, brauVision...
    • De Bier Brouwer
Re: BrouwVisie (zuur toevoegen)
« Reactie #6 Gepost op: 02-06-2019 12:40 u »
Zie de links die ik hiervoor gegeven heb. (Excel-rekenbladen...)

Ja... de ene is niet te lezen en de ander is beveiligd, dus dat wordt hem niet...

Offline William

  • Maasland thuisbrouwers genootschap
  • Super lid
  • *****
  • Berichten: 9.930
  • Land: nl
  • kloek, kloek, kloek en gezondheid!
    • Kloekus
Re: BrouwVisie (zuur toevoegen)
« Reactie #7 Gepost op: 02-06-2019 13:05 u »
In de BrouwHulp excel kun je de VB code achterhalen (ontwikkelaarsmode, macros):

Er zijn daar twee sub procedures

Sub BrewingSalts()
''Calculate adding brewing salts based on desired Target water

en
Sub BrewingSalts2()
''Calculate adding brewing salts based on residual alkalinity for the beer color and Cl/SO4 ratio of the Target water
"

Daarnaast is het vooral de juiste doelwaarden en startwaarden uit de excelinvoervelden trekken.

Hieronder de code in de macro. Moet te doen zijn toch?


Sub BrewingSalts()
''Calculate adding brewing salts based on desired Target water

Dim Na1 As Double, Na2 As Double, Ca1 As Double, Ca2 As Double, Mg1 As Double, Mg2 As Double
Dim Cl1 As Double, Cl2 As Double, SO41 As Double, SO42 As Double, CO31 As Double, CO32 As Double
Dim dNa As Double, dCa As Double, dMg
Dim dCl As Double, dSO4 As Double, dCO3 As Double
Dim NaCl1 As Double, Na2CO31 As Double, CaCl21 As Double, CaCO31 As Double
Dim NaCl2 As Double, Na2CO32 As Double, CaCl22 As Double, CaCO32 As Double
Dim NaCl3 As Double, Na2CO33 As Double, CaCl23 As Double, CaCO33 As Double
Dim NaCl4 As Double, Na2CO34 As Double, CaCl24 As Double, CaCO34 As Double
Dim MgSO4 As Double, CaSO4 As Double
Dim Neg1 As Double, Neg2 As Double, Neg3 As Double, Neg4 As Double, MaxNeg As Double
Dim Vol As Double

Call BrewingSaltsZero

CaSO4 = 0
CaCl21 = 0
CaCO31 = 0
NaCl1 = 0
Na2CO31 = 0
CaCl22 = 0
CaCO32 = 0
NaCl2 = 0
Na2CO32 = 0
CaCl23 = 0
CaCO33 = 0
NaCl3 = 0
Na2CO33 = 0
CaCl24 = 0
CaCO34 = 0
NaCl4 = 0
Na2CO34 = 0
MgSO4 = 0

'' Get concentration of ions in dilluted brewwater (1) and Target water (2) in mmol/l
Ca1 = GetCellValue("Waterbehandeling", "C8") / CaMol
Ca2 = GetCellValue("Waterbehandeling", "C5") / CaMol
Mg1 = GetCellValue("Waterbehandeling", "D8") / MgMol
Mg2 = GetCellValue("Waterbehandeling", "D5") / MgMol
Na1 = GetCellValue("Waterbehandeling", "E8") / NaMol
Na2 = GetCellValue("Waterbehandeling", "E5") / NaMol

CO31 = GetCellValue("Waterbehandeling", "F8") / CO3Mol
CO32 = GetCellValue("Waterbehandeling", "F5") / CO3Mol
SO41 = GetCellValue("Waterbehandeling", "G8") / SO4Mol
SO42 = GetCellValue("Waterbehandeling", "G5") / SO4Mol
Cl1 = GetCellValue("Waterbehandeling", "H8") / ClMol
Cl2 = GetCellValue("Waterbehandeling", "H5") / ClMol

Vol = GetCellValue("Waterbehandeling", "C11")

dNa = Max(Na2 - Na1, 0)
dCa = Max(Ca2 - Ca1, 0)
dMg = Max(Mg2 - Mg1, 0)
dCl = Max(Cl2 - Cl1, 0)
dSO4 = Max(SO42 - SO41, 0)
dCO3 = Max(CO32 - CO31, 0)

MgSO4 = dMg
CaSO4 = Max(dSO4 - dMg, 0)

''situation 1: no Na2CO3
Na2CO31 = 0
NaCl1 = dNa
CaCl21 = (dCl - dNa) / 2
CaCO31 = dCO3
Neg1 = Min(Na2CO31, NaCl1, CaCl21, CaCO31)

''situation 2: no NaCl
NaCl2 = 0
CaCl22 = dCl / 2
CaCO32 = dCa + dMg - dSO4 - dCl / 2
Na2CO32 = dNa / 2
Neg2 = Min(Na2CO32, NaCl2, CaCl22, CaCO32)

''situation 3: no CaCO3
CaCO33 = 0
Na2CO33 = dCO3
NaCl3 = dNa - 2 * dCO3
CaCl23 = dCa + dMg - dSO4
Neg3 = Min(Na2CO33, NaCl3, CaCl23, CaCO33)

''situation 4: no CaCl2
CaCl24 = 0
NaCl4 = dCl
CaCO34 = dCa + dMg - dSO4
Na2CO34 = dNa - dCl
Neg4 = Min(Na2CO34, NaCl4, CaCl24, CaCO34)

MaxNeg = Max(Neg1, Neg2, Neg3, Neg4)

If Neg1 = MaxNeg Then
  NaCl1 = Max(NaCl1, 0)
  CaCl21 = Max(CaCl21, 0)
  CaCO31 = Max(CaCO31, 0)
  Na2CO31 = Max(Na2CO31, 0)
ElseIf Neg2 = MaxNeg Then
  NaCl1 = Max(NaCl2, 0)
  CaCl21 = Max(CaCl22, 0)
  CaCO31 = Max(CaCO32, 0)
  Na2CO31 = Max(Na2CO32, 0)
ElseIf Neg3 = MaxNeg Then
  NaCl1 = Max(NaCl3, 0)
  CaCl21 = Max(CaCl23, 0)
  CaCO31 = Max(CaCO33, 0)
  Na2CO31 = Max(Na2CO33, 0)
ElseIf Neg4 = MaxNeg Then
  NaCl1 = Max(NaCl4, 0)
  CaCl21 = Max(CaCl24, 0)
  CaCO31 = Max(CaCO34, 0)
  Na2CO31 = Max(Na2CO34, 0)
End If

''calculate addition in grams per salt
NaCl1 = NaCl1 * (NaMol + ClMol) * Vol / 1000
CaCl21 = CaCl21 * (CaMol + 2 * ClMol + 2 * H2OMol) * Vol / 1000
Na2CO31 = Na2CO31 * (2 * NaMol + CO3Mol) * Vol / 1000
CaCO31 = CaCO31 * (CaMol + CO3Mol) * Vol / 1000
MgSO4 = MgSO4 * (MgMol + SO4Mol + 7 * H2OMol) * Vol / 1000
CaSO4 = CaSO4 * (CaMol + SO4Mol + 2 * H2OMol) * Vol / 1000

Call SetCellValue("Waterbehandeling", "C12", 1 * CaSO4)
Call SetCellValue("Waterbehandeling", "C13", 1 * CaCl21)
Call SetCellValue("Waterbehandeling", "C14", 1 * CaCO31)
Call SetCellValue("Waterbehandeling", "C15", 1 * MgSO4)
Call SetCellValue("Waterbehandeling", "C16", 1 * Na2CO31)
Call SetCellValue("Waterbehandeling", "C17", 1 * NaCl1)
End Sub


Sub BrewingSalts2()
''Calculate adding brewing salts based on residual alkalinity for the beer color and Cl/SO4 ratio of the Target water

Dim Na1 As Double, Na2 As Double, Ca1 As Double, Ca2 As Double, Mg1 As Double, Mg2 As Double
Dim Cl1 As Double, Cl2 As Double, SO41 As Double, SO42 As Double, CO31 As Double, CO32 As Double
Dim dNa As Double, dCa As Double, dMg
Dim dCl As Double, dSO4 As Double, dCO3 As Double
Dim NaCl As Double, Na2CO3 As Double, CaCl2 As Double, CaCO3 As Double
Dim MgSO4 As Double, CaSO4 As Double
Dim Neg1 As Double, Neg2 As Double, Neg3 As Double, Neg4 As Double, MaxNeg As Double
Dim Vol As Double
Dim R1 As Double, R2 As Double, R3 As Double
Dim Ratio1 As Double, Ratio2 As Double

Call BrewingSaltsZero

CaSO4 = 0
CaCl2 = 0
CaCO3 = 0
NaCl = 0
Na2CO3 = 0
MgSO4 = 0
R1 = 0
R2 = 0
dNa = 0
dCa = 0
dMg = 0
dCl = 0
dSO4 = 0
dCO3 = 0

'' Get concentration of ions in dilluted brewwater (1) and Target water (2) in mmol/l
Ca1 = GetCellValue("Waterbehandeling", "C8") / CaMol
Ca2 = GetCellValue("Waterbehandeling", "C5") / CaMol
Mg1 = GetCellValue("Waterbehandeling", "D8") / MgMol
Mg2 = GetCellValue("Waterbehandeling", "D5") / MgMol
Na1 = GetCellValue("Waterbehandeling", "E8") / NaMol
Na2 = GetCellValue("Waterbehandeling", "E5") / NaMol

CO31 = GetCellValue("Waterbehandeling", "F8") / CO3Mol
CO32 = GetCellValue("Waterbehandeling", "F5") / CO3Mol
SO41 = GetCellValue("Waterbehandeling", "G8") / SO4Mol
SO42 = GetCellValue("Waterbehandeling", "G5") / SO4Mol
Cl1 = GetCellValue("Waterbehandeling", "H8") / ClMol
Cl2 = GetCellValue("Waterbehandeling", "H5") / ClMol

Vol = GetCellValue("Waterbehandeling", "C11")

''Calculate Residual Alkalinity of the brewing water and the desired RA for the beer color
R1 = 2.8 * CO31 - 1.6 * Ca1 - 0.8 * Mg1
R2 = GetCellValue("Waterbehandeling", "F28")

''First, get SO4 levels at desired level, using the Cl/SO4 ratio:
Ratio1 = Cl1 / SO41 ''current ratio
Ratio2 = Cl2 / SO42 ''ratio in Target water

If Ratio2 <= Ratio1 Then ''add calcium sulfate
  SO42 = Ratio1 * SO41 / Ratio2
  CaSO4 = SO42 - SO41
  Cl2 = Cl1
  Ca2 = Ca1 + CaSO4
Else: ''add calcium chloride
  Cl2 = Ratio2 * Cl1 / Ratio1
  CaCl2 = 0.5 * (Cl2 - Cl1)
  SO42 = SO41
  Ca2 = Ca1 + CaCl2
End If
 
''Now calculate the new Residual Alkalinity
R3 = 2.8 * CO31 - 1.6 * Ca2 - 0.8 * Mg1
If R3 > R2 Then ''RA is still too high. Add CaCl2 and CaSO4, but don't change the Cl/SO4 ratio
  Ca2 = (2.8 * CO31 - 0.8 * Mg1 - R2) / 1.6
  dCa = Ca2 - (Ca1 + CaSO4)
  ''CaCl2 = CaCl2 + (Ratio2 * SO42 + Ratio2 * dCa - Cl2) / (Ratio2 + 2)
  ''CaSO4 = CaSO4 + dCa - CaCl2
  CaCl2 = CaCl2 + dCa / ((2 / Ratio2) + 1)
  CaSO4 = CaSO4 + 2 * CaCl2 / Ratio2
ElseIf R3 < R2 Then ''RA is too low. Add CaCO3
  CaCO3 = (R2 - R3) / 1.2
  dCa = dCa + CaCO3
End If

''calculate addition in grams per salt
CaCl2 = CaCl2 * (CaMol + 2 * ClMol + 2 * H2OMol) * Vol / 1000
CaCO3 = CaCO3 * (CaMol + CO3Mol) * Vol / 1000
CaSO4 = CaSO4 * (CaMol + SO4Mol + 2 * H2OMol) * Vol / 1000

Call SetCellValue("Waterbehandeling", "C12", 1 * CaSO4)
Call SetCellValue("Waterbehandeling", "C13", 1 * CaCl2)
Call SetCellValue("Waterbehandeling", "C14", 1 * CaCO3)
End Sub

Offline Oscar

  • Beheerder BrouwVisie
  • Super lid
  • *****
  • Berichten: 24.012
  • Land: nl
  • BrouwVisie, brewvision, brauVision...
    • De Bier Brouwer
Re: BrouwVisie (zuur toevoegen)
« Reactie #8 Gepost op: 02-06-2019 13:09 u »
In de BrouwHulp excel kun je de VB code achterhalen (ontwikkelaarsmode, macros):

Ja, die heb ik al uitgepluist... en dat zit al in BrouwVisie  :)

Offline hansHalberstadt

  • Super lid
  • *****
  • Berichten: 7.458
  • Land: nl
  • meten is weten
Re: BrouwVisie (zuur toevoegen)
« Reactie #9 Gepost op: 02-06-2019 13:39 u »
Restalkaliniteit wordt berekend, maar geen pH als ik het goed zie.

Offline Jacques

  • Hoofdbeheerder
  • Super lid
  • *****
  • Berichten: 33.270
  • Land: nl
  • Brouw ze, roer ze en Proost!
    • Hobbybrouwen.nl
Re: BrouwVisie (zuur toevoegen)
« Reactie #10 Gepost op: 02-06-2019 14:19 u »
Ja... de ene is niet te lezen en de ander is beveiligd, dus dat wordt hem niet...

Volgens mij hef je de beveilig van de tweede link eenvoud op...

Offline middelaersch

  • Senior lid
  • ****
  • Berichten: 328
  • Land: nl
  • En ik preuf, 't smakt, heb ik zelf gemakt!
Re: BrouwVisie (zuur toevoegen)
« Reactie #11 Gepost op: 02-06-2019 21:40 u »
Volgens mij hef je de beveilig van de tweede link eenvoud op...

Google op

 excel protected sheet remove password

Of breng ik nu iemand op verkeerde ideeŽn?

Offline hansHalberstadt

  • Super lid
  • *****
  • Berichten: 7.458
  • Land: nl
  • meten is weten
Re: BrouwVisie (zuur toevoegen)
« Reactie #12 Gepost op: 02-06-2019 22:04 u »
Zou inderdaad mooi zijn om daar een keer de theorie van op een rijtje te hebben. Adrie heeft eea geimplementeerd. Als je zoekt in zijn code dan staat het in frwateradjustment.pas. Maar dat is 70kB aan programmacode, dus niet echt uitnodigend voor reverse engineering.
zie
https://github.com/BrewBuddyOrg/BrewBuddy/blob/master/Source/UserInterface/Forms/frwateradjustment.pas

Offline Oscar

  • Beheerder BrouwVisie
  • Super lid
  • *****
  • Berichten: 24.012
  • Land: nl
  • BrouwVisie, brewvision, brauVision...
    • De Bier Brouwer
Re: BrouwVisie (zuur toevoegen)
« Reactie #13 Gepost op: 04-06-2019 11:22 u »
Google op

 excel protected sheet remove password

Of breng ik nu iemand op verkeerde ideeŽn?

 :brouwen: ^-^ :duimop: :duimop:

Tags: