Description

This was the final project for EECE2160 Embedded Design. The goal was to program an Intel DE1-SoC FPGA using Intel Quartus and C++ to enable a robotic arm to move. To start, the FPGA was programmed in Intel Quartus to be able to rotate 3 types of motors: a DC brush motor, a stepper motor, and a RC servo. Before programming, various circuits were made using logic gates and a Moore Machine. The FPGA was then programmed in Intel Quartus and the motor wired. Once verified to be working, the FPGA was reset to be coded in C++. The code can be found on this GitHub repository. Once the code was verified to be working, the functionality was expanded to include the input of a joystick to control the motors. Then it was used to control the robot arm. Lab reports are avaliable upon request.

Motor Circuit Designs

Brush Motor Circuit Design

Brush Motor Circuit Design

Stepper Motor Circuit Design

Stepper Motor Circuit Design

RC Servo Circuit Design

RC Servo Circuit Design

Joystick Circuit Design

Waveforms Generated by Joystick

Waveform generated by x-axis

Waveform generated by x-axis

Waveform generated by y-axis

Waveform generated by y-axis

Notes

Forgive me, I forgot to take any photos of videos of the robot arm.