Расчёт переходного процесса в электрической цепи, страница 9


Алгоритм расчетов (блок-схема)


Программа расчета переходных процессов в RLC цепи (в QBASIC)

CLS

'начальные данные

E = 110

C = .0012

R1 = 7: R2 = 70

L1 = .8: L2 = 1.2: HL = .2

'открытие файла для вывода ответов

OPEN "VIVOD.txt" FOR OUTPUT AS #1

1 : Q = (SQR(L1 / C)) / R1

Tmin = 2 * 3.14 * SQR(L1 * C)'-минимальный период

h = .1 * Tmin'-шаг времени

Tmax = 2 * 3.14 * SQR(L2 * C)'-максимальный период

IF Q < 1 THEN

time = Tmax

ELSE

time = 2 * Tmax

END IF

'начало циклов

FOR L = L1 TO L2 STEP HL

UC = 0: Ic = 0: UC1 = 0: Ic1 = 0

PRINT #1, USING "  t      UC       I        UL        UR        L=#.#  R=##  time=#.###   Q=#.###"; L; R1; time; Q

PRINT #1, "0.000   0.000   0.000   130.000     0.000  "

FOR t = h TO time STEP h

k1u = h * Ic / C

k1i = h * (E - R1 * Ic - UC) / L

k2u = h * (Ic + k1i / 2) / C

k2i = h * (E - R1 * (Ic + k1i / 2) - (UC + k1u / 2)) / L

k3u = h * (Ic + k2i / 2) / C

k3i = h * (E - R1 * (Ic + k2i / 2) - (UC + k2u / 2)) / L

k4u = h * (Ic + k3i / 2) / C

k4i = h * (E - R1 * (Ic + k3i) - (UC + k3u)) / L

UC = UC1 + (k1u + 2 * k2u + 2 * k3u + k4u) / 6

Ic = Ic1 + (k1i + 2 * k2i + 2 * k3i + k4i) / 6

UC1 = UC

UL = L * (Ic - Ic1) / h

Ic1 = Ic

PRINT #1, USING "#.### ###.### ###.###   ###.###   ###.###"; t; UC; Ic; UL; UR

NEXT t

NEXT L'-конец циклов

k = k + 1

IF k = 1 THEN R1 = R2: GOTO 1

CLOSE #1

END'-конец программы


Программа построения графиков переходных процессов в RLC цепи (в QBASIC)

CLS

'задаем значения параметров элементов цепи

E = 110

l = .8

c = 1200 * 10 ^ -6

DATA 7,70

'определяем максимальный и мнимальный периоды колебаний

Tmin = 2 * 3.14 * (l * c) ^ .5

Tmax = 2 * 3.14 * (l * 1000 * 10 ^ -6) ^ .5

'задаем шаг изменения времени и промежуток исследования переходного процесса

h = Tmin * .1

time = 3 * Tmax

'запускаем цикл изменения параметра R

FOR m = 1 TO 2

'считываем значение R из предыдущего оператора data

READ R(m)

'запускаем цикл изменения параметра С с заданным шагом

FOR l = .8 TO 1.2 STEP .2

'задаем значения коэффициентов Рунге-Кутта и параметров цепи при t=0

k1i = 0: k2i = 0: k3i = 0: k4i = 0: k1u = 0: k2u = 0: k3u = 0: k4u = 0

i = 0: Uc = 0: Ur = 0: Ul = E

t = 0

NEXT l

NEXT m

'строим графики зависимостей параметров цепи от времени

'определяем графический режим построения графиков

SCREEN 12

'задаем цвет печати подписей на экране

COLOR 8

'задаем значения параметра R

DATA 7,70

'определяем шаг изменения времени

h = Tmin * .0056

'запускаем цикл изменения параметра R

FOR m = 1 TO 2

'определяем начальное значение цвета рисования графиков

n = 3

'считываем значение параметра R из предыдущего оператора data

READ R(m)

'создаем окно для рисования графиков

VIEW (10, 10)-(630, 470), 15, 1

'определяем разрешение окна

WINDOW (0, 0)-(620, 460)

'строим оси декартовых координат

LINE (20, 340)-(280, 340), 0

LINE (20, 260)-(20, 440), 0

LINE (20, 40)-(280, 40), 0

LINE (20, 20)-(20, 250), 0

LINE (320, 340)-(580, 340), 0

LINE (320, 300)-(320, 440), 0

LINE (320, 125)-(580, 125), 0

LINE (320, 20)-(320, 260), 0

'подписываем оси координат и графики

LOCATE 4, 19: PRINT "i=f(t,C)"