Rubik’s Cube Solving Robot (RDRK) (Project#2)
RDRK is acronym in my language (Lithuanian) for "Robotas Dėliojantis Rubiko Kubą". This is my second project involving microcontrollers μC (the zeroth was LED blinkie and the first one was RC5 decoder).
Intro:
Up to now I have used only atmel AVR microcontrollers, so this bot is no exception with: ATmega16. Firmware is written entirely in C, also avrlib library for timing/PWM/UART was used. Although program is written with wxWidgets (C++) library, it won't compile under Windows because the system calls in serial communication part, thought if you remove it, it should build with no hassle.
In action:
[Youtube]
The build:
Basic communication scheme: (USB-to-RS232 (PL-2303))->MAX232->UART
Power: for servos and logic I've used L7805 with big heatsink (and yes, at operation time it was necessity) and DSA-20R-12 switching adapter
Servos: 2xMG995's for main arms and for 2xHXT900 "claws"
uC: atmega16; 7.3728Mhz; LF: 3f, HF: de
Other thoughts:
In order to use make with firmware you should export avrlib directory with:
export AVRLIB=/path/to/avrlib
Color recognition would be nice, but because it's easy to do (as in: no challenge) and some cross platform problems (Unix/Linux) with webCAM I didn't implement it (also partly because it's not intended for daily use, and You should know that programmers are lazy)
Any questions? ASK!
Source files (tl;dr):
- Firmware: rdrk_fimware.2009-09-11.zip
- Software: soon
- CAD: cdr+dwg
- Eagle schematics/board: soon
Extra:
- video: rdrk.mov
- soundtrack: deep skydivers - momentum.mp3 (official site)
P.S. everything is under GNU GENERAL PUBLIC LICENSE.
September 17th, 2009 - 22:16
Saunuolis, tikrai gabus ir talentingas esi jai sugebejai savo jegom sukonstruoti toki robotuka, manau neblogos perspektyvos taves laukia. Sekmes.
September 18th, 2009 - 12:59
kokias detales panaudojai machaniniam judėjimui? Gal kokia schema pasidarei?
September 18th, 2009 - 13:15
Na visų detalių brėžinai yra prieinami parsisiuntimui. Ten taip pat yra jungiamųjų dalių (linkage rods) išklotinės.
September 19th, 2009 - 10:57
Šaunuolis. Keep it going ;)
September 21st, 2009 - 12:00
Saunu matyt, kad ir Lietuvoj yra mastanciu ir kurianciu.
October 2nd, 2009 - 16:16
Super – šaunuolis :)
October 3rd, 2009 - 23:32
O kur konkreti shema?
October 4th, 2009 - 14:06
Neturiu laiko dabar jai nubraižyti, bet tai straight-forward schema…
November 24th, 2009 - 19:00
Crazy!
But the robot got help, I can see a helpful hand at the beginning and at the end, without it it would not do it! :-))))))
I cannot even finish the one I got at home, just five cubes away … !? I should download your software and figure out how to finish it.
Very, very neat!
November 24th, 2009 - 19:06
Good point ;]]]
December 7th, 2009 - 16:39
can u plz send me the software of this as i am final year student and want to do this project. my email id is dhepe.preeti@yahoo.com. plz plz plz send me that software and also programming. Thanks in advance if u fullfill my request.
December 18th, 2009 - 17:08
Sorry, but no. IMO, final projects should be done on your own.
January 26th, 2010 - 14:27
hi, what servos do you use for the gripper?
January 26th, 2010 - 16:19
Servos: 2xMG995’s for main arms and for 2xHXT900 “claws”
January 30th, 2010 - 23:22
Sveikas, gal galima butu gaut schema => (USB-to-RS232 (PL-2303))->MAX232->UART? nes turiu atliekama PL-2303 ir noreciau bendraut per USB, bet nezinau kaip pasijungt. Beto, yra kokie iskirtiniai draiveriai PL-2303?
February 7th, 2010 - 02:21
Pačio 2303 datasheet’as,
232′jų: datasheet (arba schema)
kadangi 2303 veikia ant -15/+15, o mums reikia TTL įtampų, tai tenka naudoti du chip’us. kadangi aš pats turiu 2303 kaip adapterį, man užtenka tik vieną max232 panaudoti, bet jei pats turi pl2303 nuogą chip’ą manau tada tikrai galima rasti elegantiškesnių sprendimų.
February 8th, 2010 - 11:50
Didelis dekui, tikrai pagelbejai ;)
February 8th, 2010 - 18:13
no prob. :]