Численное моделирование и анализ переходных процессов в электрической цепи
Численное моделирование и анализ переходных процессов в электрической цепи
Министерство образования Российской Федерации НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ им. Р.Е. АЛЕКСЕЕВА Выксунский филиал Кафедра «Прикладная информатика» Курсовая работа по информатике «Численное моделирование и анализ переходных процессов в электрической цепи» Вариант №3 Выполнил: студент гр. ЭПА-06 Братица Д.П. Проверил: старший преподаватель Атаманов А.А 2007 г. Содержание 1. Постановка задачи 1.1 Схема электрической цепи 1.2 Параметры элементов цепи 1.3 Описание работы электрической цепи 2. Вывод системы дифференциальных уравнений 3. Численное решение дифференциальных уравнений 3.1 Блок-схема решения системы дифференциальных уравнений 3.2 Реализация алгоритма на языке программирования высокого уровня Pascal 3.3 Решение дифференциальных уравнений в пакете MathCAD 4. Решение интерполяции в пакете Excel 5. Численное интегрирование 5.1 Блок-схема для нахождения выделившийся теплоты на резисторе R4 5.2 Реализация алгоритма на языке программирования высокого уровня Pascal 5.3 Вычисление количества теплоты в пакете MathCAD Заключение
1. Постановка задачи
1.1 Схема электрической цепи Дана схема электрической цепи, содержащая источник переменного тока, катушку индуктивности, конденсатор, набор резисторов и ключ. 1.2 Параметры элементов цепи - гармонический источник тока - циклическая частота мГн - катушка индуктивности мкФ - конденсатор В - амплитуда колебаний В - амплитуда колебаний Ом - резистор Ом - резистор Ом - резистор Ом - резистор Ом - резистор Ом - резистор Гц - линейная частота с. - текущее время с. - текущее время Рад - фаза 1.3 Описание работы электрической цепи В начальный момент времени ключ находится в положении . При этом цепь разомкнута, напряжение на конденсаторе и ток на катушке равны нулю . Происходит первое переключение ключа, т.е. ключ мгновенно переводится в положение . При этом происходит заряд конденсатора, меняются значения и . В момент с. ключ мгновенно переводится в положение . Конденсатор разряжается, вновь меняются параметры и . Анализ схемы заканчивается в момент времени с.
2. Вывод системы дифференциальных уравнений В соответствии с рисунком запишем выражения для и законов Кирхгоффа для положения ключа . Систему можно преобразовать, исключив токи и . Тогда для величин и получим систему двух дифференциальных уравнений первого порядка. Начальные условия Аналогично может быть получена система дифференциальных уравнений для величин и при положении ключа . В этом случае имеем:
3. Численное решение дифференциальных уравнений
3.1 Блок-схема решения системы дифференциальных уравнений
3.2 Реализация алгоритма на языке программирования высокого уровня Pascal Program DIFFERENTSIAL; uses wincrt; var R1,R2,R3,R4,R5,R6,L,C,E0,h,w,f,fi,t,A,B,D,G, Ik1,Ik2,Uk1,Uk2,Ik3,Uk3,Ik4,Uk4,It, Ut, dIt, dUt: real; j:integer; y: text; Begin clrscr; assign(y,'c:\rezyltat.txt'); rewrite(y); R1:=30; R2:=25; R3:=50; R4:=1.88; R5:=15; R6:=50; L:=0.00557; C:=0.00002; A:=(R5+R6)/(R5+R6+R3); G:=1/(R5+R6+R3); B:=R2/(R1+R2); D:=R4+(R1*R2/(R1+R2))+R3*((R5+R6)/(R5+R6+R3)); h:=0.0002; f:=50; fi:=5; w:=2*pi*f; E0:=15; It:=0; Ut:=0; t:=0; j:=0; While t<=0.0202 do begin Ik1:=h*(1/L)*(B*(E0+E0*sin(w*t+fi))-D*It-A*Ut); UK1:=h*(1/C)*(A*It-G*Ut); Ik2:=h*((1/L)*(B*(E0+E0*sin(w*(t+h/2)+fi))-D*(It+Ik1/2)-A*(Ut+Uk1/2))); Uk2:=h*(1/C)*(A*(It+Ik1/2)-G*(Ut+UK1/2)); Ik3:=h*((1/L)*(B*(E0+E0*sin(w*(t+h/2)+fi))-D*(It+Ik2/2)-A*(Ut+Uk2/2))); Uk3:=h*(1/C)*(A*(It+Ik2/2)-G*(Ut+UK2/2)); Ik4:=h*((1/L)*(B*(E0+E0*sin(w*(t+h)+fi))-D*(It+Ik3)-A*(Ut+Uk3))); Uk4:=h*(1/C)*(A*(It+Ik3)-G*(Ut+UK3)); dIt:=(Ik1+2*Ik2+2*Ik3+Ik4)/6; dUt:=(Uk1+2*Uk2+2*Uk3+Uk4)/6; if j mod 5=0 then Writeln(y,'t=',t:6:4,' It=',It:9:6,' Ut=',Ut:6:5); Writeln('j=',j:3,' t=',t:6:4,' It=',It:9:6,' Ut=',Ut:6:5); It:=It+dIt; Ut:=Ut+dUt; j:=j+1; t:=t+h; if t>0.01 then E0:=0; end; Close(y); readln; End. Таблица результатов |
t | I | U | | 0.000 | 0.000000 | 0.000000 | | 0.001 | 0.021116 | 0.28271 | | 0.002 | 0.045202 | 0.95006 | | 0.003 | 0.074067 | 1.99946 | | 0.004 | 0.104367 | 3.36451 | | 0.005 | 0.132911 | 4.92721 | | 0.006 | 0.156807 | 6.54132 | | 0.007 | 0.173674 | 8.05172 | | 0.008 | 0.181844 | 9.31183 | | 0.009 | 0.180509 | 10.19881 | | 0.010 | 0.169796 | 10.62609 | | 0.011 | -0.074194 | 5.16433 | | 0.012 | -0.032145 | 2.22256 | | 0.013 | -0.013829 | 0.95612 | | 0.014 | -0.005949 | 0.41131 | | 0.015 | -0.002559 | 0.17694 | | 0.016 | -0.001101 | 0.07612 | | 0.017 | -0.000474 | 0.03275 | | 0.018 | -0.000204 | 0.01409 | | 0.019 | -0.000088 | 0.00606 | | 0.020 | -0.000038 | 0.00261 | | |
3.3 Решение дифференциальных уравнений в пакете MathCAD
Графики зависимости I(t) и U(t). Результаты значений I и U в зависимости от времени t
4. Решение интерполяции в пакете Excel |
t | I | | 0,001 | 0.021116 | | 0,002 | 0.045202 | | 0,003 | 0.074067 | | 0,004 | 0.104367 | | 0,005 | 0.132911 | | 0,006 | 0.156807 | | 0,007 | 0.173674 | | |
5. Численное интегрирование
5.1 Блок-схема для нахождения выделившийся теплоты на резисторе R4 5.2 Реализация алгоритма на языке программирования высокого уровня Pascal Program teplota; uses wincrt; var R4,Q,f,f1,f2,hx,t,t1,t2,S,Int,a2,a1,a0,b2,b1,b0,c2,c1,c0,fn,fk:Real; n:Integer; begin R4:=1.88; t1:=0.001; t2:=0.007; n:=100; hx:=(t2-t1)/n; a2:=2170;a1:=17.98;a0:=0.0007; b2:=-880; b1:=36.38;b0:=-0.027; c2:=-3515;c1:=62.485;c0:=-0.0917; t:=t1; S:=0; fn:=sqr(a2*t1*t1+a1*t1+a0); fk:=sqr(c2*t2*t2+c1*t2+c0); repeat if t<=0.003 then f:=sqr(a2*t*t+a1*t+a0) else if t<=0.005 then f:=sqr(b2*t*t+b1*t+b0) else f:=sqr(c2*t*t+c1*t+c0); S:=S+f; t:=t+hx; until t>=t2; S:=S-(fn+fk); Int:=hx*(((fn+fk)/2)+S); Q:=R4*Int; writeln(' Int=',Int:2:8,' Q=',Q:2:7); end. Результат: Int=0.00007562 Q=0.0001422
5.3 Вычисление количества теплоты в пакете MathCAD Заключение В данной курсовой работе преследовалась цель - провести аналитический анализ работы электрической схемы (получить графики зависимости тока и напряжения), а так же количество теплоты, выделяющейся на резисторе за указанный промежуток времени. Эти расчеты проводились в три этапа: · выводы системы дифференциальных уравнений. · аппроксимация полученных результатов. · нахождение количества теплоты, выделяющейся на резисторе R4. Все расчеты и вычисления осуществлялись на языке программирования Pascal и в пакете Excel, входящем в семейство Microsoft Office. Параллельно этому производились такие же вычисления в специальном математическом пакете MathCad, но координально другими методами. Решение системы дифференциальных уравнений: · метод Рунге-Кутта (Pascal) · модифицированный метод Эйлера (MathCad) Количество теплоты, выделяющееся на резисторе: · методом трапеций (Pascal) · методом трапеций (MathCad) После сравнения результатов сделали вывод: что они аналогичны.
|