I assume you know that:
- a unit with 5 exp cannot get any experience for fighting animals
- a unit with 10 exp cannot get any further experience for fighting barbarians
- the experience required for promotions grows for with the level of promotion: e.g., you need 2 exp to get your first promotion (from 0 to 2), but 7 exp for your 4th promotion (from 10 to 17).
Post more details about the problem, and preferably a also a savegame, just before a fight when you think you should get promotions but don't get any.