Blog Presentasi.

Motor Stepper




*klik teks untuk menuju 


Mikrokontroller AT MEGA 128 dan Mikrokontroller

PIC16F877A.



 a. Mikrokontroller AT MEGA 128 dan Mikrokontroller ascom AVR
 b. Motor Stepper


A. Motor Stepper
Motor stepper adalah salah satu jenis motor dc yang dikendalikan dengan pulsa-pulsa digital. Prinsip kerja motor stepper adalah bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit dimana motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor stepper tersebut.


Kelebihan Motor Stepper

Kelebihan motor stepper dibandingkan dengan motor DC biasa adalah :
  1. Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur.
  2. Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak
  3. Posisi dan pergerakan repetisinya dapat ditentukan secara presisi
  4. Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik (perputaran)
  5. Sangat realibel karena tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor DC
  6. Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel langsung ke porosnya
  7. Frekuensi perputaran dapat ditentukan secara bebas dan mudah pada range yang luas.

Prinsip Kerja Motor Stepper

Prinsip kerja motor stepper adalah mengubah pulsa-pulsa input menjadi gerakan mekanis diskrit. Oleh karena itu untuk menggerakkan motor stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik.
Berikut ini adalah ilustrasi struktur motor stepper sederhana dan pulasa yang dibutuhkan untuk menggerakkannya :


Jenis-Jenis Motor Stepper

Berdasarkan struktur rotor dan stator pada motor stepper, maka motor stepper dapat dikategorikan dalam 3 jenis sebagai berikut :

Motor stepper Variable reluctance (VR)

Motor stepper jenis ini telah lama ada dan merupakan jenis motor yang secara struktural paling mudah untuk dipahami. Motor ini terdiri atas sebuah rotor besi lunak dengan beberapa gerigi dan sebuah lilitan stator. Ketika lilitan stator diberi energi dengan arus DC, kutub-kutubnya menjadi termagnetasi. Perputaran terjadi ketika gigi-gigi rotor tertarik oleh kutub-kutub stator.

Motor stepper Permanent Magnet (PM)

Motor stepper jenis ini memiliki rotor yang berbentuk seperti kaleng bundar (tin can) yang terdiri atas lapisan magnet permanen yang diselang-seling dengan kutub yang berlawanan. Dengan adanya magnet permanen, maka intensitas fluks magnet dalam motor ini akan meningkat sehingga dapat menghasilkan torsi yang lebih besar. Motor jenis ini biasanya memiliki resolusi langkah (step) yang rendah yaitu antara 7,50 hingga 150 per langkah atau 48 hingga 24 langkah setiap putarannya

Motor stepper Hybrid (HB)

Motor stepper tipe hibrid memiliki struktur yang merupakan kombinasi dari kedua tipe motor stepper sebelumnya. Motor stepper tipe hibrid memiliki gigi-gigi seperti pada motor tipe VR dan juga memiliki magnet permanen yang tersusun secara aksial pada batang porosnya seperti motor tipe PM. Motor tipe ini paling banyak digunkan dalam berbagai aplikasi karena kinerja lebih baik. Motor tipe hibrid dapat menghasilkan resolusi langkah yang tinggi yaitu antara 3,60 hingga 0,90 per langkah atau 100-400 langkah setiap putarannya
Unknown Unknown Author

Motor DC dengan AT Mega






1. Rangkaian Simulasi [kembali]

Prinsip kerja rangkaian :
        Rangkaian terdiri dari LCD, driver motor L293D, keypad, dan 2 switch dengan menggunakan mikrokontroller Atmega 128. Dimana LCD terhubung pada PORT A, switch terhubung pada PORT B dengan switch 1 pada pin 0 ddan switch 2 pada pin 6. Dan juga driver motor terhubung pada PORT D dan keypad terhubung pada PORT E. untuk menjalankan simulasi klik tombol PLAY. untuk memulai operasi maka ditekan tombol RESET terlebih daulu. setelah itu, apabila tombol 1 pada keypad ditekan, maka motor stepper akan berputar. dan apabila switch 1 diaktifkan, maka motor stepper akan berputar juga


2. Flowchart [kembali]


3. Listing Program [kembali]
#include <mega128.h>                       // Library atmega 128
#include <delay.h>                             // Libaray delay
#include <alcd.h>                               // Library LCD
int pin[]={1,2,4,8};                             // Deklarasi pin digunakan
int i;                                                     // Deklarasi nilai I;
void putar()                                         // Fungsi putar
{
    for( i=4;i>0;i--)                                // Perulangan
         {     
         lcd_gotoxy(1,1);                        // Posisi tulisan pada LCD
         lcd_putsf("Putar");                     // Mencetak tulisan pada LCD
         delay_ms(50);                            // Delay selama 50 ms
         lcd_clear();                                 // Membersihkan /reset LCD
         PORTD= pin[i];                         // Menjalankan motor sesuai biner
         }
}
void keypad()
{
PORTE=0b1111011;                          // PORTE sebagai keypad
delay_ms(1);                                       // Delay selama 1 ms
if (PINE.4 == 0)                                 // Jika PINE.4 ditekan dengan aktif low
  {           
    lcd_gotoxy(1,0);                             // Posisi kata yang tampil pada LCD
    lcd_putsf("Anda Tekan 1");            // Menulis kata pada LCD
    putar();                                            // Memanggil fungsi putar
  }
}
void main(void)                                  // Fungsi utama dalam program
{         
    PORTD=0x00;                                // PORTD dengan kondisi awal aktif low
    DDRD=0xff;                                  // PORTD ditetapkan sebagai ouput
    PORTF=0x00;                                // PORTF dengan kondisi awal aktif low
    DDRF=0x00;                                  // PORTF ditetapkan sebagai input
    PORTE=0xff;                                 // PORTE dengan kondisi awal aktif high
    DDRE=0x0f;                                  // PORTE ditetapkan sebagai input dan output
    lcd_init(16);                                    // Inisialisasi tipe LCD yang digunakan
   
    while(1)                                           // Looping dalam program
    {  
       keypad();                                      // Fungsi keypad     
       if (PINB.0 == 1)                          // Jika PINF.0 aktif high saat ditekan
        {                 
         putar();                                       // Memanggil fungsi putar
        }        
    }

}
4. Video [kembali]

5. Link Download [kembali]

File HTML - Download
File Proteus - Download
File Program - Download
Video Rangkaian - Download
Unknown Unknown Author

Motor DC dengan Arduino






1. Rangkaian Simulasi [kembali]



Prinsip kerja rangkaian :

        Rangkaian terdiri dari 3 switch SPDT, IC L293D, motor DC dan LCD dengan menggunakan mikrokontroller Arduin Mega 2560 dimana switch SPDT terhubung ke pin digital (16, 17, 18), untuk IC L293D terhubung ke pin digital (4, 5, 6, 7) dan LCD terhubung ke pin digital (31, 33, 35, 37, 39, 41). Pertama untuk menjalankan simulasi klik tombol PLAY, kemudian untuk memulai operasi, maka ditekan tombol RESET. Setelah itu apabila switch satu ( SW 0) berkondisi HIGH dan dua switch lainnya berkondisi LOW, maka putaran motor akan lambat dan LCD menampilkan tulisan “motor pelan”, apabila switch dua ( SW 1) berkondisi HIGH dan dua switch lainnya berkondisi LOW, maka putaran motor akan sedang dan LCD menampilkan tulisan “motor sedang”, apabila switch tiga ( SW 2) berkondisi HIGH dan dua switch lainnya berkondisi LOW, maka putaran motor akan cepat dan LCD menampilkan tulisan “motor cepat”, apabila seluruh switch berkondisi LOW, maka motor tidak berputar dan LCD menampilkan tulisan “motor mati” dan apabila keadaan switch berbeda dari keadaan yang ada sebelumnya, maka motor akan mati dan LCD menampilkan tulisan “tidak ada kondisi”.
2. Flowchart [kembali]


3. Listing Program [kembali]


#include <LiquidCrystal.h>                            //library untuk LCD
LiquidCrystal lcd (41,39,37,35,33,31);           // menunjukkan pin yang dihubungkan pada di LCD
int m1 = 7;                                                       //pin m1 pada L293 dihubungkan ke pin 14 pada Arduino
int m2 = 6;                                                       //pin m2 pada L293 dihubungkan ke pin 15 pada Arduino
int m3 = 5;                                                       //pin m3 pada L293 dihubungkan ke pin 16 pada Arduino
int m4 = 4;                                                       //pin m4 pada L293 dihubungkan ke pin 17 pada Arduino
const int s1 = 16;                                             // switch 1 dihubungkan ke pin 19 pada Arduino
const int s2 = 17;                                             // switch 2 dihubungkan ke pin 20 pada Arduino
const int s3 = 18;                                             // switch 3 dihubungkan ke pin 21 pada Arduino
void setup()                                                     // Settingan kondisi yang akan digunakan
{                                         
pinMode(m1,OUTPUT);                                // menjelaskan bahwa pin m1 sebagai output
pinMode(m2,OUTPUT);                                // menjelaskan bahwa pin m2 sebagai output
pinMode(m3,OUTPUT);                                // menjelaskan bahwa pin m3 sebagai output
pinMode(m4,OUTPUT);                                // menjelaskan bahwa pin m4 sebagai output
pinMode(s1, INPUT);                                     // menjelaskan switch 1 sebagai input
pinMode(s2, INPUT);                                     // menjelaskan switch 2 sebagai input
pinMode(s3, INPUT);                                     // menjelaskan switch 3 sebagai input
digitalWrite(s1, HIGH);                                 // menjelaskan kondisi awal dari switch 1 berlogika high
digitalWrite(s2, HIGH);                                 // menjelaskan kondisi awal dari switch 2 berlogika high
digitalWrite(s3, HIGH);                                 // menjelaskan kondisi awal dari switch 3 berlogika high
lcd.begin(16,2);
}
void loop()                                                      // Perulangan dari semua kondisi yang ditetapkan
{
int switch1 = digitalRead (s1);                         // tetapkan switch 1 sebagai input dengan   pembacaan digital
int switch2 = digitalRead (s2);                         // tetapkan switch 1 sebagai input dengan   pembacaan digital
int switch3 = digitalRead (s3);                        // tetapkan switch 1 sebagai input dengan pembacaan digital
 if (switch1 == LOW && switch2 == LOW && switch3 == LOW)
 {
  lcd.setCursor (0,0);                                       // posisi kursor lcd
  lcd.print ("Motor Mati");                               // cetak LCD
  lcd.clear();                                                     // reset LCD
  digitalWrite (m1,LOW);                               // m1 kondisi mati
  digitalWrite (m2,LOW);                               // m1 kondisi mati
  digitalWrite (m3,LOW);                               // m1 kondisi mati
  digitalWrite (m4,LOW);                               // m1 kondisi mati
 }
 else if (switch1 == HIGH && switch2 == LOW && switch3 == LOW)
 {
  lcd.setCursor (0,0);                                       // posisi kursor lcd
  lcd.print ("Motor Pelan");                             // cetak pada lcd
  lcd.clear();                                         // reset LCD
  delay(1);                                            // delay selama 1 ms
  analogWrite (m1,80);                        // m1 kondisi dengan nilai analog 50 dari 255
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,80);                        // m3 kondisi dengan nilai analog 50 dari 255
  analogWrite (m4,0);                          // m4 kondisi mati
 }
 else if (switch1 == LOW && switch2 == HIGH && switch3 == LOW)
 {
  lcd.setCursor (0,0);                           // posisi lcd
  lcd.print ("Motor Sedang");              // cetak tulisan pada LCD
  lcd.clear();                                         // reset lcd
  delay(1);                                            // delay selama 1 ms
  analogWrite (m1,150);                      // m1 kondisi dengan nilai analog 150 dari 255
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,150);                      // m3 kondisi dengan nilai analog 150 dari 255
  analogWrite (m4,0);                          // m4 kondisi mati
 }
 else if (switch1 == LOW && switch2 == LOW && switch3 == HIGH)
 {
  lcd.setCursor (0,0);                           // posisi lcd
  lcd.print ("Motor Cepat");                 // cetak tulisan pada lcd
  lcd.clear();                                         // reset lcd
  delay(1);                                            // delay selama 1 ms
  analogWrite (m1,255);                      // m1 kndisi dengan nilai 200 dari 255
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,255);                      // m3 kondisi denga nilai 200 dari 255
  analogWrite (m4,0);                          // m4 kondisi mati
 }
 else
 {
  lcd.setCursor (0,0);                           // posisi lcd     
  lcd.print ("Tidak Ada Kondisi !!");   // cetak tulisan pada lcd
  lcd.clear();                                         // reset lcd
  analogWrite (m1,0);                          // m1 kondisi mati
  analogWrite (m2,0);                          // m2 kondisi mati
  analogWrite (m3,0);                          // m3 kondisi mati
  analogWrite (m4,0);                          } } // m4 kondisi mati 4. Video [kembali]

5. Link Download [kembali]

File HTML - Download
File Proteus - Download
File Program - Download
Video Rangkaian - Download
Unknown Unknown Author

Motor DC




*klik teks untuk menuju 


Mikrokontroller AT MEGA 128 dan Mikrokontroller

PIC16F877A.



 a. Mikrokontroller Arduino dan Bascom AVR
 b. Motor DC

A. Motor DC

Pengertian Motor DC dan Prinsip Kerjanya – Motor Listrik DC atau DC Motor adalah suatu perangkat yang mengubah energi listrik menjadi energi kinetik atau gerakan (motion). Motor DC ini juga dapat disebut sebagai Motor Arus Searah. Seperti namanya, DC Motor memiliki dua terminal dan memerlukan tegangan arus searah atau DC (Direct Current) untuk dapat menggerakannya. Motor Listrik DC ini biasanya digunakan pada perangkat-perangkat Elektronik dan listrik yang menggunakan sumber listrik DC seperti Vibrator Ponsel, Kipas DC dan Bor Listrik DC.



Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik yang diberikan pada Motor DC tersebut dibalikan. Motor Listrik DC tersedia dalam berbagai ukuran rpm dan bentuk. Kebanyakan Motor Listrik DC memberikan kecepatan rotasi  sekitar 3000 rpm hingga 8000 rpm dengan tegangan operasional dari 1,5V hingga 24V. Apabile tegangan yang diberikan ke Motor Listrik DC lebih rendah dari tegangan operasionalnya maka akan dapat memperlambat rotasi motor DC tersebut sedangkan tegangan yang lebih tinggi dari tegangan operasional akan membuat rotasi motor DC menjadi lebih cepat. Namun ketika tegangan yang diberikan ke Motor DC tersebut turun menjadi dibawah 50% dari tegangan operasional yang ditentukan maka Motor DC tersebut tidak dapat berputar atau terhenti. Sebaliknya, jika tegangan yang diberikan ke Motor DC tersebut lebih tinggi sekitar 30% dari tegangan operasional yang ditentukan, maka motor DC tersebut akan menjadi sangat panas dan akhirnya akan menjadi rusak.

Prinsip Kerja Motor DC

Terdapat dua bagian utama pada sebuah Motor Listrik DC, yaitu Stator dan Rotor. Stator adalah bagian motor yang tidak berputar, bagian yang statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan medan magnet), Armature Winding (Kumparan Jangkar), Commutator (Komutator) dan Brushes (kuas/sikat arang).
Pada prinsipnya motor listrik DC menggunakan fenomena elektromagnet untuk bergerak, ketika arus listrik diberikan ke kumparan, permukaan kumparan yang bersifat utara akan bergerak menghadap ke magnet yang berkutub selatan dan kumparan yang bersifat selatan akan bergerak menghadap ke utara magnet. Saat ini, karena kutub utara kumparan bertemu dengan kutub selatan magnet ataupun kutub selatan kumparan bertemu dengan kutub utara magnet maka akan terjadi saling tarik menarik yang menyebabkan pergerakan kumparan berhenti.
Unknown Unknown Author

Dot Matrik Bascom






1. Rangkaian Simulasi [kembali]



2. Flowchart [kembali]


3. Listing Program [kembali]


$regfile = "m8535.dat"                                      'memanggil library ATmega 8535
$crystal = 16000000                                         'menentukan kecepatan crystal
Config Portc = Output                                       'PORTC sebagai output
Config Porta = Output                                       'PORTA sebagai output
Ddrb = &B0000                                               'PORTD sebagai input


Do                                                          'fungsi utama
 If Pinb.0 = 1 Then                                         'pemilihan kondisi pada PORTB
   Portc = &B0000000                                        'PORTC mati
   Porta = &B00001                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0110110                                        'keluaran pada PORTC
   Porta = &B00010                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0110110                                        'keluaran pada PORTC
   Porta = &B00100                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0110110                                        'keluaran pada PORTC
   Porta = &B01000                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0110110                                        'keluaran pada PORTC
   Porta = &B10000                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
  Elseif Pinb.1 = 1 Then                                    'pemilihan kondisi pada PORTB
   Portc = &B0111111                                        'keluaran pada PORTC
   Porta = &B10000                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0000000                                        'keluaran pada PORTC
   Porta = &B00001                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0111111                                        'keluaran pada PORTC
   Porta = &B00010                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0111111                                        'keluaran pada PORTC
   Porta = &B00100                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0111111                                        'keluaran pada PORTC
   Porta = &B01000                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0111111                                        'keluaran pada PORTC
   Porta = &B10000                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Elseif Pinb.2 = 1 Then                                   'pemilihan kondisi pada PORTB
   Portc = &B0000000                                        'keluaran pada PORTC
   Porta = &B00001                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Waitms 0.1
   Portc = &B0111110                                        'keluaran pada PORTC
   Porta = &B00010                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0111110                                        'keluaran pada PORTC
   Porta = &B01000                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0111110                                        'keluaran pada PORTC
   Porta = &B00100                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0000000                                        'keluaran pada PORTC
   Porta = &B00001                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms
   Portc = &B0000000                                        'keluaran pada PORTC
   Porta = &B10000                                          'keluaran pada PORTA
   Waitms 0.1                                               'delay 0.1 ms

   Elseif Pinb.3 = 1 Then                                   'pemilihan kondisi pada PORTB
   Portc = &B0000000                                        'keluaran pada PORTC
   Porta = &B00001                                          'keluaran pada PORTA
   Else
   Portc = &B0000000                                        'keluaran pada PORTC
   Porta = &B00000                                          'keluaran pada PORTA
   End If                                                   'pemilihan kndisi selesai

Loop                                                        'fungsi utama
End                                                         'program selesa

  4. Video [kembali]

5. Link Download [kembali]

Link download HTML Download here
Link download video simulasi Download here
Link download rangkaian simulasi Download here
Link download listing program Download here
Unknown Unknown Author