Jumat, 30 November 2012

humanoid robot servo

sejujurnya dulu tahun 2009 pernah bikin robot humanoid pake servo, waktu itu pake tower pro 995mg kalo ga salah, dan….. gagal… banyak faktor yang bikin gagal, mulai servo controller yang ngaco, servo yang suka overshot, servo ga center, sampe ga kuat ngangkat.

setelah itu bikin robot anjing, pake servo hitech HS311, 14 biji totalnya. lumayan sukses sebetulnya, sayangnya waktu itu ga di dokumentasikan, sampe bosen dan di bongkar lagi hehehehe…..emang susah kalo disuruh nulis2 Baring teeth smile

setelah anak pertama gua lahir ga sempet oprek2 Sad smile, hingga sekarang dah rada gede, napsu lagi bikin2 robot hehehe, nih dia robot yang masih di bangun:

281120121845

ini boardnya, di robot hanya ada servo controler, ini bikinnya (http://hobby-elektronik.blogspot.com/2012/11/servo-controller-16-port.html).  rencananya akan dipasangi bluetooth serial :

281120121840

ini software buat bikin2 sequencernya;

software

playernya, masih sketsa…..

image

 

servo pake bekas2 heli sama robot lama jadi bentuknya dah butut…..

servo untuk robot humanoid/ biped ternyata ga bisa sembarangan, untuk robot dengan tinggi 30 cm dan berat sampe 1,5 kg, setidaknyya harus diatas 7kg/cm (ini hanya saran dari suhu robot, jadi gua juga ga paham betul itungannya Embarrassed smile).

nah karena gua punyanya hs311 yang cuman 3,6kg/cm maka gua bikin PLM paralel leg mechanism

281120121842

pake link lagi agar torsi maksimal, cuman sudut tekukan kakinya ga bisa banyak…..yah apa boleh buat, males beli2 servo mahal.

untuk roll axis (tapak kaki, dan pinggul) ga bisa ga, harus pake servo kuat. kbetulan gua punya BMS 616 (12kg/cm) 2 biji , pasang di pinggul, BMS 920 (9kg/cm) 2 biji pasang di telapak kaki.

281120121836

281120121841

281120121838

281120121837

bahannya pake alumunium U 1 inchi, beli 2 meter sisa banyak hehehe, mika, sama alumunium strip (cuman butuh sedikit).

power suplly pake lipo 3cell 800mah, sementara pake regulator bekas wifi (regulator rencananya akan diganti pake UBEC 8-15A hobbywing, komunikasi sementara masih pake kabel, karena blutunya ga dateng2 Baring teeth smile beli di ebay sebulan lebih ga nyampe2…...

281120121844

belum banyak sequence yang gua bikin, tapi ada lah, ini contohnya:

Rabu, 28 November 2012

ROBOT SEQUENCER EDITOR

 

source code bisa donlot disini gan https://www.dropbox.com/sh/h6e776jhr4x1eft/Y39SeyGfrs

 

pake visual studio 2008 (c#), .net versi 3.5. kalo nyoba exenya aja bisa tapi mesti install .net framework 3.5

nggerakin servo itu mudah ya kao satu satu, lah kalo bikin gerakan komplex bisa bikin pusing…Sleepy smile

sumpah bagian paling menyebalkan…..

itulah kenapa editor sequencer itu penting…, bahkan kalo beli harganya mahal, ada juga sih yang free tapi ga sesuai keinginan, banyak bug, susah edit ulang de el el…

 

editor ini dibuat sesuai dengan controller ssc32 punya lynxmotion, jadi kalo pake controller lain, mesti disesuaikan format datanya.

kita sesuaikan dulu istilahnya disini, ‘posisi’ atau pose adalah kondisi servo di posisinya masing2, ‘sequence’ adalah kumpulan posisi yang ketika di jalankan akan menghasilkan gerak tertentu.

okelah ini editor bikinan gua, minimal source codenya bisa dicontoh karena emang spesifik buat robot gua hehehe….

cara kerjanya gini:

sequence terdiri dari posisi2 tertentu yang diatur/ di play sesuai urutan dan waktu tertentu.

editor gua ini menyimpan data2 dalam bentuk file .txt jadi mudah diliat. contoh:

posisi tegak, kita simpan sebagai ‘tegak.txt’, isinya:

#22p1558#15p1500#14p1562#21p1468#13p1500#20p1468#12p1500#19p1500#10p1466#16p1390#9p1482#17p1466#8p1364#23p1556#11p1438#18p1482 T500
500

sequence jalan 1 langkah kita simpan sebagai ‘jalan1.txt’, isinya;

#22p1545#15p1500#14p1700#21p1700#13p1500#20p1442#12p1500#19p1500#10p1466#16p1190#9p1482#17p1266#8p1303#23p1487#11p1438#18p1482
100
#22p1500#15p1500#14p1300#21p1300#13p1500#20p1442#12p1500#19p1500#10p1466#16p2200#9p1482#17p1525#8p1303#23p1487#11p1438#18p1482
100
#22p1545#15p1300#14p1300#21p1300#13p1500#20p1455#12p1500#19p1500#10p1566#16p1490#9p1582#17p1566#8p1364#23p1556#11p1438#18p1482
100
#22p1545#15p1500#14p1300#21p1300#13p1500#20p1468#12p1500#19p1500#10p1666#16p1390#9p1682#17p1466#8p1410#23p1599#11p1438#18p1482
100
#22p1558#15p1500#14p1700#21p1700#13p1500#20p1455#12p1500#19p1500#10p750#16p1390#9p1482#17p1466#8p1410#23p1599#11p1438#18p1482
100
#22p1545#15p1500#14p1700#21p1700#13p1500#20p1455#12p1500#19p1500#10p1366#16p1290#9p1382#17p1366#8p1364#23p1556#11p1438#18p1482
100

seandainya setiap posisi kita simpan dalam file sendiri2 maka, dengan mudah kita bisa bikin sequencenya, cukup pake notepad.

untuk menjalankan seq/pose software harus nge –load tuh file, membacanya per baris, lalu mengirimkan ke port serial jika baris mengandung tanda # , jika tidak maka aplikasi di sleep/ wait sekian milisecond sesuai angkanya. dengan begitu kita bisa atur jeda tiap posisi (perhatikan data diatas).

masalahnya ketika kita udah punya banyak sequence, jalan, belok, duduk, nari dsb. trus kita mau edit tuh sequence Baring teeth smile….. pusing dooong….

penampakan gan;

software

bagian2nya:

software-block

software-block1

cara pakenya gini:

a. bikin pose/ posisi:

image

- atur alamat COM dan baudratenya, klik connect

- atur posisi masing2 dragbar, kalo udah klik SEND POSE, maka data pose dikirim ke kontroller.

- kalo masih posis servo2 belum sesuai keinginan, ulangi lagi aja

- kalo udah oke, isi nama pose yang barusan dibuat di texbox bawah, defaultnya disitu C:/motion/.txt, kalo di c udah ada folder dengan nama motion, kita tinggal sisipkan namanya misal C:/motion/tegak.txt, jika belum bikin foldernya dulu ya……trus klik SAVE POSE

knapa gua pake metode ini bukan pake load windows explorer?, karena lebih cepat!

b. edit pose/posisi:

-connect dulu kayak diatas

-klik OPEN POSE , arahkan ke file yang mau di edit, trus klik OK, maka drag bar otomatis akan menyesuaikan posisinya .

- atur2 drag bar , send pose, sampe sesuai keingingan.

-kalo udah isi alamat pose, klik SAVE POSE

c. bikin sequence

image

- di bagian pose: buka pose, klik OK, lalu klik fill (gambar diatas tuh), buka pose lagi, klok ok, klik fill, dan seterusnya.

- pada add sleep kita bisa isi jeda waktu antara pose2 nya

- untuk uji coba kita bisa langsung jalankan, klik SEND SEQ

- kalo udah oke save sequence, isi alamatnya, klik SAVE SEQUENCE

d. edit sequence

- connect dulu jangan lupa

-klik open sequence (gambar diatas tuh)

-arahkan ke filenya, otomatis akan terisi. contoh:

image

- doube klik pose yang akan di edit:

image

- klik <MODIFY, maka otomatis bagian pose (dragbar akan menyesuaikan). atur2, klik send pose, sampe sesuai keinginan.

-udah oke??, klik MOIFY> maka bagian yang kita doubel lik tadi aka di replace dengan pose yang baru.

- save sequence yang udeah di edit, kalo mau ditumpuk ke yang lama, klik save sequence (tombol atas), kalo mau ke alamat baru, isi alamatnya di bawah, trus klik save sequence di bawah.

hhhuuuuuaaaaaaaaaaaaaaaahhhhhh gua capek nulisnyaaaa…..

simpel kan???? Vampire batVampire batVampire bat

 

ok deh sekarang kita mau main2 dengan sequence2 atau pose2 yang udah dibikin

bukan yang ini:

software-block1

buka file2nya, klik send……kita bisa ngisi 6 sequence disini.

sementara udah dulu deh…. entar insya allah gua mau share lagi soal robot player, masih di godok hehehe…..

SERVO CONTROLLER 16 PORT

 

kali ini bikin servo controller seperti yang sebelumnya cuman di kurangi portnya karena terlalu banyak. dibuat khusus untuk dipasang di robot humanoid.

agar lebih kecil, simpel dan ringan, di buatnya pake SMD.

source, skema silahkan download disini: https://www.dropbox.com/sh/gkplc02dqzijdo2/-WWHmxAgFG

ok, bikin skemanya

image

bikin boardnya:

Untitled1

pin header (JP23) di desain untuk koneksi bluetooth serial, bisa juga pake kabel ke komputer tapi mesti di konvert ke CMOS dulu (pake max 232??, terserah aja).  JP2 adalah port ISP buat download bootloadernya, JP4 atau Vin adalah pin power supply.

ngomong2 soal power suply nih, butuhnya gede banget…. kalo diitung 1 servo butuh 0,5A, 10 servo aja dah 5A ditambah boardnya tarolah 0,5A jadi 5,5A kontinyu!!!…. kalo power kita pake lipo, berarti mesti punya regulator 5V diatas 5A wow….

kalo kurang maka controller akan ngreset2 terus, saat servo di gerakin bersamaan.

ini skema aslinya dari lynxmotion, nilai2 komponennya bisa ngikut dari situ:

ssc-32_circuit

cara download firmwarenya sama dengan ini coy: http://hobby-elektronik.blogspot.com/2012/11/servo-controller-32-port.html

SERVO CONTROLLER 32 PORT

Servo sangat berguna bagi dunia robotic, banyak library microcontroller untuk mengendalikan servo. Bascom, Arduino, Win avr , Pic basic, paralax , dll hampir selalu ada. tapi mengontrol begitu banyak servo bersamaan, dan masing2 servo punya target posisi, kecepatan sendiri2 tidak mudah.

Basis rangkaian ini adalah ssc32 dari lynxmotion. fiturnya cukup menarik. salah satu project yang pernah  buat beberapa tahun lalu adalah robot dog, dengan 14 servo. disini gua pake atmega8 karena mudah di dapat di pasaran lokal, versi terbaru mereka pake atmega 168, coz disini susah nyarinya....

skema nya


boardnya

edian ternyata postingan gua dah lama banget ya ga di tengok, okelah gua lanjutin.

yang kita butuhkan:

1. skema tentunya

2. bikin boardnya 

3. download bootloader ke avrnya (atmega8), disini gua biasa pake AVR ISP 910

4. avr dah siap diinstall firmware.

5. sekarang buka lynxterm

lynxterm

6. klik firmware (tombol ada di bawah), open -> arahkan ke file '1-06XE.abl ' -> update....

7. selesai..., kontroller kita siap di gunakan. untuk querynya bisa baca2 di manualnya.

8. silahkan mencoba....

sumber aslinya: http://www.lynxmotion.com/p-395-ssc-32-servo-controller.aspx

skema, source code, manual, lynxterm punya gua silahkan download di disini:  https://www.dropbox.com/sh/9q3fmopss5w8uzq/_OiUwtJfGW



Selasa, 27 November 2012

ISIS PROTEUS + ARDUINO

 

*source code bisa didownload disini

https://www.dropbox.com/sh/0tfpjofse8sk13k/HT-Sd-RZ_h

beberapa minggu lalu ada teman datang minta dibikinin code arduino trus disimulasikan di isis…. waduh…. ga kebalik nih…

ok deh malemnya di oprek…..

kali ini kita mau bikin simulasi dari sampelnya codenya arduino yaitu nggerakin servo

yang kita butuhkan:

1. software isis proteus tentunya….

2. software ide arduino, download aja…

3. komponen arduino untuk di isis….(bisa juga pake atmega tapi harus cari referensi port/pin2nya.

secara default isis tidak mendukung code arduino (setidaknya sampe tulisan ini dibuat). isis bisa mensimulasikan avr beserta codenya dalam format hexadesimal. untuk itu kita butuh file .HEX yang dihasilkan oleh arduino.

sayangnya arduino menghasilkan file .hex tapi di sembunyikan di folder temp nya windows dan akan dihapus ketika sketch kita close… jadi jangan close dulu sketchnya sebelum kita copy fie .HEX nya

A. langkah pertama (sisi Arduinonya)

1. buka ide arduino, cari sampel nya:

image

2. pilih sketch –> verify/compile

image

3. cari file HEX yang dihasilkan arduino…. ini dia triknya hehehehe  Vampire bat

image

4. klik menu –> search %temp% –> klik folder temp –> cari folder yang depannya ada kata ‘build’

image

5. nah…. file .HEX nya ada disitu Vampire bat……

image

6. copy file tsb ke …. terserah…, disini di desktop aja biar gampang nyarinya

B. langkah kedua (isis)

1. buka isis proteus, buka barebone arduino, silahkan download disini:

https://www.dropbox.com/sh/0tfpjofse8sk13k/HT-Sd-RZ_h

image

2. klik kanan di avr nya –> edit properties

image

3. pada bagian program file, arahkan ke file .HEX di desktop

image

4. horeee….. selesai, coba di running……

image

   aplikasi selanjutnya terserah anda……Open-mouthed smile