AFON//Радиотехник
C++Builder · проект 17/50

RC-фильтр

Частота среза и постоянная времени.

Задача

Рассчитать частоту среза RC-цепи и постоянную времени τ.

Компоненты на форме

Edit (EditR, EditC), Button (ButtonCalc), Memo (MemoOut).

Как работает

  1. Ввести резистор в омах и конденсатор в нанофарадах.
  2. Посчитать fc = 1/(2πRC).
  3. Добавить τ = RC и время заряда 5τ.

Исходный код модуля

//---------------------------------------------------------------------------
// Проект 17. RC-фильтр: частота среза
// fc = 1/(2πRC), постоянная времени τ = RC.
//---------------------------------------------------------------------------
#include <vcl.h>
#include <math.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------

double rcCutoff(double R, double C) { return (R<=0||C<=0)?0:1.0/(2*M_PI*R*C); }
//---------------------------------------------------------------------------
void __fastcall TForm1::ButtonCalcClick(TObject *Sender)
{
    double R, Cnf;
    try { R=StrToFloat(EditR->Text); Cnf=StrToFloat(EditC->Text); }
    catch (...) { MemoOut->Text="Проверьте числа"; return; }
    double C = Cnf * 1e-9;                       // нФ → Ф
    double fc = rcCutoff(R, C);
    if (fc<=0) { MemoOut->Text="R и C должны быть больше нуля"; return; }
    MemoOut->Lines->Clear();
    MemoOut->Lines->Add("Частота среза: " + FormatFloat("0.###", fc) + " Гц");
    MemoOut->Lines->Add("τ = RC:        " + FormatFloat("0.######", R*C) + " с");
    MemoOut->Lines->Add("Заряд 5τ:      " + FormatFloat("0.######", 5*R*C) + " с");
}
//---------------------------------------------------------------------------

Пояснения

  • Ёмкость переводится из нФ в фарады перед расчётом.
  • На частоте среза сигнал ослабляется в √2 раза (−3 дБ).
📦 help-user.ru — срочный ремонт компьютеров и восстановление данных в Москве: help-user.ru.

Что дальше

Создайте в C++Builder новый проект, разместите перечисленные компоненты и вставьте код модуля. Остальные 49 программ — в разделе проектов на C++Builder; смотрите также обзор среды и контроллеры AVR.