Você está na página 1de 3

FPGA Board Based Remote Controlled Car

Cuadra, Jamil Francis B. Nericua, Robert T.


Microelectronics Lab Microelectronics Lab
Electrical/Electronics/Computer Engineering Department Electrical/Electronics/Computer Engineering Department
Mindanao State Univ. – Iligan Institute of Technology Mindanao State Univ. – Iligan Institute of Technology
Iligan City, Philippines Iligan City, Philippines
jamil.cuadra@yahoo.com robert.nericua@yahoo.com

Recamadas, Aldrei Zamm D.


Microelectronics Lab
Electrical/Electronics/Computer Engineering Department
Mindanao State Univ. – Iligan Institute of Technology
Iligan City, Philippines
dreiz1012@gmail.com

Abstract— Android phones are the commonly used device in the controller modes. The control commands can be easily
society today. With this, it has many applications including modified and set up in the application.
wireless communication. These devices, due to its wireless A DE0-Nano board, which is a compact-sized FPGA
communication applications, can be used as the remote control development platform, suited for prototyping circuit designs
for robotic car. To communicate with this android phone,
such as robots and "portable" projects [1]. The DE0-Nano is
Bluetooth module HC-05 is used as a slave that will send digital
signals to the Field Programmable Gate Array (FPGA) board.
configured to control an RC car using Verilog HDL. Universal
Motor driver integrated circuit (IC) L293D is used for easier Asynchronous Receiver/ Transmitter module is used for the
control of the direct current (DC) motors of the car. Due to the FPGA to communicate with the Bluetooth module. This
low capacity of the external power source, two dc motors are only protocol translates data between parallel and serial form.
used but two motors can be added if a high capacity external And L293D motor driver is used to drive the dc motors of
power source is used. For controlling the digital logic of the IC, the car. An external power supply of 7.5 volts is used for the
FPGA board is used. Additional Universal Asynchronous Receive motor driver,
and Transmit (UART) module in programming the FPGA is also This paper describes the process flow of creating the FPGA
implemented for communication between the Bluetooth module
board based remote controlled car. In section II the system
and the FPGA.
architecture is discussed. Sections III to V explains the details
of the components used for the project and results, discussions
Index Terms— FPGA Board, HC-05 Bluetooth Module, and conclusions are presented in section VII.
UART, DC motors.
II. SYSTEM ARCHITECTURE
I. INTRODUCTION

In the fast-paced world where technology advances rapidly,


real time controlling of any robotic application has become an
important topic. Various types of wireless technology has been
developed for easier control and communication between
devices.
Bluetooth is a wireless technology standard for exchanging
data over short distances (using short-wavelength UHF radio
waves in the ISM band from 2.4 to 2.485 GHz) from fixed and
mobile devices, and building personal area networks (PANs).
Range is approximately 10 Meters (30 feet). Communication
between the robotic car and the user is done via Bluetooth.
A free application from the Google Playstore is used
because of its simplicity and ease of access. This application is
made with user-friendly interface and contains four different Fig 1.1 Block Diagram of the FPGA Board Based Remote Control Car
The main concept of the FPGA Board Based Car is to IV. BLUETOOTH MODULE
generate logic inside the FPGA where it can process the signals
sent by the Bluetooth and send signals to the motor driver to
drive the DC motors. Bluetooth Module block used HC-05
where it can act as slave and can only receive signals from the
android phone.

III. ANDROID PHONE

Fig 1.4 Bluetooth module HC-05

HC-05 module, Shown in Fig 1.4, is used for the


Bluetooth block. Basically, this block just receives the signals
sent by the android phone with the use of wireless transfer,
Bluetooth. Only four pins are used in this module, specifically,
the two power pins, VCC and GND, receiving pin, RXD and
the transmit pin, TXD. These pins are all connected to the
FPGA for further processing. HC-05 can be paired with any
Fig 1.2 Android Phone android phone. It should be noted that FC-114 packaging of the
HC-05 is used because a level shifter is already included. With
To start the communication and to gain control of the this level shifter, the HC-05 can be supplied with different
car, an android phone is used due to its availability in the voltages within the range of 3.6V to 6V.
market. A free application is used in order for the simplicity
and ease of access. The application is called Arduino
Bluetooth Controller which can be downloaded from the
V. DEO-Nano FPGA Board
Google Playstore. This application is made with user-
friendly interface and contains four modes. Vehicle mode is
like a joystick which uses the gyroscope of the android
phone. Controller mode is modeled from PlayStations and
Xbox’s where four directions and six buttons are provided.
The user can edit these controller keys for forward,
backward, left, right, and stop easily. Terminal Mode is like
that in Arduino where texts are sent. In the case of this
project, Controller mode and Vehicle mode can be used.

Fig 1.5 Deo-Nano FPGA Board

Deo-Nano FPGA Board serves as the brain of the


remote control car. It contains all the logic and the decision
making for the control of the dc motors. Six General-
Purpose Input/Output pins(GPIOs) are used, two of which
are the TXD and RXD for the bluetooth module and four of
which are for the control signal of the L293D to drive the
two dc motors. The power 5V is used to power both the
L293D motor driver and the bluetooth module. Programs
compiled inside the deo-nano are the UART and the control
signals necessary for L293D. The UART module is used for
the FPGA to communicate with the Bluetooth module [2].
The Motor Controller module is used to send signals to the
L293D for driving the motors. The UART and Motor
Controller Modules are compiled using Verilog language to
Fig 1.3 Application used in Android Phone load the logic to the Deo-Nano FPGA Board.
VI. RESULTS AND DISCUSSION
[3] Adafruit. (2008). Adafruit Motor/Stepper/Servo
Shield for Arduino kit [v1.2] ID: 81 - $19.50 :
Adafruit Industries, Unique & fun DIY electronics
and kits. Retrieved December 10, 2016, from
Adafruit: https://www.adafruit.com/products/81

Fig 1.6 Hardware implementation of the FPGA Board Based Car

As observed, diodes are added to the circuitry. These


diodes are necessary to avoid back flow of the current
especially from the motors. Also, 7.4V rechargeable battery
is used for external voltage to drive the motors. Higher
voltage can be used depending on the user’s desire to turn
the motors faster. However, it should be noted that the
maximum voltage for external voltage source is 36V to
avoid physical damage of the L293D [3]. L293D motor
shield is used due to its readily made package and the pins
can be easily accessed. The SN74HC595N which is an IC
located at the middle is removed and its IC socket is used for
the control signal from the FPGA.

VII. CONCLUSION
In this paper, FPGA board based car is developed for
wireless control with the use of android phones, Bluetooth
module, motor drivers and de0-nano FPGA. Functional
verifications are done by applying the logic in the de0-nano
and with proper wiring of the hardware components. Two
DC motors can be added to the car for further increase to its
power in handling different terrains.

VIII. REFERENCES

[1] Terasic Technologies Inc. (2013). DE0-Nano User


Manual.
[2] Goddard, T. (2010, June 28). Documented Verilog
UART :: Overview::OpenCores. Retrieved December
11, 2016, from OpenCores:
https://opencores.org/project,osdvu

Você também pode gostar