能, 会，可以 all have the meaning of ‘can, able to’
However, there are some subtle differences between them.
会 (huì) is indicates a ‘learned ability’
nǐ huì bù huì tán gāng qín
你会不会弹钢琴？ Can you play the piano?
（Do you have the ability to play the piano, have you learned to play the piano)
wǒ huì chàng gē
我会唱歌 I can sing
wǒ huì tiào wǔ
我会跳舞 I can dance
On the other hand though, 会 also has the meaning of ‘will’
nǐ míng tiān huí bù huí lái
Will you come tomorrow?
（as in I don’t know whether you are going to come over or not)
wǒ yī cān huì chī hěn duō fàn
I will eat a lot in a meal.
(I am actually going to eat a lot in my next meal, haha, be worried)
能 is indicates a ‘inherited ability’, or something that someone already know-how
nǐ néng bù néng tán gāng qín (gěi wǒ tīng)
你能不能弹钢琴 （给我听）？ Can you play the piano (for me)?
(I already know that you know how to piano the piano, but can you play the piano for me)
你明天能不能来？ nǐ míng tiān néng bù néng lái
Can/could you come tomorrow?
(‘to come over’ is an inherited ability, so I know you have the ability to come, but do you want to come over. Note that this is more informal and less demanding than 可以)
我一餐能吃很多饭。wǒ yī cān néng chī hěn duō fàn
I can eat a lot in a meal
(I have the ability to eat a lot in a meal, but whether I am going to eat a lot for my next meal, that is another saying)
可以 is used when you need to make a request or asking for permission
你可不可以弹钢琴(给我听)？ nǐ kě bù kě yǐ tán gāng qín (gěi wǒ tīng)
Can you play the piano?
(I know you know how to play the piano. Would you please play the piano for me)
你明天可不可以来？nǐ míng tiān kě bù kě yǐ lái
Can you come tomorrow?
(It is similar to 能不能来， but in a more demanding, formal way)
我一餐可以吃很多饭。wǒ yī cān kě yǐ chī hěn duō fàn
I can eat a lot in a meal.
(Again, similar to 能，it is to say that I have the ability to eat a lot in a meal. However, this is more polite, it sounds less like as if you were bragging)
nǐ kě yǐ bāng wǒ gè máng ma
Could you possibly do me a favor? (polite form)
nǐ néng bāng wǒ gè máng ma?
—> 你能帮我个忙吗？ Can you do me a favor? (more intimate, less formal)
nǐ huì bāng wǒ de máng ma?
—->你会帮我的忙吗？Will you do me the favor?
(It is not whether you can or not, but will you do it)