A motor drive device comprising: a multiplex winding motor having an armature iron core wound with armature windings including a plurality of winding sets (311, 312) each of which includes windings for a plurality of phases; voltage application means for applying voltages to the plurality of winding sets (311,312); and control means for calculating a voltage command for the plurality of winding sets (311,312) and controlling the voltage application means based on the voltage command, wherein the control means is configured to control the voltage application means so that induced voltages generated in the plurality of winding sets (311, 312) by rotation of the multiplex winding motor each have a trapezoidal waveform, wherein a current applied in the armature windings is based on the voltage command, wherein the voltage command or said current having the trapezoidal waveform is generated by at least one of a fifth-order harmonic component and a seventh-order harmonic component being superimposed on a fundamental wave component having a sine waveform, characterized in that the control means is configured to calculate a current command indicating a value of current to flow in the armature windings, based on desired torque, and has a control loop for calculating the voltage command based on the current command, and a phase difference between the voltages for the plurality of winding sets(311,312) becomes a value that reduces torque ripple caused by the induced voltages in that a 6 (2m- 1) -th order torque ripple, wherein m is an integer equal to or greater than 1, due to a {6(2m - 1) ± 1} -th order harmonic component of the induced voltage has a phase difference between the winding sets by which said torque ripples are cancelled by each other. a multiplex winding motor having an armature iron core wound with armature windings including a plurality of winding sets (311, 312) each of which includes windings for a plurality of phases; voltage application means for applying voltages to the plurality of winding sets (311,312); and control means for calculating a voltage command for the plurality of winding sets (311,312) and controlling the voltage application means based on the voltage command, wherein the control means is configured to control the voltage application means so that induced voltages generated in the plurality of winding sets (311, 312) by rotation of the multiplex winding motor each have a trapezoidal waveform, wherein a current applied in the armature windings is based on the voltage command, wherein the voltage command or said current having the trapezoidal waveform is generated by at least one of a fifth-order harmonic component and a seventh-order harmonic component being superimposed on a fundamental wave component having a sine waveform, characterized in that the control means is configured to calculate a current command indicating a value of current to flow in the armature windings, based on desired torque, and has a control loop for calculating the voltage command based on the current command, and a phase difference between the voltages for the plurality of winding sets(311,312) becomes a value that reduces torque ripple caused by the induced voltages in that a 6 (2m- 1) -th order torque ripple, wherein m is an integer equal to or greater than 1, due to a {6(2m - 1) ± 1} -th order harmonic component of the induced voltage has a phase difference between the winding sets by which said torque ripples are cancelled by each other.