Sabtu, 07 Juni 2014

PWM dengan ATMEGA8535 Converter ke Tegangan DC

Cara pengaturan keluaran tegangan DC yang digunakan adalah dengan menggunakan teknik PWM (Pulse Width Modulation), sebenarnya PWM merupakan salah satu teknik untuk mengatur kecepatan motor DC yang umum digunakan. Dengan menggunakan PWM kita dapat mengatur kecepatan yang diinginkan dengan mudah. Teknik PWM untuk pengaturan kecepatan motor adalah, pengaturan kecepatan motor dengan cara merubah-rubah besarnya duty cycle pulsa. Pulsa yang yang berubah ubah duty cycle-nya inilah yang menentukan kecepatan motor. Besarnya amplitudo dan frekuensi pulsa adalah tetap, sedangkan besarnya duty cycleberubah-ubah sesuai dengan kecepatan yang diinginkan, semakin besar duty cylce maka semakin cepat pula kecepatan motor, dan sebaliknya semakin kecil duty cycle maka semakin pelan pula kecepatan motor. Sebagai contoh bentuk pulsa yang dikirimkan adalah seperti pada gambar berikut, pulsa kotak dengan duty cycle pulsa 50%. 


Dengan teknik PWM saya mencoba untuk menghasilkan output tegangan DC, variabel tegangan DC output dapat diubah-ubah dengan masukan ADCnya. Untuk jelasnya dapat dilihat pada skematik berikut.


Listing programnya:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.3 Standard
Project :         PWM using out tegangan DC
Date    :         20/05/2014
Author  :        Bakhtiar. ST
Company :    Politeknik Negeri Lhokseumawe
Comments: 
Chip type    : ATmega8535
Program type   : Application
AVR Core Clock frequency: 12.000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 128
*****************************************************/

#include <mega8535.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x20
#define directionA PORTB.3
void adc_init()
 {
    ADCSRA=0X86;         //ADC enable, ADC interrupt enable, set prescaller to 64
 }
 unsigned char getdata(unsigned char chno)        
  {
    ADMUX=0X60;          //right align the ADC result
    ADMUX|=chno;         //select the ADC channel
    ADCSRA|=0X40;        //start ADC convertion
    delay_ms(1);         //give some time delay to complit the ADC convertion
    return ADCH;
  }

void main()
{          
    //unsigned char pot=0;
    adc_init();
    SREG=SREG|0x80;     //global interrupt enable
    DDRB=0XFF;          //set data direction as output
    TCCR0=TCCR0|0x7A;   //fast pwm,inverting mode,8 prescaler
while(1)
{
    delay_ms(100);
    OCR0= getdata(0);   //read value from pot to OCR0
};
}

Untuk jelasnya uduh aja disini: Link 1 atau Link 2 Berbagi sangat menyenangkan  email: tiar.poli@gmail.com
http://downloads.ziddu.com/download/23822330/PWM-DENGAN-OUPUT-TEGANGAN-DC.rar.html
Atau: http://www.4shared.com/rar/zl3KTD_sba/PWM_DENGAN_OUPUT_TEGANGAN_DC.html?


Tidak ada komentar:

Posting Komentar