This paper presents the design of a complete self-tunable method for detecting the rotor position at low, high, and standstill speeds under different motor power ratings in a switched reluctance motor (SRM). In this method, high frequency diagnostic pulses with different pulse widths are applied to the three-stator pole windings and then the proper size pulse width is determined for that particular motor at standstill. At low speeds, the rotor positions are then sensed with the selected pulse width by applying the pulse to the un-energized phase winding while sensing the rotor position from the resulting phase winding current magnitude. At high speeds (beyond motor rated speed) the rotor position is detected by the current magnitude produced by the injected pulse and at the same time advancing the phase on time according to the motor speed. The designed controller is tested on different motor ratings ranging from 20 W to 2 KW. In order to demonstrate the feasibility and practicability of the method, this controller is applied in a vacuum cleaner with a switched reluctance motor.