2015年6月4日木曜日

ArduinoでPOTの不良をチェック その2

ぴゅんぴゅん3号の出力周波数は0Hz~8,000Hzまでにしていたが
ぴゅんぴゅんコントローラーで調節しようとするとかなり安定しない

ファームウェアで最大2,000Hzまで下げてみたがやっぱり安定しない

そこでPOTの分解能をチェックをすることにした

前やった「ArduinoでPOT不良をチェックする」(http://dad8893.blogspot.jp/2015/04/arduinopot.html)では
あきらかなPOTの不良は判定できたが

しばらくほっておいて値がふらつくかどうか?

の判定はしにくい

なのでArduinoでまたやってみた

<スケッチ>
 // POTの不良を測定  
 // 値のふらつき: 0 .. 1023 の分解能をチェック  
 //  
 // POT 1: GND  
 // POT 2: analogPin  
 // POT 3: 5V  
 int analogPin = A0; // 測定するアナログポートを指定  
 int threshold = 1;  // ふらつきの許容値を指定  
 int val;  
 int lastVal;  
 bool isFirstTime = true; // 初期判定用  
 void setup() {   
  Serial.begin(9600);   
 }   
 void loop() {  
  val = analogRead(analogPin);  
  if (isFirstTime) {  
   isFirstTime = false;  
   lastVal = val;  
  }  
  if (abs(val - lastVal) >= threshold) {  
   Serial.print(millis());  
   Serial.print(" ");  
   Serial.print(lastVal);  
   Serial.print(" -> ");  
   Serial.print(val);  
   Serial.print(" ");  
   Serial.println(val - lastVal);  
   lastVal = val;  
  }  
 }  

4.7kΩ : 4.7kΩのRで確認






読み取り値で±1~2ずれている

Arduino(ATMega328p)のADCは10bit[1..1023]となっているが、まじめにノイズ対策をしないと実質11bitか10bit(9bitか8bit)の精度かもしれない

TOCOSの通信機用のPOT

ずっと「通信用」って書いてましたが「通信機用」らしいです。
とにかく普通のPOTより高級(^q^/


ぴゅんぴゅんコントローラーのPOT(新品に交換しました)


±3はずっと出ているし、ときどきプラス4まで出ている

なので、1024までではなくて
10bit >> 3 = 7bit = 128
ぐらいが普通のPOTでは限界かもしれない

MIDI規格の0..128というのは当時の限界だったのかも知れない

0 件のコメント:

コメントを投稿