1. PENDAHULUAN
Dalam artikel berikut ini penulis mencoba untuk memberikan sedikit keterangan mengenai pengertian-pengertian yang paling penting dari teknologi Pengolah Mikro (Mikro Processor).
Pengolah Mikro, sebagai elemen elektronik yang relatif baru, mempunyai pengaruh yang demikian besar dalam teknik, sehingga akan berguna bagi sarjana Teknik Mesin bila mengetahui karakteristik yang paling penting dari teknologi Pengolah Mikro. Dalam makalah ini suatu sistem positioning yang biasa dijumpai dalam mesin perkakas CNC akan dibahas sebagai salah satu contoh aplikasi dari Pengolah Mikro dalam Teknik Mesin.
2. PENGOLAH MIKRO
Pengolah Mikro merupakan suatu rangkaian terpadu (IC: Integrated Circuit), yang bila dilengkapi dengan komponen-komponen lain yang diperlukan, dapat melaksanakan instruksi-instruksi yang diberikan dalam bentuk kode.
Instruksi-instruksi tersebut dapat berupa:
- a. Instruksi-instruksi pemindah, yang berupa perintah untuk memindahkan (transfer) data dari suatu sumber ke suatu tujuan, misalnya: memindahkan data dari ingatan (Memory) ke Pengolah Mikro.
- b. Instruksi-instruksi ilmu hitung, misalnya instruksi berupa operasi ilmu hitung seperti penjumlahan atau pengurangan.
- c. Instruksi-instruksi logika, yaitu suatu operasi pengambilan keputusan atas dasar logika, misalnya mengolah 2 byte menurut fungsi AND.
- Laboratorium Kontrol Numerik dan Robotik, Jurusan Mesin ITB
- Instruksi-instruksi lompat (jump), misalnya jump (lompat), call (panggil), return (kembali).
- e. Instruksi-instruksi khusus, misalnya halt (berhenti).
Suatu Pengolah Mikro yang dikelilingi oleh satelitsatelitnya (seperti ingatan atau memory, Pengontrol Input/Output dan peralatan periferinya) dinamakan sebagai suatu sistem komputer Mikro.
Instruksi yang diberikan pada Komputer Mikro akan dilaksanakan satu persatu, dan waktu yang diperlukan untuk pelaksanaan instruksi harus diperhitungkan secara cermat agar Pengolah Mikro dapat melaksanakan tugasnya dengan baik. Bila dibandingkan dengan Komputer Mini, maka kecepatan Komputer Mikro dalam melaksanakan instruksi masih relatif lebih lambat. Setiap jenis Pengolah Mikro memiliki himpunan instruksi (instruction set) yang dapat diberikan padanya. Himpunan instruksi yang dimiliki oleh suatu Pengolah Mikro merupakan salah satu karakteristiknya, dan seringkali digunakan sebagai bahan pertimbangan dalam pemilihan Pengolah Mikro guna suatu keperluan yang tertentu.
Telah disebutkan bahwa Pengolah Mikro dapat melaksanakan instruksi ilmu hitung dari data yang berupa bilangan biner. Bila jumlah bit dari bilangan biner yang dapat diolah dalam suatu Pengolah Mikro adalah 8 bit, maka Pengolah Mikro tersebut dinamakan sebagai Pengolah Mikro 8 bit. Disamping itu, masih dapat dijumpai Pengolah Mikro 16 bit dan Pengolah Mikro 32 bit. Dalam tabel 1 ditunjukkan beberapa contoh bilangan biner dan ekivalensinya dalam bilangan desimal dan bilangan heksa desimal. Bilangan heksa desimal penting untuk diketahui, karena cara penulisan maupun pembacaannya lebih mudah jika dibandingkan dengan bilangan biner.
Tabel I. Bilangan biner 8 bit dan ekivalensinya dalam desimal dan heksa desimal.
| Desimal | Biner | Heksa desimal | ||
|---|---|---|---|---|
| 3 | 00000011 | 03 、 | ||
| 100 | 01100100 | 64 | ||
| 14 | 00001110 | 0E | ||
| 59 | 00111011 | 3B | ||
| 67 | 01000011 | 43 | ||
| -67 | 10111101 | BD | ||
Selanjutnya, dalam tabel 2 ditunjukkan bilangan biner 8 bit yang membentuk bilangan heksa desimal, dan cara konversi dari bilangan biner menjadi bilangan heksa desimal ditunjukkan dalam gambar 1.

Gambar 1. Cara konversi dari bilangan biner menjadi bilangan heksa desimal.
Cara konversi dari bilangan biner menjadi bilangan heksa desimal amatlah mudah, dimana setiap 4 bit yang terhitung dari LSB (Least Significant Bit) akan menjadi suatu kode dari bilangan heksa desimal. Salah satu konfigurasi yang paling sederhana dari suatu sistem komputer mikro diperlihatkan dalam gambar 2. Dalam sistem tersebut, Pengolah Mikro sebagai CPU (Centre Processing Unit) dikelilingi

Gambar 2. Konfigurasi yang paling sederhana dari suatu sistem Komputer Mikro
oleh satelit-satelitnya, yaitu RAM (Random Access Memory), ROM (Read Only Memory) dan suatu chip pengontrol Input/Output.
Tabel 2. Kombinasi dari bilangan biner 4 bit yang membentuk bilangan heksa desimal.
| Bilangan biner | Bilangan heksa desimal | ||
|---|---|---|---|
| 0000 | 0 | ||
| 0001 | 1 | ||
| 0010 | 2 | ||
| 0011 | 2 3 | ||
| 0100 | 4 | ||
| 0101 | 5 | ||
| 0110· | 6 | ||
| 0111 | 7 | ||
| 1000 | 8 | ||
| 1001 | 9 | ||
| 1010 | Α | ||
| 1011 | В | ||
| 1100 | C | ||
| 1101 | D | ||
| 1110 | E | ||
| 1111 . | \(\mathbf{F}_{\perp}\) | ||
RAM berfungsi sebagai ingatan, di mana instruksi/data/hasil-antara (intermediate result) bisa disimpan/dibaca yang bersifat "Volatile" yaitu akan kehilangan informasi yang disimpannya bilamana arus listrik dari catu daya (power supply) terputus. Dalam beberapa hal, kadangkala tidak dikehendaki adanya kehilangan informasi dari RAM bila arus listriknya terputus, maka RAM, ROM dan Pengontrol Input/Output dihubungkan ke Pengolah Mikro melalui bus alamat, bus data dan bus kendali. Pada umumnya, Pengolah Mikro 8 bit mempunyai 16 bit alamat, sehingga bisa mengakses (menghubungi) 64 kilo-byte lokasi ingatan (1 byte 8 bit).
Berbeda dengan RAM, ROM termasuk jenis ingatan yang "non volatile", yaitu tidak akan kehilangan informasi yang disimpannya walaupun arus listriknya terputus.
Biasanya, ROM digunakan untuk menyimpan program yang merupakan sistem operasi (operating sistem) dan program-program standar. Chip pengontrol Input/Output mengontrol aliran informasi antara Pengolah Mikro dengan peralatan periferinya. Beberapa contoh dari Pengontrol Input/Output adalah sebagai berikut:
- PIA- (Peripheral Interface Adapter) yang mengontrol aliran informasi dari dan ke Pengolah Mikro dalam bentuk paralel.
- USART (Universal Synchronous/Asynchronous Receiver Transmitter) yang mengontrol aliran informasi dari dan ke Pengolah Mikro dalam bentuk serial.
3. CONTOH APLIKASI PENGOLAH MIKRO DALAM SISTEM POSITIONING
Sistem positioning merupakan hal yang penting, dalam teknik Mesin, khusus bagi mesin-mesin perkakas CNC (Computer Numerical Control) yang mempunyai ketelitian positioning dalam orde beberapa mikro meter saja (umumnya 5 mikrometer untuk mesin perkakas presis seperti mesin gerinda, dan 10 sampai 25 mikro-meter untuk mesin bubut, mesin freis ataupun "machining center").
Tugas CNC yang utama di dalam mesin perkakas CNC adalah menghasilkan pergerakan relatif antara benda kerja dengan pahat, sebagai proses untuk memperoleh bentuk yang diinginkan dari benda kerja menjadi produk.
Pergerakan relatif tersebut diperoleh dengan melakukan koordinasi pergerakan antara elemenelemen yang bergerak di sepanjang sumbu pergerakan (movement-axis) dari mesin perkakas yang bersangkutan. Koordinasi pergerakan antara elemenelemen yang bergerak di sepanjang sumbu pergerakan, dalam usaha memperoleh lintasan yang diharapkan (misalnya lintasan lingkaran dsb.), akan diatur oleh Interpolator dalam bentuk:
- Piranti keras DDA (Digital Differential Analizer) dalam mesin perkakas CNC.
- Piranti Lunak, yang menggantikan piranti keras DDA, dalam mesin perkakas CNC.
Dalam artikel ini, hanya akan dibahas suatu contoh aplikasi Pengolah Mikro dalam sistem positioning satu sumbu pergerakan, dan bersifat sistem positioning dari titik ke titik (point ke point). Pada prinsipnya cara kerja dari sistem positioning yang menggunakan Pengolah Mikro adalah serupa dengan sistem positioning klasik yang menggunakan "hardwired Logic". Suatu sistem positioning yang menggunakan rangkaian "hard wired logic" ditunjukkan dalam gambar 3.

Gambar 3. Contoh suatu sistem positioning kontrol tertutup (closed loop positioning system).
Gambar 4. Enkoder sebagai sensor posisi.

Gambar 5. Isyarat yang diberikan oleh enkoder.
- a. Apabila meja melakukan pergerakan maju (isyarat A mendahului isyarat B).
- b. Apabila meja melakukan pergerakan mundur (isyarat B mendahului isyarat A).
Selanjutnya isyarat dari enkoder, yang berupa deretan pulsa, dihitung oleh pencacah (counter). Pits (Pitch) atau jarak kisar dari batang berulir bersama-sama dengan kemampuan enkoder (dalam menghasilkan jumlah pulsa perputaran) akan menentukan ketelitian pengukuran posisi dari pergerakan mejanya. Dalam hal ini perlu dilakukan kalibrasi antara arti 1 pulsa dari GP (lihat gambar 3) dan 1 pulsa yang dihasilkan oleh pencacah.
Kesalahan posisi (Ep) yang dinyatakan oleh perbedaan antara GP dan AP akan diteruskan ke pegontrol (lihat gambar 6) dan Konverter "Digital to Analog" untuk menentukan besarnya kecepatan yang diinginkan (GV) sebagai input dari pengontrol kecepatan.
Kontrol kecepatan yang ditunjukkan dalam gambar 3 merupakan bagian yang penting, karena akan memperbaiki sifat dinamis dari sistem positioning ini (dapat memberikan suatu harga koefisien peredaman yang baik). Penguat (amplifier) digunakan dalam kontrol kecepatan tersebut dan mendapatkan isyarat umpan balik dari tachogenerator,

Gambar 6. Pengontrolan Posisi untuk menentukan kecepatan motor penggerak.
sehingga arus DC (i) akan mengalir melalui motor DC dan menghasilkan kecepatan putar yang diinginkan tanpa dipengaruhi beban yang diputar oleh motor tersebut. Dalam hal ini, penguat bertindak sebagai pengontrol PID (Proportional-Integral-Derivative).
Untuk melindungi motor DC dari beban berlebih (over load), besar arus DC yang melalui motor tersebut dapat dimonitor dan sistem akan melakukan suatu aksi 'emergency stop' bila beban berlebih terjadi. Motor DC akan mengubah energi listrik menjadi energi mekanik sedemikian rupa sehingga torsi (puntiran) pada poros akan sebanding dengan arus yang melalui motornya. Pengukuran posisi dari pergerakan meja (lihat gambar 3) dilakukan dengan menggunakan enkoder (lihat gambar 4) yaitu sensor posisi digital inkremental secara tidak langsung (indirect, digital and incremental position sensor). Enkoder (kadangkala dinamakan sebagai 'pulse coder') akan memberikan 2 deretan pulsa apabila poros (rotor) dari motor DC berputar, seperti yang ditunjukan dalam gambar 5. Salah satu deretan pulsa mempunyai phase yang berbeda sebesar 'go derajat' dari deretan pulsa yang lain, dan hal ini dapat digunakan untuk :
- Mempertinggi resolusi dari sensor posisi, dengan menghasilkan turunan dari dua deretan pulsa tersebut (lihat gambar 5a dan 5b).
- Mengetahui arah gerakan dari meja yang dikontrol yaitu arah pergerakan maju atau arah pergerakan mundur.
Telah disebutkan dimuka bahwa cara kerja sistem positioning yang menggunakan Pengolah Mikro adalah serupa dengan sistem positioning klasik, seperti yang telah diuraikan di atas. Diagram blok dari sistem positioning yang menggunakan Pengolah Mikro ditunjukkan dalam gambar 7. Dalam gambar 7 terlihat bahwa pengontrol posisi yang berupa piranti keras (yaitu "hard wired logic") ditiadakan, dan digantikan oleh piranti lunak (berupa program kontrol) yang disimpan dalam ROM, sehingga sistem positioning ini dikatakan sebagai "CNC positioning system".
Input data mengenai posisi yang diinginkan dapat dibaca oleh Pengolah Mikro melalui tape", pita magnetik, "key board" dan sebagainya), kemudian disimpan pada suatu lokasi dari RAM-nya. Posisi aktual dari pergerakan meja dan arah dengan membandingkan isyarat A dan isyarat B dan isyarat B yang sebelumnya, sehingga Pengolah Mikro mampu menentukan posisi aktual dari meja yang digerakkan, seperti yang ditunjukkan dalam tabel 3.
Tabel 3. Algoritme perhitungan isyarat A dan isyarat B untuk menentukan posisi aktual.
| Isyarat | idii i | - Colling an | tuai, | |
|---|---|---|---|---|
| A | В | A | В | |
| Isyarat yang sebelumnya | 0 | 0 | 0 | 0 |
| Isyarat yang saat ini Keputa | 1 | 0 | 0 | 1 |
| Keputusan (posisi aktual) | AP + | l | AP – | 1 |
Gambar 7. Sistem positioning dengan menggunakan Pengolah Mikro.
Dengan demikian, harga dari posisi aktual yang juga disimpan dalam salah satu lokasi dari RAM nya, dapat selalu diperbarui sesuai dengan pergerakan yang dilakukan oleh meja.
Selama melakukan proses pengontrolan, pengolah Mikro bertugas untuk menghitung besarbedaan antara posisi ( p ) yang merupakan perposisi aktual persamaan dalam persamaan berikut ini:
\[\in p = GP - AP \dots (1)\]
Berdasarkan informasi tersebut, Pengolah Mikro dapat menghitung besarnya kecepatan yang diinginkan (GV) dengan cara sebagai berikut :
a. Bila \[\in\] p GV = \(\in\) p x Vp .....(2)
V maks adalah kecepatan nominal dari motor DC yang digunakan sebagai penggerak (lihat gambar 6).
Harga ∈ p maks juga disimpan dalam ROM sebagai. parameter.
Hasil perhitungan GV dari Pengolah Mikro selanjutnya disimpan dalam RAM dan dikirimkan ke unit konverter 'digital to Analog' melalui port data input/output. Akhirnya isyarat dalam bentuk analog siap untuk dikirimkan ke Pengontrol kecepatan.
Program kontrol yang digunakan dalam sistem positioning ini terdiri dari program utama (Main Program) yang diagram alirnya ditunjukkan dalam gambar 8 dan program ruitn (routine program) yang

Gambar 8. Diagram alir dari Program Utama.

Gambar 9. Diagram alir dari Program Rutin (interupsi).
diagram alirnya ditunjukkan dalam gambar 9. Sifat dinamis dari sistem positioning dapat diperbaiki dengan menggunakan beberapa 'break points' pada pengontrol posisinya (lihat gambar 10). Setelah menghitung besarnya kesalahan posisi (∈ p), Pengolah Mikro harus menentukan besarnya kecepatan yang diinginkan dengan cara sebagai berikut:
a. Bila \[0 < \in p \le \in p_1\], maka \(GV = \in p \times Vp_1\)
b. Bila \(\in p_1 < \in p \le \in p_2\), maka \(GV = V_1 + e_1\)
b. Bila \[\in p_1 < \in p \le \in p_2\], maka GV = \(V_1\) +
\[[\operatorname{Vp}_2(\in p - \in p_1)] \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots \dots\]
c. Bila \[\in\] p2 \(<\) \(\in\) p \(\leq\) \(\in\) p3, maka GV = V2 + [Vp3 (\(\in\) p \(-\) \(\in\) p2)]....................................
d. Bila \[\in p_3 \leq \in p\], maka GV = V maks .. (7)
Dengan demikian parameter-parameter yang harus disimpan dalam ROM menjadi semakin banyak, yaitu \(\in p_1\), \(\in p_2\), \(\in p_3\), \(V_1\), \(V_2\), \(V_{maks}\), \(V_{p_1}\), \(V_{p_2}\),
Vp<sub>3</sub>. Karena lebih kompleksnya algoritma dalam menentukan harga kecepatan yang diinginkan (GV), maka Pengolah Mikro akan memerlukan waktu yang lebih banyak dalam melaksanakan instruksi-instruksi dari Program Utamanya, dan hal ini harus diperhitungkan dengan cermat agar sistem positioning dapat berjalan dengan baik.
Sebagai contoh, berikut ini diberikan suatu sistem positioning dengan menggunakan batang berulir dan motor DC sebagai penggeraknya.

Gambar 10. Pengontrol Posisi untuk menentukan kecepatan motor Penggerak.
Pits (Pitch) dari batang berulir adalah 8 mm, putaran motor 3000 ppm (putaran per menit), resolusi dari positioningnya 0,025 mm dan parameter \(V_p\) =
Masalah pertama yang timbul di sini adalah berapa kali dalam tiap detik Pengolah Mikro harus memberikan komando ke unit pengontrol kecepatannya, pada saat
\[V_p = 40 \frac{mm}{\frac{\text{detik}}{mm}} = 40 \frac{\text{radian}}{\text{detik}} = 6.37 \frac{\text{siklus}}{\text{detik}} = 6.37 \frac{\text{siklus}}{\text{detik}} = 6.37 \text{ hertz.}\]
Pengolah Mikro harus melakukan perhitungan dalam usaha memberikan komando kecepatan yang diinginkan (GV) dengan frekuensi 7 kali lebih besar, yaitu
\[7 \times 6,37 \text{ hertz} = 44,59 \text{ hertz}\] \[= \frac{44,59 \times 2\pi}{1000} \frac{\text{radian}}{\text{mili-detik}}\]
Dengan demikian, frekuensi pemberian komando adalah
\[\geqslant \frac{44,59 \times 2 \pi}{1000}\] radian mili detik
sehingga — 1 selang waktu antara 32 komando
\[\geqslant \frac{44,59 \times 2 \pi}{1000} \quad \frac{\text{radian}}{\text{mili detik}}\] dan selang antara 2 komando \(\leq \frac{1000}{44,59 \times 2 \pi}\) mili detik atau selang antara 2 komando ≤ 3,57 mili detik.
Masalah kedua adalah setiap berapa lama diperlukan suatu interupsi dari Program Utama agar
Pengolah Mikro tidak kehilangan informasi (isyarat pulsa) dari Enkoder, bila \(\in p \ge \in p\) maks.
1 putaran motor akan memerlukan waktu = 1/300 menit = 20.000 mikro-detik. Dalam 1 putaran tersebut, meja akan bergerak sejauh 8 mm. Apabila resolusinya sebesar 0,025 mm, maka 1 putaran motor akan sama dengan 8 mm/0,025 mm resolusi.
Pergerakan sebesar 320 resolusi tersebut memerlukan waktu sebesar 20.000 mikro-detik. Jadi 1 resolusi pergerakan meja memerlukan waktu selama 20.000 mikro-detik, atau sama dengan 62,5 mikro320 detik.
Dengan demikian, dapat disimpulkan bahwa untuk contoh ini, diperlukan adanya interupsi setiap 62,5 mikro-detik untuk melaksanakan instruksi dari program rutinnya, selama ∈p ≥ ∈p maks. Apabila program rutin memerlukan waktu 55 mikro-detik, maka Pengolah Mikro hanya mempunyai waktu luang sebesar 7,5 mikro-detik dalam melaksanakan instruksi dari Program Utamanya.
Pada saat \(\in\) p < \(\in\) p maks, Pengolah Mikro harus mampu memberikan komando ke unit Pengontrol kecepatan dalam waktu setiap 3,6 mili-detik, agar proses perlambatan (decceleration) berjalan seperti apa yang direncanakan.
Apabila algoritme dari sistem positioningnya semakin kompleks, misalnya dengan menggunakan beberapa 'break-points' (lihat gambar 10), atau apabila jumlah sumbu pergerakannya lebih dari satu, atau apabila diinginkan sistem positioning yang mempunyai interpolator linier maupun interpolator lingkaran maka Pengolah Mikro akan menjadi semakin sibuk dengan dan pada suatu saat dapat terjadi bahwa Pengolah Mikro tidak mampu menjalankan tugasnya dalam kecepatan tinggi yang diharapkan. Dalam hal seperti ini ada beberapa alternatif pemecahan masalah, misalnya menggunakan Pengolah Mikro Pembantu (Multi Processor Positioning system), menyerahkan tugas dalam pengontrolan posisi pada sistem di luar Pengolah Mikro sehingga Pengolah Mikro hanya melaksanakan instruksiinstruksi dari Program Interpolasinya.
Selanjutnya, pemilihan parameter-parameter kontrol (misalnya \(V_p\)) merupakan hal yang sangat penting. Bila harga \(V_p\) terlalu besar, maka dapat terjadi ketidakstabilan dari sistem positioning ini.
Sebaliknya, bila harga \(V_p\) terlalu kecil, maka ketelitian dari positioningnya menjadi berkurang. Karena itulah diperlukan perencanaan dan percobaan dalam masalah semacam ini, agar diperoleh suatu sistem positioning yang optimum.
