Komunikasi Serial Antara ATMega8 dengan Simulink Matlab

Simulink merupakan salah satu toolbox bawaan Matlab sebagai pelengkap yang dapat digunakan untuk berbagai macam keperluan. Salah satunya adalah berkomunikasi dengan peralatan eksternal. Komunikasi dapat dilakukan dengan berbagai macam cara, diantara salah satunya adalah dengan port serial. Dengan menggunakan toolbox simulink, kita dapat mengakuisisi data tanpa perlu berurusan dengan rumitnya coding. Jika pada tulisan sebelumnya telah diberikan contoh mengakuisisi data dengan script Matlab, maka pada kesempatan kali ini akan diberikan sedikit contoh komunikasi serial antara ATmega8 dengan Simulink Matlab.
Untuk dapat membuat komunikasi serial antara ATmega8 dengan Simulink, maka kita harus membuat model simulink. Hanya 2 buah library model saja untuk dapat mengakuisisi dan menampilkannya. Library yang dibutuhkan adalah Query Instrument dan Display.
Untuk membuatnya, ikuti langkah-langkah berikut:
1. Buka Maltab, kemudian buka Simulink dengan cara
a. Mengetik simulink pada Command Window, atau dengan
b. Klik Start pada Matlab –> Simulink –> Library Browser,

kemudian buat sebuah file model baru dengan cara klik File –> New –> Model
2. Pada Simulink Library Browser, cara library dengan mengikuti langkah berikut
1) Ketika Instrument
2) klik icon search
3) drag Query Instrument ke berkas Model

 
3. Tampilan setelah mengambil Query Instrumenti adalah sebegai berikut

 
4. Dengan langkah yang sama pada poin 2 & 3, cari library Display

 
5. Setelah ditemukan, drag pada media model seperti berikut

 
6. Kemudian tambahkan koneksi antara Query Instrument dan Display

 
7. Kemudian double klik pada Query Instrument untuk mengatur setting serial baud rate 115200. Samakan setting seperti tampilan berikut

 
8.  Kemudian langkah selanjutnya adalah membuat project pada ATmega8. Dengan menggunakan Code Vision Wizard, kita bisa dengan mudah membuat program serial. Pertama, atur Chip sesuai dengan tipe ATmega8 yang dipakai, kemudian clock yang digunakan adalah 11.059200 M

 
9. Kemudian klik Tab USART. Beri tanda cek pada Transmintter, kemudian pilih baud rate dengan nilai 115200

Kemudian klik File –> Save dan Generate
10. Kemudian pada coding, tambahkan

      #include <delay.h>


 
11. Tambahkan code berikut

      int i;
for(i=1; i<100; i++)
{
printf(“%d”,i*50);
putchar(0x0A);
delay_ms(250);
}


Kemudian compile dan flash ke ATmega8, dan verify sehingga sukses.
12. Kemudian pindah pada window model simulink. isikan nilai time simulation dengan nilai 100. Kemudian klik icon Start Simulation.

 
13. Hasil simulasi pada t=12, tampil nilai pada display

 
14. Hasil simulasi pada t=59, tampil nilai pada display

 
Demikian semoga bermanfaat.
 
Download Code ATmega8
Download Model Simulink

You may also like...

11 Responses

  1. arman says:

    mas rohmadi rangkaian komunikasi serial atmega8 apakah menggunakan max232.
    thx

  2. arman says:

    trims jwbnya. saya tanya lg nih mas,
    sudah saya coba gagal terus, error code :
    Error reported by S-function ‘QueryInstrument’ in ‘Serial_Tes_2/Query Instrument’:
    Response from instrument was non-numeric
    solusinya bagaimana mas soalnya buat bahan materi skripsi saya untuk menampilkan kec motor dc nti rencananya saya tampilkan dlm bentuk grafik dr atmega16.
    mohon bantuannya, terima kasih.

    • roohmadi says:

      coba dites dulu di Hyperterminal. Seharusnya untuk input S-function itu harus tipe numeric.
      Jika dari error message yang ditampilkan, berarti input bukan bertipe numeric.

    • agungelzan says:

      maaf mas arman apa solusi masalah diatas sudah selesai.
      saya juga membuat skripsi kecepatan putaran motor DC dengan masalah komunikasi diatas.
      mohon bantuannya mas.
      terima kasih

  3. arman says:

    sudah mas agung, bener kata pak roohmadi…ditest dulu dari mikro ke hyperterminal klu sdh keluar angka dr rpm kec motor, baru coba komunikasikan lewat matlab simulink.

  4. agung says:

    mau tanya pak..
    ada tutorial ngirim data dari simulink ke hyperterminal?
    saya pakai windows 7 pak,jadi bingung.
    mohon bantuannya pak.
    terima kasih

  5. cahyati says:

    maaf pak saya mau tanya tentang membuat komunikasi serial di matlab,,
    matlab yang di gunakan matlab apa??
    apa bisa menggunakan matlab7,,karna saya tidak menemukan komponen query instrument di browser simulinknya….

    • roohmadi says:

      Saya menggunakan Matlab 2009,
      Jika menggunakan matlab7 saya kurang tahu apakah ada query instrument. atau juga kemungkinan tidak terinstall secara default. Coba cek saat installasi matlab.

Leave a Reply

Your email address will not be published. Required fields are marked *