I also tried your buffer calculator, Borek. It came up with about 7.72g of HCl to use which comes out to ~0.211 moles but my calculations gave me 0.5511 moles.

Not knowing how you did it I can't comment - the most obvious approach to use Buffer Maker gives the answer in terms of volume of 1M solution, not in terms of the mass of HCl. Also please note that by default Buffer Maker calculates result using different pKa values (widely accepted 3.128, 4.761, 6.396), so the result can't be identical. These values can be easily changed. Attached image contains results of the calculations done for these values. It shows you need 0.5548 moles of HCl - both 0.5548 and 0.5519 yield the same final pH of 2.50.

3 * 0.1519 + 2 * 0.48 = Is the number of protons should be added.

While this is correct (although see the next paragraph), I find it rather confusing. The way I see it it is much simpler to follow obvious stoichiometry of the reactions involved. First you need to completely protonate Citrate

^{3-} to H

_{2}Citrate

^{-} - which means 2*0.2 mole of H

^{+}, and then protonate 0.1519 mole of the H

_{2}Citrate

^{-} to H

_{3}Citrate. That yields the same 0.5519 moles of H

^{+}, but it is much more obvious why you need 2*0.2 than why you need 2*0.1519+2*0.048 to get to H

_{2}Citrate

^{-} stage.

Please note there is a typo in what you wrote, which makes the result completely off. Should be 2*0.

**0**48.