Finding my ancestor

My great-grandfather, Samuel Cornelius Robinson lived his life in Western North Carolina.However, family legends has it that he fought for the Union Army during the Civil War.According to his long-deceased daughter (who was an impeccably reliable source of information) he was with Sherman at the siege of Columbia, SC. At the time he would not have been more than 18 or 19 years old, so I'm assuming he was an infantry recruit.

I'd like to find his service record, but don't quite know how.Most fighting units were formed geographically, but so far I have not found him in any records of NC Union outfits. He might have fought for a TN or other state outfit, but the number of men named Sam Robinson who fought in the Civil War is quite large. It's worse than looking for a needle in a haystack.