Showing posts with label ADC. Show all posts
Showing posts with label ADC. Show all posts

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

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.
  

Thursday, January 30, 2014

Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535


Hai sobat control and innovation

Setelah pada post / artikel sebelumnya kita mencoba membuat Menghidupkan led dengan push button menggunakan mikrokontroler atmega 8535 dan Membuat rangkaian dan program led berjalan dengan mikrokontroler atmega 8535, yang dimana keduanya memanfaatkan I/O (input/output) digital dari mikrokontroler, nah pada artikel kali ini akan coba dijelaskan bagaimana memanfaatkan analog input pada mikrokontroler atmega 8535 dengan membuat voltmeter digital memanfaatkan analog to digital converter (ADC) internal pada mikrokontroler atmega 8535.

Analog to digital converter (ADC) merupakan fitur yang telah disediakan oleh mikrkontroler atmega 8535 sehingga kita memerlukan Integrated circuit (IC) tambahan layaknya ketika kita menggunakan mikrokontroler keluarga MCS-51. ADC berfungsi untuk mengkonversi nilai analog menjadi nilai digital sehingga bisa data yang tadinya analog bisa kita oleh untuk nantinya bisa kita ubah kebali menjadi data digital untuk berbagai macam keperluan, aplikasi  dari ADC ini biasanya digunakan untuk sensor – sensor yang output datanya analog seperti suhu, kelembaban, dan sebagainya.

Fitur ADC internal pada mikrokontroler atmega 8535 adalah sebagai berikut:

adc mikrokontroler


Lalu kita akan mencoba membuat sebuah aplikasi dengan memanfaatkan fitur ADC internal pada mikrokontroler atmega yaitu membuat aplikasi voltmeter digital.

Buat rangkaian seperti ini, kalau ingin simulasi bisa buat di proteus:

Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535
Lalu kita buat listing programnya menggunakan 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 = Output
Config Portd = Input

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim W As Word , Volt As Word
Start Adc
Cls


Locate 1 , 1
Lcd "v = "
Do
W = Getadc(0)
Volt = W * 5
Locate 1 , 5
Lcd Volt ; " mV"


Loop
End






Penjelasan rangkaian:
Rangkaian diatas sebagai inputnya kita gunakan ADC channel 0 yaitu pada pin A.0 yang akan mendapatkan input dari potensiometer, dan output berupa LCD yang terhubung pada port C.

Penjelasan Program:

Config Adc = Single , Prescaler = Auto , Reference = Avcc
Start Adc

Perintah diatas merupakan konfigurasi yang kita gunakan prescaler dapat kita ganti/sesuaikan dengan berapa crystal yang kita gunakan, pada program diatas kita gunakan auto, dan tegangan referensinya 5 volt (artinya Avcc pada mikrokontroler kita hubungkan ke 5 volt).

Setelah meyakinkan rangkaian dan program telah sesuai dengan diatas, maka jalankan program

Membuat voltmeter digital menggunkan ADC internal mikrokontroler atmega 8535


Selamat mencoba...