「電圧計」の版間の差分

2,438 バイト追加 、 10 か月前
編集の要約なし
(リンク追記)
'''電圧計'''(でんあつけい、{{lang-en|voltmeter}})は、ある2点間の[[電位]]差を測る[[電気計器]]である。
 
デジタル電圧計や[[自動車]][[オートバイ]]に搭載される電圧計も、この項目で説明する。
[[File:Volt-Frequenzmesser.jpg|thumb|300px|シーメンス社の電圧計(上及び右)]]
== 使用方法および接続の仕方 ==
== 熱電形電圧計 ==
熱電形電圧計は15 - 150Vまでが製品化されている。<!--→熱電形*[[電流計]]-->
 
== デジタル電圧計 ==
ここでは汎用の16bit ADCを例にあげ解説する。IC内部には入力[[マルチプレクサ]](MUX)、プログラマブルゲインアンプ(PGA)、[[アナログ-デジタル変換回路]](ADC)とそれらを制御し[[マイコン]](MCU)などとの通信をつかさどる制御通信部からなる。下記にMCUによる電圧値取得の例を書く。ピンの割り当てやリファレンス電圧、PGAの設定、サンプルレートなどを指定した後に電圧値を1秒ごとにコンピュータに送信するソフトウェアである。
 
<source lang="c">
SPI spi(p5, p6, p7); // mosi(out), miso(in), sclk(clock)
DigitalOut cs(p8); // cs (the chip select signal)
Serial pc(USBTX, USBRX);
 
int main() {
spi.format(8,1); //(bits, mode) (mode1 (CPOL=0, CPHA=1)
spi.frequency(1000000); //1MHz
wait_ms(20);//Delay for minimum of 16ms to allow power supplies to settle and power-on reset to complete.
cs = 0;// Select the device by seting chip select low
wait_ms(1);//Delay for minimum of tsccs(=10ns)
spi.write(0x06);//reset
wait_ms(1);//Delay for minimum of 0.6ms
spi.write(0x16);//SDATAC: Stop read data continuous mode.
wait_ms(1);
//WREG: Write to register rrrr
spi.write(0x40);//WREG, MUX0
spi.write(0x00);//
spi.write(0x01);//AIN0 = + , AIN1 = -
wait_ms(1);
spi.write(0x42);//System Control Register0
spi.write(0x00);//
spi.write(0x30);//Internal Reference is always on. & Internal Reference selected.
wait_ms(1);
spi.write(0x43);//System Control Register0
spi.write(0x00);//
spi.write(0x12);//PGA=2, Data Output Rate = 20SPS
wait_ms(1);
spi.write(0x04);//SYNC: Synchronize ADC conversions.
wait_ms(1);
cs = 1;
while(1) {
cs = 0;
spi.write(0x12);//RDATA: Read data once.
wait_ms(1);
unsigned char Volt_hex1 = spi.write(0xff);
unsigned char Volt_hex2 = spi.write(0xff);
unsigned short Volt_hex = (Volt_hex1 << 8) | Volt_hex2;
float Volt = (float)Volt_hex / 0x7fff; //0 ~ 1.024V
cs= 1;
 
pc.printf("%f\r", Volt);
wait(1);
}
}
</source>
 
表示部を[[LCD]]や[[7セグメントディスプレイ]]に置き換えればデジタルパネルメータとして仕上げることも可能になる。
 
== 電子電圧計(バルボル、ミリバル) ==
47

回編集