A motor drive device for driving a brushless DC motor comprising a rotor and a stator having three-phase windings, the motor drive device comprising: an inverter for supplying electric power to the three-phase windings; a terminal voltage obtaining unit for obtaining a terminal voltage of the brushless DC motor; a first waveform generation unit for outputting a first waveform signal that is a waveform having a conduction angle of 120° or more and 150° or less; a frequency setting unit for setting a frequency by changing only the frequency while keeping a duty constant; a second waveform generation unit for outputting a second waveform signal that is a waveform having a predetermined relation with respect to the terminal voltage obtained by the terminal voltage obtaining unit, the frequency set by the frequency setting unit, and a conduction angle of 120° or more and less than 180°; a switching determination unit for switching output so that the first waveform signal is output when a speed of the rotor is determined to be lower than a predetermined speed, and the second waveform signal is output when the speed of the rotor is determined to be higher than the predetermined speed; and a drive unit for outputting a drive signal to the inverter indicating a supplying timing of electric power supplied to the three-phase windings based on one of the first and the second waveform signals output from the switching determination unit, characterized in that the motor drive device further comprises a frequency limiting unit receiving an input of the frequency set by the frequency setting unit, and for outputting the input frequency when the frequency is equal to or below an upper limit frequency and outputting the upper limit frequency when the frequency is above the upper limit frequency, an upper limit frequency setting unit for setting the upper limit frequency based on a maximum frequency of the first waveform signal, and outputting the upper limit frequency to the frequency limiting unit, and an upper limit frequency changing unit for resetting the upper limit frequency by temporally switching from drive by the second waveform signal to drive by the first waveform signal when a predetermined time has passed after the start of drive by the second waveform signal. an inverter for supplying electric power to the three-phase windings; a terminal voltage obtaining unit for obtaining a terminal voltage of the brushless DC motor; a first waveform generation unit for outputting a first waveform signal that is a waveform having a conduction angle of 120° or more and 150° or less; a frequency setting unit for setting a frequency by changing only the frequency while keeping a duty constant; a second waveform generation unit for outputting a second waveform signal that is a waveform having a predetermined relation with respect to the terminal voltage obtained by the terminal voltage obtaining unit, the frequency set by the frequency setting unit, and a conduction angle of 120° or more and less than 180°; a switching determination unit for switching output so that the first waveform signal is output when a speed of the rotor is determined to be lower than a predetermined speed, and the second waveform signal is output when the speed of the rotor is determined to be higher than the predetermined speed; and a drive unit for outputting a drive signal to the inverter indicating a supplying timing of electric power supplied to the three-phase windings based on one of the first and the second waveform signals output from the switching determination unit, characterized in that the motor drive device further comprises a frequency limiting unit receiving an input of the frequency set by the frequency setting unit, and for outputting the input frequency when the frequency is equal to or below an upper limit frequency and outputting the upper limit frequency when the frequency is above the upper limit frequency, an upper limit frequency setting unit for setting the upper limit frequency based on a maximum frequency of the first waveform signal, and outputting the upper limit frequency to the frequency limiting unit, and an upper limit frequency changing unit for resetting the upper limit frequency by temporally switching from drive by the second waveform signal to drive by the first waveform signal when a predetermined time has passed after the start of drive by the second waveform signal.