Я съел... = "I ate something (so it does not exist any more)" (An object is obligatory)
Я поел... = "I ate a serving/a portion of some meal" (An object is optional. When used without object, it often has the meaning "I have (just) eaten")
Russian Perfective expresses the idea "an action reached its logical end point at some time in the past" (even if "the past" is just one second ago). ( On Aspect of Russian Verbs )
There is no grammatical way to distinguish cases "an action was in the past" and "an action has completed and it has some actual results right now". You should use lexical means to do that.
Some adverbs to express "present perfect":
уже — already, yet, just
только — just
как раз, только что — just now, right now, or "right at that moment" ("past perfect")
"I have eaten (now)." — "Я поел", "Я как раз поел", "Я только что поел".
"I was eating, when he arrived" — "Я ел, когда он пришел".
"I had eaten, when he arrived" — "Я как раз поел, когда он пришел", "Я уже поел, когда он пришел".
"I had been eating for 5 minutes, when he arrived" — "Я ел уже 5 минут, когда он пришел".