29-08-2017, 01:32 PM
This circuit allows you to control the speed of a DC motor (at eight levels) from the parallel port of your PC. The PC uses a software program to control the engine speed.
The motor is connected to the PC via an interface circuit. The interface circuit consists of 1-of-8 decoders IC 74LS138 (IC1), hexagonal inverters ICs 74LS04 (IC2 and IC3), resistor networks, timer IC 555 (IC4) and motor drive transistor SL100 (T1). The IC decoder accepts the weighted binary inputs A0, A1 and A2 on pins 1, 2 and 3, respectively. With the grounded decoder active enable inputs 4 and 5, it provides eight mutually exclusive active low outputs (Q0 to Q7). These outputs are reversed by the hexadecimal inverters IC2 and IC3.
The resistor network comprising the presets VR1 to VR8, the resistors R1 and R2 and the capacitor C1 are the timing components of the timer IC 555 (IC4), which is configured in astable mode. The output of IC4 is a square wave, which is fed to the base of transistor T1 through current limiting resistor R3. Transistor T1 is used to drive the motor.
The Pulse Width Modulation (PWM) method is used for efficient motor control. The PC output is decoded to select a particular preset (VR1 to VR8). The value of the selected preset, together with the resistors R1 and R2 and the capacitor C1, changes the width of the output pulse on pin 3 of IC4. Therefore, the motor speed can be increased / decreased by choosing a particular resistance. For high power motors, the transistor can be replaced by an IGBT or a power MOSFET.
The software (speed.c) is written in 'C' language and compiled with the Turbo C compiler. Initially, when the engine is off, the program prompts you to press the 'Enter' key to start the engine. Once you press the key, the engine will start to run at full speed. After a few seconds, the program prompts you to press any key on the keyboard to go to the next screen to control the motor speed. This screen has options to increase and decrease the motor speed and also to exit the program. To increase speed, type option 1 and press the 'Enter' key, and to decrease speed enter option 2 and press the 'Enter' key. This action changes the speed in one step at a time and the message "Speed decreased" or "Speed increased" is displayed on the screen. To go to the main menu, press the 'Enter' key again.
The motor is connected to the PC via an interface circuit. The interface circuit consists of 1-of-8 decoders IC 74LS138 (IC1), hexagonal inverters ICs 74LS04 (IC2 and IC3), resistor networks, timer IC 555 (IC4) and motor drive transistor SL100 (T1). The IC decoder accepts the weighted binary inputs A0, A1 and A2 on pins 1, 2 and 3, respectively. With the grounded decoder active enable inputs 4 and 5, it provides eight mutually exclusive active low outputs (Q0 to Q7). These outputs are reversed by the hexadecimal inverters IC2 and IC3.
The resistor network comprising the presets VR1 to VR8, the resistors R1 and R2 and the capacitor C1 are the timing components of the timer IC 555 (IC4), which is configured in astable mode. The output of IC4 is a square wave, which is fed to the base of transistor T1 through current limiting resistor R3. Transistor T1 is used to drive the motor.
The Pulse Width Modulation (PWM) method is used for efficient motor control. The PC output is decoded to select a particular preset (VR1 to VR8). The value of the selected preset, together with the resistors R1 and R2 and the capacitor C1, changes the width of the output pulse on pin 3 of IC4. Therefore, the motor speed can be increased / decreased by choosing a particular resistance. For high power motors, the transistor can be replaced by an IGBT or a power MOSFET.
The software (speed.c) is written in 'C' language and compiled with the Turbo C compiler. Initially, when the engine is off, the program prompts you to press the 'Enter' key to start the engine. Once you press the key, the engine will start to run at full speed. After a few seconds, the program prompts you to press any key on the keyboard to go to the next screen to control the motor speed. This screen has options to increase and decrease the motor speed and also to exit the program. To increase speed, type option 1 and press the 'Enter' key, and to decrease speed enter option 2 and press the 'Enter' key. This action changes the speed in one step at a time and the message "Speed decreased" or "Speed increased" is displayed on the screen. To go to the main menu, press the 'Enter' key again.