June 22, 2010

Arduino-Controlled Physics Lab Fan-Cart


A "fan cart" is a roughly constant-force device used in introductory physics labs. It consists of a fan (usually a model airplane propeller on a brushed DC motor) mounted on top of a low-friction cart. Students use it to pretend they're learning something about force, acceleration, energy, etc. If you've ever taken an introductory physics lab, there's a good chance you've seen one.

A couple weeks ago I was at a physics teachers' conference where Mark Masters and Tim Grove, from Indiana Purdue Fort Wayne, suggested modifying a fan cart so that it turned on or off at certain positions on its track. This would allow some interesting lab exercises in which students could look at the change in kinetic energy of the fan cart over a distance interval, relate it to the force applied by the fan, and pretend to learn even more about force and energy.

So here's my take on it.
The fan cart comes with a quad-AA battery holder and a switch, which I used for the power supply. The Arduino used was a 8MHz ATMega168 3.3V version, not that it matters much. I used 1/4 of a quad H-bridge to drive the motor —a single MOSFET would have worked fine— because I didn't have a MOSFET handy that would turn completely on with a 3.3V input.

The three LEDs indicate power level. The pushbutton cycles through PWM power settings: 0, 150/255, 200/255, 255/255. The reed switch (salvaged from a bike computer after a fairly spectacular mountain-biking "incident") toggles the motor on or off each time it passes a magnet.

Here's the program.

So... Put this on top of a Pasco (or Vernier) cart, mount the reed switch on the cart so it can "see" magnets taped to the side of the track, and carry on pretending to learn physics...