Posts Tagged ‘DC Motor’

Controlling Stepper Motors with Joysticks using FPGA

Thursday, September 1st, 2016

Greetings FPGA innovators! Stepper motors can be an integral part of projects that have a dimension of mobility to them. Be it rovers, robots, drones or claw machines, controlling stepper motors with joysticks is an integral part and FPGAs accomplish speed control easily. Today’s post is about using a FPGA and a joystick to control stepper motors.

The Hardware required for the project is a FPGA board, 2 PmodSTEP drivers, 1 PmodJSTK, 2 Stepper motors, a USB A to B micro cable and 2 12 pin PMOD cables. Since the author is only focused on the control of the stepper motors, the hardware for this project is limited. However it can be expanded based upon the scale of your endeavour.

The code structure is given by the author in step 2. The author has configured the PmodJSTK interface to receive data and not send data to the LEDs on the board. The working principle is pretty simple, where the decoder works out the signals from the Joystick and sends it to the drivers in the form of electrical signals that make the motors turn left, right, stay still or maintain course. The FPGA acts as a simple interconnect between the drivers.  The code has been given in a zip file by the author in step 3.

The coding language used is VHDL and the code is divided into modules. Step 4 has been dedicated to code generation and creation of the executable bit file that can be used on the FPGA. Step 5 illustrates the connections for the project.


By commanderfranz

Build an Autonomous FPGA Search and Rescue Vehicle

Thursday, June 2nd, 2016

Hello again FPGA lovers! Today’s project is a challenging one where you build an autonomous search and rescue vehicle with FPGA! The projects involves the use of 2 vehicles, where one searches for the target with the aid of an FPGA, while the other uses minimal sensory aids to follow the search beacon and rescue.

The whole project has been divided into two steps, where the first step contains the hardware requirements. Apart from your FPGA, some of the other materials needed are an LCD screen, infrared thermometer, ultrasonic sensor, Dual DC motor drivers, logic converters, Rotary encoders and even a magnetometer. A detailed list of all used materials, their significance and connections are given in step 1 by the author.

The author has used VHDL (.vhd) for coding, and the code is available here. The zip file has been divided into the binary code and source code. You will find everything you need with detailed modules regarding each hardware part in the source code folder. The code can simply be uploaded onto the board and run for the search vehicle. The rescue vehicle directly follows the search vehicle and needs very little sensory aids.

The project’s documentation, presentation and source code is available here, and you can refer it for a detailed modus operandi of the project. This FPGA work is a combination of a number of interfacing techniques such as LCD with FPGA, DC motor drivers with FPGA and more. It is an apt project to test your mettle in the field of FPGA, and the result is truly worth the effort!


By pcmihnea

Build Your Own Hexapod Robot with FPGA

Wednesday, May 11th, 2016



Hello FPGA lovers! Today’s project is going to be a challenge on mainly 3 fronts. The Project at hand is to build a Hexapod Robot based on FPGA, and the 3 challenges are to get the Hexapod to work with FPGA, design and simulate it with CAD and to carve and glue the parts with plywood. Sounds funny!

The Hexapod Robot basically works on 12 DC servo motors. So if you thought that programming one of those with your FPGA was hard work, then you should definitely try this project to build on experience. The Robot consists of 6 arms, and each arm must have 2 degrees of freedom, the vertical and horizontal axis. For this, 2 motors are used per arm. Other than that, you will need a saw, electric drill, electric grinder, pencil, PU glue, Plywood, screws, nuts, ball bearings and, of course your FPGA board.

But if you are not a fan of all the carpentry work, then you can easily design and print your parts using a 3D printer and then just assemble them.

The Author has sadly not shared the CAD files or VHDL files for this project. However you can leave a request on the comments page to see if you get a response. The different software that you will need for this project is CAD, EDA and VHDL.

Since the VHDL code will be just about controlling 12 DC servo motors with an FPGA, you can use the code here which is the basic module to control one motor. You can simply extend this to 12 motors to get the Hexapod running.

Though the author has not shared the codes, he has been pretty helpful in giving pictures of all the development phases of the Hexapod. You can use these while designing parts in the CAD software.

Now it´s your turn…have fun!


By costaud

Build Your Own Vacuum Robot With Your FPGA!

Tuesday, February 9th, 2016


This is the first part of the series for building up your own robot, that is fully capable of swallowing up the dust of your room.

The first thing you need to build is a fully functional robot that moves independently around your room and that can stop at every obstacle. Well, you have it. This project was developed by two students of the University of Alberta.  They wanted to proof that an FPGA can be used to perfectly control a robot. This robot can interact with its environment, following a light on detecting obstacles, for example. Thus, it is perfect for your intentions of building a cleaning robot.

In this article you will find every detail needed to create your own FPGA-based robot. Schematics, part lists and the whole VHDL code needed for the sensors and the control of dc drives. Apart from the FPGA, you need to build some external analog circuits for the sensors, plus there are two motor drives included. Lots of fun there.

However, there is a drawback. But a really funny one. There won´t be a second part telling you how to implement the vacuum system. But! You can do it! You now have the platform. All you need to add is a bag and a suction system that runs all the time the robot is moving.

If there is no challenge, there is no reward!

Don´t forget to tell us the result!


By J. Smith and D. Rempel

Here is How The Dark Side Got Started With Their Robot Army!

Tuesday, December 29th, 2015

Nowadays, you may be fed up of Star Wars jokes, baits and so on. I am sorry, I could not resist the temptation.

Anyway, this time, at least, was not a joke nor a lie. Today´s article brings the real truth to you. If you want to build your own robot, as simple as you want it to be, the first step should be to learn about controlling a DC motor! Now it does not sound as funny as watching the results achieved by the Dark Side´s Army. You may be wrong because this tutorial is everything but boring.

Very easy to read, this step-by-step article presents all you need to learn to properly understand how to control a DC motor just with your FPGA (yes you can use your Papilio). All you need is outlined and well explained (the code needed is given…). There are also some easy to understand physics explanations so you will get to understand the real ins of this project.

Do not miss this tutorial and be ready to get hired by The Dark Side!


By Chris

How To: Use Your FPGA For Precision DC Motor Control

Wednesday, May 29th, 2013

Here is a simple little project that you can use to control a DC motor with some pretty tight precision from your FPGA board. This could be useful for some of your projects!

Chris over at Pyroelectro has all the tutorial goodness you’ll need to get one of these up and running. He gives a brief overview:

The goal of this project is to build a simple one input, one output system that will control a motor. The control input will come from a trimpot and the FPGA or CPLD’s job will be to use the input to create the proper duty cycle PWM output to the DC motor controller.

The project combines the creation of a PWM output from the FPGA and using dynamic analog input using an A-to-D converter, yielding the ability to control your DC motor. The project page explains in detail how to use a FPGA or CPLD to take input from one device and then output appropriate signals to a motor controller IC, which gives us precise control over the DC motor’s speed and direction. So check it out!

(via Pyroelectro)

FPGA DC Motor Control

Monday, September 24th, 2012

Hey everyone! Here is a nice project that we found over at over how to interface to an FPGA to allow precise control over a DC motor!

Chris from Pyroelectro wrote a very nice documentation to explain how to use a CPLD or an FPGA to take input from one device and then output appropriate signals to a motor controller IC to get a precise control over the DC motor’s speed and direction.

” The goal of this project is to build a simple one input, one output system that will control a motor. The control input will come from a trimpot and the FPGA or CPLD’s job will be to use the input to create the proper duty cycle PWM output to the DC motor controller.”

To program the CPDL Chris used the VHDL programming language and He used a MAX150 analog-to-digital converter to capture the trimpot analog input, once the analog input is digitized the CPLD he created standard PWM signals and output them to the DC motor controller IC.

Click here to read the whole article complete with full part list, Schematics etc…

Feel free to discuss in the comments thread.