DC motors are used in industry extensively due to their high reliability, low cost, simple control of speed and position, low energy consumption and their compatibility with digital systems. There are different methods for controlling the speed of DC motors, mainly armature voltage or field control. In this paper, the speed of a separately excited DC motor is controlled by means of self-tuning fuzzy PID method. Against classic PID controllers in which the
,
and
values are constant, and are determined for a specific speed, in a self-tuning PID,
,
and
values are varied with the speed variations. In this paper, two distinct systems have been suggested for the control of DC motor. The output is examined and compared using the error and derivative error, or error and integrated error. After that, the most optimum regarding the overshoot value and settling time is selected. Finally, to reduce the overshoot value and the settling time of the system, we combined them. The presented method is simulated by means of the data from a DC motor in MATLAB software and the Simulink environment.