
Курсовые / Расчёт эффективности экранирования / Записка
.docМосковский Институт Электронной Техники
Курсовая работа по курсу «КЭСА»
Тема: Расчёт эффективности экранирования.
Выполнил: |
Цыбульский И.В. |
Проверил: |
Николаев В.Т. |
Москва 2003
Оглавление.
Блок схема алгоритма: 3
Разработка алгоритма. 4
Листинг программы. 5
Пример расчета: 8
Литература. 8
Блок схема алгоритма:
Разработка алгоритма.
1. Вводим форму экрана. Возможно два варианта:
-
С цилиндрическим основанием;
-
С произвольным основанием.
2. Если основание экрана цилиндрическое, то вводим d, l, dst, а если – произвольное – S, l, dst.
3. Выбираем материал, из которого сделан экран.
4. Вводим рабочую частоту.
5. Если в экране нет отверстий – вычисляем эффективность экранирования.
6. Если в экране есть отверстия, то задаем их количество и площадь. Вычисляем значение эффективности.
7. Выводим на экран вычисленное значение эффективности.
8. Записываем результаты расчета в файл.
Листинг программы.
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <string.h>
const float pi=3.1446,m0=4*pi*pow(10,-7);
float d, //Диаметр экрана
l, //Длинна экрана
dst, //Тлщина стенок экрана
s, //Площадь основания не цилиндрического экрана
me, //Магнитная проницаемость материала экрана
ro, //Удельное сопротивление материала экрана
fr, //Рабочая частота
w, //Циклическая частота
So[100], //Массив площадей отверстий в экране
a, //Первая полуось эквивалентного элипсоида
c, //Вторая полуось эквивалентного элипсоида
def, //Эффиктивная толщина стенок экрана
kfst, //Статический коэффициэнт стенок экрана
kfdin, //Динамический коэффициэнт стенок экрана
lo, //Определяющий размер экрана
h, //Отношение c/a, вспомогательная переменная
Se, //Площадь экрана
e[100], //Массив для расчета эффиктивности при наличии отв.
eff; //Эффективность экранирования
int
f, //Определяет форму экрана
m, //Определяет материал экрана
n; //Число отверстий в экране
void forma(void); //Функция ввода формы и размеров экрана
void material(void); //Функция ввода материала экрана
void chastota(void); //Функция ввода частоты
void otverstia(void); //Функция ввода числа отврстий, их размеров
void raschet(void); //Функция расчета эффективности экранирования
void zapis(void); //Функция записи в файл
void koefst(); //Функция опред. стат. коэф. формы, и опред. размера экрана
void koefdin(); //Функция опред. динам. коэф. формы
main()
{
clrscr();
printf("Программа расчета эффективности экрана. (ЭТМО-41 Цыбульский И.В.)\n\n");
forma();
chastota();
material();
otverstia();
raschet();
zapis();
getch();
}
void forma(void)
{
printf("Выберите форму экрана:\n");
printf("\n1. Цилиндр с круглым основанием.");
printf("\n2. Цилиндр с произвольным основанием.");
printf("\n1/2? >");
scanf("%d",&f);
switch (f)
{
case 1:
{
printf("\nВсе размеры указывать в миллиметрах!\n");
printf("Введите диаметр экрана d >");
scanf("%f",&d);
printf("Введите длинну экрана l >");
scanf("%f",&l);
printf("Введите толщину стенок экрана dst >");
scanf("%f",&dst);
break;
}
case 2:
{
printf("\nВсе размеры указывать в миллиметрах!\n");
printf("Введите площадь основания экрана s >");
scanf("%f",&s);
d=sqrt(4*s/pi);
printf("Введите длинну экрана l >");
scanf("%f",&l);
printf("Введите толщину стенок экрана dst >");
scanf("%f",&dst);
break;
}
default :forma();
}
}
void material(void)
{
printf("Выберите материал экрана:\n");
printf("\n1. Медь.");
printf("\n2. Алюминий.");
printf("\n3. Латунь.");
printf("\n4. Сталь.");
printf("\n5. Пермалой.");
printf("\n1/2/3/4/5? >");
scanf("%d",&m);
switch (m)
{
case 1: me=1;ro=1.75*pow(10,-8);break;
case 2: me=1;ro=3.2*pow(10,-8);break;
case 3: me=1;ro=6.0*pow(10,-8);break;
case 4: if (fr>1000000)
me=pow(10,(log10(100)-log10(fr)+log10(1000000)));
else
me=100;
ro=1.0*pow(10,-7);break;
case 5: if (fr>100000)
me=pow(10,(log10(12000)-log10(fr)+log10(100000)));
else
me=12000;
ro=6.5*pow(10,-7);break;
default :material();
}
}
void chastota(void)
{
printf("\nВведите частоту fr(Гц) >");
scanf("%f",&fr);
}
void otverstia(void)
{
int j;
printf("\nВведите число отверстий n >");
scanf("%d",&n);
for(j=0;j<n;j++)
{
printf("\nВведите площадь %d-го отверстия So >",j+1);
scanf("%f",&So[j]);
}
}
void raschet(void)
{
int j;
d=d/1000;
l=l/1000;
dst=dst/1000;
a=d/2;
c=l/2;
w=2*pi*fr;
if (w==0) def=dst;
else
def=2*sqrt(2*ro/(me*m0*w));
if (f==1)
Se=pi*d*l+2*pi*pow(d,2)/4;
if (f==2)
Se=pi*sqrt(4*s/pi)*l+2*s;
if (def>dst) def=dst;
koefst();
koefdin();
if (n==0)
eff=sqrt(pow((1+(me+1/me-2)*(kfst*def/lo)),2)+pow((w*m0*lo*dst/(kfdin*ro)),2));
else
{
eff=0;
for(j=0;j<n;j++)
{
e[j]=0.25*sqrt(pow((Se),3)/pow((So[j]),3));
eff=eff+e[j];
}
eff=1/eff;
}
printf("\nЭффективность экранирования Э=%f",eff);
}
void zapis(void)
{
FILE *fp;
fp=fopen("eff.txt","w");
fprintf(fp,"Результаты расчета эффективности экранирования.");
fprintf(fp,"\nДиаметр экрана(м): %f",d);
fprintf(fp,"\nДлина экрана(м): %f",l);
fprintf(fp,"\nОпределяющий размер экрана(м): %f",lo);
fprintf(fp,"\nЭффективная толщина экрана(м): %f",def);
fprintf(fp,"\nМагнитная проницаемость экрана: %f",me);
fprintf(fp,"\nУдельное сопротивление экрана(Ом*м): %10.10f",ro);
fprintf(fp,"\nСтатический коэффициент формы: %3.3f",kfst);
fprintf(fp,"\nДинамический коэффициент формы: %3.3f",kfdin);
fprintf(fp,"\nЧисло отверстий в экране: %d",n);
fprintf(fp,"\nЧастота(Гц): %5.1f",fr);
fprintf(fp,"\nЭффективность экрана: %5.2f",eff);
fclose(fp);
}
void koefst()
{
h=c/a;
if (c>100*a)
{
kfst=1;
lo=d;
}
else
{
kfst=1.5;
lo=d;
}
if (h==0.2) {kfst=6.34;lo=2*c;}
if (h==0.33) {kfst=3.64;lo=2*c;}
if (h==0.5) {kfst=2.04;lo=2*c;}
if (h==1.5) {kfst=1.25;lo=2*a;}
if (h==2) {kfst=1.20;lo=2*a;}
if (h==3) {kfst=1.15;lo=2*a;}
if (h==7) {kfst=1.054;lo=2*a;}
if (h==10) {kfst=1.034;lo=2*a;}
if (h==1) {kfst=1.33;lo=d;}
}
void koefdin()
{
kfdin=4;
}
Пример расчета:
Программа расчета эффективности экрана.
Выберите форму экрана:
1. Цилиндр с круглым основанием.
2. Цилиндр с произвольным основанием.
1/2? >1
Все размеры указывать в миллиметрах!
Введите диаметр экрана d >40
Введите длинну экрана l >40
Введите толщину стенок экрана dst >0.8
Введите частоту fr(Гц) >100
Выберите материал экрана:
1. Медь.
2. Алюминий.
3. Латунь.
4. Сталь.
5. Пермалой.
1/2/3/4/5? >4
Введите число отверстий n >0
Эффективность экранирования Э=3.607621
Более подробную информацию можно посмотреть, в файле eff.txt.
Пример файла eff.txt:
Результаты расчета эффективности экранирования.
Диаметр экрана(м): 0.050000
Длина экрана(м): 0.050000
Определяющий размер экрана(м): 0.050000
Эффективная толщина экрана(м): 0.000500
Магнитная проницаемость экрана: 1.000000
Удельное сопротивление экрана(Ом*м): 0.0000000600
Статический коэффициент формы: 1.330
Динамический коэффициент формы: 4.000
Число отверстий в экране: 2
Частота(Гц): 100.0
Эффективность экрана: 2308.75
Литература.
1. Конспект лекций по КЭСА.