First Wheels

Special Needs Mobility Ministry


Fluid Motion Device

"FMD"

The Fluid Motion Device (aka "FMD") is an interface box that translates simple on/off button presses into smooth acceleration, deceleration and turns. It is used with dual motor vehicles, such as the Dareway scooter. The FMD is based on an Arduino Uno microprocessor and is used in conjunction with a Dimensional Engineering Sabertooth dual dc motor speed controller. It has been tested with both the 25amp and 12amp versions of the Sabertooth. The FMD itself costs roughly $25 to construct. The Sabertooth controller runs from $75-$120, depending on the amp rating. The result is a relatively inexpensive mobility device/toy that mimicks the smooth motion of a powered wheel chair costing many thousands of dollars.


Fluid Motion Device Features:

  • Based on Arduino Uno microprocessor
  • Roughly $25 in parts to construct.
  • Used with a Dimensional Engineering Sabertooth dual DC motor controller.
  • Adjustable "governor" limits top speed (both forward and reverse).
  • Allows riders with limited fine motor skills to smoothly maneuver. No jerky starts or stops.
  • Emergency stop input stops motion the instant it is activated (ok, the stop is jerky in this case).
  • 3.5mm mono input jacks make setting up with different kinds of input devices (buttons, pressure plates, arcade joysticks) easy.
  • 6 input jacks: Forward, Reverse, Left, Right and two emergency stop inputs.
    • One E-stop input will need to be set up with a non-momentary button/switch.
    • The second E-stop jacks is for use with a remote button (aka "clicker"). These can be found on eBay for about $8. Both E-stop jacks are wired to the same input port (D2) on the Arduino board.


FMD 3.5mm mono input jacks.

Complete FMD unit.

Parts List

Items required for one FMD:

Arduino Uno R3 (or compatible) This is the "brain" of the FMD. An original Arduino Uno sells for around $35. Clones can be found on sale for as little as $5.99. For more information about the Arduino uno, see: Arduino website
Cytron Proto Shield for Arduino Uno R3 All soldered connections are made to the shield, then the entire shield just plugs onto the top of the Arduino board.
Enclosure (small) This is the smaller enclosure (4" X 3" X 1.6") for use with the Cytron shield. The ITEAD Screw Shield will not fit inside this enclosure.
Alternate (may be used instead of the Cytron shield):
ITEAD Screw Shield
Screw shields make the wire hookups much easier and without soldering. However, this shield is much wider than the Cytron and won't fit inside the small enclosure box.
I have started making a sort of hybrid shield from the Cytron shield. I solder screw terminals to the Cytron shield to make my own screw shield. I may see about getting these custom made, once I decide the configuration is finalized.
Enclosure (large) 6.18" X 3.78" X 2.10". The ITEAD Screw Shield will fit inside this enclosure.

Comparison of large and small enclosures.
3.5mm mono jacks These jacks should be compatible with typical accessibility switches/buttons. They have a center lug for the normally closed shunt. It is not used and can be clipped off. The inputs use 2 conductors: The white wire carries a tiny 5-volt signal out to the input switch/button. If the button is not presed (open), the signal stops there. If the button/switch is pressed/closed. The signal is passed to the black wire and returns to the Arduino ground. The input port senses this and reacts according to the program code.
Wire Radio Shack intercom hook up wire (2 conductor, 24-gauge, solid core: white/black) - This is usually $7.99 for a 25ft roll (each FMD uses about 3ft or about $1 worth) - with all the store closings, you can likely find it for half price. This wire is used for both the input jacks (6" each x 6 inputs) and the signal wires to the Sabertooth. In both uses, the convention is white for signal, black for ground.
Servo Extension Recommend 12" or longer - $2.75 (2x - one per potentiometer) - These can be found much cheaper on eBay. You can find them by the ten-pack there. Cut the extension in half. Attach the half with the female receptacle to the Arduino board. The half with the male plug is attached to the potentiometer. If needed, a second extension can be plugged into the middle.
Potentiometer (linear taper) Two per FMD: one for the throttle/governor, one for steering trim. Correct potentiometer wiring:
Knob for Potentiometer 6mm fits the above potentiometer. Your choice of color, one per potentiometer (two per FMD).


Other Items

These items are not part of the FMD, but will be used.

Feber Dareway The Dareway is the primary vehicle used as the basis for cars using the FMD. While it was designed as a stand-up scooter, the Dareway can be easily adapted into a sit-down car. The two-motor, tank-style stearing makes it ideal for this purpose.
Sabertooth 2x12 DC Motor Controller Very robust controller that receives commands from the Arduino to control the two Dareway motors.
Childrite Seat This is a larger version of the Bumbo seat.
Emergency Stop Button This is a very affordable ($5) version. Industrial E-stop buttons are VERY expensive. Push to stop. Twist to release.
Circuit Breaker This is a reset switch, just in case the electrical load should become excessive. Sized correctly, it will trip before any damage is done to the wiring or electronics. A 15amp breaker should be adequate for the 12amp Sabertooth. Note: If breaker tripping too easily is a problem, the size can be safely increased a little. The 12amp Sabertooth is supposed to be able to handle brief peak loads of 25amps.
3.5mm mono plug with 10' cables These come in various lengths. It's easier to just get the longer ones and cut to the length you need. These use a normal center wire for one conductor and a braided shield for the return/ground. See tutorial on how to terminate the shielding here.


Tools

These are tools that I find useful for this work. Most can be found at Harbor Freight.

Wire Strippers
(Harbor Freight)
These work well to cut wires and strip the insulation from the ends for soldering or installing connectors.
Heat Gun
(Harbor Freight)
Mainly used to shrink heat shrink tubing over solder joints.
Multimeter
(Harbor Freight)
Among other things, used to determine connectivity (or not) between two points in the circuit. These are on sale frequently and sometimes they even have coupons to get one for free. This is an indispensable diagnostic tool.
Razor Saw
(Amazon, etc.)
The saw pictured is by Zona and comes in several blade sizes and teeth sizes. Xacto offers similar saws. They are great for make fine, accurate, smooth cuts in plastic. In particular, I use mine to make the cutout in the Arduino enclosure for the USB port.
Zona mini square
(Amazon, etc.)
Being able to measure and mark accurately is essential to quality work. This square is small enough to get into tight spaces.
6-inch combination square
(Amazon, etc.)
This is great for measuring from the edge of objects. There are numerous manufacturers of similar squares, but they vary greatly in quality. Don't go cheap on this tool. I like the Swanson brand. It is tight and accurate.
Step Drill Bits
(Home Depot, etc.)
These make drilling larger holes for switches, etc. in thin materials (like plastic car bodies) a breeze. Cheap versions can be found at Harbor Freight, but do yourself a favor and get some good quality step bits. I have tried the HF bits and I now have one of these Milwaukee sets. It is much easier to get neat holes with the Milwaukees.


Arduino Connections:

Throttle/Governor Potentiometer

  • Use 3-wire (red/white/black) servo extension cable cut in half.
    • The female half is connected to the Arduino.
    • The male half is connected to the potentiometer.
  • Connect Signal (middle/white) wire to Arduino analog pin 0
  • Side pins of the potentiometer go to +5V (red) and ground (black)
    (see picture below)

Steering Trim Potentiometer

  • Use 3-wire (red/white/black) servo extension cable cut in half.
    • The female half is connected to the Arduino.
    • The male half is connected to the potentiometer.
  • Connect Signal (middle/white) wire to Arduino analog pin 2
  • Side pins of the potentiometer go to +5V (red) and ground (black)
    (see picture below)

Correct potentiometer wiring:


Digital Pins:

  • Digital pin 2 - Emergency Stop button
  • Digital pin 3 - Forward button
  • Digital pin 4 - Reverse button
  • Digital pin 5 - Left turn button
  • Digital pin 6 - Right turn Button
  • Digital pin 11 - Serial signal output to Sabertooth
Each button, as well as the serial signal output, use a black/white alarm cable pair.
The white wire goes to the respective digital pin and the black wire goes to the Arduino ground.


For more information, contact:
blake@firstwheelshouston.org