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.
Brush Motor Circuit Design
Stepper Motor Circuit Design
RC Servo Circuit Design
Waveform generated by x-axis
Waveform generated by y-axis
Forgive me, I forgot to take any photos of videos of the robot arm.