Self Balancing Scooter Ver 1.0

55,782

116

68

Posted in WorkshopElectric-vehicles

Introduction: Self Balancing Scooter Ver 1.0

After seeing the balancing skateboard, we thought we would built a Balancing Platform to test out the technology. We bought some rear ends of kids scooter for the drive wheel/motor and the electronics that XenonJohn suggested.
https://www.instructables.com/id/Easy-build-self-balancing-skateboardrobotsegway-/

Making a stand-on balancing unit is the same as a skateboard but the wheels are wider apart and the board is turned 90deg so the rear end of kids scooters were used. They were quite small but were quick and easy for testing.

Just don't hit any big bumps! We only had a few bit of skin missing from our shins and one hole in the wall!

Step 1: Details About the Build

Some rear ends of kids scooter were purchased for the drive wheel/motor as were the electronics that XenonJohn suggested.

Angle steel, flat plate and some tube were welded together to make an area to stand on and a handle out the front. The motors bolted on the sides and the electronics was fitted to the front. A torch was cut in half to use as a battery holder which fitted to the top of one of the motors. Now, the electrician needs a new torch! An old piece of plywood was used for the standing platform.

Now it looks like a real prototype!

It took a couple of attempts to get the polarity to the motors correct but it worked pretty much first go. The torque and power values were adjusted as we were using a 18Volt battery instead of 24volts that the motors are rated at.

It worked quite well.

Step 2: Parts

Parts Needed: (remember you can try eBay for the parts)

•Arduino UNO - Check your local suppliers or eBay.
•Sabertooth 2x25 Motor Controller (http://www.dimensionengineering.com or a local supplier)
•5 DOF accelometer http://www.ebay.com/itm/181004141876?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649
•2 rear end off kids scooters or buy motors and wheels separately  (www.oatleyelectronics.com or eBay) Have a look around your area.
•Batteries - SLA batteries are good and cheap, Power drills can be quite inexpensive too or LiPo's if your game!
•Shielded multi-core cable for the accelerometer and heavy power cable for the motors
•Deadman switch
•Toggle switch for turning.
•Toggle switch for adjusting balance position.
•DC connector for Arduino.
•DIL pins to suit Arduino
•Double sides tape
•Screws etc

Step 3: Tools

Basic tools are needed

Also, someone with the skills and equipment to weld the frame.

And additional tools:

•Drill and drill bits
•Soldering iron and solder
•Wire cutter and wire strippers
•Heat shrink and hot air gun to shrink it

Step 4: Frame/Motors

For the frame, a couple of pieces of angle steel and two plates were attached either side to bolt the rear end scooter motors onto.
Cut the 2 pieces of angle steel to the width needed for your feet. Holes were drilled in the plates to match the bolt holes on the rear-end scooter wheels. These plates were welded to the angle steel plates.

A post  was added out the front and a T-Bar handle welded onto this.

A piece of angled reinforcing from the upright handle to the second angle steel piece was added. Now, the wheels can be bolted on.

Step 5: Electronics

The electronics are quite simple.... just an Arduino, IMU, Motor drive and a bunch of switches.

All cabling for the switches and IMU should be shielded cable except if the IMU is right next to the Arduino.

The IMU needs to be mounted under the centre of the platform or in front if possible. We mounted ours in a box out the front.

Everything fitted in the box and the kill-switch, L/R steer and tilt adjust were run up to the handle. The battery was mounted on top of one of the motors.

Step 6: Code

The code is basically the same as XenonJohns code but some of the power/torques values needed to be adjusted because we were running 24Volt motors with an 18Volt battery.

At the start of the code there are 2 varables to alter in order to adjust the power and torque.

**************************************************
Code bug updated on the 24th Feb 2012.
Issue with timing routine.
**************************************************

Share

    Recommendations

    • Spotless Contest

      Spotless Contest
    • Science of Cooking

      Science of Cooking
    • Microcontroller Contest

      Microcontroller Contest
    user

    We have a be nice policy.
    Please be positive and constructive.

    Tips

    Questions

    68 Comments

    I can not find a 5DOF IMU what else can I use please help me

    good! I want it for a long time.I wanna ride it to work.do you know how fast it can go?

    or Can I use a more powerful motor to increase its speed?

    thanks

    Hello,

    Can I use 6DOF accelerometer instead of 5DOF accelerometer, because 5DOF accelerometer is rare to find..

    Thank you!

    2 replies

    Sure you can.
    If it is identical spec eg analog.
    Otherwise you would need to rewrite the software.

    when I compile your code, it shows an error,

    ''sketch_dec21a.ino: In function 'void initSabertooth()':
    sketch_dec21a.ino:58:22: error: 'BYTE' was not declared in this scope
    sketch_dec21a.ino: In function 'void set_motor()':
    sketch_dec21a.ino:513:39: error: 'BYTE' was not declared in this scope''

    what should I do for that??

    thank you.

    Hi


    now my scooter balances perfectly but i cant stand on it. there is not enough power to keep me balanced on it.

    i did played with the values 9 and 0.95 but still cant stand on it.
    do you have any idea how to fix that ?

    Im using 2x24V 250w scooter motors
    http://www.partsforscooters.com/Motor_electric_250w

    and scooter sprockets on 16" bicycle tires
    http://www.aliexpress.com/item-img/Chain-sprocket-47-tooth-25H-chain-Razor-E200-E300-Electric-Scooter/355067076.html

    and the new Ebay Sensor

    3 replies

    I'd say your gear ratio is too low or high. Which ever way you look at it!
    We have a unicycle that runs a 300W one of those motors.
    It is 2750rpm with an 11 tooth sprocket.
    It has a 12" wheel with an 80 tooth sprocket.
    So approx an 8:1 ratio.

    I'd say yours is about 5:1 and a bigger wheel.
    You need to put a bigger spocket on it.
    Probably bigger ratio than we have as you have a bigger wheel!

    It's very hard to find a bigger sprocket over here.
    Is there any way to solve this issue without changing the sprocket?
    Will changing the wheels to a smaller ones will solve the problem?

    Yes a smaller wheel will work.
    But not as good as putting a bigger sprocket on.

    http://secure.oatleyelectronics.com//product_info.php?cPath=53&products_id=920&osCsid=fa4258edc2cda57456c25411f15f8672

    Is this the motor you used in your project?

    1 reply

    No It was this one. Under wheels and brakes.
    http://secure.oatleyelectronics.com//product_info.php?cPath=116&products_id=904&osCsid=fa4258edc2cda57456c25411f15f8672

    But if you have the ability for welding etc. get the large wheels and 200w or 300w motors

    http://secure.oatleyelectronics.com//product_info.php?cPath=116&products_id=810&osCsid=fa4258edc2cda57456c25411f15f8672

    http://secure.oatleyelectronics.com//product_info.php?cPath=53&products_id=975&osCsid=fa4258edc2cda57456c25411f15f8672

    put a spot of weld on the ratchet mechansm.

    hello
    can it self balancing when no people above it?
    thanks

    About $300-350 AUD but that matters where you live.

    user

    how much $$$$$$$$$$$$$$

    I forgot that when compiling arduino tells me:
    the keyword "BYTE" is not supported, instead use "Serial.write ()". How do I change it?

    4 replies

    You need to download the older 0023 version of Arduino software.
    The software won't compile with version 1.0 or later.
    They changed the serial commands.

    This should work fine.
    You have seen this one too?
    https://www.instructables.com/id/Self-Balancing-Scooter-Ver-20/
    Same unit just more plastic.

    perfect! Now the circuit works, the only problem now is that the engines are stopped only if the IMU is on a strange angle, if the IMU is on a table engines do not stand still.

    Hi,
    The IMU should be on an angle to start, Then you bring it upright for them to turn on the motors.
    But when you first turn on the circuit you must not move the IMU for at least 4 seconds for it to calibrate.
    If you do then you will get strange angles etc.

    Rod

    Okay, so I'll try this way. To make my self balance the Deadmen is always pressed, otherwise the engines are not running.