Need help on motor control

Hi! I was hoping you guys could help me out with something.
I need to control a 24V (about 300W) dc motor, and a 24V actuator with arduino.

The 24V motor is a power chair motor similar to this:

The actuator is similar to this:

Here is what I need to achieve.

I need to hav 3 speed settings for the motor (low, medium, high)
The motor also needs a on/off button (preferably a slow start mode of some sort)
The actuator needs to have a up/down button
The brake function on the motor would have to be operated with a limit switch
And one final switch for all power off.

I know this is a lot, but I would really appreciate any help or advice given.
Please ask if more info is required.

I attached a sketch of the setup I want.

Regards. David

Use relays for direct switching , mosfets and drivers with PWM for variable speeds and do some reading in the examples and tutorials.

I can’t work out what the actuator is for. Put that in the wrong place and it could make your eyes water.

The actuator is a candidate for relay control, simplest, but make sure the relay is chunky and
can handle large currents at DC (the stall current will be higher than the nominal full load
current of 3A, note).

For variable speed for the motor a full H-bridge is needed (or half-H-bridge if unidirectional,
or even a single switching device. However give up on the 3 speeds only idea, you need to
ramp-up the speed between the nominal levels smoothly if you want to keep the currents
sensible, these large motors will have stall currents in the 100’s of A range perhaps. Ramping
up the speed will allow the motor to reach speed without pulling unduely high currents.
You still need a big motor driver that can handle large currents and has over-current cutout
I think - although the nominal current is perhaps 15A it will just rise and rise if the motor is
overloaded/stalled, the full stall current can be determined by measuring the motor’s
resistance and calculating I = V/R.

I can't work out what the actuator is for. Put that in the wrong place and it could make your eyes water.

Maybe that is what it's for.....