Thursday, February 6, 2014

Membuat lampu dimmer led dengan pwm mikrokontroler

Setelah mempelajari tentang pulse width modulation (pwm) dan aplikasinya dengan mengendalikan kecepataan motor dc, kali ini kita akan coba menggunakan metode pulse width modulation (pwm) untuk membuat lampu dimmer. Lampu dimmer adalah lampu yang dapat kita atur tingkat intensitas cahaya yang dipancarkan, dengan lampu dimmer kita dapat mengatur intensitas cahaya, mulai dari redup, normal dan sangat terang. 

Pada tulisan ini, kita akan coba menerapkan output pwm untuk mengatur intensitas cahaya led, sebagai input kita gunakan potensiometer yang akan menjadi input ke channel ADC (Analog to digital converter). Jadi pada dasarnya rangkaian ini memanfaatkan ADC (Analog to digital converter) sebagai input dan PWM (pulse width modulation) sebagai output yang akan terhubung ke led sebagai lampu dimmer.

Berikut langkah - langkah percobaannya:
1. Buatlah rangkaian seperti pada gambar berikut:
Membuat lampu dimmer led dengan pwm mikrokontroler
Rangkaian mikrokontroler

Pada rangkaian sebagai input ADC channel 0 (porta.0) adalah rangkaian pembagi tegangan dengan penggunakan potensiometer (antara 0 volt sampai 5 volt). dan sebagai output, led kita hubungkan ke portd.5 sebagai output pulse width modulation.


Jadi terang dan redupnya led tergantung dari potensiometer, semakin mendekati 5 volt dc tegangan yang masuk ke  channel 0 ADC (porta.0) maka semakin terang nyala led danbegtu juga sebaliknya, semakin mendekati 0 volt dc tegangan yang masuk ke channel 0 ADC (porta.0) maka nyala led akan semakin redup.


2. Buatlah listing program menggunakan compiler bascom AVR seperti dibawah ini: 
 
$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output

Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Prescale = 1
Config Adc = Single , Prescaler = Auto , Reference = Avcc

Dim Dimmer As Word
Start Adc

Do
Locate 1 , 1
Lcd "Intensitas cahaya"
Locate 2 , 1
Lcd Dimmer

Dimmer = Getadc(0)
Pwm1a = Dimmer
Waitms 50

Loop
End
 
Pada program, awalnya kita konfigurasi ADC dan PWM lalu kita samakan nilai ADC = nilai pwm, maka output pwm tergantung dari input ADC yang ada.
 
3. Compile dan downloadkan program ke mikrokontroler

4. Jalankan program, hasil simulasinya seperti gambar dibawah ini:

Membuat lampu dimmer led dengan pwm mikrokontroler
Simulasi led dimmer

Wednesday, February 5, 2014

Cara Mengatur Kecepatan Motor DC dengan Mikrokontroler

Setelah mempelajari tentang pulse width modulation (pwm) pada mikrokontroler, kita akan coba mengaplikasikan penggunaan pwm dalam hal mengatur kecepatan motor dc dengan pwm pada mikrokontroler atmega 8535.

Penggunaan motor dc dalam berbagai macam aplikasi sering kali digunakan, karena mudahnya dalam mengontrol motor dc itu sendiri. Penerapan - peerapan motor dc biasanya pada pembuatan robot line follower, belt conveyor, dan aplikasi - aplikasi yang membutuhkan gerakan.

Dalam hal pengontrolan, kecepatan motor dc dapat kita kendalikan dengan menggunakan mikrokontroler, yaitu menggunakan fasilitas pwm internal yang sudah ada pada mikrokontroler. 

Pulse width modulation sendiri pada dasarnya mengatur waktu on dan off yang diberikan ke motor melalui driver motor ( pin enable pada IC l298).

Berikut langkah - langkah percobaannya:
1. Buatlah rangkaian seperti pada gambar berikut:

Cara Mengatur Kecepatan Motor DC dengan Mikrokontroler
Rangkaian motor dc


2. Buatlah listing program menggunakan compiler bascom AVR seperti dibawah ini:




$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output

Config Timer1 = Pwm , Prescale = 64 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up


Portd = 0
Portb = &HFF

Do
Locate 1 , 1
Lcd "nilai pwm"
Locate 2 , 1
Lcd Pwm1a

If Pinb.0 = 0 Then
Do
Loop Until Pinb.0 = 1
Portd.0 = 1
Portd.1 = 0
Pwm1a = Pwm1a + 10
End If

If Pinb.1 = 0 Then
Do
Loop Until Pinb.1 = 1
Portd.0 = 1
Portd.1 = 0
Pwm1a = Pwm1a - 10
End If

If Pinb.2 = 0 Then
Do
Loop Until Pinb.2 = 1
Portd.0 = 0
Portd.1 = 0
Pwm1a = 0

If Pwm1a > 250 Then
Pwm1a = 0
End If

End If


Loop
End



3. Compile dan downloadkan program ke mikrokontroler

4. Jalankan program, hasil simulasinya seperti gambar dibawah ini:

Cara Mengatur Kecepatan Motor DC dengan Mikrokontroler
Hasil simulasi pwm



Tuesday, February 4, 2014

Bagaimana cara mengatur arah motor dc dengan mikrokontroler

Pada dasarnya mikrokontroler layaknya sebuah processor yang dapat mengolah dan memproses data yang digunakan untuk menggantikan kerja transistor dan relay, keunggulan mikrokontroler ini adalah bisa kita program sesuai dengan yang kita inginkan, sehingga rangkaian elektronikanya tidak terlalu rumit, penggunaan mirkokontroler sendiri bisa kita gunakan untuk aplikasi - aplikasi dari yang sederhana sampai dengan yang rumit. untuk yang sederhana bisa kita manfaatkan dengan memanfaatkan fungsi input / output I/O pada mikrokontroler.

Pada tulisan kali ini akan dijelaskan bagaimana mengontrol atau mengendalikan arah putaran sebuah motor dc dengan menggunakan mikrokontroler. Sebagai input kita gunakan 3 buah push button, jadi ketika push button pertama ditekan maka motor akan berputar searah dengan jarum jam, ketika push button kedua ditekan maka motor akan berputar berlawanan arah jarum jam dan ketika push button ditekan maka motor akan berhenti.

Berikut langkah - langkah percobaannya:

1. Buat rangkaian seperti gambar berikut:

Bagaimana cara mengatur arah motor dc dengan mikrokontroler 

Rangkaian diatas disusun dengan skema:

Input:

push button 1 = pinb.0
push button 2 = pinb.1
push button 3 = pinb.2

Output:
portd.0 = input 1 driver motor (IC l298)
portd.1 = input 2 driver motor (IC l298)

Sebagai driver motor, digunakan IC l298, driver tersebut kita gunakan agar tegangan dari mikrokontroler tidak digunakan sebagai tegangan utama yang mensupply beban dalam hal ini motor dc, jadi untuk menggerakkan motor, supply utamanya kita gunakan dari luar, mikrokontroler hanya sebagai trigger logikanya saja.

Berikut tabel logika driver motor IC l298:



Bagaimana cara mengatur arah motor dc dengan mikrokontroler

Langkah berikutnya, kita buat listing program yang akan kita download ke mikrokontroler menggunakan compiler bascom avr:

$regfile = "8535def.dat"
$crystal = 1000000

Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.2 , Rs = Portc.0
Config Lcd = 16 * 2
Cursor Off
Config Portb = Input
Config Portd = Output

Portd = 0
Portb = &HFF

Do

If Pinb.0 = 0 Then
Portd.0 = 1
Portd.1 = 0
End If

If Pinb.1 = 0 Then
Portd.0 = 0
Portd.1 = 1
End If

If Pinb.2 = 0 Then
Portd.0 = 0
Portd.1 = 0
End If


Loop
End


3. jalankan / simulasikan program:
 
Bagaimana cara mengatur arah motor dc dengan mikrokontroler

semoga bermanfaat

Sunday, February 2, 2014

Pulse Width Modulation (PWM) pada mikrokontroler

Hai sobat control and innovation

Setelah pada tulisan sebelumnya kita membahasa tentang teori mengenai analog to digital converter (ADC) dan aplikasi sederhana mengenai ADC,  Membuat Thermometer digital dengan sensor LM 35 dan Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535, maka pada tulisan kali ini akan kita pelajari mengenai pulse width modulation (PWM).

Pulse witdh modulation (PWM) terkadang juga disebut sebagai pulse duration modulation (PDM) adalah sebuah teknik modulasi yang membandingkan lebar pulsa dalam kondisi high dan low, yang membentuk sebuah durasi pulsa atau lebih dikenal dengan duty cycle, dan teknik PWM ini biasa digunakan untuk mengontrol output atau keluaran beban seperti kecepatan motor, atau juga aktuator valve.


Pulse Width Modulation (PWM) pada mikrokontroler



Mikrokontroler atmega telah menyediakan fitur pulse width modulation (PWM) sebanyak 2 channel yaitu OCR1A dan OCR1B sehingga kita dapat mengontrol dua device menggunakan metode PWM dengan menggunakan mikrokontroler atmega.

Pulse Width Modulation (PWM) pada mikrokontroler

Dan salah satu keuntungan dalam pengontrolan beban menggunakan pulse width modulation (pwm) ini adalah kemungkinan terjadinya loss power pada beban yang dikontrol sangatlah kecil. karena ketika signal dalam kondisi "off", maka arus tidak mengalir, dan ketika signal dalam kondisi "on" maka hampir tidak ada tegangan drop yang tercipta dan metode pengontrolan beban menggunakan pulse width modulation(pwm) ini juga bekerja sangat baik dalam pengolahan sinyal digital.

Tags: PWM, mikrokontroler, ADC, aplikasi, pulse width modulation, analog to digital converter



Saturday, February 1, 2014

Analog to Digital Converter (ADC) pada Mikrokontroler atmega

Hai sobat control and innovation

Pada tulisan Membuat Thermometer digital dengan sensor LM 35 dan Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535 kita telah membuat aplikasi yang menggunakan ADC (Analog to digital converter).

Lalu apa sebenarnya yang dimaksud dengan ADC (analog to digital converter), ADC merupakan suatu cara dalam mengolah data analog menggunakan perangkat digital, jadi data yang awalnya berupa data analog dikonversi oleh ADC menjadi data digital, dan data digital inilah yang nantinya akan diolah oleh mikrokontroler untuk di proses.

Dalam  merancang  perangkat  sistem  kontrol  berbasis  Mikrokontroler, diperlukan suatu interface antara  besaran analog yang dibaca oleh sensor dengan Mikrokontroler, sebab Mikrokontroler hanya  mampu mengolah  data  dalam bentuk  digital sehingga diperlukan perangkat yaitu analog to digital converter (ADC). Agar hasil pembacaan suhu yang terukur dapat mencapai rentang suhu pada obyek prektek, maka perlu diatur tegangan acuan eksternal (Vref). Tegangan acuan  eksternal berfungsi menentukan besarnya resolusi ADC dan dapat diatur  dengan memberikan referensi rangkaian eksternal Vref  pada  modul ATmega. Rangkaian tegangan acuan eksternal yang digunakan adalah sebagai berikut:

Analog to Digital Converter (ADC) pada Mikrokontroler atmega

Vreffpin=2.28Volt



Tegangan  acuan  sebesar  Vreff=2,283  volt  dihasilkan  dengan  memutar  variabel resistor 5Kohm.
Contoh:
Agar hasil pembacaan suhu yang terukur dapat mencapai rentang suhu pada obyek prektek, maka perlu diatur tegangan acuan eksternal (Vref).

Analog to Digital Converter (ADC) pada Mikrokontroler atmega

Besar penguatan rangkaian noninverting adalah:

A = 1+(Rf/Ri) = 1+(R2/R1)
    = 1+(12K/10K) =1+1.2
    = 2,2 (terukur 2,23 kali) 
 
Vout LM35 = Suhu * 10 mV
ADC = (Vout LM35 x Resolusi ADC) / Vref 

Vout adalah tegangan keluaran LM35 dan Vref adalah tegangan acuan yang digunakan  oleh  tegangan  acuan  eksternal  modul  ATmega32.  Jika  menggunakan tegangan acuan 2,283 Volt eksternal maka tingkat keluaran ADC untuk 91,5 derajat Celsius dapat dihitung sebagai berikut: 

ADC = ((91,5 x 10mv) x 2,23 x 1024) / 2,283 = 915,2

Vreff=2,283 volt

Dengan pembagian hasil dengan 10, sehingga didapatkan 91,5, ini adalah nilai temperatur yang tepat yang terukur oleh sensor.