Adaptive Flux-Weakening Controller for Interior Permanent Magnet Synchronous Motor Drives