You could try something along these lines, I haven't put all of the code in, but just how this could be done for the sweep timer using millis().

    long sweepTime;
    long animationTime;
    int stepperPosition;
    
    
    void setup()
    {
    	//... other setup code
    	sweepTime = millis();		// initialise the variables for the sweep timer, and the animation timer
    	animationTime = millis();
    	stepperPosition = 2000;		// initialise the next stepper position
    }
    
    void loop()
    {
    	if (millis() - sweepTime > 500)	//	check if more than 500 milliseconds have elapsed since last time we ran this.
    	{
    		stepper.runToNewPosition(stepperPosition);	// change stepper position
    		sweepTime = millis();			// reset timer variable
    		switch (stepperPosition) {		// need to change the value of the next position to set the stepper to
    			case 0 : 
    				stepperPosition = 2000;
    				break;
    			case
    				stepperPosition = 0;
    				break;
    		}
    	}
    	//... continuation of loop code
    }

Additionally, I don't have my arduino with me, so can't verify the correctness of the code.