Fan Controller
From Ece
Team Fan Controller
Our goal is to make a variable speed fan controller using the FPGA and utilizing pulse-width modulation.
Contents |
Team Members
Richard Teeple – Coordinator, Checker
Palmer Burks - Coordinator, Recorder
Phase 1
Introduction
Pulse-width modulation makes it is possible to encode an analog input digitally or use a digital signal to control an analog device. This means that pulse-width modulation can also be used to play wave files. A wave file is an uncompressed audio file. The header of the file contains necessary data, such as the bit rate, sample rate, etc. Using pulse-width modulation, a device can be developed that can process this digital data and produce an analog output in the form of audio.
Concept
A 60Hz 120VAC power source will have a zero crossing twice per cycle. By using the FPGA and some additional hardware, we will detect the zero crossings from the AC voltage. Then, each half-cycle of the sine wave can be divided up into 100 equally spaced parts. Using counters and prescalers on the FPGA, the duty cycle can be controlled by turning on the fan at the appropriate place on the sine wave.
120VAC is connected to the internal diac on the FOD814 chip. At any point on the AC sine wave other than zero, the diac is on and emitting light which causes the photo-transistor in the chip to be on as well. The collector terminal of this transistor is connected to an FPGA input and a pull-up resistor. The signal seen by the FPGA is always zero until a zero-crossing occurs on the AC side. At that point, the diac turns off, and the transistor is turned off. The FPGA then sees 5V due to the pull-up. The rising edge can be detected and cause an event. By being able to catch every half cycle of the sine wave at zero, counters and delay logic can be used trigger an AC load at a precise point, thereby varying the power seen by the load.
When a signal is sent to the trigger circuit (MOC3011-M), the buffer on the DC side outputs a zero and allows current to flow through the LED inside the MOC3011-M. This activates the photo-diac on the AC side and causes current to flow through the gate of the triac, thereby turning it on. Current then flows freely through the load until another zero crossing occurs.
Proposed Work
- A hardware device will detect the zero crossings from the AC voltage.
- The keyboard interface will input a keypress from the user, and set the desired speed.
- Using counters and prescalers on the FPGA, the duty cycle can be controlled by turning on the fan at the appropriate place on the sine wave.
- Additional hardware will include a chip that outputs a falling edge for each zero-crossing, a triac to turn the fan on and off, and a chip to interface the triac and FPGA.
Required Parts
- triac subsystem
- Spartan III development board.
- External power supply for triac subsystem
Expected Deliverables
Using the parts listed, we will use the keyboard to select between 25%, 50%, 75%, and 100% fan speed.
Phase 2
Introduction
Pulse-width modulation makes it is possible to encode an analog input digitally or use a digital signal to control an analog device. This means that pulse-width modulation can also be used to play wave files. A wave file is an uncompressed audio file. The header of the file contains necessary data, such as the bit rate, sample rate, etc. Using pulse-width modulation, a device can be developed that can process this digital data and produce an analog output in the form of audio.
Concept
A 60Hz 120VAC power source will have a zero crossing twice per cycle. By using the FPGA and some additional hardware, we will detect the zero crossings from the AC voltage. Then, each half-cycle of the sine wave can be divided up into 100 equally spaced parts. Using counters and prescalers on the FPGA, the duty cycle can be controlled by turning on the fan at the appropriate place on the sine wave.
Proposed Work
- A keyboard interface will be developed that will receive input from the keyboard. The input received will determine the speed at which the fan operates. (25%, 50%, 75%, 100%).
- A module will be developed that will receive input from the triac subsystem upon zero crossings.
- The zero crossing detections will be used to control a counter module to determine output to the triac sybsystem.
Modules
- Keyboard Interface
- The keyboard will be used to set the points at which the triac subsystem will be turned on following a zero crossing detection.
- Input(s): key press
- Output(s): select line of multiplexer
- Verification:
- Triac Input Interface
- The interface will be signaled by the triac subsystem when a zero crossing is detected with a 5V DC pulse.
- Triac Output Interface
- The interface will signal the triac subsystem with a 5V DC pulse to turn on the AC source.
Required parts
- FOD814 Chip
- Part number: FOD814
- Datasheet: FOD81
- Available at: [1]
- Price: $0.00
- MOC3011-M
- Part number: MOC3011-M
- Datasheet: MOC3011-M
- Available at: [2]
- Price: $0.00
- 9V Battery Connector
- Part number: 270-324
- Available at: [3]
- Price: $2.59
Expected Deliverables
Using the parts listed, we will use the keyboard to select between 25%, 50%, 75%, and 100% fan speed.
Phase 3
Review of Proposed Work
- A keyboard interface will be developed that will receive input from the keyboard. The input received will determine the speed at which the fan operates. (25%, 50%, 75%, 100%).
- A module will be developed that will receive input from the triac subsystem upon zero crossings.
- The zero crossing detections will be used to control a counter module to determine output to the triac sybsystem.
The following image is of the triac subsystem schematic.
Module Descriptions
Expected Deliverables
Phase 4
Review of Proposed Work
The project design has deviated slightly.
Schematic
Snapshots




