Hendawan’s Weblog

Just another WordPress.com weblog

Thermal Array TPA81

TPA81 dapat mendeteksi sinar infra merah dengan panjang gelombang 2um-22um (1mikro meter = sepersejuta meter). Panjang gelombang ini dihasilkan oleh benda-benda yang panas. Oleh karena yang dideteksi adalah radiasi panasnya saja, maka TPA81 dapat mengukur suhu tanpa harus menyentuh sumber panas. Sebagai gambaran, TPA81 dapat mendeteksi suhu api lilin dalam jarak 2 meter tanpa terpengaruh cahaya ruangan.

Jalur komunikasi data TPA81 menggunakan teknologi I2C (Inter Integrated Circuit) yang menggunakan dua kabel saja yaitu SDA untuk jalur data dan SCK untuk jalur clock. Jika dihubungkan dengan mikrokontroler, TPA81 dapat dipasang paralel sebanyak 8 buah tanpa menambah jalur komunikasi. Anda hanya perlu menambahkan resistor pull-up 1K8 pada jalur SDA dan SCK. Selain dapat mengeluarkan data suhu, TPA81 dapat juga mengendalikan sebuah motor servo.

tpa-81

Baca Selengkapnya thermal-array-tpa81-application-v1

February 10, 2009 Posted by hendawan | Tutorial | | 8 Comments

Pengendalian Motor Stepper

Dasar Motor Stepper

Motor stepper adalah sebuah peralatan elektromekanik yang mengubah pulsa elektrik menjadi pergerakan mekanik. Shaft atau kumparan motor stepper berputar per step ketika pulsa elektrik dimasukkan ke kumparan tersebut dengan urutan yang benar. Urutan pemberian pulsa ke motor stepper akan menyebabkan arah putaran yang berbeda. Sedangkan besarnya frekuensi dari pulsa akan mempengaruhi kecepatan putaran motor stepper.

Motor Stepper Unipolar

Motor stepper unipolar baik tipe 5 atau 6 kabel biasanya dihubungkan seperti pada gambar diatas, dengan sebuah center tap pada tiap kumparan. Pada penggunaannya, center tap dihubungkan ke supply positif, dan dua ujung kumparan lainnya dihubungkan ke ground.

Bagian rotor motor pada gambar diatas dibuat dari magnet permanent dengan 6 kutub, 3 kutub utara dan 3 kutub selatan.

Step Angle / SA

Motor stepper bergerak per step. Setiap bergerak satu step, motor stepper akan berputar beberapa derajat sesuai dengan step anglenya. Step angle tergantung dari jumlah kutub magnet motor stepper. Jumlah putaran yang diperlukan agar motor stepper bergerak 1 putaran penuh (360 derajat) adalah :

Step = 360 derajat / Step Angle

Misalnya, sebuah motor stepper memiliki SA=1,8 derajat maka untuk untuk berputar satu putaran penuh memerlukan jumlah step sebanyak : 360 / 1,8 = 200 step

Kendali Arah Putaran

Arah putaran motor stepper ditentukan oleh arah urutan aktifasi kumparannya. Secara program, ini bisa dilakukan dengan mengubah arah pergeseran bit.

Jika arah pergesarannya ke kiri, maka motor stepper akan berputar kearah kiri pula (CCW)

Jika arah pergeserannya ke kanan, maka motor stepper akan berputar ke arah kanan (CW)

Arah Putaran Searah Jarum Jam

#include <mega8535.h>

#include <delay.h>

// Declare your global variables here

int i;

unsigned char x;

void main(void)

{

.

.

i=0;

x=0×88;

while (1)

{

// Place your code here

while (i<=3)

{

i++;

PORTA=x;

delay_ms(500);

x=x>>1;

if (i>=4)

{

i=0;

x=0×88;

}

}

};

}

Arah Putaran Berlawanan Arah Jarum Jam

#include <mega8535.h>

#include <delay.h>

// Declare your global variables here

int i;

unsigned char x;

void main(void)

{

.

.

.

i=0;

x=0×11;

while (1)

{

// Place your code here

while (i<=3)

{

i++;

PORTA=x;

delay_ms(500);

x=x<<1;

if (i>=4)

{

i=0;

x=0×11;

}

}

};

}

Kendali Kecepatan

Kecepatan motor stepper ditentukan oleh kecepatan aktifasi kumparannya. Secara program, ini bisa dilakukan dengan mengubah delay waktu pergeseran tiap bitnya. Semakin cepat delay waktunya, kecepatan motor stepper juga akan bertambah.

#include <mega8535.h>

#include <delay.h>

// Declare your global variables here

int i;

unsigned char x;

void main(void)

{

.

.

.

i=0;

x=0×88;

while (1)

{

// Place your code here

while (i<=3)

{

i++;

PORTA=x;

delay_ms(50);

x=x>>1;

if (i>=4)

{

i=0;

x=0×88;

}

}

};

}

Kendali Torsi

Torsi motor stepper ditentukan oleh banyaknya jumlah kumparan yang aktif pada saat yang sama. Torsi akan bertambah besar jika 2 kumparan aktif pada saat yang sama.

Secara program, ini bisa dilakukan dengan mengubah kondisi bit.

#include <mega8535.h>

#include <delay.h>

// Declare your global variables here

int i;

unsigned char x;

void main(void)

{

.

.

.

i=0;

x=0×4C;

while (1)

{

// Place your code here

while (i<=3)

{

i++;

PORTA=x;

delay_ms(500);

x=x>>1;

if (i>=4)

{

i=0;

x=0×4C;

}

}

};

}


Kendali Posisi

Derajat putaran motor stepper ditentukan oleh banyaknya jumlah pergeseran aktifasi kumparannya. Secara program, ini bisa dilakukan dengan mengubah jumlah pergeseran bit.

Pada motor stepper dengan SA=1,80 , agar motor stepper bergerak 1800 maka diperlukan pergeseran step sebanyak : 180/1,8 =100 step

#include <mega8535.h>

#include <delay.h>

// Declare your global variables here

int i,step;

unsigned char x;

void shift()

{

if (x==0×11)

{

PORTA=x;

delay_ms(500);

x=0×88;

}

else

{

PORTA=x;

delay_ms(500);

x=x>>1;

}

}

void main(void)

{

.

.

.

step=100;

x=0×88;

i=0;

while (1)

{

// Place your code here

if (i<=step)

{

shift();

i++;

}

else

PORTA=0×00;

};

}

October 23, 2008 Posted by hendawan | Tutorial | | 6 Comments

Tutorial Mikrokontroler AT89S51

Mikrokontroler AT89S51 sudah sangat familier dikalangan pecinta mikrokontroler. Biasanya dengan mikrokontroler ini para pemula mulai belajar tentang mikrokontroler. Biasanya dimulai dengan mengenal hardware mikrokontrolernya kemudian dilanjutkan dengan mengenal pemrogramannya. AT89S51 merupakan mikrokontroler produksi ATMEL Corporation, dan masuk keluarga MCS-51. Cara membuat programnya bisa dengan bahasa assembly atau bahasa C. Dalam tutorial ini, akan dijelaskan dasar mikrokontroler menggunakan bahasa assembly. Untuk lebih jelasnya bisa dilihat pada Tutorial AT89S51

March 19, 2008 Posted by hendawan | Tutorial | | 5 Comments

Tutorial AVR Assembler

January 21, 2008 Posted by hendawan | Tutorial | | 3 Comments