I'm a little confused by the data given, and here's why.
Ethylenediamine (en), or #(CH_2)_2(NH_2)_2#, is a weak base, which implies that you've essentially performed a weak base - strong acid titration.
Because en is dibasic, you'll have 2 equivalence points on the titration curve, and the pH after neutralization will be less than 7.
Now, if you've used 15 mL of a 30% en solution in the titration, the 2.5 mL volume of #"HCl"# solution used is far too little.
A #"30% v/v"# solution would have 30 mL of en in every 100 mL of solution; if you've used 15 mL of solution, then the volume of en is
#"30%" = V_("en")/V_("solution") * 100 => V_("en") = (30 * V_("solution"))/100#
#V_("en") = (30 * "15 mL")/100 = "4.5 mL"#
Using its given density will give you the mass
#4.5cancel("mL") * "0.90 g"/(1cancel("mL")) = "4.05 g"#
Here's what doesn't seem right to me. In this case, the number of moles of en would be
#4.05cancel("g") * "1 mole"/(60.10cancel("g")) = "0.0674 moles en"#
The first equivalence point would have the number of moles of en equal to the number of moles of HCl, which is
#C = n/V => n = C * V#
#n_("HCl") = "5 M" * 2.5 * 10^(-3)"L" = "0.0125 moles HCl"#
In this case, It'sclear that you've used too little #"HCl"# and neutralization is a long way ahead, i.e. you need more #"HCl"#.
Another approach I'd take is to work backwards from the number of moles of #"HCl"# to get the number of moles of en.
The second equivalence point requires 2 times more moles of #"HCl"# than of en, which means that
#n_("en") = "0.0125 moles"/2 = "0.00625 moles en"#
This is equivalent to
#0.00625cancel("moles en") * "60.10 g"/(1 cancel("mole en")) = "0.376 g en "#, or
#rho = m/V => V_("en") = m/(rho) = (0.376cancel("g"))/(0.90cancel("g")/"mL") = "0.42 mL"#
which corresponds to
#V_("solution") = (V_("en") * 100)/30 = "1.4 mL en solution"#
As I can see it, you've either used 1.5 mL of solution instead of 15 mL, or 25 mL of HCl instead of 2.5 mL.