VUメータ(デジタル処理+アナログ表示)

VUメーター(VU Meter)は、元々、音響機器に於いて音量感(volume unit)を指示するための測定器だそうです。
【開発当時の規定】
インピーダンス600Ωの回路において1khzの正弦派を加えて1mWの電力を消費したときに0VUとする。
VUメーターの指示範囲は-20から+3で単位はdBである。信号が発生してから針が既定値に達するまでの時間は300msecである。
今回は、信号をPICでデジタル処理し、針式メータで表示させてみました。

出来るだけハードウエアは単純にし、ソフトウエアで処理をしました。

  • 入力信号を、先ずはトランジスタで10倍に増幅します。
  • 次にダイオードを2個使って倍電圧整流します。
  • 整流された電圧をPICのA/D変換機能で取り込みます。
  • 1msec間隔で300回データを取り込んでその平均を求めます。
  • その結果を10ビットのD/A(ラダー方式)でアナログ電圧に変換します。
  • この電圧をオペアンプのボルテージフォロアでインピーダンス変換し、針式メータを振らせます。

VUmeter.c
//********************************************************************** 
 
void	main()
{
	static	unsigned	int		ad, cnt;
	static	unsigned	long	adLong;
	//
	CMCON = 0b00000111;
	ANSEL = 0b00000100;
	TRISA = 0b00111100;
	TRISB = 0b00000000;
	OSCCON = 0b01110000;
	while (1) {
		PORTA.F1 = ~PORTA.F1;
		adLong = 0;
		for (cnt = 0; cnt < 300; cnt++) {
			ad = Adc_Read(2);
			adLong += ad;
			Delay_us(1000);
		}
		ad = adLong / 300;
		PORTB = ad;
		PORTA.F6 = (ad & 0b0100000000) == 1 ? 1 : 0;
		PORTA.F7 = (ad & 0b1000000000) == 1 ? 1 : 0;
	}
}
 
//********************************************************************** 

入力にはCDプレイヤーを接続しました。

どこかのメーカのパワーアンプから外したメータを接続してみました。

トランジスタのアンプ部と倍電圧整流部です。

PICとD/A変換の接続部分です。

ブレッドボードで使えるようにD/A変換部をユニット化しました。

著作権表示 copyright notice

このページは稲崎様の閉鎖したHPのコピーで、著作権は稲崎様にあります。詳細
This page is a copy of Mr. Inasaki's closed website, and the copyright is held by him.Details
  • elechobby/picdic/pic16f88/54.txt
  • 最終更新: 2025/10/17 14:29
  • by 127.0.0.1