FPGA remote controlled vehicle
A large project with more depth in terms of analog circuits and digital logic. The assignment was part of an electronics course, ELE206 Electronics at UiA, and was given in the first few weeks of the semester, lasting an entire semester i.e. 4 months.
The following specifications was given and everything outside of this was up to us:
- Remote controlled unit with two wheels, one DC-motor each
- Control input and vehicle response process in Xilinx FPGA using VHDL
- Direction of the unit determined by the speed of the motors
- Front wheel spinning free
- Speed and direction is adjusted by two potentiometers on the remote
- Switch to indicate Start/stop
- Communication wireless over Xbee modules
- Unit built by discrete components and the logic on a development board
- Speed adjusted by a PWM-signal for efficiency
This is the report consisting of all the details including the source code for the FPGA and Arduino.
Unfortunately it's in Norwegian but the pictures do tell part of the story. Use Google Translate to get an idea of what's going on.
- Elektronisk Fjernstyrt Styreenhet (Norwegian) - PDF
To open the VHDL code below, download Xilinx ISE Design Suite 11 or newer (free) and open the extracted project folder. You can view the VHDL source code simply by opening the files ending with *.vhd.
- Xilinx FPGA VHDL code - ZIP
The Arduino part includes the source code for the Xbee transmission and acknowledgement system. This part was provided preprogrammed on a Arduino board and was just an abstract layer for us to build upon.
There is no Arduino IDE project to open, this was all programmed and flashed using Eclipse C/C++. Instructions on how to set up the environment is provided in the ZIP-archive.
- Arduino XBee code - ZIP