Скачиваний:
16
Добавлен:
16.04.2013
Размер:
70.14 Кб
Скачать

Московский Институт Электронной Техники

Курсовая работа по курсу «КЭСА»

Тема: Расчёт эффективности экранирования.

Выполнил:

Цыбульский И.В.

Проверил:

Николаев В.Т.

Москва 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. Конспект лекций по КЭСА.

8

Соседние файлы в папке Расчёт эффективности экранирования