Abstract: A door speed is detected at every predetermined detecting time, and a door position is calculated at a timing detected the door speed. A target speed according to the door position is obtained by a map. A microcomputer calculates a speed difference &Dgr;VD between the target speed and the actual or present speed, and an acceleration/deceleration value &Dgr;VC such as the speed difference between the door speed at the last detecting time and the present detecting time. A duty increasing value and the decreasing value of a PWM duty command value for adjusting a torque of the motor are set based on the speed difference &Dgr;VD and the acceleration/deceleration value &Dgr;VC, the motor is driven by the PWM duty command value based on the duty increasing value and the decreasing value.