@inzar86 I have programmed in a few different versions of C but most of them have been based around the PIC processor. If your working in C the code should be even easier to write! My only experience with the AVR processors has been with the arduino board.
@inzar86 Thankyou, I do not plan on sharing the code for this as its quite trivial. All the programming was done in assembly. Just increase/decrease the speed/direction of the motor based on the increase/decrease of sensor reading.
The sample rate I used was 25hz which is as fast as the IR sensors could read. Since I was only able to drive my motors at a lower amperage then required I didnt need to worry about oscillations as I simply couldn't move the mass (robot) fast enough to induce them (somewhat of a mechanically underdamped system). I would say sample as fast as possible and dampen it in code if you get into nasty feedback loops.
Somewhat...I used a simplified method. The segway uses dynamic and static (accelerometer and gyro) to determine which way it is falling. I simply used rate of angle change to determine vertical. Not a perfect system but very inexpensive.
Nah, I think it's distance error readout in signed int... He basically balances the robot upon startup, and presets a set distance which becomes the reference.. then displays the error (ref - current)...
In reply to hawkiing: Nah, I think it's distance error readout in signed int... He basically balances the robot upon startup, and presets a set distance which becomes the reference.. then displays the error (ref - current)...
I used some gear DC brushed motors. They are a bit overkill for this size of a robot (30-40oz all up weight) but they were rated at 200rpm and 150-160in oz of torque. Since the motors need to respond quickly more torque then required will help achieve a smoother balance.
Yes I am only changing the PWM signal to one of the motors (university project...time constraints). The LED display shows the error tilt angle in HEX. You can see it get close to '0' when the robot is vertical.
Comment removed
pisoinit5 1 year ago
hey what do I have to study to be involve in stuff like this??
looks pretty cool!!
m4u5trap 1 year ago
@m4u5trap
Thanks for the comment! I studied electronic engineering.
Flipper118118 11 months ago
You got it, which means it can only balance on level surfaces.
Flipper118118 1 year ago
The IR is just measuring the distance from the floor?
allah69 1 year ago
thanks for suggesting. I use the C language and using the AVR ATmega8.
ever tried it?
inzar86 1 year ago
@inzar86 I have programmed in a few different versions of C but most of them have been based around the PIC processor. If your working in C the code should be even easier to write! My only experience with the AVR processors has been with the arduino board.
Flipper118118 1 year ago
wow...I like this.....can you share your code? I want to built it one.
sorry my english not good. I am from Indonesia.
my email: inzar86@gmail.com
may be we can be a partner. thank you
inzar86 1 year ago
@inzar86 Thankyou, I do not plan on sharing the code for this as its quite trivial. All the programming was done in assembly. Just increase/decrease the speed/direction of the motor based on the increase/decrease of sensor reading.
Flipper118118 1 year ago
The sample rate I used was 25hz which is as fast as the IR sensors could read. Since I was only able to drive my motors at a lower amperage then required I didnt need to worry about oscillations as I simply couldn't move the mass (robot) fast enough to induce them (somewhat of a mechanically underdamped system). I would say sample as fast as possible and dampen it in code if you get into nasty feedback loops.
Flipper118118 2 years ago
Also, the larger the mass and the higher you place it the slower your sampling can be (hence why my battery is on top).
Best of luck ozanenginoglu!
Flipper118118 2 years ago
is this the concept behind a segway???
BluezBro604 2 years ago
Yep
DaveDrumstick 2 years ago
Somewhat...I used a simplified method. The segway uses dynamic and static (accelerometer and gyro) to determine which way it is falling. I simply used rate of angle change to determine vertical. Not a perfect system but very inexpensive.
Flipper118118 2 years ago
No. This method wont work on an incline. An accelerometer uses gravity as a reference rather than the ground.
bigmarcusk 2 years ago
I have a Question. ANy Idea how a 3d Inverted pendlum did work?
MatrixOfDynamism 2 years ago
hi :
nice work man.... but i want to know 2 things :
1 - is that display show the .hex code of the programm !?
2 - if it's true ... how could you make the display slow .. ( i guess cuz the UAL run faster than that)??
hawkiing 2 years ago
This has been flagged as spam show
Nah, I think it's distance error readout in signed int... He basically balances the robot upon startup, and presets a set distance which becomes the reference.. then displays the error (ref - current)...
I think ;-)
jankob85 2 years ago
In reply to hawkiing: Nah, I think it's distance error readout in signed int... He basically balances the robot upon startup, and presets a set distance which becomes the reference.. then displays the error (ref - current)...
I think ;-)
jankob85 2 years ago
Correct. :)
Flipper118118 2 years ago
The Display shows what Jankob85 made reference too...distance value in hex.
Flipper118118 2 years ago
yes ... : D in fact
Flipper118118 has said that in a previous post ..must be the hexadecimal format that made me beleave that it's the code .... nice project though man
hawkiing 2 years ago
What sort of motors do you need to make that work, given the weight of the whole robot?
Hi. What is the appoximate weight of the whole robot? rpm, v, torque, gear ratio, etc). Thanks.
free24601now 3 years ago
I used some gear DC brushed motors. They are a bit overkill for this size of a robot (30-40oz all up weight) but they were rated at 200rpm and 150-160in oz of torque. Since the motors need to respond quickly more torque then required will help achieve a smoother balance.
Flipper118118 3 years ago
That was just awsome how the robot found the perfect balance at 1:34 !!!
SiliaP 3 years ago
Hehe, yeh it has a tendancy to do that everyonce in a while....really errie looking.
Flipper118118 3 years ago
I hope u take ur project a step further!! why don u make something like a bicycle with wheels parallel 2 each other for example??
very nice!!
somwk 4 years ago
clean job!!!!!!!
soccerplayerev 4 years ago
Thankyou, I like minimalist construction. Simplicity rules.
Flipper118118 4 years ago
great job
mostekindia 4 years ago
Great job!!
javapda 4 years ago
im bookmarkin this one. how u made it?
xassxass 4 years ago
Was made out of 1/8" aluminum and threaded rod. Geared drive motors with model airplane propeller collets to hold wheels on.
Flipper118118 4 years ago
Nice, will look into this later
xassxass 4 years ago
great job!
So you are only changing the PWM of one motor. What does the 7-SEGMENT LED DISPLAY represent on the robot?
JeromeDemers 4 years ago
Thanks Jerome,
Yes I am only changing the PWM signal to one of the motors (university project...time constraints). The LED display shows the error tilt angle in HEX. You can see it get close to '0' when the robot is vertical.
Flipper118118 4 years ago