I try to avoid making Tris buffers for the same reason-- it requires careful drip dropping of HCl. If you overshoot a little, you can bring the pH back using NaOH but then you have added NaCl to your buffer. I found out the hard way making TAE buffer this way-- the NaCl conducts electricity too well.
I need to make Tris pH 7.7 for protein purification and was wondering if there was a way to mix Tris base and Tris HCl to come close to the desired pH. It turns out you can using the Henderson Hasselbalch equation.
pH = pK + log([A-]/[HA])
pK for Tris is 8.1 at 25 deg C
[A-] = 0.285 and [HA] = 0.715 for a 1M solution when pH = 7.7
Using FW for Tris base and HCl that translates to 112.7g of Tris HCl and 34.5g Tris base.
Here is a python script I wrote to solve for the values. Save it as pH.py then make it executable using chmod u+x pH.py. To use it, type pH.py 7.7. Here is a sample output:
$ pH.py 7.7
For pH 7.7 Tris buffer at 25 deg
112.72 g of Tris-HCl for 1L of 1M soln
34.49 g of Tris-base for 1L of 1M soln
Here is the python script.
ph = float(sys.argv)
pk = 8.1 ## at 25 deg
##N.B. per Sigma catalog, pH drops 0.03 to 0.05 per ten fold dilution
## also increases ~0.03 per deg C
mwb = 121.136 # FW of tris base
mwa = 157.59 # FW of tris HCl
# use henderson hasselbalch equation to solve for a and b
# pH = pKa +log10(b/a)
a = 1./(1+10**(ph-pk)) #solve for a and b
b=1.-a # for a+b =1, i.e. 1M soln
# math is your friend
print "For pH %2.1f Tris buffer at 25 deg" % (ph)
print "%.2f g of Tris-HCl for 1L of 1M soln" % (a*mwa)
print "%.2f g of Tris-base for 1L of 1M soln" % (b*mwb)
OK, this is high school chemistry, but that was a long time ago. Hope you find this useful.