2016年1月7日木曜日

Arduino DUE DAC精度(2)

はじめに

Arduino DUE DAC精度で書いた通り、 DUEのDAC精度が芳しく無く見える件の続きです。

DAC1端子も見てみました。

環境

  • Arduino DUE ボード
今度はDAC1端子とA0端子の直結です。


コード

前回と同様で、出力端子をDAC1端子に変更したのみです。

int setval;
void setup() {
  Serial.begin(9600);
  setval = 0;
  analogWriteResolution(10);
}

int val;
void loop() {
  Serial.print("setval / readval = ");

  analogWrite(DAC1, setval);
  delay(500);
  val = analogRead(A0);
  Serial.print(setval);
  Serial.print(" / ");
  Serial.println(val);

  setval = (setval + 32) % 1024;
}

結果

DAC1もDAC0と同様、オフセット付き、フルスケール誤差大、といった感じでした。
本当にそうなのでしょうか?
setval / readval = 0 / 164 setval / readval = 32 / 185 setval / readval = 64 / 207 setval / readval = 96 / 228 setval / readval = 128 / 250 setval / readval = 160 / 271 setval / readval = 192 / 293 setval / readval = 224 / 314 setval / readval = 256 / 336 setval / readval = 288 / 357 setval / readval = 320 / 378 setval / readval = 352 / 400 setval / readval = 384 / 421 setval / readval = 416 / 443 setval / readval = 448 / 464 setval / readval = 480 / 485 setval / readval = 512 / 507 setval / readval = 544 / 528 setval / readval = 576 / 550 setval / readval = 608 / 571 setval / readval = 640 / 593 setval / readval = 672 / 614 setval / readval = 704 / 636 setval / readval = 736 / 657 setval / readval = 768 / 678 setval / readval = 800 / 700 setval / readval = 832 / 721 setval / readval = 864 / 743 setval / readval = 896 / 764 setval / readval = 928 / 785 setval / readval = 960 / 807 setval / readval = 992 / 829 setval / readval = 1023 / 849  
DAC0とDAC1を併記してみました。

0 件のコメント:

コメントを投稿