Komunikasi i2c Kompas CMPS10 menggunakan Bascom AVR

| 17 April 2014

Modul sensor CMPS10 merupakan sensor Magnetometer 3-axis terintegrasi dengan accelerometer 3-axis.Modul ini menggunakan prosesor 16-bit, CMPS10 telah dirancang untuk mengurangi kesalahan yang disebabkan oleh kemiringkan PCB. CMPS10 menghasilkan keluaran hasil 0-3599 mewakili 0-359,9 atau 0 sampai 255. Output dari tiga sensor berukuran x, y dan z komponen dari medan magnet, bersama dengan pitch and roll yang digunakan untuk menghitung bearing.  Modul CMPS10 membutuhkan catu daya pada 3,6 - 5V dan arus sebesar 25mA dalam penggunaannya . Ada tiga cara untuk mendapatkan bantalan dari modul. Sebuah antarmuka serial, antarmuka I2C atau output PWM. Namun kali ini yang akan saya bahas adalah menggunakan antarmuka i2c/

Untuk antarmuka CMPS10 dengan mikrokontroler sebagai berikut :




Untuk contoh programnya bisa diunduh  disini 
Datasheet CMPS 10 Datasheet CMPS10

Semoga Bermanfaat

Membuat Teks Berjalan dan Karakter Khusus pada LCD 16x2 menggunakan Bascom AVR

| 16 April 2014
Membuat Teks Berjalan 

Geser sakedik neng, geser sakedik kang.....(hahaha, emangnya di Angkot)
Bahasan kali ini adalah untuk membuat teks berjalan pada tampilan LCD 16x2 biar bisa goyang bara bere gitu. kita dapat menggunakan fitur dari Bascom AVR yang berupa shift left dan shift right.

Langsung ajalah ga usah bertele ngocehnya, gini nih list programnya :

$regfile = "m32def.dat"
$crystal = 11059200


'konfigurasi pin
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
Config Lcd = 16 * 2
 

Dim A As Integer          'deklarasi variabel A

Cursor Off                'menyembunyikan tampilan kursor

Home                      'meletakkan kursor ke baris pertama
Lcd "Elektro"
Lowerline                 'meletakkan kursor ke baris kedua
Lcd "Lead The Way"
A = 0
For A = 1 To 5
Shiftlcd Right            'geser kekanan 10x
Waitms 500                'delay 500 ms
Next

A = 0
For A = 1 To 5
Shiftlcd Left             'geser kekiri10x
Waitms 500                'delay 500ms
Next

End



Membuat Karakter Khusus

Seringkali dalam project yang kita buat memerlukan beberapa karakter khusus, semisal saja simbol panah, jangkar ataupun derajat. Dalam kesempatan ini saya akan mencoba menjelaskan cara mendesain karakter LCD sesuai yang kita inginkan dengan menggunakan Bascom AVR.
 
Pada software Bascom AVR, kita dapat menggunakan fitur LCD Designer yang terdapat pada menu Tools.
















Setelah masuk ke LCD Designer,langkah selanjutnya adalah membuat bentuk kakrakter yang kita inginkan.
Dalam satu kolom terdapat kotak 8x5 kotak.kali ini saya contohkan membentuk karakter Love yang akan ditampilkan pada LCD.

















Setelah desain yang teah didesain dengan LCD Designer selesai, selanjutnya pilih "OK" dan Bascom akan mengenerate desain yang dibuat tadi. Contoh hasil generate dari desain diatas yang telah dibuat adalah sebagai berikut:

Deflcdchar [x],4,10,17,16,8,4,2,1         ' replace [x] with number (0-7)    

ganti tulisan "[x]" dengan angka 0 sampai 7, hal ini bertujuan untuk pengalamatan dari desain untuk dipanggil saat nanti ditayangkan di LCD

Untuk pemanggilan desain yang telah dibuat, cukup menuliskan  Lcd Chr(0). Angka (0) merupakan pengalamatan dari desain.

Begitu mudah kan menggunakan Bascom AVR.

Untuk mengunduh contoh dalam program dan simulasi proteus bisa diunduh disini

Salam Olahraga,
Semoga Bermanfaat.



Motor Stepper

|

Definisi Motor Stepper
Motor stepper adalah perangkat elektromekanis yang bekerja dengan mengubah pulsa elektronis menjadi gerakan mekanis diskrit. Motor stepper bergerak berdasarkan urutan pulsa yang diberikan kepada motor. Karena itu, untuk menggerakkan motor stepper diperlukan pengendali motor stepper yang membangkitkan pulsa-pulsa periodik. Penggunaan motor stepper memiliki beberapa keunggulan dibandingkan dengan penggunaan motor DC biasa. 

Keunggulan Motor Stepper
  •  Sudut rotasi motor proporsional dengan pulsa masukan sehingga lebih mudah diatur.
  • Motor dapat langsung memberikan torsi penuh pada saat mulai bergerak
  •  Posisi dan pergerakan repetisinya dapat ditentukan secara presisi
  • Memiliki respon yang sangat baik terhadap mulai, stop dan berbalik (perputaran) 
  •  Sangat realibel karena tidak adanya sikat yang bersentuhan dengan rotor seperti pada motor    DC
  • Dapat menghasilkan perputaran yang lambat sehingga beban dapat dikopel langsung ke porosnya
  • Frekuensi perputaran dapat ditentukan secara bebas dan mudah pada range yang luas.


Jenis Motor Stepper 
Pada dasaranya terdapat 3 jenis motor stepper yaitu: 
1.    Motor stepper tipe 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. Berikut ini adalah penampang melintang dari motor stepper tipe variable reluctance (VR):


Penampang melintang dari motor stepper tipe variable reluctance (VR)

2.    Motor stepper tipe 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 (perhatikan gambar 2.9). 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. Berikut ini adalah ilustrasi sederhana dari motor stepper tipe permanent magnet:
 
 Ilustrasi sederhana dari motor stepper tipe permanent magnet (PM)

3.    Motor stepper tipe 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. Berikut ini adalah penampang melintang dari motor stepper tipe hibrid:

  
 Penampang melintang dari motor stepper tipe hybrid

Berdasarkan metode perancangan rangkain pengendalinya, motor stepper dapat dibagi menjadi jenis unipolar dan bipolar. 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.6).
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.7). 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

Tutorial Tampilan LCD pada Mikrokontroler menggunakan Bascom AVR

| 14 April 2014
Halo berjumpa lagi dengan corat-coret bimo. Kali ini topik yang akan dibahas adalah LCD pada mikrokontroler menggunakan software pemrograman Bascom AVR, tentunya dengan bahasa pemrograman Basic. Sebelum bahas lebih lanjut, apa sih LCD itu?

LCD adalah singkatan dari Liquid Crystal Display, suatu media tampilan yang menggunakan kristal cair sebagai penampil utama,. LCD banyak digunakan pada alat-alat elektronik, yang sering dijumpai adalah pada TV, kalkulator, tiket parkir, tiket mainan wahana anak, dll. Tipe yang banyak digunakan dan biasanya untuk belajar mikrokontroler adalah LCD dot matrik 16x2. LCD 16x2 artinya adalah 16 kolom dan 2 baris.

Penampakan dari LCD 16x2








Konfigurasi Pin LCD adalah sebagai berikut :















Pada umumnya Pin yang digunakan sebagai I/O ke mikrokontroler adalah pin RS, R/W, En dan DB4-7

Konfigurasi Pin LCD 16x2 pada kaki mikrokontroler contohnya sebagai berikut :



'Ingat' apabila menggunakan Bascom AVR, pin 5 LCD (Pin R/W) dihubungkan ke ground. berbeda dengan menggunakan codevison, pin 5 dibungkan dengan pin.

Contoh 1 Listing Program Menampilkan tulisan ke tampilan LCD 16x2

'konfigurasi mikrokontroler dan kristal clock
$regfile = "m32def.dat"
$crystal = 11059200
 

'konfigurasi pin
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
Config Lcd = 16 * 2

Cursor Off          'menyembunyikan tampilan kursor

Home               
'meletakkan kursor ke baris pertama
Lcd "Elektro"
Lowerline
           'meletakkan kursor ke baris kedua
Lcd "Lead The Way"












 









Contoh 2 Listing Program Menampilkan tulisan ke tampilan LCD 16x2
regfile = "m32def.dat"
$crystal = 11059200


Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
Config Lcd = 16 * 2

Cursor Off

Locate 1 , 5        
'meletakkan kursor ke baris pertama, kolom kelima
Lcd "Elektro"           
Locate 2 , 2         'meletakkan kursor ke baris kedua, kolom ke dua
Lcd "Lead The Way"




















Contoh 3 Listing Program Menampilkan tulisan ke tampilan LCD 16x2
$regfile = "m32def.dat"
$crystal = 11059200

Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.2 , Rs = Portb.0
Config Lcd = 16 * 2

Dim Nama As String * 4        
'deklarsai variabel nama
Dim Nim As Long                'deklarsai variabel nim
Dim Urut As Integer            'deklarsai variabel urut
Dim Ipk As Double              'deklarsai variabel Ipk
Cursor Off                     'menyembunyikan tampilan kursor
Nama = "Bimo"                  'menyimpan karakter nama ke buffer
Nim = 115090055                'menyimpan karakter urut ke buffer
Urut = 4                       'menyimpan karakter ipk ke buffer
Ipk = 3.34

Home                           'meletakkan kursor ke baris pertama
Lcd "Elektro"
Lowerline                      'meletakkan kursor ke baris kedua
Lcd "Lead The Way"
Wait 1                         'delay 1 detik

Cls                            'menghapus layar

Home                           'meletakkan kursor ke baris pertama
Lcd "Nama : " ; Nama           'menampilkan karakter nama dari buffer
Lowerline                      'meletakkan kursor ke baris kedua
Lcd "NIM  : " ; Nim            'menampilkan karakter nama dari buffer
Wait 1                        
'delay 1 detik 

Cls                            'menghapus layar

Home
Lcd "Urut : " ; Urut           'menampilkan karakter urut dari buffer
Lowerline
Lcd "IPK : " ; Ipk             'menampilkan karakter IPK dari buffer
End


 


















Bila ingin mengunduh contoh program dan simulasi proteus dari topik yang dibahas diatas bisa didownload disini
 
Semoga Bermanfaat

ISIS Proteus : Software Simulasi Elektronik. Belajar Mikrokontroler jadi lebih mudah dengan Simulasi.

| 13 April 2014
Hallo rekan-rekan, teman-teman ataupun saudara-saudara sekalian. Bertemu lagi dengan catatan-catatan yang gag gitu guna alias corat coret Bimo. Pada postingan kali ini saya akan berbagi software simulasi elektronik "PROTEUS" yang sering digunakan oleh penghobi elektronik, khususnya untuk project-project Mikrokontroler AVR.

Opo meneh kui (Apa lagi itu) "PROTEUS" ?

Proteus adalah salah satu jenis model bis dari karoseri Laksana. eh bukan Proteus bis woe, ini Proteus Simulasi. PROTEUS sebenarnya bernama ISIS Proteus, karena namanya kepanjangan, maka software ini sering disebut dengan PROTEUS saja. Proteus adalah suatu software buatan Labcenter Electronics yang digunakan untuk simulasi skematik elektronik. Dengan simulasi ini, ada beberapa keuntungan yang didapat. misalanya menghemat biaya komponen, menghemat waktu riset, dan mengurangi tingkat kesalahan.


Proteus lebih populer digunakan untuk simulasi Mikrokontroler (menurut pendapat pribadi sih....) karena mendukung dalam pembacaan file program (.hex) yang telah kita buat. beberapa contoh untuk simulasi LCD Display, Keypad, Push Button, PWM Motor, dll.

Penampakan dari sopwerna seperti dibawah ini :



Jika anda berminat dan ingin mencoba sotware ISIS PROTEUS, silahkan diunduh dan dicoba pada link yang sudah disediakan dibawah ini :

Silahkan Download disini

Semoga Bermanfaat