Kamis, 08 April 2010

Simple Sample Program Delphi (Kalkulator)



Nyok kita belajar delphi, terutama bagi saya yang masih baru maka latihannya dari yang mulai simple dulu.

Gimana kalo buat program kalkulator sederhana aja.Simple kan......
program ini cuma untuk menambah, mengurang, mengali, membagi angka-angka yang terdapat di komponen edit, tinggal pencet tombol tambah utuk menambah dan tombol kurang untuk mengurangi.

komponen edit 1,2 dan 3 berfungsi sebagai input,kmudian untuk operasi penjumlahan, perkalian, pengurangan, dan pembagian digunakan komponen button 1 hingga button 4.

untuk operasi matematika maka input dari komponen edit yang masih berupa string harus di ubah menjadi integer dengan perintah "strtoint"

kemudian hasilnya ditampilakan di komponen edit3, dan harus berupa data string, maka di gunakan perintah "inttostr" kebalikan dari "strtoint".
Untuk tombol reset menggunakan komponen button 4, yang berfungsi untuk menghapus angka pada edit1 hingga edit3. Sehingga dapat dimulai operasi matematika yang baru.
Untuk keluar dari aplikasi digunakan tombol exit dari komponen button 5.

untuk program lengkapnya bisa di ambil disini.

PWM (Pulse Width Modulation)

PWM (Pulse Width Modulation) ini adalah cara yang digunakan untuk menggerakan sudut putaran motor servo dan bisa digunakan untuk mengatur kecepatan motor DC.
yaitu dengan cara mengatur lebar pulsa high dan pulsa low, kali ini kita akan membuat program PWM untuk menggerakan motor servo.

Seperti sebelumnya telah di bahas di bagian Motor Servo, bahwa untuk menggerakan servo dibutuhkan pulsa PWM. Inilah programnya silahkan PWM dengan delay


Penjelasannya sebagai berikut:
Bagian yang akan membentuk PWM adalah pada baris 11. sampai baris ke 16. pada baris ini digunakan untuk membentuk sudut sebesar 0 derajat, pulsa high sepanjang 1,1 ms dibuat pada baris 13, dan 14. sementara pulsa low selama 18,9 ms dibuat pada baris 15. dan 16.

Pada baris 21. sampai 26. digunakan untuk menggerakan servo sebesar 90 derajat, yaitu dengan membuat pulsa 1,5 ms pada baris 23. dan 24. sedangkan pulsa low sebesar 18,5 ms dibuat pada baris 25. dan 26.

Sedangkan baris 31. sampai 36. untuk menggerakan servo pada sudut 180 derajat.

Jadi program ini dibuat untuk menggerakan sevo pada sudut 0 drjat, 90 drjat, 180 drjat dan terus berulang2.

Perlu diketahui bahwa untuk menghasilkan trosi yang terus menerus maka pulsa PWM harus terus menerus dibuat, jika dibuat satu kali atau beberapa kali saja, maka servo ini akan kehilangan torsinya saat tidak pulsa PWM lagi.

Dan kelemahan dari program di atas adalah pada baris 19. 29. dan 39. jika delay pada baris ini terlalu lama maka servo bisa kehilangan torsinya dan bisa2 robot yang dibuat g kuat ngangkat badannya.

Sabtu, 03 April 2010

Motor Servo

Motor Servo merupakan salah satu komponen elektromekanik, motor servo yang beredar di pasaran ada dua macam yaitu yang hanya berputar maksimal 180 drjat (standart) , dan yang bisa perputar 360 drjat (continous).
Servo sering digunakan sebagai aktuator pada robot, digunakan juga pada dunia aeromodeling , jika pada pesawat sebagai penggerak aileron, rudder, elevator, atau mengatur kecepatan engine pada helikopter.
Yang sering digunakan adalah servo jenis standart, sedangkan untuk mengerakan servo digunakan yang namanya PWM (Pulse Width Modulation). Tegangan input bervariasi tergantung dari si produsen servo, yaitu antara 4,6 - 6 volt. Tapi biasanya digunakan tegangan 5 Volt.
Motor servo berbeda dengan motor yang lainya karena pada motor servo kita tidak mengatur kecepatanya, tapi mengatur besar sudutnya. Maka dari itu pada servo selalu terpasang sensor sebagai feedback yang menentukan nilai sudut. Pada servo terdapat 3 kabel warna (warnanya tergantung vendor nya), biasanya berwarna merah (untuk VCC), hitam (untuk ground), dan kuning atau putih (untuk input signl PWM).
Berikut contoh bentuk dari motor servo HITEC


Ada beberapa faktor yang diperlukan dalam memilih servo
  1. Torsi (Torque)
  2. Kecepatan (Speed)
  3. Tingkat kepresisian sudut (Smooth)

Torsi yang besar diperlukan jika akan melakukan operasi yang berat. Biasanya semakin besar torsi dari servo maka butuh tegangan input yang makin besar, dan kecepatan untuk mecapai sudut akan lebih lama.

Kecepatan diperlukan untuk memberi respon yang cepat terhadap kondisi luar. Tapi jika kecepatan servo baik, maka torsinya tidak terlalu besar.

Untuk tingkat kepresisian adalah berhubungan dengan tingkat keakuratan sudut yang dapat dibentuk oleh servo tersebut. Semakin presisi sudut yang dibentuk maka artinya semakin bagus, tapi terkadang kecepatana dan torsinya juga semakin turun.

Intinya jika ketiga-tiganya semakin bagus maka harga servonya makin mahal..heheheeeee..
Trs gimana donk?ya belilah sesuai kebutuhan aja..heheheeee

Untuk membentuk sebuah sudut pada servo diperlukan PWM yang berbeda tiap sudutnya, pada umumnya total lebar adalah 20ms, dengan pulsa high '1' antara 1-2ms dan sisanya antara 18-19 ms adalah pulsa low '0'

Untuk membentuk sudut 0 drajat biasanya diguanakan pulsa high dengan lebar 1ms, dan pulsa low 19 ms
Sedangkan untuk membentuk sudut maksimal( 180 drjat) digunakan pulsa high dengan lebar 2ms, dan pulsa low selebar 18 ms.

Jumat, 02 April 2010

MOTOR DC

Motor DC ( Direct Current), motor dc ini digerakkan menggunakan arus yang bertipe searah, yaitu arus yang pole nya tidak berubah, yang positif ya positif, yang negatif ya negatif terus, contohnya baterai. Berdasarkan pengalaman saya dari waktu dibeli mpe dibuang tu baterai g pernah berubah kutubnya.
Berarti ada yang bertipe tidak searah, yuk bener bgt ada yang namanya arus AC ( Alternating Current ).
Arus AC ini memiliki kutub yang selalu berubah-ubah dari positif ke negatif dan dari negatif ke positif. Contonya adalah sumber listrik dari PLN, tegangan dari PLN masih berupa arus AC.
OKE kembali ke topik motor DC.

Pada motor DC terdapat dua bagian yaitu bagian yang bergerak rotating (rotor) dan bagian diam stationary (stator).
Bagian yang diam ini adalah magnet, dan bagian yang bergerak adalah kumparan. Kenapa motor ini bisa bergerak?why?
Seperti kita ketahui bahwa jika dua buah magnet yang sama kutubnya didekatkan maka kudua magnet tersebut akan saling tolak menolak, jika beda kutub yang didekatkan maka magnet tadi akan saling tarik-manarik

lho kok bisa padahalkan kumparan bukan magnet?yoi bener bgt kumparan bukan magnet, tapi bagaimana jika kumparan yang dililitkan pada besi dialiri listrik?dengan dialiri listrik maka kumparan tadi akan menghasilkan medan magnet, diamana medan magnet yang dihasilkan sesuai dengan prinsip kaidah tangan kiri, nah itu dia bagaimana motor ini bisa bergerak dengan memenfaatkan gaya tolak-menolak dan tarik- menarik dari medan magnet.

Keuntungan dari motor DC ini adalah biaya produksi yang murah, dan sangat mudah untuk di kontrol. Kekuranganya sih umurnya yang pendek, dan sering di ganti bagian komutatornya, komutator adalah cicin belah yang menjadi satu bagian dengan kumparan, karena bagian komutator ini mengalirkan arus dari power supply ke kumparan yang terus berputar, sehingga akan cepat rusak, sebab terus bergesekan dengan brush.


Nah begitulah yang saya ketahui tentang motor DC.
Jika terdapat kesalahan dalam tulisan mohon dimaafkan dan tolong dibenerin biar yang lain g inkut salah. d"-"b

Basic of H-Bridge

OKe let's learn about H-bridge, from basic H-bridge to Expert.
Oke mari blajar tentang H-bridge, tapi ya mulai dari yang dasarnya dulu habis tu baru ke tingkat yang lebih expert.

Pada umumnya rangkaian H-bridge bisa dibuat dari:
  1. Menggunakan Relay
  2. Kombinasi relay dan transistor
  3. Menggunakan tansistor, atau MOSFET
  4. Pake IC (Khusus dibuat untuk driver motor)
  5. Pake tangan, alias manual pake saklar on/off, heheeee..
Tapi kyknya cara yang no. 5 ini jarang dipakai di dunia robot.

H-Bridge yang kita pelajari disini adalah untuk motor DC, karna ada some type of motor such as motor servo,motor stepper, motor brushless, motor AC. Pembahasan tentang tipe2 motor ini akan dibahas di topik khusus motor.

Pernah main tamia?atau paling nggak, pernah liat tamia lagi jalan di lintasan, atau lebih parah lagi tau yang namanya tamia. Nah ini mainan juga digerakan menggunakan motor DC dengan prinsip yang paling simple. Only with saklar on/off.

Simple kan tinggal pencet saklar, langsung dah wus jalan tuh motor, tapi klo dengan simple saklar di atas arah putaran motor hanya akan satu arah saja(namanya jg simple pasti banyak kurangnya)

Lalu bagaimana biar bisa muter dua arah, alias bolak-bolak(ini masih searah dink), magsudnya bolak-balik (ini baru 2 arah), maka dikembangkan rangkaiannya menjadi sebagai berikut

Kalo dengan empat saklar begitu maka motor bisa berputar 2 arah alias bolak-balik, kerjanya gini, waktu saklar 1 connect dan saklar 4 connect maka akan ada arus yang megalir dari 1 ke 4 maka jalanlah motor tersebut, namun jika yang connect adalah 3 dan 2 maka akan mengalir arus dari 3 ke 2 yang menyebaban motor berputar tapi arahnya berlawanan.
Trs kalo yang nyambung 1 dan 2 gmn?ya berarti arusnya mengalir dari 1 ke 2 artinya ga da arus yang melewati motor, it mean motor still not move.

current will flow from positif pole to negatif pole (bnr g nulisnya?), arus akan mengalir dari kutub positif ke negatif, aliran dari arus ini disebabkan adanya pergerakan elektron dari pole negatif ke pole positif.

Jadi setahu saya, arah arus akan selalu berkebalikan dengan arah elektron.

Begitu dulu yah, see you next time, for next step to be expert.

bila ada kesalahan dalam penjelasan dan penulisan b.inggris (maklum masih belajar) di atas mohon maaf dan tolong di benerin yak biar yang lain yang baca g ikut salah, d"-"b

7 Segment Display

Kali ini mari ngebahas 7 segment, tau 7 segmentkan? yup that's right, itu lho kayak yang di peremptan jalan, but we will not discuss about display in intersection.
So disini kita menggunakan 7 segment yang little size, untuk pertama kita ngontrol 1 digit aja dulu ya.(heheee alesan pengen yang simple)

7 segmen sendiri ada dua tipe, yaitu Common Anoda (CA) and common cathode (CC).
Klo menuru saya sih 7 segment itu led sebanyak 8 buah yang disusun sedemikian hingga dapat digunakan untuk menampilkan angka dan beberapa huruf. Kaki - kaki 7 segmen ada 10 buah (Kalo g salah itung), 8 untuk tiap-tiap led, teyus 2 buat saklar on/off.

Untuk 7 segment type common anode, maka jika CA dihubungkan dengan VCC, led pada tiap segment akan menyala jika diberi logika '0' (low).
jadi kalo pake yang common cathode ya berarti berlawanan dari yang common anode.

that's is 7 segment schematics.

Kecil amat yah gambarnya, kyknya tadi gede kok. Nah ini rangkaian 7 segment CA. Selain itu terdapat tambahan transistor BC557 sebagai saklar buat ngaktifin dan nge off in si 7 segment.Penjelasannya gini

Saat PORTA.0 tu bernilai 0 maka transistor akan menjadi aktif atau saklarnya nyambung, tapi ini belum bisa untuk menyalakan 7 segment, untuk membuatnya menyala maka PORTB.0 - PORTB.7 harus bernilai 0 juga. Nah barulah 7 segment biasa nyala.

Kalo softwarenya bisa ambil disini, ada dua macem softwarenya yang pertama buat nampilin angka 7, sedangkan yang program kedua buat nampilin angka 0, terus 1, terus 2 dan terus 3. Program yang kedua akan nampilin angka2 itu terus menerus, kalo terlalu cepet tinggal di ubah delaynya.

Udah dulu yah. Jumpa lg di posting selanjutnya.

Jika ada kesalahan dalam tulisan mohon maaf, dan tolong dibenerin yank biar yang lain yang baca g ikutan salah jg. d"-"b Otre

Kamis, 04 Maret 2010

input dan kontrol led

Pembahasan kali ini mengenai input dipswitch yang berfungsi untuk mengatur jalannya nyala led. Kita akan menggunakan dua buah input switch. Nantinya setiap switch yang ditekan akan menghasilkan nyala led yang berbeda. Source codenya download disini

http://www.ziddu.com/download/9270814/dipsitch.txt.html

Baris ke 9 berfungsi untuk mengatur port B sebagai input yaitu engan cara mengisi DDRB dengan nilai 0==> DDRB=0x00;
Inputnya berasal dari port B pin0 dan pin1.
Baris ke 13 dan 14 adalah instruksi IF yang berfungsi untuk menguji keadaan suatu input jika sesuai maka akan melompat menuju sub program yang berada di dalam anda kurung kurawal...
IF(A==B) {C();} artinya jika A sama dengan B maka lompat ke C, jika ga sama lewati aja..
Baris 19 dan 30 adalah sub program yang akan di tuju jika kondisi terpenuhi.
Berikut schematicnya



Simpel kan. Soalnya saya bisanya yang simple, yang susah2 blm mahir.. Heheheeeee....

Mohon maaf jika ada kesalahan. Dan tolong dibenarkan biar yang lain yang ikut baca, ga ikut salah jg...