Minggu, 17 Januari 2010

Simple Tutorial Build Robotic

Secara garis besar, tahapan pembuatan robot dapat dilihat pada gambar berikut :

Ada tiga tahapan pembuatan robot, yaitu:

1.Perencanaan, meliputi: pemilihan hardware dan design.
2.Pembuatan, meliputi pembuatan mekanik, elektonik, dan program.
3.Uji coba.

1. Tahap perencanan

Dalam tahap ini, kita merencanakan apa yang akan kita buat, sederhananya, kita mau membuat robot yang seperti apa? berguna untuk apa? Hal yang perlu ditentukan dalam tahap ini:

•Dimensi, yaitu panjang, lebar, tinggi, dan perkiraan berat dari robot. Robot KRI berukuran tinggi sektar 1m, sedangkan tinggi robot KRCI sekitar 25 cm.

•Struktur material, apakah dari alumunium, besi, kayu, plastik, dan sebagainya.

•Cara kerja robot, berisi bagian-bagian robot dan fungsi dari bagian-bagian itu. Misalnya lengan, konveyor, lift, power supply.

•Sensor-sensor apa yang akan dipakai robot.

•Mekanisme, bagaimana sistem mekanik agar robot dapat menyelesaikan tugas.

•Metode pengontrolan, yaitu bagaimana robot dapat dikontrol dan digerakkan, mikroprosesor yanga digunakan, dan blok diagram sistem.

•Strategi untuk memenangkan pertandingan, jika memang robot itu akan diikutkan lomba/kontes robot Indonesia/Internasional.

2. Tahap pembuatan

Ada tiga perkerjaan yang harus dilakukan dalam tahap ini, yaitu pembuatan mekanik, elektronik, dan programming. Masing-masing membutuhkan orang dengan spesialisasi yang berbeda-beda, yaitu:

•Spesialis Mekanik, bidang ilmu yang cocok adalah teknik mesin dan teknik industri.

•Spesialis Elektronika, bidang ilmu yang cocok adalah teknik elektro.

•Spesialis Programming, bidang ilmu yang cocok adalah teknik informatika.

Jadi dalam sebuah tim robot, harus ada personil-personil yang memiliki kemampuan tertentu yang saling mengisi. Hal ini diperlukan dalam membentuk Tim Kontes Robot Indonesia (KRI) atau Kontes Robot Cerdas Indonesia (KRCI). Bidang ilmu yang saya sebutkan tadi, tidak harus diisi mahasiswa/alumni jurusan atau program studi tersebut, misalnya boleh saja mahasiswa jurusan teknik mesin belajar pemrograman.

Untuk mengikuti lomba KRI/KRCI dibutuhkan sebuah tim yang solid. Tetapi buat Anda yang tertarik membuat robot karena hobby atau ingin belajar, semua bisa dilakukan sendiri, karena Anda tidak terikat dengan waktu atau deadline. Jadi Anda bisa melakukannya dengan lebih santai.

Pembuatan mekanik

Setelah gambaran garis besar bentuk robot dirancang, maka rangka dapat mulai dibuat. Umumnya rangka robot KRI terbuat dari alumunium kotak atau alumunium siku. Satu ruas rangka terhubung satu sama lain dengan keling alumunium. Keling adalah semacam paku alumunium yang berguna untuk menempelkan lembaran logam dengan erat. Rangka robot KRCI lebih variatif, bisa terbuat dari plastik atau besi panjang seperti jeruji.

Pembuatan sistem elektronika

Bagian sistem elektronika dirancang sesuai dengan fungsi yang diinginkan. Misalnya untuk menggerakkan motor DC diperlukan h-brigde, sedangkan untuk menggerakkan relay diperlukan saklar transistor. Sensor-sensor yang akan digunakan dipelajari dan dipahami cara kerjanya, misalnya:

1.Sensor jarak, bisa menggunakan SRF04, GP2D12, atau merakit sendiri modul sensor ultrasonik atau inframerah.

2.Sensor arah, bisa menggunakan sensor kompas CMPS03 atau Dinsmore.

3.Sensor suhu, bisa menggunakan LM35 atau sensor yang lain.

4.Sensor nyala api/panas, bisa menggunakan UVTron atau Thermopile.

5.Sensor line follower / line detector, bisa menggunakan led & photo transistor.

Berikut ini gambar sensor ultrasonik, inframerah, UVTron, dan kompas:
 
Pembuatan sistem elektronika ini meliputi tiga tahap:

•Design PCB, misalnya dengan program Altium DXP.

•Pencetakan PCB, bisa dengan Proboard.

•Perakitan dan pengujian rangkaian elektronika.





Pembuatan Software/Program

Pembuatan software dilakukan setelah alat siap untuk diuji. Software ini ditanamkan (didownload) pada mikrokontroler sehingga robot dapat berfungsi sesuai dengan yang diharapkan.




Tahap pembuatan program ini meliputi:

1.Perancangan Algoritma atau alur program

Untuk fungsi yang sederhana, algoritma dapat dibuat langsung pada saat menulis program. Untuk fungsi yang kompleks, algoritma dibuat dengan menggunakan flow chart.

2.Penulisan Program

Penulisan program dalam Bahasa C, Assembly, Basic, atau Bahasa yang paling dikuasai.

3.Compile dan download, yaitu mentransfer program yang kita tulis kepada robot.

3. Uji coba

Setelah kita mendownload program ke mikrokontroler (otak robot) berarti kita siap melakukan tahapan terakhir dalam membuat robot, yaitu uji coba. Untuk KRCI, ujicoba dilakukan pada arena seluas sekitar 4×4 meter dan berbentuk seperti puzzle. Dalam arena KRCI ini diletakkan lilin-lilin yang harus dipadamkan oleh robot cerdas pemadam api. Contoh gambar robot pemadam api Ted Larsorn dan arena Kontes Robot Cerdas Indonesia (KRCI).





sumber kontes robot indonesia 2008









Rabu, 13 Januari 2010

CX-one Omron introduce

The CX-One is a comprehensive software package that integrates PLC Programming Software with Support Software for setting up Networks, Programmable Terminals, Servo Systems, Inverters, and Temperature Controllers.




FA Integrated Tool Package CX-One Version 3.0: Better Than Ever

An All-in-one Package That Now Includes a Network Design Tool

The CX-One is a comprehensive software package that integrates PLC Programming Software with Support Software for setting up Networks, Programmable Terminals, Servo Systems, Inverters, and Temperature Controllers.



http://www.omron.co.id/product_info/CX-ONE/index.asp

Selasa, 12 Januari 2010

Electricity Tutorial

This tutorial is a brief introduction to the concepts of charge, voltage, and current. This tutorial is not as long and tedious as a college textbook, yet it contains more information than students are likely to find in an elementary schoolbook.

The Atom

On the left is a conceptual drawing of an atom. Atoms are the building blocks of matter. Everything is made of atoms, from rocks, to trees, to stars, to even yourself. An atom consists of a tightly packed nucleus containing one or more protons (colored red in the picture), and usually an equal number of neutrons (gray). Electrons (blue) surround the nucleus, forming an electron cloud. The number of electrons in an electrically stable atom is always equal to the number of protons in the nucleus.
 
 

Electric Charge

A curious thing happens between protons and electrons: a proton and an electron are always attracted to one another, while a proton will repel other protons, and an electron will repel other electrons. This behavior is caused by something called the electric force. Protons are said to have a positive electric charge, while electrons have a negative electric charge. Two objects with the same type of charge push away from each other, while two objects with opposite charges attract to each other. Since a proton and an electron have opposite electric charges, they are attracted to each other. Two protons, however, move away from each other because of their equal electric charges. The same is true of two electrons, which push away from each other because of their equal negative charges.

 

 

 

Electric Balance

Most matter contains an equal number of protons and electrons. The negative electrons balance out the positive protons, and the matter has no overall electrical charge. The word overall is important, since the charges are still there, bouncing around inside the matter. Electrical charges are everywhere, but we just can't sense them because they are in balance. In fact, if you take chemistry, you'll learn that the electric force is the very thing that holds matter together. The next time you pick something up, just think that whatever you are holding is literally filled with electric charge. This is an important fact that many people miss when they study electricity.

Static Electricity

Let's say we steal an electron from one atom and give the electron to another atom. One atom will have an overall positive charge and the other will have an overall negative charge. When this happens, the two atoms are called ions. Because ions have an overall electric charge, they can interact with other charged objects. Since like charges repel and opposite charges attract, a positive ion will attract negatively charged objects, such as electrons or other ions, and will repel positively charged objects. A negatively charged ion will attract positively charged objects, and will repel other negatively charged objects.

The same is true for larger objects. If you take electrons from one object and place them on another object, the first object will have an overall positive charge while the second will have an overall negative charge. Depending on the types of objects and the amount of charge involved, the electric force may be enough to cause the objects to stick together. This phenomenon is often referred to as "static electricity."

There are several ways to steal electrons from one object and give them to another. Some of the ways include chemical reactions, mechanical motion, light, and even heat. If you rub a glass rod with silk, the electrons in the glass rod will be knocked off and collected on the silk. The glass rod gains an overall positive charge, and the silk gains an overall negative charge. In a battery, chemical reactions are used to force electrons from the positive terminal and place them on the negative terminal.

Measuring Charges

The amount of overall electric charge possessed by an object is measured in coulombs. One coulomb is roughly equal to the amount of charge possessed by 6,000,000,000,000,000,000 (six billion billion) electrons. While this may seem like a huge number at first, it is not really that much, since electrons are so tiny. Just to give you an idea, one coulomb is roughly the amount of charge that flows through a 12-watt automotive light bulb in one second.

If the amount of charge possessed by two objects and the distance between them are known, it is possible to calculate the amount of force between the objects using a formula known as Coulomb's law. This law was discovered by Charles Augustin de Coulomb in 1784, and states that the force between two charged objects varies directly as the charges of the objects and inversely as the square of the distance between them. Coulomb's law is given below in formula form:


F is the force, in Newtons.
q and q' are the charges of the two objects, in coulombs.
r is the distance between the objects, in meters.
k is a constant equal to 8.98755×109 N m2 C-2

Voltage

Whenever electrons are taken from one object and placed on another object, causing an imbalance of charge, we say that a voltage exists. That is what somebody means when they say that something has so many volts of electricity. They are describing a difference of charge in two different places. A standard AA battery has a difference of 1.5 volts between its positive and negative terminal, while car battery has a difference of 12 volts between its two terminals, and the everyday type of static electricity that causes things to stick together and occasionally gives you a jolt when you touch a metal object is usually measured in thousands of volts.

Another way to understand voltage is to think of an "electric field." Imagine a plate with positive charge next to a plate with negative charge. If I place a positive charge between these plates, the plates' electric field will attract the charge to the negative side. Imagine that I place a 1 coulomb positive charge next to the negative plate, and then pull it towards the positive plate. Because the electric field creates a force in the opposite direction, moving the charge requires energy. The amount of energy depends on the distance between the plates and the strength of the electric field created by the plates. We call this energy the electric field's "voltage." One volt is the amount of energy in joules required to move 1 coulomb of charge through an electric field. Mathematically, 1Volt = 1Joule / 1Coulomb.

Volts are useful, because they neatly describe the size and strength of any electric field. Visualizing the electric field between two simple plates is easy, but visualizing the field in a complicated circuit with batteries, motors, light bulbs, and switches is very difficult. Voltage simplifies circuits like these by describing the entire electric field with a single number.

Electric Current

The word current comes from the Latin word currere, which means to run or to flow. An electric current is nothing more than the flow of electric charges. Electric charges can only flow through certain materials, called conductors. Although the electrons in most materials are confined to fixed orbits, some materials, including most metals, have many loose electrons which are free to wander around through the material. Materials with this property act as conductors. When a conductor is placed between two charged objects, these loose electrons are pushed away by the negatively charged object and are sucked into the positively charged object. The result is that there is a flow of charge, called a current, and the two object's charges become balanced. The amount of current flowing through a conductor at any given time in measured in amperes, or amps for short. When you read that something uses so many amps, what you are being told is the amount of current flowing through the device. One ampere is equal to the flow of one coulomb of charge in one second.

Batteries and Current

In the previous paragraph, we looked at how current flows from one charged object to another, canceling out the charges of the two objects. Once the charges were canceled, the current stopped. If current were always this short-lived, it would be very impractical. Imagine a flashlight that only lasted a fraction of a second before needing to be recharged! While current does tend to cancel out charges on two objects and then stop flowing, if a charge can be placed on the objects faster than the current can drain the charge, it is possible to keep a current flowing indefinitely. That is what happens in a battery. Chemical reactions within the battery pump electrons from the positive terminal to the negative terminal faster than the device connected to the battery can drain them. The battery will continue to supply as much current as the device requires until the chemicals within the battery are used up, at which point the battery is dead and must be replaced.

 

Resistance

All conductors offer some degree of resistance to the flow of electric current. What happens is this: As electrons travel through the conductor, they bump into atoms, losing some of their movement in jiggling the atom. The result is that the current flowing through the conductor is slowed down, and the conductor is heated. The amount that a given conductor resists the flow of electric current is measured in ohms.

Power

Whenever current flows, work is done. A conductor may be heated, a motor may be spun, a bulb might give off light, or some other form of energy may be released. There is a simple law that tells exactly how much work may be done by a flowing current. The amount of work done is equal to the voltage of the supply times the current flowing through the wire. This law is expressed in the form P=IV, where P is the power in watts, I is the current in amps, and V is the voltage in volts. For example, if we find that a light bulb draws half of an amp at 120 volts, we simply multiply the 120 volts by half an amp to find that the bulb draws 60 watts of power.

Ohm's Law

Let's say you have a six volt battery and you need to draw two amps of current. What resistance should you make the conductor? Or let's say you have a three volt power supply and a thousand ohm resistor. How much current would flow through the resistor if you were to connect the resistor to the power supply? In order to find the answers to these questions, all you need to do is to use a simple mathematical formula called ohm's law. Ohm's law states that the amount of current flowing through a conductor times the resistance of the conductor is equal to voltage of the power supply. This law is often expressed in the form V=IR, where V is the voltage measured in volts, I is the current measured in amps, and R is the resistance measured in ohms.

   

electric circuit, unbroken path along which an electric current exists or is intended or able to flow. A simple circuit might consist of an electric cell (the power source), two conducting wires (one end of each being attached to each terminal of the cell), and a small lamp (the load) to which the free ends of the wires leading from the cell are attached. When the connections are made properly, current flows, the circuit is said to be "closed," and the lamp will light. The current flows from the cell along one wire to the lamp, through the lamp, and along the other wire back to the cell. When the wires are disconnected, the circuit is said to be "open" or "broken." In practice, circuits are opened by such devices as switches, fuses, and circuit breakers (see fuse, electric; circuit breaker; short circuit). Two general circuit classifications are series and parallel. The elements of a series circuit are connected end to end; the same current flows through its parts one after another. The elements of a parallel circuit are connected so that each component has the same voltage across its terminals; the current flow is divided among its parts. When two circuit elements are connected in series, their effective resistance (impedance if the circuit is being fed alternating current) is equal to the sum of the separate resistances; the current is the same in each component throughout the circuit. When circuit elements are connected in parallel, the total resistance is less than that of the element having the least resistance, and the total current is equal to the sum of the currents in the individual branches. A battery-powered circuit is an example of a direct-current circuit; the voltages and currents are constant in magnitude and do not vary with time. In alternating-current circuits, the voltage and current periodically reverse direction with time. A standard electrical outlet supplies alternating current. Lighting circuits and electrical machinery use alternating current circuits. Many other devices, including computers, stereo systems, and television sets, must first convert the alternating current to direct current. That is done by a special internal circuit usually called a power supply. A digital circuit is a special kind of electronic circuit used in computers and many other devices. Magnetic circuits are analogous to electric circuits, where magnetic materials are regarded as conductors of magnetic flux. Magnetic circuits can be part of an electric circuit; a transformer is an example. Equivalent circuits are used in circuit analysis as a modeling tool; a simple circuit made up of a resistor, and an inductor might be used to electrically represent a loudspeaker. Electrical circuits can also be used in other fields of studies. In the study of heat flow, for example, a resistor is used to represent thermal insulation. Operating electric circuits can be used for general problem solving (as in an analog computer).

 

Kirchhoff's laws

Kirchhoff's laws [for Gustav R. Kirchhoff], pair of laws stating general restrictions on the current and voltage in an electric circuit. The first of these states that at any given instant the sum of the voltages around any closed path, or loop, in the network is zero. The second states that at any junction of paths, or node, in a network the sum of the currents arriving at any instant is equal to the sum of the currents flowing away.

 

 

 

inductance, quantity that measures the electromagnetic induction of an electric circuit component; it is a property of the component itself rather than of the circuit as a whole. The self-inductance, L, of a circuit component determines the magnitude of the electromagnetic force (emf) induced in it as a result of a given rate of change of the current through the component. Similarly, the mutual inductance, M, of two components, one in each of two separate but closely located circuits, determines the emf that each may induce in the other for a given current change. Inductance is expressed in henrys (for Joseph Henry). An inductor is a device designed to produce an inductance, e.g., a coil; an ideal inductor, i.e., one having no resistance or capacitance (see impedance), is often called an inductance.

Hukum Ohm menyatakan bahwa besar arus yang mengalir pada suatu konduktor pada suhu tetap sebanding dengan beda potensial antara kedua ujung-ujung konduktor
 

I = V / R

  

HUKUM OHM UNTUK RANGKAIAN TERTUTUP
 

  

I =     n E    
      R + n rd

I =      n      
     R + rd/p

n = banyak elemen yang disusun seri
E = ggl (volt)
r
d = hambatan dalam elemen
R = hambatan luar
p = banyaknya elemen yang disusun paralel

RANGKAIAN HAMBATAN DISUSUN SERI DAN PARALEL
 

SERI

R = R1 + R2 + R3 + ...
V = V
1 + V2 + V3 + ...
I = I
1 = I2 = I3
= ...

PARALEL

1 = 1 + 1 + 1
R    R1  R2   R3

V = V
1 = V2 = V3 = ...
I = I
1 + I2 + I3 + ...
 

ENERGI DAN DAYA LISTRIK

ENERGI LISTRIK (W)
adalah energi yang dipakai (terserap) oleh hambatan R.

W = V I t = V²t/R = I²Rt
 

Joule = Watt.detik
KWH = Kilo.Watt.jam

DAYA LISTRIK (P) adalah energi listrik yang terpakai setiap detik.

P = W/t = V I = V²/R = I²R

 

HUKUM KIRCHOFF I : jumlah arus menuju suatu titik cabang sama dengan jumlah arus yang meninggalkannya.


Iin = Iout

HUKUM KIRCHOFF II : dalam rangkaian tertutup, jumlah aljabar GGL () dan jumlah penurunan potensial sama dengan nol.

   

 = IR = 0

ALAT UKUR LISTRIK TERDIRI DARI
 

1. JEMBATAN WHEATSTONE

   

  

digunakan untuk mengukur nilai suatu hambatan dengan cara mengusahakan arus yang mengalir pada galvanometer = nol (karena potensial di ujung-ujung galvanometer sama besar). Jadi berlaku rumus perkalian silang hambatan :

R1 R3 = R2 Rx

2. AMPERMETER

   

  

untuk memperbesar batas ukur ampermeter dapat digunakan hambatan Shunt (Rs) yang dipasang sejajar/paralel pada suatu rangkaian.

Rs = rd 1/(n-1)
n = pembesaran pengukuran

3. VOLTMETER

  

untuk memperbesar batas ukur voltmeter dapat digunakan hambatan multiplier (R-) yang dipasang seri pada suatu rangkaian. Dalam hal ini R. harus dipasang di depan voltmeter dipandang dari datangnya arus listrik.

Rm = (n-1) rd
n = pembesaran pengukuran

TEGANGAN JEPIT (V.b) :
adalah beda potensial antara kutub-kutub sumber atau antara dua titik yang diukur.

1. Bila batere mengalirkan arus maka tegangan jepitnya adalah:

Vab = - I rd

  

2. Bila batere menerima arus maka tegangan jepitnya adalah:

 Vab = + I rd

  

3. Bila batere tidak mengalirkan atau tidak menerima arus maka
    tegangan jepitnya adalah .

 Vab =

  

   

Dalam menyelesaian soal rangkaian listrik, perlu diperhatikan :

1. Hambatan R yang dialiri arus listrik. Hambatan R diabaikan jika tidak
    dilalui arus listrik.

2. Hambatan R umumnya tetap, sehingga lebih cepat menggunakan
    rumus yang berhubungan dengan hambatan R tersebut.

3. Rumus yang sering digunakan: hukum Ohm, hukum Kirchoff, sifat
    rangkaian, energi dan daya listrik.

Contoh 1 :

Untuk rangkaian seperti pada gambar, bila saklar S1 dan S2 ditutup maka hitunglah penunjukkan jarum voltmeter !

Jawab :

Karena saklar S1 dan S2 ditutup maka R1, R2, dan R3 dilalui arus listrik, sehingga :

 1    =  1  +  1 
Rp       R2    R3

Rp = R2 R3 = 2

      R
2 + R1
V = I R = I (R
1 + Rp)

I = 24/(3+2) = 4.8 A

  

Voltmeter mengukur tegangan di R2 di R3, dan di gabungkan R2 // R3, jadi :

V = I2 R2 = I3 R3 = I Rp
V = I
Rp
= 0,8 V

Contoh 2:

Pada lampu A dan B masing-masing tertulis 100 watt, 100 volt. Mula-mula lampu A den B dihubungkan seri dan dipasang pada tegangan 100 volt, kemudian kedua lampu di hubungkan paralel dan dipasang pada tegangan 100 volt. Tentukan perbandingan daya yang dipakai pada hubungan paralel terhadap seri !

  

Hambatan lampu dapat dihitung dari data yang tertulis dilampu :
RA = RB = V²/P = 100²/100 = 100


Untuk lampu seri : RS = RA + RB = 200

Untuk lampu paralel : Rp = RA × RB = 50

                                    RA + RB

Karena tegangan yang terpasang pada masing-masing rangkaian sama maka gunakan rumus : P = V²/R

Jadi perbandingan daya paralel terhadap seri adalah :
P
p = : = Rs = 4
P
s    Rp    Rs    Rp    1

Contoh 3:

Dua buah batere ujung-ujungnya yang sejenis dihubungkan, sehingga membentuik hubungan paralel. Masing-masing batere memiliki GGL 1,5 V; 0,3 ohm dan 1 V; 0,3 ohm.Hitunglah tegangan bersama kedua batere tersebut !

Jawab :

Tentakan arah loop dan arah arus listrik (lihat gambar), dan terapkan hukum Kirchoff II,

 + I R = 0
1 + 2 = I (r1 + r2)

I = (1,5 - 1) = 5  A
    0,3 + 0,3    6

  

Tegangan bersama kedua batere adalah tegangan jepit a - b, jadi :

Vab =
1 - I r1 = 1,5 - 0,3 5/6 = 1,25 V

1=
2 + I R2 = 1 + 0,3 5/6 = 1,25 V

Contoh 4:

Sebuah sumber dengan ggl = E den hambatan dalam r dihubungkan ke sebuah potensiometer yang hambatannya R. Buktikan bahwa daya disipasi pada potensiometer mencapai maksimum jika R = r.

Jawab :

Dari Hukum Ohm : I = V/R =    
                                     R+r

Daya disipasi pada R : P = I²R =   
²R  
                                           (R+r)²

 

Agar P maks maka turunan pertama dari P harus nol: dP/dR = 0 (diferensial parsial)

Jadi
² (R+r)² - E² R.2(R+r) = 0
               (R+r)4
² (R+r)² = ² 2R (R+r) R + r = 2R
                                        R = r (terbukti)

ARUS/TEGANGAN BOLAK-BALIK

Arus/tegangan bolak-balik adalah arus/tegangan yang besarnya selalu berubah-ubah secara periodik.  Simbol tegangan bolak-balik adalah ~ dan dapat diukur dengan Osiloskop (mengukur tegangan maksimumnya).


NILAI EFEKTIF KUAT ARUS/TEGANGAN AC

Nilai efektif kuat arus/tegangan AC adalah arus/tegangan AC yang dianggap setara dengan kuat arus/tegangan AC yang menghasilkan jumlah kalor yang sama ketika melalui suatu penghantar dalam waktu yang sama.

Kuat arus efektif :          Ief = Imaks / 2

Tegangan efektif :         V
ef = Vmaks /
2

Besaran yang ditunjukkan oleh voltmeter/amperemeter DC adalah tegangan/kuat arus DC yang sesungguhnya,sedangkan yang ditunjukan oleh voltmeter/amperemeter AC adalah tegangan/kuat arus efektif, bukan tegangan/kuat arus sesungguhnya.

Dasar Mikrokontroler

Sedikit mengenang micro controller dan assembler program


Jika kita ingin membuat projek atau tugas akhir yang menggunakan mikroprosesor 8086/8088 tampaknya saat ini cukup sulit karena dibutuhkan biaya yang besar serta diperlukannnya EPROM Programmer. Cara lain yang lebih gampang dan murah ialah kita mengembangkan aplikasi menggunakan kit mikrokontroler ( main board) yang sudah ada di pasaran. Kit tersebut umumnya terdiri dari mikrokontroler, memori serta interface untuk koneksi ke lcd, ke PPI atau ke port serial komputer. Kita tinggal membuat program serta menyambungkan dengan board atau komponen tambahan saja. Membangun aplikasi Elektronika berbasis embedded system merupakan topik yang sangat hangat saat ini. Apalagi mikrokontroler tertentu sudah mendukung aplikasi yang terhubung ke jaringan computer (network microcontroller).

Ada perbedaan yang cukup penting antara Mikroprosesor dan Mikrokontroler. Jika Mikroprosesor merupakan CPU (Central Processing Unit) tanpa memori dan I/O pendukung dari sebuah komputer, maka Mikrokontroler umumnya terdiri dari CPU, Memori , I/O tertentu dan unit pendukung, misalnya Analog to Digital Converter (ADC) yang sudah terintegrasi di dalam mikrokontroler tersebut. Kelebihan utama dari Mikrokontroler ialah telah tersedianya RAM dan peralatan I/O Pendukung sehingga ukuran board mikrokontroler menjadi sangat ringkas. Terdapat berbagai jenis mikrokontroler dari berbagai vendor yang digunakan secara luas? di dunia. Diantaranya yang terkenal ialah dari Intel, Maxim, Motorolla , dan ATMEL. Beberapa seri mikrokontroler yang digunakan secara luas ialah 8031, 68HC11, 6502 , 2051 dan 89S51. Mikrokontroler yang mendukung jaringan komputer seperti DS80C400 tampaknya akan menjadi primadona pada tahun-tahun mendatang . Untuk mencoba kit mikrokontroler, anda dapat membeli kit kami bernama SMART52 berbasiskan 89S52 , SmartAVR atau kit produksi lainnya, dapat anda pesan di situs penulis di www.toko-elektronika.com



Pengenalan Mikrokontroler AT89C51



Mikrokontroler AT89C51 ialah mikrokomputer CMOS 8 bit dengan 4KB Flash Programmable dan Erasable Read Only Memory (PEROM). Mikrokontroler berteknologi memori non volatile kerapatan tingi dari Atmel ini kompatibel dengan mikrokontroler standar industri MCS-51 (seperti mikrokontroler 8031 yang terkenal dan banyak digunakan beberapa waktu lalu) baik pin kaki IC maupun set instruksinya serta harganya yang cukup murah. Oleh karena itu, sangatlah tepat jika kita mempelajari mikrokontroler jenis ini. Anda juga diharapkan mempelajari versi terbaru yaitu berseri AT89S51. Informasi lebih detail mengenai interfacing dan penerapan aplikasi pada mikrokontroler 89C51 dapat Anda temukan pada buku Saya sebelumnya.

AT89C51 mempunyai memori yang terdiri dari RAM internal sebesar 128 byte dengan alamat 00H-7FH dapat diakses menggunakan RAM address register. RAM Internal ini terdiri dari Register Banks dengan 8 buah register (R0-R7).Memori lain yaitu 21 buah Special Function Register dimulai dari alamat 80H-FFH. RAM ini beda lokasi dengan Flash PEROM dengan alamat 000H -7FFH.











Special Function Register

RAM Internal







Gambar 1 Alamat RAM Internal



Sebagai perbandingan kapasitas memori, Tabel 16.1 menampilkan kapasitas memori dari mikrokontroler seri AT89X.



Tabel 1 Kapasitas Memory Mikrokontroler seri AT89X



Type RAM Flash Memory EEPROM

AT89C51/ AT89S51 8 X 128 byte 4 Kbyte Tidak

AT89C52/ AT89S52 8 X 256 byte 8 Kbyte Tidak

AT89C55 8 X 256 byte 20 Kbyte Tidak

AT89S53 8 X 256 byte 12 Kbyte Tidak

AT89S8252 8 X 256 byte 8 Kbyte 2 Kbyte







IC AT89C51 mempunyai 40 pin yang sesuai dengan mikrokontroler 8031, dengan susunan kaki seperti Gambar 2 .









Gambar 2 Nama Pin-pin AT89C51



Jika kita lihat diagram blok mikrokontroler ini, terlihat jelas kesempurnaan dari fasilitas yang diberikannya. Gambar 3 merupakan diagram blok IC tersebut :





Gambar 3 Diagram blok AT89C51



Pada Gambar 3 terlihat bahwa terdapat 4 port untuk input output data, serta tersedia pula akumulator, register, RAM, stack pointer , Arithmetic Logic Unit (ALU), pengunci (latch) dan rangkaian osilasi yang membuat 89C51 dapat beroperasi hanya dengan 1 keping IC.





Bahasa Assembly di Mikrokontroler



Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai siklus pembacaan instruksi yang tersimpan di dalam memori. Mikrokontroler menentukan alamat? dari memori program yang akan dibaca, dan melakukan proses baca data di memori. Data yang dibaca diinterprestasikan sebagai instruksi.? Alamat instruksi disimpan oleh mikrokontroler di register, yang dikenal sebagai program counter. Instruksi ini misalnya program aritmatika yang melibatkan 2 register.

AT89C51 memiliki sekumpulan instruksi yang sangat lengkap. Jika anda telah mempelajari bahasa assembly mikroprosesor keluarga intel (misal 8086), ada sedikit perbedaan dengan bahasa assembly di mikrokontroler. Instruksi MOV untuk byte dan bit dikelompokkan sesuai dengan mode pengalamatan (addressing modes). Mode pengalamatan menjelaskan bagaimana operand dioperasikan.Berikut penjelasan dari berbagai mode pengalamatan. Bentuk program assembly yang umum ialah sebagai berikut :



Label mnemonic operand1 operand2 komentar

(isi memori)??? (opcode)





4000 7430 MOV A, #30H;kirim 30H ke akumulator A





Isi memori ialah bilangan heksadesimal yang dikenal oleh mikrokontroler kita, yang merupakan representasi dari bahasa assembly yang telah kita buat. Mnemonic atau opcode ialah kode yang akan melakukan aksi terhadap operand . Operand ialah data yang diproses oleh opcode. Sebuah opcode bisa membutuhkan 1 ,2 atau lebih operand, kadang juga tidak perlu operand. Sedangkan komentar dapat kita berikan dengan menggunakan tanda titik koma (;). Berikut contoh jumlah operand yang berbeda beda dalam suatu assembly.





CJNE R5,#22H, aksi ?;dibutuhkan 3 buah operand

MOVX @DPTR, A ;dibutuhkan 2 buah operand

RL A ;1 buah operand

NOP ; tidak memerlukan operand



Program yang telah selesai kita buat dapat disimpan dengan ekstension .asm. Lalu kita buat program objek menggunakan program ASM51 yang dapat diperoleh secara gratis di internet. Berikut contoh mengkompile file tesppi.asm yang tersedia di dalam paket DT-51 menggunakan ASM51, yang akan menghasilkan file tesppi.hex dan tesppi.lst. File .hex inilah yang kita masukkan ke Flash PEROM mikrokontroler AT89C51 atau ke eksternal memori seperti AT28C64B menggunakan program downloader.



Mendownload Program ke Mikrokontroler

Jika telah selesai menulis program; simpan dgn ekstension.asm, lalu kompile degan ASM51( c:\asm51 lampu.asm, nanti jdnya lampu.hex, anda dapat mendowload file hex anda ke Minimum System mikrokontroler anda menggunakan file dt51l.exe (berbasiskan DOS) atau dt51lwin.exe (berbasiskan windows )atau ATMEL ISP PROGRAMMER sebagai berikut :







Gambar 4 DT-51 Windows Downloader v1.0





Mode Pengalamatan



Pengalamatan Langung

Pengalamatan langsung dilakukan dengan memberikan nilai ke suatu register secara langsung, Untuk melaksanakan hal tesersebut digunakan tanda #. Operand yang digunakan pada pengalamatan langsung /immediate data dapat berupa bilangan bertanda mulai 256 hingga +256.



Contoh :

MOV A,#25H ;Isi akumulator dengan bilangan 25H

MOV DPTR, #20H :isi register DPTR dengan bilangan 20H

MOV R1,10H : ; isi register R1 dengan 10H

MOV A,#-1 ; sama dengan MOV A,#0FFH

; karena 00H 1 menjadi FFH





Pengalamatan Tak Langung

Pada pengalamatan ini, operand menunjuk ke sebuah register yang berisi lokasi alamat memori yang akan digunakan dalam operasi. Untuk melaksanakan pengalamatan tak langsung digunakan symbol @. Pengalamatan jenis ini biasa digunakan untuk melakukan penulisan, pemindahan atau pembacaan beberapa data dalam lokasi memori. AT89C51 mempunyai sebuah register 16 bit (DPTR) yang dapat digunakan untuk melakukan pengalamatan tidak langsung.



Contoh :

ADD, A,R1 ;Tambahkan isi RAM yang lokasinya ditunjukkan oleh register R1

; ke akumulator

DEC @R1 ;Kurangi satu isi RAM yang alamatnya ditunjukkan oleh R1

MOVX, ADPTR, A :Pindahkan isi dari akumulator ke memori luar yang

; lokasinya ditunjukkan oleh data pointer (DPTR)


Pengalamatan Data

Pengalamatan data terjadi pada sebuah perintah ketika nilai operasi merupakan alamat dari data yang akan diisi atau yang akan dipindahkan.



Contoh :

MOV P1,A ;isi P1 dari Akumulator

MOV P2,FFH ;isi P2 dengan nilai FFH


Pengalamatan Kode

Pengalamatan kode terjadi ketika operand merupakan alamat dari instruksi JUMP dan CALL. Berikut contoh ACALL yang memanggil label Tunda, sehingga akan melompat ke lokasi memori bernama Tunda.



Contoh :

ACALL Tunda



TUNDA:

MOV A,#FEH

LOOP:

DJNZ A, LOOP

RET


Pengalamatan Bit

Pengalamatan bit ialah penunjukkan alamat lokasi bit baik dalam RAM internal atau perangkat keras menggunakan symbol titik (.).

Contoh :

SETB P1.7 ; Set bit port 1.7 aktif

SETB TR1 : Set TR1 (Timer 1 aktif)

SETB RXD ; memberikan logika 1 pada kaki RXD yang berada di port 3.0



Operator

Operator digunakan untuk melakukan aksi aritmatika, logika pergeseran bit dan lain-lainnya pada operand .Beberapa operator yang tersedia diantaranya :



Operator Aritmatika

* untuk perkalian

/ untuk pembagian

+ untuk penambahan

- untuk pengurangan



Contoh : MOV A, #25H+3H ; sama dengan MOV A,#28H



Operator Logika

OR untuk poerasi OR

AND untuk operasi AND

XOR untuk operasi XOR

EXOR untuk operasi EXOR

NOT untuk operasi invert



Contoh :

MOV A, #20H OR 40H ;sama dengan MOV A,#60H

MOV A,#10H AND 31H ;sama dengan MOV A, 10H



Operasi Khusus

SHR 16 bit geser ke kanan

SHL 16 bit geser ke kiri

HIGH pilih bagian tas bit

LOW pilih bagian bawah bit

EQ = sama dengan

NET <> tidak sama dengan

Lt < lebih kecil

LE <= lebih kecil atau sama dengan

GT > lebih besar

GE >= lebih besar atau sama dengan



Dimana perlu anda perhatikan prioritas dari operator sebagai berikut :

()

HIGH , LOW

Z*/, MOD, SHL , SHR

+, -

EQ, NE, LT, LE, GT, GE,=,<>,<,<=,>,>=

NOT

AND

OR, XOR



Pengarah Pilihan Segmen (Segment Selection Directives)

Ada 5 buah pengarah pilihan segmen yaitu CSEG, BSEG , DSEG ISEG dan XSEG yang menunjukkan salah satu dari 5 buah area memori . Penjelasan dari masing-masing segmen sebagai berikut :



CSEG : untuk memilih lokasi memori program

BSEG : untuk meilih lokasi memori yang dapat dialamati

secara pengalamatan bit

DSEG untuk memilih lokasi memori RAM Internal

ISEG untuk memilih lokasi memori RAM Internal yang

dialamati secara tak langsung

XSEG untuk memilih lokasi memori eksternal



Mencoba Membuat Program

Anda dapat mengetik program di mana saja seperti notepad, wordpad dan ALDS. ALDS ialah software yang dapat kita gunakan membuat program dan melacak kesalahan. Program pertama kita ialah Program yang menerima input dari port dan lalu menampilkan outputnya berlogika 1 atau 0 di port 1. Karena DT-51 menggunakan memori eksternal, maka dimulai dari alamat 4000H. Kode selanjutnya ialah membuat sebuah label dengan nama mulai, isi dari label tersebut ialah menerima data dari P2 lalu dikirim ke akumulator A menggunakan perintah MOV. Lalu datai di Akumulator di pindahkan ke P1 menggunakan fungsi MOV juga. Untuk terjadi perulangan terus menerus, kita menggunakan fungsi JMP untuk loncat ke label mulai.Program diakhiri menggunakan fungsi END. Untuk merancang program, sebaiknya dibua terlebih dahulu flowchart? yang kemudian dapat diterjemahkan ke dalam pseudocode.



Listing Program 1. Program menerima data dari port 2 lalu dikirim ke port 1 (tesio.asm)

$mod51

ORG 4000H ; menggunakan alamat awal EEPROM DT51

mulai: ; Label mulai

MOV A,P2 ; Kirim Data pada Port 2 Ke Accumulator

MOV P1,A ; Kirim Data pada Accumulator ke Port 1

JMP mulai ; Loncat Ke Label Mulai

END

Pastikan file mod51 berada di dalam folder yang sama dan kode tidak case sensitive. Anda dapat menggunakan saklar yang diberi tegangan 5 V dan ground untuk menghasilkan pulsa 1 atau 0 yang dihubungkan ke input port 2. Lalu port 1 dapat menggunakan LED. Atau anda juga dapat menggunakan Trainer Board dari Innovative Electronics sehingga tidak membuang waktu untuk merangkai rangkaian tersebut. Kompile program ini lalu masukkan ke kit DT-51 menggunakan dt51l.exe dalam mode dos atau dt51lwin.exe dalam mode windows.



Program berikut akan mengetes port 1 di DT-51 Minimum System. Output di port 1 akan berlogika 1 dan 0 secara bergantian. Untuk melihat hasil output, kita menggunakan delay agar perubahan logika di port tersebut dapat terlihat.



Listing Program 2 . Tes port 1 DT-51(tesport.asm)



$MOD51

$TITLE(TESPORT)

CSEG

ORG 4000H

AJMP START

ORG 4100H



Delay: MOV R2,#0FH

Del1: MOV R1,#0FFH

DJNZ R1,$

DJNZ R2,Del1

RET

START: MOV SP,#30H

XX: MOV P1,#0FFH ;semua pin di port 1 high

ACALL Delay

MOV P1,#00H ; set low

ACALL Delay

AJMP XX

END



Program diatas akan mengisi SP dengan 30H dan membuat P1 kelap - kelip . Untuk memanggil label Delay digunakan fungsi ACALL .



Hanya dengan menggunakan 1 buah Mikrontroler, kita? dapat menghubungkannya dengan peralatan lainnya seperti sensor, lampu indicator, relay dan LCD. Jika port yang tesedia tidak memadai, biasanya kita menggunakan IC tambahan seperti PPI 8255 sebagai interface dengan rangkaian digital lainnya. Gambar 16.5 menampilkan model interfacing mikrokontroler yang umum, dimana 1 buah mikrokontroler mampu dihubungkan dengan berbagai devais.