はじめに
Arduino DUE DAC精度で書いた通り、 DUEのDAC精度が芳しく無く見える件の続きです。DAC1端子も見てみました。
環境
- Arduino DUE ボード
コード
前回と同様で、出力端子を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 件のコメント:
コメントを投稿