Pengukuran Frekuensi ADC pada Arduino Nano ATmega328

Pengukuran Frekuensi ADC pada Arduino Nano ATmega328

Pengukuran Frekuensi ADC internal pada Arduino Nano ATmega328

berikut ini kode yang dipakai untuk pengukuran

int counter;  // how many iterations
int time_begin = 0;
int time_end = 0;
int duration;

int sensorPin = A0;   // select the input pin for the potentiometer
int ledPin = 13;      // select the pin for the LED

void setup() {
  Serial.begin(115200);
  counter = 0;
  pinMode(2, OUTPUT);
  Serial.println("start benchmark");
}
//---------------------------------------------------
void loop() {
  int value;  // angka yang ditulis
  value = 0;  // minimum value
  analogRead(sensorPin);
  PORTD=0; // langsung akses port supaya lebih cepat
  analogRead(sensorPin);
  PORTD=255;
  counter = counter + 1;
  if (counter >= 10000) {
    float period;
    int time_now = millis();
    counter = 0;
    duration = time_now - time_begin;
    period = duration / 10000.0 /2;
    Serial.print("period (ms): ");
    Serial.println(period);
    //  prepare next round
    time_begin = time_now;
  }
}

Hasil Pengukuran

Pengukuran output pada pin D2 dengan osiloskop menghasilkan sinyal berikut

Dari data port serial, didapatkan angka perioda 0,11 ms

start benchmark
period (ms): 0.11
period (ms): 0.11
period (ms): 0.11
period (ms): 0.11
period (ms): 0.11

Dengan osiloskop didapatkan sinyal kotak dengan frekuensi 4,45532 kHz . Artinya frekuensi ADC adalah dua kalinya, yaitu 8,91064 kHz

Angka 8900 Hz ini sesuai dengan pengukuran di artikel lain: https://chisight.wordpress.com/2016/03/25/speeding-up-the-adc-on-an-arduino-atmega-328p/

Kesimpulan

Frekuensi ADC adalah 8,91064 kHz

Frekuensi ini jauh di bawah kecepatan teoritis. Kemungkinan kelambatan karena library yang dipakai.

Referensi

  • Open Music Labs : ATmega ADC
  • https://www.ee-diary.com/2022/08/programming-atmega328p-adc-in-c.html#
  • https://chisight.wordpress.com/2016/03/25/speeding-up-the-adc-on-an-arduino-atmega-328p/
  • Kode di https://github.com/waskita/embedded/tree/master/nano-adc

Tinggalkan Balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.