Difference between revisions of "Furuta Pendulum"

From Mech
Jump to navigationJump to search
Line 1: Line 1:
== Overview ==
== Overview ==
We were tasked with constructing and programming a [http://en.wikipedia.org/wiki/Furuta_pendulum Furuta pendulum], the goal of which is to hold the vertical arm up through horizontal rotation of the horizontal arm connected to the motor shaft. Essentially, there were two separate projects: constructing the physical pendulum assembly, and programming the PIC to control the motor so the pendulum would function. The basic mechanism consists of an encoder measuring the angle of rotation of the vertical arm, and the PIC receiving that information and controlling the motor to keep the arm in the vertical position.
We were tasked with constructing and programming a [http://en.wikipedia.org/wiki/Furuta_pendulum Furuta pendulum], the goal of which is to hold the vertical arm up through horizontal rotation of the horizontal arm connected to the motor shaft. Essentially, there were two separate projects: constructing the physical pendulum assembly, and programming the PIC to control the motor so the pendulum would function. The basic mechanism consists of an encoder measuring the angle of rotation of the vertical arm, and the PIC receiving that information and controlling the motor to keep the arm in the vertical position.
[[Image:Furuta.png|thumb|300 px|center]]
[[Image:Furuta.png|thumb|300 px|Inverted pendulum maintaining balance using feedback control|center]]
=== Team Members ===
=== Team Members ===
* Matthel Luther (Electrical Engineering, Class of 2010)
* Matthel Luther (Electrical Engineering, Class of 2010)

Revision as of 02:08, 17 March 2010

Overview

We were tasked with constructing and programming a Furuta pendulum, the goal of which is to hold the vertical arm up through horizontal rotation of the horizontal arm connected to the motor shaft. Essentially, there were two separate projects: constructing the physical pendulum assembly, and programming the PIC to control the motor so the pendulum would function. The basic mechanism consists of an encoder measuring the angle of rotation of the vertical arm, and the PIC receiving that information and controlling the motor to keep the arm in the vertical position.

Inverted pendulum maintaining balance using feedback control

Team Members

  • Matthel Luther (Electrical Engineering, Class of 2010)
  • Krystian Zimowski (Mechanical Engineering, Class of 2010)
  • Gabriel Haack (Mechanical Engineering, Class of 2011)

Mechanical Design

There are three sections of the pendulum that can each be addressed separately: the base assembly with motor housing (including the motor itself); the arm assembly, which includes the horizontal arm, the vertical arm, and the encoder apparatus; and the box into which the whole pendulum was placed, including mechanical stops, the PIC and electrical circuitry, and a button to start the program. Each section begins with a parts list; generic terms like "block" or "slab" indicate that these parts were made from aluminum scraps and can be just as effective with a different size or shape, or that they can be easily machined to fit any design.

Aluminum was used for most parts because it was readily available, easy to machine, and very light. We wanted as light a design as possible because the motor we used was ungeared (we wanted to avoid backlash since the pendulum requires rapid adjustments in motor position and direction to keep the vertical arm up) so the torque was naturally going to be lower. However, we also wanted to minimize shaking from the pendulum operation, so the base had to be fairly heavy and sturdy.

Base Assembly

  • Base - large aluminum block
  • Support columns - 3/4" solid aluminum tubing
  • Top platform - 1/4" acrylic
  • Lazy susan - McMaster-Carr 4" Aluminum Turntable
  • Motor - Pittman something or other

The aluminum block used was cylindrical: a hole was end-milled into the center to fit the encoder on the motor. As you can see, the motor fits right in, preventing any rotation of the motor itself. Two holes were drilled into the block on either side of the motor hole for the support columns, which were cut to be even with the top of the motor casing (not the motor shaft) once they were press-fit into the holes. The tops of the columns were drilled and tapped. Acrylic was cut to the size of the turntable and clearance holes were drilled to screw it to the motor, the support columns, and the turntable and a hole was cut in the center for the motor shaft. Once the support columns were in place, the motor was placed in the base, the platform was screwed onto the motor and columns, and the turntable was screwed onto the platform.

Arm Assembly

  • Horizontal arm - 3/4" hollow aluminum tubing
  • Vertical arm - 1/2" hollow aluminum tubing
  • Press-fits for set screws - solid aluminum tubing with diameters equal to the inner diameter of the arms
  • Weight - small aluminum block
  • Bearing supports - flat aluminum slab
  • Encoder shaft - machined solid aluminum tube
  • Bearings
  • Encoder - whatever model # it is

The horizontal arm was cut to be long enough to stick out well past the edge of the turntable. A short piece of tubing was press-fit into one end, and a hole was drilled through it for the motor shaft and another for a set screw. The same was done for the vertical arm, in this case for the encoder shaft. The encoder shaft gets set screwed onto and rotates with the vertical arm, providing a mechanism to send the angle of rotation back to the PIC. As you can see, the horizontal arm was cut in half with a bandsaw for a length of the shaft sufficient to fit the encoder and both bearing supports. To place the supports on the arm, the same tube used for the press-fit was machined to fit in the channel remaining after the top was sawed off. One piece was placed where each of the bearing supports would be, superglued on, and end-milled to be perfectly flat on top. Clearance holes were drilled in each piece and the bottom of the supports were drilled and tapped so they could be screwed onto the arm. The bearings which support and stabilize the encoder shaft were press-fit into holes in the supports, and the encoder casing was screwed onto one of the supports. The picture shows where each part is in relation to the others. Meanwhile, the weight was drilled through so it would slide onto the vertical shaft, and a hole for a set screw was drilled and tapped.

Box Assembly

  • Box and top - plywood
  • Dowel pins
  • Rubber bumpers
  • Paint
  • Base stand - wooden blocks

The box was not a critical part of the design in that it didn't affect the pendulum itself, but it was very important for aesthetics, for providing mechanical stops, and keeping the project together in one compact design. The box needed to be large enough to accommodate the electrical components, and the base stand elevated the pendulum so it wouldn't interfere with the circuit. Plywood was nailed together for the bottom and sides, and the top was machined so the pendulum was free to swing. Dowel pins were placed on top of the sides to match with holes drilled in the top so once everything was ready, the top could be put on to protect the components inside. The mechanical stops were glued onto the sides of the box with two set of bumpers: one for the pendulum to hit once it was on and in the vertical position and another to stop the horizontal arm if it was swinging out of control. The wooden blocks used for base stand were screwed together and glued to the bottom of the box, and at the end the pendulum was epoxied to the top of the stand. The entire box was painted before the pendulum was attached.

Electrical Design

There were wires and stuff.

Code

It told the motor what to do.

Results

The pendulum worked! It took a couple adjustments to the code and electrical setup to get the motor to react the right way, and for some reason it only worked with a power supply, not when power was supplied from the PIC, but as the video shows, the motor does keep the vertical arm up. Woohoo!

Reflections

We did not reach a point where we even truly considered trying to code a swing-up operation, which would have been really cool, but also really complicated and there simply wan't enough time. However, the physical pendulum is still intact, so if anyone would like to work with it I'm sure professor Lynch would be willing to let you try it out.