avr8 ve pwm

Başlatan hdemir, 22 Eylül 2008, 01:15:12

hdemir

Merhaba arkadaşlar

Sizden avr8 ile pm elde etmek konusunda yardım talep ediyorum. Datasheet e baktım ama ingilizcem yeterli olmadığı için anlayamadım.

ahmet2004

Hangi derleyiciyi kullanıyorsun.? c. asm.

hdemir

atmega8 c ile winavr de yazıyorum bu konuda acil yardıma ihtiyacım var bana yardım ederseniz çok sevinirim

bymrz

arkadaşlar bir de atmelin 10 hardware pwm çıkışına sahip mikrokontrolörleri var, incelediniz mi hiç?

OG

pic de de 9 hpwm çıkışlı var.
FORUMU İLGİLENDİREN KONULARA ÖM İLE CEVAP VERİLMEZ.

bymrz

@OG hocam ama arada fiyat mevzuu var bir de  :lol:

Atmelin bu bahsettiğim mikrokontrolörü 2 dolar civarında..
Bahsettiğiniz picin fiyatı ne civarda hocam peki?

mikromuh

Bascomda basit pwm ornegi;

$regfile = "m8def.dat"
$crystal = 4000000

Config Pinb.1 = Output
Config Pinb.2 = Output

Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1

Do
 Compare1a = 100                                       
 Compare1b = 51
Loop

End

ahmet2004



1.Resim :  OCR2=0x10;

2.Resim :  OCR2=0x80;

3.Resim :  OCR2=0xFE;



#include <avr\io.h>
#include <avr\iom8.h>
#define outp(a, b) b = a

// ahmet2004

int main(void) {

	outp((1<<PINB3), DDRB); 
	TCNT2=0x00;
	
	OCR2=0x10;

	outp((1<<FOC2)|(1<<COM21)|(1<<COM20)|(1<<WGM20)|(1<<CS00), TCCR2);

	for (;;) 
	{
		// Kodlar
	} 
}


Not: 4shared.picproje  ye upload edemedim dosyaları 22.Eylül.2008 18:32:00

http://rapidshare.com/files/147443153/PwmWinAVR_ahmet2004.zip.html

hdemir

arkadaşlar hepinize teşekkür ederim ama bunda frekası nasıl değiştiricem bulamadım. bana pwm frekansını nasıl ayarlayacağımı duty cycle t nasıl ayarlayacağımı da yazarsanız sizlere çok minnetar kalırım.

XX_CİHAN_XX

PIC24FJ64GB106
Tane işi 5$
Yüksek adetlerde 3.6 ya kadar iniyor.

Architecture  16-bit
CPU Speed (MIPS)  16
Memory Type  Flash
Program Memory (KB)  64
RAM Bytes  16,384
Temperature Range C  -40 to 85
Operating Voltage Range (V)  2 to 3.6
I/O Pins  52
Pin Count  64
System Management Features  BOR, LVD
Internal Oscillator  8 MHz, 32 kHz
nanoWatt Features  Low Sleep/Fast Wake/Fast Control
Digital Communication Peripherals  4-UART, 3-SPI, 3-I2C
Analog Peripherals  1-A/D 16x10-bit @ 500(ksps)  
Comparators  3
USB (ch, speed, compliance)  1, Full Speed, USB 2.0 OTG
CAN (#, type)  0 None
Capture/Compare/PWM Peripherals  9/9
16-bit PWM resolutions  16
Timers  5 x 16-bit  
Parallel Port  PMP
Hardware RTCC  Yes

http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en531078
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

hdemir

arkadaşlar bana 15 khz lik kare dalgada yeterli ama timer interruptla ben 4 khz in üstüne çıkamadım nerede hatam var onuda anlayamadım bana timer interruptla 15 khz lik bir kare dalgayı elde etmeyi tarif ederseniz de olur yanlız yazmadan önce mutlaka simülasyonunu yapın keza tccr ye 8 den az yüklediğimde denetleyici sapıtıyor.

Erol YILMAZ

Alıntı yapılan: "hdemir"arkadaşlar bana 15 khz lik kare dalgada yeterli ama timer interruptla ben 4 khz in üstüne çıkamadım nerede hatam var onuda anlayamadım bana timer interruptla 15 khz lik bir kare dalgayı elde etmeyi tarif ederseniz de olur yanlız yazmadan önce mutlaka simülasyonunu yapın keza tccr ye 8 den az yüklediğimde denetleyici sapıtıyor.

15 kHz lik sinyali interrupt ile elde etmek yerine MCU nun PWM modülünü kullanmanı tavsiye ederim.

Modülü ayarlarsın ve sürekli o şekilde sinyal üretmeye devam eder, Duty Cycle i gerektiği zaman değiştirirsin.

hdemir

İlginiz için teşekkür ederim ama bana 5-15 khz değiştirebileceğim bir frekans gerekli. Adc den okudum değere göre bu frekansı değiştirmeliyim ve ben daha pwm in frekansını 31 khz den başka bir değere ayarlayamadım. Bana pwm modülünü nasıl sağlıklı kullanacağımı anlatırsanız çok sevinirim.