Arduino Mega - Atmega2560 - ProgramMemory

Başlatan barisertekin, 24 Şubat 2018, 22:18:33

barisertekin

Merhaba,

Program hafızası yetmediği için en fazla 512 örnek alabiliyorum.
Bu durumda FFT ile ancak yaklaşık olarak 1khz ile 16khz arasını tespit edebiliyorum.
Aynı zamanda 1khz altını da tespit edebilmem gerekiyor.
1024 örnek alabilsem iş çözülecek ama program memory yetmiyor.
Örnekleme frekansını düşürünce 1hz'e kadar tespit edebiliyorum ama bu sefer de doğal olarak yüksek frekansları göremiyorum.
Sonuçta, Çözünürlük = Fs / N

Ne yapmak lazım? Olmassa iki tane arduino kullanarak yapıcam. Nedir bu fakirlik :)

#define SAMPLES 512
#define SAMPLING_FREQUENCY 45000

double vReal[SAMPLES];
double vImag[SAMPLES];

Kabil ATICI

illede  atmega2560 ile yapman gerekmiyorsa, arduino due kullanabilirsin. 32 bitlik işlemci ve 512k flash, 100k ram (SAM3 serisi ARM tabanlı işlemci)
ambar7

barisertekin

#2
Aynen 2 katı program belleği varmış. Pwm 15'ten 12'ye düşüyor ama olsun.
Mega ile çözüm yoksa yapacak bir şey yok. Siparişi veriyorum :)



Teşekkürler.

Emre_Tuncay_

Merhaba
Konu ile alakasız ama kusura bakmayın.
Bende geçenlerde stm32 üzerinde fft uygulaması gerçekleştirdim.Herşey güzel çalışıyor ama hız konusunda sıkıntı yaşadım overclock yaparak istediğim hıza yaklaştım.Siz arduinoda hız ile ilgili bir sorun yaşadınızmı.
İyi çalışmalar.

barisertekin

Hız sorunu yaşamadım.
Arduino Mega'da normalde adc 10 bit ama prescaler ile hızlandırılabiliyor. 40khz ile örnekleme yapabildim. Daha fazla da yapılabilir ama denemedim.
https://playground.arduino.cc/Code/Prescaler

Harici 16 bit ADC aldım(ADS1115) ama nedense düzgün çalışmadı. Sonra prescaler konusunu öğrenince gerek kalmadı zaten.