C에서 간단한 연산 증폭기 왜곡 회로를 모델링하는 데 빠른 시도가 있습니다. 바로 Schematic과 같습니다. 지금은 표준 비 반전 증폭기를 시뮬레이션하려고하고 있습니다.C에서 op 앰프 프로그래밍
코드로 작동해야한다고 생각하는 부분을 작성했습니다. 어딘가에서 크게 틀렸을 것입니다. 내가 얻을 관리하는 경우
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float Diode(float IP){
if(IP<0.7) return 0;
if(IP>0.7) return IP-0.7;
}
float OpAmp(float VI, float VN){
const float AOL = 100000;
const float VNS = -15, VPS = 15;
float OP = 0;
OP = AOL*(VN - VI);
if(OP>VPS) OP = VPS;
if(OP<VNS) OP = VNS;
return OP;
}
int main()
{
float C, OP = 0, IVI = 0;
const float R1 = 100, R2 = 100;
FILE *f, *f2;
f = fopen("wf.txt", "w");
f2 = fopen("ws.txt", "w");
for(C = 0; C<8*M_PI; C+=0.1){
//Inverting input variable
IVI = OP*R2/(R1+R2);
printf("%f\n", IVI);
OP = OpAmp(IVI, sinf(C));
fprintf(f, "%.2f\n", OP);
fprintf(f2, "%.2f\n", sinf(C));
}
fclose(f);
fclose(f2);
return 0;
}
사용 다이오드 기능 밤은
아직 그 그냥이 작동합니다! 나는 출력으로, 지금 막 미친 진동을 얻고있다 그러나 나는 순간에 MATLAB에있는 산출을 음모를 꾸밀 수있다 그래야 파일에 쓰고있다! "전원 공급 장치"는 +/- 15V로 제한되며, 모든 도움을 주시면 감사하겠습니다!출력이 R1과 R2의 비율과 관련하여 입력의 크기 조정 버전이 아닌 이유가 궁금합니다.
여기에 *** 질문 ***이 있습니까? – abelenky
연산 증폭기가있는 연필 및 종이 디자인의 표준 근사값이 피드백 루프에 의해 제약 된 무한 이득 요소로 취급된다는 점을 감안할 때 이것은 흥미로운 도전 일 수 있습니다. – keshlam
내 사과 @abelenky, 왜 출력 R1과 R2의 비율과 관련하여 입력의 크기가 조정되지 않습니다 궁금하네요 어떻게 내가 그것을 통합 할 수 있습니다! – Pyrohaz