For our diode, we will employ the general purpose 1N4007 whose datasheet can be found here. One possible choice of power MOSFET is the IRF1520 whose datasheetĬan be found here. It closes the circuit between the Source and Drain pins. In the schematic shown, we employ a power MOSFET where the board drives the Gate pin. Order to prevent the motor's back emf from causing damage, we will include a diode in parallel with our motor. Specifically, the digital output willīe used to switch a transistor on and off, thereby connecting and disconnecting the motor to the battery power source. In this experiment we will control our motor through one the board's digital outputs. Before moving on to theĬontrol portion of the activity, we will first generate a blackbox model for the motor as we did in Activity 6a. In this activity we will employ the same hardware setup we used in the first part of the activity. We will alsoĪnalyze the steady-state behavior of the system, including in the presence of a constant disturbance. Significantly different than what we will employ here, you may wish to alter the given requirements accordingly. The specific transient controller requirements that we will design for are given below. We will determine a model for in the same blackbox manner we did in Activity 6a (except here we will include the filtering in our "plant"). Since we have no means for measuring the motor's true speed, we will rather consider our closed-loop system to have the followingįormat where our plant includes the dynamics of the signal processing. The following form where the motor's speed is the true output, but significant processing (via ) is needed to generate the measured speed employed for feedback. In this context, our closed-loop system would have Including a low-pass filter to "smooth" the quite noisy speed estimate. In that activity, we investigated the processing needed for estimating the motor's speed, Model of the plant based on the motor's step response. In the previous activity, we generated a first-order Will be determined via a PI control law acting on the error between the commanded and measured motor speed. Input as the PWM signal's duty cycle (percent of the PWM period for which the motor is "on").
Since in practice we are employing a Pulse-Width Modulation (PWM) approach to control, we will treat our control The plant for this activity will be the same armature-controlled DC motor we explored in Activity 6a.Īt a fundamental level, the voltage source ( V) applied to the motor's armature is its input and the rotational speed of the shaft is the output. We will analyze our system's performance in the presence of unwanted exogenous inputs, which in this case will be a constant The controller when we have an uncertain plant model and are limited in the amount of control effort we can supply.
Specifically, we will consider how to design
The purpose of this activity is to build intuition regarding the design and implementation of a PI controller for the speedĬontrol of a DC motor in the presence of an array of real-world complications.
This logic is run on the host computer, but later we download all of the logic to the Arduino board. Motor's speed based on encoder counts and the logic for controlling the motor's speed is implemented within Simulink. The Arduino board communicates the recorded data to Simulink for visualization and analysis. One of the board's Digital Outputs is also employed to switch a transistor on and off, thereby connecting and disconnecting the motor to a DC voltage source. The encoder pulses are counted on the Arduino board The motor's angular speed is estimated employing a quadrature encoder. More details regarding other approaches to motor speed control and alternative control design techniquesĬan be found from the home page of these tutorials. Will examine in detail the steady-state error produced by the resulting closed-loop system, including in the presence of aĬonstant disturbance. We will design the controller to achieve a desired level of transient response and
Tune the gains of a PI controller based on the effect of the gains on the system's closed-loop poles while accounting for In this activity we will design and implement a speed controller for a simple DC motor.