I want the battles to be very tough but winnable.
What do you mean by "very tough"? Personally I think that the general quality to make a situation feel tough is uncertainty. Something feels tough when you don't know you're gonna succeed until you do, and in the meantime you don't know if you're running out of time, resources, fatigue, or if there's a pending chance of sudden failure (other random or due to a possible mistake on your part).
Now, for some players a "very tough" combat in a RPG can mean pretty much grinding each other resources not knowing who's going to run out of them first. You can't have multiple encounters like this unless you provide a "reset" (total or partial) of resources for the winners between combats.
So if I wanted to achieve the feel of "very tough" all the time here, I would look into different opportunities:
1) Make all the encounters feel like one: let the players know that the other waves are coming quickly so that they start feeling pressed and concerned immediately about conserving resources. In theory, you could use the encounters building guidelines to balance everything as a single battle, keeping in mind that the fact that parts of the enemies enter combat with a delay decreases the difficulty, so you have to estimate how much to compensate for that to achieve the wanted difficulty. This should be the easiest option, but at the cost of having less room for surprises, and that you won't have a "barely made it" feeling repeated multiple times.
2) More challenging for you, another option is to design encounters not based on resource grinding but on key gamechangers. For example, for every wave there may be 1-2 ideas to discover that allow a quick win: collapsing a structure where the enemies are standing, opening a floodgate which swipes them away, setting the enemies on fire (classic scenario: torching a giant web full of spiders)... If you make the encounter feel slow and sluggish enough, giving the feeling that on a strict resource grinding tactic the party will lose, it forces the players to think outside the box while giving them time to find decent ideas.