How to use negative voltage feedback to make output voltage constant?
The least hardware would be to use an ADC on your micro and control the PWM directly. 

Protection against a load that is too low probably should be a current limit on the MOSFET current rather than a limit on input voltage. 

If you want to do the control loop with hardware, here is a starting point. In any case you'll may have to make some modifications to the loop response to get the closed-loop characteristics you need (overshoot, response time, stability). 







simulate this circuit &ndash; Schematic created using CircuitLab

This is just a starting point- Rg controls the loop gain, so something like like a couple hundred K may work for you. Too high and it won't be stable, too low and you get sloppy control. Rg as an RC can act to zero the error but there are other bad effects (read up on control theory if you want to know this stuff). 

Edit: The first amplifier is an inverting amplifier with gain of 0.00333 so you get 0~+5V for 0~-1500V in relative to ground. The second amplifier is the controller- it subtracts the signal from 5V and provides a signal that Rg/10K times the difference to the ADJ terminal of U1. For a stable output of -1500v say 7V is required, then the output of OA2 should be at 7V - Vref (of U1). Any change in the -1500V will cause a change at the adj terminal of 0.00333 * Rg/10K. If Rg/10K = 300K, then a 1% droop in the -1500V will cause the regulator voltage to rise by 1.5V.