- Rangkaian pengendali motor stepper unipolar lebih mudah dirancang karena hanya memerlukan satu switch / transistor setiap lilitannya. Untuk menjalankan dan menghentikan motor ini cukup dengan menerapkan pulsa digital yang hanya terdiri atas tegangan positif dan nol (ground) pada salah satu terminal lilitan (wound) motor sementara terminal lainnya dicatu dengan tegangan positif konstan (VM) pada bagian tengah (center tap) dari lilitan (perhatikan gambar 2.11).
Motor stepper dengan lilitan unipolar |
- Untuk motor stepper dengan lilitan bipolar,
diperlukan sinyal pulsa yang berubah-ubah dari positif ke negatif dan
sebaliknya. Jadi pada setiap terminal lilitan (A & B) harus dihubungkan
dengan sinyal yang mengayun dari positif ke negatif dan sebaliknya (perhatikan
gambar 2.12). Karena itu dibutuhkan rangkaian pengendali yang agak lebih
kompleks daripada rangkaian pengendali untuk motor unipolar. Motor stepper
bipolar memiliki keunggulan dibandingkan dengan motor stepper unipolar dalam hal
torsi yang lebih besar untuk ukuran yang sama.
Motor stepper dengan lilitan bipolar |
Contoh Program : Untuk pengendalian stepper Bipolar dapat Kita lihat gambar di bawah ini:
Sedangkan programnya stepper bipolarnya adalah:
#include <mega16.h>
#include <delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
// Declare your global variables here
void main(void)
{
PORTD = 0X00;
DDRD = 0XFF;
PORTB = 0XFF;
DDRB = 0X00;
// LCD module initialization
lcd_init(16);
lcd_gotoxy(1,0);
lcd_putsf("stepper bipolar ");
while (1)
{
// Place your code here
if (PINB.7 == 0)
{
lcd_gotoxy(1,1);
lcd_putsf("Putar Kiri.");
PORTD = 0X01;
delay_ms(10);
PORTD = 0X02;
delay_ms(10);
PORTD = 0X04;
delay_ms(10);
PORTD = 0X08;
delay_ms(10);
}
if (PINB.6 == 0)
{
lcd_gotoxy(1,1);
lcd_putsf("Putar Kanan.");
PORTD = 0X08;
delay_ms(10);
PORTD = 0X04;
delay_ms(10);
PORTD = 0X02;
delay_ms(10);
PORTD = 0X01;
delay_ms(10);
}
};
}Contoh Program :Untuk Stepper UNIPOLAR dilihat di bawah
programnya mirip dengan program yang di atas
#include <delay.h>
// Alphanumeric LCD Module functions
#asm
.equ __lcd_port=0x15 ;PORTC
#endasm
#include <lcd.h>
// Declare your global variables here
void main(void)
{
PORTD = 0X00;
DDRD = 0XFF;
PORTB = 0XFF;
DDRB = 0X00;
// LCD module initialization
lcd_init(16);
lcd_gotoxy(0,0);
lcd_putsf("stepper unipolar");
while (1)
{
// Place your code here
if (PINB.7 == 0)
{
lcd_gotoxy(0,1);
lcd_putsf("Putar Kanan");
PORTD = 0X01;
delay_ms(10);
PORTD = 0X02;
delay_ms(10);
PORTD = 0X04;
delay_ms(10);
PORTD = 0X08;
delay_ms(10);
}
if (PINB.6 == 0)
{
lcd_gotoxy(0,1);
lcd_putsf("Putar Kiri.");
PORTD = 0X08;
delay_ms(10);
PORTD = 0X04;
delay_ms(10);
PORTD = 0X02;
delay_ms(10);
PORTD = 0X01;
delay_ms(10);
}
};
}
1 komentar - Skip ke Kotak Komentar
mantap bang, ijin copy
Post a Comment
Aturan berkomentar :
1. Penggguna yang terdaftar
2. Gunakan bahasa yang santun dan sopan
3. Dilarang SPAM
4. Dilarang menaruh link aktif dan link porno
5. Jika ada suatu permasalahan lihat komentar lain atau bisa kirim via e-mail