PIC16F1705の内蔵OPアンプで反転増幅のテストをします。
OPA1を使い、OP1CONを次のように設定します。
OPA1を有効にします。OP1EN=1
OPA1の-入力をOPA1IN-ピン(RC1)に接続します。OPA1UG=0
スピードは、Lowに設定。OPA1SG=0
OPA1の+入力は、バイアス電圧としてFVR Buffer2に接続します。OPA1NCH=11
FVR(固定参照電圧)は、2.024Vに設定します。
次の回路図ように抵抗とコンデンサを接続して、増幅率2倍の反転増幅とします。
ブレッドボードです。
INPUTに自作SGから1000Hzの信号を入力して、OPA1OUTの出力をパソコンオシロpicoscopeで観測しました。
青がINPUTで、1Vp-pです。
赤がOUTPUTで、2Vp-pです。
プログラムです。main関数のみを示します。
void main() {
OSCCON = 0b01110010 ; // 内部クロック8MHz
ANSELA = 0b00000000 ; // AN0-AN3を使わない
ANSELC = 0b00100000 ; // AN5はアナログピン
TRISA = 0b00000000 ; // 全て出力
TRISC = 0b00000010 ; // RC1は入力、他は出力
PORTA = 0b00000000 ; // PORTAクリア
PORTC = 0b00000000 ; // PORTCクリア
OPA1CON = 0b10000011; //OPA1EN=1,OPA1UG=0,OPA1NCH=11
FVRCON = 0b10001000; //FVREN=1,CDAFVR=10
while(1){
}
}
OSCCON = 0b01110010 ; // 内部クロック8MHz
ANSELA = 0b00000000 ; // AN0-AN3を使わない
ANSELC = 0b00100000 ; // AN5はアナログピン
TRISA = 0b00000000 ; // 全て出力
TRISC = 0b00000010 ; // RC1は入力、他は出力
PORTA = 0b00000000 ; // PORTAクリア
PORTC = 0b00000000 ; // PORTCクリア
OPA1CON = 0b10000011; //OPA1EN=1,OPA1UG=0,OPA1NCH=11
FVRCON = 0b10001000; //FVREN=1,CDAFVR=10
while(1){
}
}
※コメント投稿者のブログIDはブログ作成者のみに通知されます