Circus Bot

Posted on 28/07/2009 by kurt
Modified on: 13/09/2018
Project
Press to mark as completed
Introduction
This is an automatic import from our previous community platform. Some things can look imperfect.

If you are the original author, please access your User Control Panel and update it.

After finishing my sumobot I was really excited to build another robot so I started brainstorming.  I finally decided I wanted to try and make a balancing robot sort of like a segway only a lot simpler.  Now the problem is I didn't have any super fancy sensors like accelerometers or gyroscopes so I had to find a way to know if it was balanced with what I had lying around.  What I ended up using was 2 super bright LEDs and a LDR (light dependent resistor) to "see" how far the floor was ...


Circus Bot

After finishing my sumobot I was really excited to build another robot so I started brainstorming.  I finally decided I wanted to try and make a balancing robot sort of like a segway only a lot simpler.  Now the problem is I didn't have any super fancy sensors like accelerometers or gyroscopes so I had to find a way to know if it was balanced with what I had lying around.  What I ended up using was 2 super bright LEDs and a LDR (light dependent resistor) to "see" how far the floor was and know if its falling one way or the other.

 

Once I got the LDR running through an analog input I had to find a way to tell it when it was balanced so I hooked up a potentiometer to another analog input and made that so I could manually set the balance point.  Unfortunately the only potentiometers I had lying around was a one turn style which make tuning it a little hard but all in all a fun way of interacting with it.

Now since Im only using a LDR as a crude distance sensor a whole bunch of variables affect its performance such how much light is in the room or what color the surface its balancing on is, although I kind of enjoy this as I have to continually interact with it.  The program is really simple in that if the sensor is farther away from the floor than the balance point then the motors move backwards, if it's closer than they move forward.  This gives the robot an oscillation around Its balance point which makes it not the most stable as it does fall over some times.

I'm pretty happy with the way it all turned out. I set out to build a robot that balanced on two wheels and finished it in one weekend with parts i had lying around for pretty cheap.  I do plan on trying to improve the program to be smoother and better balanced.  I want to learn and incorporate a PID controller and if anyone knows some good learning resources or tutorials for it I would appreciate that.  More power to the wheels would be better too so I'm thinking of trying a 9 volt battery instead of 4AAs.  As far as improvements are concerned any suggestions would be appreciated.

 

Balances upright

  • Actuators / output devices: 2 GM12as
  • CPU: PIC18f252
  • Power source: 4 AA batteries
  • Programming language: Picbasic Pro
  • Sensors / input devices: one LDR
Flag this post

Thanks for helping to keep our community civil!


Notify staff privately
It's Spam
This post is an advertisement, or vandalism. It is not useful or relevant to the current topic.

You flagged this as spam. Undo flag.Flag Post