There is one thing that you have all avoided to mention. That is that there actually is a "best frequency" and that is related to the L/R time constant in the circuit.
The more L and the less R, the longer the time constant. There is also the question if this is a four quadrant, two quadrant or single quadrant application.
A single quadrant (one rotation direction and one torque direction) can, and should, use a free-wheeling diode.
Other applications can or can ot have them, depending on where you put them and if the it is speed or torque that changes direction.
Now, back to frequency. If this is an application with only one torque direction, you can use a rather high switching frequency since you do not have a lot of switching losses, thanks to the free-wheeling diode. And iron losses also stay rather low.
In an application where you need an H bridge, which seems unlikely in this case, you may need to think about cross-conduction and make sure your high and low transistors do not conduct overlapping. That reduces possible frequency to levels somewhere between 10 and 50 kHz, depending on transistor types and power levels. But, at those switching speeds, you need a fast micro to get the resolution you need.
That said, I would use your 2 kHz, which seems to be a good choice for a simple micro. That will give you enough resolution. But noise will probably be very irritating.
So, where does L/R time constant come into this? Simple, you probably want the torque ripple to be below a certain level. By making the switching period small compared to L/R, you can reduce torque ripple arbitrarily.
If there is a simple formula where you can plug in your parameters? Surely. One can set up all relationsships in the circuit and motor as a set of equations and solve for whatever is needed. But a little testing and some gut feeling works very well here.
Gunnar Englund
--------------------------------------
100 % recycled posting: Electrons, ideas, finger-tips have been used over and over again...