Arduino, solenoid driver and current limiter

For what purpose do you need PWM?

It were easier if you measure the current and adjust the PWM duty cycle as required. No FET driver and current limiting chip required.