Posts Tagged ‘servo motor’

How to Make a Cleaner Planet with Your FPGA

Tuesday, August 2nd, 2016

Greetings FPGA fans! Today’s post takes power generation and conservation to another level! We all know that Solar Panels are an excellent source of non-conventional power. But if the panel is not facing the sun the power generation is never optimum. The sun changes its position continuously and a static solar panel can only generate optimum power for a short window of time when it directly faces the sun. But what if the solar panel too changed its position with respect to the sun? Then we would have a case where the panel generates optimum power for more than 8 hours which is a lot more compared to just the 1-2 hours it does when it is static!

Today’s project aims at making a dynamic solar panel with FPGA. This Dynamic Solar Panel changes its position according to the Sun’s position by making use of a comparator that compares voltage values periodically and rotates the panel. The hardware required for this project are 2 Bidirectional Parallax servo motors, a 9V DC Solar Panel, a FPGA, a Breadboard, A 3D Printed frame and 3 100 Ohm resistors.

The Project basically involves the use of an FSM designed by the author. The design steps have been explained in detail from steps 2 – 8. Any FPGA with sufficient inputs and outputs can be used for this project but the code shared by the author has been programmed for the Basys 3. So unless you’re feeling really adventurous, it would be best to follow what the author has done!

The program has been done in VHDL (.vhd) and is available here. It has been arranged into different modules and each module corresponds to one of the design steps from 2 – 8. The program is pretty easy to follow and improvising it to suit another FPGA board should be easy if you know VHDL.

The wiring has been shared in step 10. The author has used a 3D printed frame whose schematic has been shared in step 11. However if you plan on building your own frame from wood or cardboard, you can refer the sketches.

Let’ build a cleaner planet having fun!

By nickthequik

Control Servo Motors with FPGA to Build Something Big

Tuesday, May 31st, 2016

Hi FPGA enthusiasts! Today’s project is a crucial one since it can play a pivotal role in building any major project with FPGAs. The exercise under question is controlling servo motors with FPGA, and this can be of great use on any project that involves servo motors and FPGA. Once you get comfortable with this, you can build anything from claw cranes to terrain rovers using your FPGA.

The hardware you will need is, obviously, your FPGA board, a GWS servo, a PMOD CON3 and a USB A to B micro cable. The FPGA board is incapable of providing the current that will be needed to energize the Servo. This is the reason why the PMOD CON3 is used.  While you are free to choose a Servo of your own, you will have to design the code and timing/rotation degrees for it yourself.

The author has done a great job in describing how relevant PWM is in controlling servos. While 10ms refresh periods has been declared a safe bet for most servos, it would be best if you consult the data sheet of the servo you are using. The logic implemented simply consists of a switch to angle converter and a counter which acts as the inputs for a comparator. If the counter value is high, the servo position is held, and if not, the servo switches in 24 degree steps till the condition is met. The interconnections with the FPGA have been shown by the author, and the principle of working has been explained well in step 2 and step 3.

The code for the project has been given in step 4 in a zip file. The code has been implemented in VHDL (.vhd) and broken down to modules. Each module has been implemented with simple logic that will walk you through the entire operation. You can simply generate the bitstream version of the code and upload it to your board once the connections are done as shown in step 6.

Let´s get hands on it!

By Kaitlyn1franz

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