アップロードチャンネル












●ADコンバーター MCP3425の機能

MCP3425

●MCP3425 16BIT AD変換内蔵 ゲイン8倍増幅 基準電圧内蔵 出力は、I2C通信のみである。

アナログ波形を得るのにI2C通信である為 PICマイコンかArduinoで波形の数値を読み取り
波形に処理する必要がある。 電圧では、出ない。

電源 単電源

1 VIN+
2 VSS
3 SCL

4 SDA
5 VDD
6 VIN‐

ゲインは、選択できる 8BITの設定で AD変換 12BIT 16BIT 1倍 2倍 4倍 8倍を選べる。
I2Cアドレスは、0b1101000 = 0x68固定で100kHzから400kHzで通信できる。最大は、4MHz
0b10011011でゲイン8倍 16BIT分解である。 処理時間 15SPS

選択設定BITは、以下のようになるが分解能によって処理時間が掛かる。
分解能による delayの遅延時間は、以下になる。


0b1001 0000 0 12bit
0b1001 0101 2 14bit
0b1001 1010 4 16bit
0b1001 1011 8 16bit

00 12bit    240SPS  1000mmS/240 =5mmS
01 14bit    60SPS   1000mmS/60 =17mmS
10 16bit  15SPS   1000mmS/15 =67mmS

00 0倍
01 2倍
10 4倍
11 8倍

8BIT 1変換 0 無変換
5BIT 1連続変換 01回変換
3BIT4BIT 12,14,16 分解能
1BIT2BIT ゲイン倍率 1,2,4,8










MCP3425

●MCP3425の波形



以下のテストコードを実行

youtubeの適当な音楽動画をパソコンのイヤホンジャックから
+端子をMCP3425の1 +Vin端子のみに 2の‐VinをGNDへ接続して
音楽動画の波形を取り込んだ数値の結果である。


テスト用ソースコード


#include <Wire.h>
#define adr 0b10011011
long data;
long dataA;
long dataB;

void setup() {
 
Wire.begin();

    Serial.begin(115200);
    Wire.beginTransmission(0x68);
        Wire.write(adr);
        
    Wire.endTransmission();
    delay(2);
    
 
}
void loop() {
  
Wire.requestFrom(0x68,2);
data=(dataA = Wire.read()<< 8)+
 (dataB = Wire.read());
 Serial.println(String (data,DEC));
  delay(67);

 }
 
※ コード修正箇所


data=(dataA = Wire.read())+
 (dataB = Wire.read());
 
 修正後
 

 data=(dataA = Wire.read()<< 8)+
 (dataB = Wire.read());
 
 




MCP3425 i2c波形
MCP3425 i2c波形 コード修正後


Powered by FC2ホームページ


inserted by FC2 system