This repository contains the implementation of a motor speed control system using an FPGA. The speed is adjusted dynamically through a potentiometer, leveraging ADC for analog-to-digital conversion and PWM for precise motor control.
- FPGA Control: Implements motor speed control with high precision.
- ADC Integration: Converts potentiometer input (analog signal) to digital.
- PWM Generation: Modulates motor speed based on the ADC output.
- Real-Time Adjustment: Dynamically changes motor speed with potentiometer rotation.
- Potentiometer: Provides an analog voltage signal representing the desired motor speed.
- FPGA:
- Reads analog input via ADC.
- Processes the digital value to generate a PWM signal.
- PWM Output: Drives the motor, adjusting its speed based on the potentiometer position.
- The potentiometer provides a varying analog voltage (0-5V).
- The ADC samples the voltage and converts it to a 10-bit digital value.
- The FPGA processes the ADC value to compute the appropriate PWM duty cycle.
- The PWM signal is fed to the motor driver, controlling the motor's speed.
- FPGA Development Board (Altera)
- Motor and driver circuit
- Potentiometer (0-10kΩ)
- Power supply
- Clone the repository:
git clone https://github.com/WassimHedfi/FPGA_ADC_PWM_MotorControl cd FPGA_ADC_PWM_MotorControl
- Open the project in your FPGA development environment.
- Synthesize and program the FPGA with the provided HDL files.
- Connect the hardware.
- Test the system by adjusting the potentiometer to vary motor speed.
The system allows smooth and precise motor speed control in real time.
This project is licensed under the MIT License. See the LICENSE file for details.