Курсовая работа на тему «Расчеты электрических схем на ЭВМ»

Электрические и магнитные явления были известны в глубокой древности, но началом развития науки об этих явлениях принято считать 1600 год, когда Гильберт опубликовал результаты исследования электрических и магнитных явлений. Важным этапом в развитии науки об электричестве были исследования атмосферного электричества, выполненные М.В. Ломоносовым, Г.В. Рихманом и Б. Франклином.

Введение

программа электродвигатель алгоритм

Практически все области деятельности современного общества развиваются на базе все более широкого применения электротехники.

Электрификация — это широкое развитие производства электроэнергии и её внедрение во все области человеческой деятельности и быт.

Электрические и магнитные явления были известны в глубокой древности, но началом развития науки об этих явлениях принято считать 1600 год, когда Гильберт опубликовал результаты исследования электрических и магнитных явлений. Важным этапом в развитии науки об электричестве были исследования атмосферного электричества, выполненные М.В. Ломоносовым, Г.В. Рихманом и Б. Франклином.

Электротехника как наука является областью знаний, в которой рассматриваются электрические и магнитные явления и их практическое использование.

Современная энергетика — это в основном электроэнергетика. Электрическая энергия вырабатывается на станциях электрическими генераторами, преобразовывается на подстанциях и распределяется по линиям электропередачи и электрическим сетям.

Электрическая энергия применяется практически во всех областях человеческой деятельности. Производственные установки на фабриках и заводах имеют в подавляющем большинстве электрический привод, т.е. приводятся в движение при помощи электрических двигателей. Для измерений наиболее широко используются электрические приборы и устройства. Измерения электрических величин при помощи электрических устройств составляют особую дисциплину. Широко применяются электрические приборы и устройства в сельском хозяйстве, связи и в быту.

Непрерывно расширяющееся применение различных электротехнических и радиотехнических устройств обуславливает необходимость знания специалистами всех областей науки и техники основных понятий об электрических, магнитных и электромагнитных явлениях и их практическом использовании.

С учётом современного технического прогресса, актуальность развития и изучения электротехники более чем необходима.

В данной пояснительной записке приведены расчеты переходного процесса конкретной электрической схемы (по условию задания). Применены классический и операторный методы решения. Так же, с учетом задания, выполнен теоретический расчет и выбор электродвигателя по каталогу. Используя расчетные данные спроектировано приложение, которое позволяет выполнить расчет на ЭВМ.

1. Расчет переходных процессов в линейных электрических цепях классическим и операторным методами

Классическим методом расчета переходных процессов называют метод расчета, в котором решение дифференциального уравнения представляет собой сумму принужденной и свободной составляющих, а определение постоянных интегрирования, входящих в выражение для свободного тока или напряжения, производят путем совместного решения системы линейных алгебраических уравнений по известным значениям корней характеристического уравнения, а также по известным значениям свободной составляющей тока или напряжения и ее производных, взятых при t=0+.

Алгоритм расчета переходных процессов классическим методом

. Задаемся направлениями токов в докоммутационной и послекоммутационной схемах.

. Рассчитываем докоммутационную схему определяя iL (0-) и uC (0-).

. Рассчитываем послекоммутационную схему в установившемся режиме, определяя uC пр. и iL пр.

. Решение ищем в виде

L = iLсв. + iLпр.

и uC = uCсв. + uCпр.,

где iсв. пищется в виде АеР t и uсв в виде ВеР t,

если корни характеристического уравнения действительные отрицательные. Eсли корни характеристического уравнения сопряженные комплексные

(р1,2 = — δ + jω0), то решение для тока ищется в виде=Ае- δ tsin(ω0 t + ν) и для напряжения в виде=Ве- δ t sin(ω0 t + φ).

. Исходя из законов коммутации находим постоянные интегрирования А, В, ν и φ.

. Записываем окончательное решение.

Операторный метод расчета основан на использовании понятия об изображении функций времени. В операторном методе каждой функции времени соответствует функция новой переменной, обозначаемая р, и наоборот — функции переменной р отвечает определенная функция времени.

Переход от функции времени к функции р осуществляют с помощью преобразования Лапласа. Операторный метод позволяет свести операцию дифференцирования к умножению, а интегрирования — к делению.

2. Выбор электродвигателей

Основные сведения об электроприводе и режимах работы электродвигателей

Для приведения в движение производственных машин и механизмов используют электропривод, состоящий из электродвигателя, передаточного устройства и систем преобразования, управления и автоматизации. В некоторых случаях передаточные устройства и преобразователи (тока, частоты и другие) могут отсутствовать.

Характер движения электропривода описывает уравнение моментов:

М = Мс + Мд,

где М — вращающий момент двигателя, Мс — статический момент сопротивления механизма, Мд = Jdw/dt- — динамический момент, J — момент инерции вращающихся масс, dw/dt — угловое ускорение.

В установившемся режиме:

М = Мс. (2.1.1)

Установившееся значение угловой скорости w или частоты вращения n у двигателей (кроме синхронных) зависит от момента сопротивления механизма (нагрузки). Механические характеристики w (М) или n (M) электродвигателей приведены на рис. 2.1.1 (а): 1 — синхронного, 2 — асинхронного, 3 и 4 — постоянного тока параллельного и последовательного возбуждения соответственно.

а)                                                     б)

Рисунок 2.1.1 — Механические характеристики

Механизмы создают моменты сопротивления, которые в свою очередь зависят от w или n. Характеристики w(Мс) или n(Мс) наиболее распространенных механизмов представлены на рис. 2.1.1 (б): 1 — грузоподъемных и транспортных механизмов, поршневых насосов, строгальных станков (Мс = const); 2 — некоторых металлорежущих станков и моталок прокатных станов (Мс • w = const); 3 — вентиляторов, центробежных насосов, компрессоров и центрифуг.

Определение угловой скорости или частоты вращения и момента М в установившемся режиме производится графическим путем, как показано на рис. 2.1.2. Точка пересечения характеристики рабочего механизма (кривая 1) с характеристикой электродвигателя (кривая 2) соответствует значениям w (или n) и М.

При работе двигателя в нем происходит постоянное выделение теплоты, что приводит к его нагреву. Превышение температуры двигателя над температурой окружающей среды описывается уравнением:

Т = Q/А*(1 — е1/т) + Q0е-t/Т, (2.1.2)

где Q — количество теплоты, выделяемой в единицу времени, А — теплоотдача окружающей среды в единицу времени, Т = = С/А — постоянная времени, С — теплоемкость двигателя, Q0 — превышение температуры двигателя над температурой окружающей среды в момент включения двигателя при t = 0.

Рисунок 2.1.2 — Характеристики угловой скорости ичастоты вращения

а)                                                               б)

Рисунок 2.1.3 — Кривые нагревания электродвигателя

В установившемся тепловом режиме, когда количество теплоты, выделяемой в двигателе, и теплоты, рассеиваемой в окружающую среду, становятся одинаковыми (теоретически при t = ∞, а практически при t = 4Т), превышение температуры достигает максимального значения Т∞ = Q/A. С учетом последнего

Т = Т∞ — (Т∞ — Т0) е-t/т. (2.1.3)

Установившееся значение превышения температуры двигателя зависит от мощности Р2 на его валу. На рис 2.1.3 (а) приведены кривые нагревания электродвигателя при различных значениях мощности Р2.

При отключении электродвигателя Q = 0 и с учетом (2.1.3) Т = Тотк * е-1/т, где Тотк — превышение температуры в момент отключения, т.е. превышение температуры двигателя уменьшается по экспоненциальному закону (рис. 2.1.3 (б)).

В соответствии с характером работы производственных механизмов в условиях эксплуатации различают следующие основные режимы работы двигателя: продолжительный, кратковременный и повторно-кратковременный.

Продолжительный режим — режим, в котором электродвигатель может работать длительное время, при этом установившееся значение превышения температуры двигателя Т∞ над температурой окружающей среды не превышает установленного значения. Такой режим работы характерен для двигателей вентиляторов, насосов, компрессоров, транспортеров, мощных металлорежущих станков и др. График продолжительного режима работы приведен на рис. 2.1.4 при а) постоянной и б) изменяющейся нагрузках.

а)                                   б)

Рисунок 2.1.4 — Продолжительный режим работы

Кратковременный режим — режим, при котором превышение температуры электрического двигателя достигает предельно допустимого значения для данного класса изоляции, но не достигает установившегося значения. В этом режиме двигатель работает в течение сравнительно небольшого периода времени, а перерыв в работе велик, и двигатель успевает охладиться до температуры окружающей среды. В кратковременном режиме работают двигатели затворов шлюзов, подъемных механизмов разводных мостов и т.д. На рис. 2.1.5 показаны графики нагрузки при кратковременном режиме.

Повторно-кратковременный режим — режим, при котором периоды работы электродвигателя под нагрузкой чередуются с паузами, когда двигатель отключается. При этом периоды работы и паузы не настолько длительны, чтобы температура достигла установившегося значения. Такой режим характерен для двигателей подъемно-транспортных механизмов, прессов, штамповочных машин и некоторых металлообрабатывающих станков. Время цикла этого режима tц = tр + tо, где tp — время работы двигателя, a tо — время паузы. Время цикла обычно не превышает десяти минут.

Повторно-кратковременный режим характеризуется продолжительностью включения.

ПВ = tр/ tц * 100% = tр / (tр + tо) * 100%. (2.1.4)

Рисунок 2.1.5 — Кратковременный режим работы

Для электродвигателей стандартные значения ПВ = 15, 25, 40 и 60%. Пример графика нагрузки при повторно-кратковременном режиме приведен на рис. 2.1.6.

Рисунок 2.1.6 — Повторно-кратковременный режим работы

Принципы выбора электродвигателей

Выбор двигателя заключается в подборе для соответствующего механического оборудования электродвигателя, подходящего по роду тока, напряжению, мощности и частоте вращения.

Для машин и механизмов, не требующих регулирования частоты вращения, рекомендуется применять асинхронные двигатели с короткозамкнутым ротором или синхронные. Двигатели постоянного тока допускается применять только в случаях, когда двигатели переменного тока не удовлетворяют характеристикам механизма или являются не экономичными. Синхронные двигатели рекомендуется применять для нерегулируемых механизмов продолжительного режима работы при единичной мощности 100 кВт и более.

Современной серией асинхронных двигателей является серия 4А. Двигатели выпускаются в двух вариантах исполнения по степени воздействия окружающей среды: защищенные (1Р23) и закрытые обдуваемые (1Р44).

Двигатели мощностью от 60 Вт до 370 Вт выпускаются на напряжение 220/380 В, двигатели мощностью 0,55 — 110 кВт — на напряжение 220/380 и 380/660 В, двигатели мощностью 132-400 кВт — на напряжение 380/660 В.

Асинхронные двигатели выпускаются следующих типов: 4А, 4АН, 4АК, 4АР и 4АС. Обозначения в типах: 4 — номер серии, А — асинхронный, Н — защищенного исполнения, К — с фазным ротором, Р — с повышенных пусковым моментом и С — с повышенным скольжением.

Определение мощности двигателя. Выбор двигателя по каталогу

Допустимая температура нагрева изоляции электродвигателя и температура окружающей среды определяют значение мощности Р2 на валу двигателя. Температура окружающей среды определена стандартом и составляет 40 0С. Для каждого класса изоляции установлены значения допустимого превышения температуры: А — 60° С, Е — 75°С, В — 80 0С, F — 100 0С, Н — 125°С. В каталогах и паспортных данных указана номинальная мощность Рном, соответствующая температуре окружающей среды 40 0С.

Выбор двигателя для продолжительного режима (см. рис. 2.1.6, а) производится, исходя из условия Рном > Р. Если двигатель предназначен для работы в продолжительном режиме при переменной нагрузке (см. рис. 2.1.6, б), предварительный выбор электродвигателя производится, исходя из условия Рном > Рср, а затем выполняется проверочный расчет.

Все методы проверки сводятся к условию, что среднее значение мощности потерь в двигателе не должно превышать мощность потерь при номинальной нагрузке Рп ср < Рп ном. На практике применяют методы, основанные на расчете эквивалентных значений тока, момента, мощности.

Метод эквивалентного тока основан на замене действительного, изменяющегося во времени действующего значения тока двигателя, эквивалентным током, при котором мощность потерь соответствует средним потерям при переменном режиме работы.

Эквивалентное значение тока определяют по формуле

экв=Ö(I2пtп +I21t1 + I22t2 + … +I2тtт)/(k1(tп +tт) + t1+t2+ … +k2t0), (2.3.1)

где I1, I2 и так далее — значения тока двигателя в интервалах времени t1, t2 и других, соответствующие участкам графика с неизменной нагрузкой, Iп, Iт — средние значения тока, соответствующие времени пуска tп и торможения tт, tо — время паузы, k1 — коэффициент, учитывающий снижение теплоотдачи при пуске и торможении, k2 — коэффициент, учитывающий уменьшение теплоотдачи во время паузы. Для двигателей постоянного тока k1 = 0,75, a k2 = 0,5; для асинхронных двигателей k1 = 0,5, а k2 = 0,25. Номинальный ток двигателя выбирают из условия Iном > Iэкв.

Переменная нагрузка может быть задана в виде графической зависимости М (t). В этом случае определяют эквивалентный момент

Мэкв = √(М2пtп + М21 t1 + М22t2 + … + М2тtт) / (k1(tп + tт) + t1 + t2 + … + k2t0), (2.3.2)

где Мп, Mт, M1, М2 и так далее — значения момента на валу двигателя в соответствующие промежутки времени. Номинальную мощность двигателя выбирают из условия Рном > Рр, где Рр = 0,105 Мэквnном — расчетная мощность, nном — номинальная частота вращения двигателя.

Наиболее простым методом выбора двигателя является определение его эквивалентной мощности

Рэкв = √ (Р2пtп + Р21t1 + Р22t2 + … + Р2тtт) / (k1(tп + tт) + t1 + t2 + … + k2t0), (2.3.3)

где Рп, Рт, Р1, Р2 и так далее — значения мощности на валу двигателя в соответствующие промежутки времени.

Формулы (2.3.1) — (2.3.3) упрощаются, если не учитывать влияние пуска, торможения и работы без нагрузки.

Номинальную мощность двигателя определяют, исходя из условия Рном > Рр = Рэкв. Этот метод может быть использован при выборе двигателей постоянного тока параллельного возбуждения, асинхронных и синхронных двигателей.

Проверку двигателя по перегрузочной способности производят путем сравнения наибольшего момента нагрузки Мн, определяемого по графику нагрузки, с максимальным моментом двигателя Мmах = Мmax* Мном, где Mmax* — кратность максимального момента (для двигателей постоянного тока Мmax* = 2…2,5, для асинхронных двигателей — 1,6…2,5).

Необходимо выполнить условие

н< ku Mmax, (2.3.4)

где ku — коэффициент, учитывающий снижение напряжения.

При тяжелых условиях пуска проводят также проверку электродвигателя по пусковому моменту. Пусковой момент двигателя Мп = Мп*Мном > Мпс, где Мп* — кратность начального пускового момента, Мпс — момент сопротивления на валу двигателя при пуске.

Для повторно-кратковременного режима, когда периоды работы чередуются с паузами, при которых двигатель отключается или работает на холостом ходу, номинальная мощность электродвигателя определяется для одного из значений ПВ (15, 25, 40, 60%).

При многоступенчатом графике нагрузки эквивалентная мощность за период работы определяется по графику нагрузки

Рэкв = √(∑ Р2hth) / (∑th), (2.3.5)

где Рh — мощность двигателя в промежутке времени th, n — число ступеней цикла графика нагрузки. При одноступенчатом графике нагрузки Рэкв= Р. Продолжительность включения

ПВ = (∑ th) / (th + t0) * 100%, (2.3.6)

где t0 — время паузы. При одноступенчатом графике нагрузки

ПВ = tр / (tр + t0) • 100%.

Мощность двигателя выбирают, исходя из условия

Рном ≥ Р р = Рэкв√ ПВ /ПВст,

где ПВст — стандартное значение ПВ, указанное в паспорте двигателя.

Коэффициенты kм — механической перегрузки двигателя в кратковременном режиме при номинальном напряжении и kт — тепловой перегрузки соответственно равны

м = Ркр* = Ркр / Рном = М*,т = Р2кр* = М2* = 1 / (1 — е-tкр/ Т), (2.3.7)

где tкр — время работы в кратковременном режиме (стандартные длительности периода кратковременной работы 10, 30, 60 и 90 минут), Т — постоянная нагрева двигателя (для асинхронных двигателей защищенного исполнения малой и средней мощности обычно принимают 15…60 минут).

При кратковременном режиме мощность Ркр двигателя, предназначенного для продолжительного режима работы,

Ркр = Рном * √ kт. (2.3.8)

Определение мощности двигателей для некоторых механизмов

Расчетную мощность двигателей выбирают по следующим формулам.

Для металлообрабатывающих станков

Рр = FSνр / ηс, (2.3.9)

где F — удельное сопротивление резанию, S — сечение стружки, νр — скорость резания, ηс — КПД станка.

Для вентиляторов

Рр = Qр / ηвηп, (2.3.10)

где Q — производительность вентилятора, р — давление газа, ηв — КПД вентилятора, ηп — КПД передачи. Для насосов

Рр = QНν / ηнηп, (2.3.11)

где Q — производительность насоса, Н — дифференциальный напор столба жидкости, ν — плотность жидкости, ηн — КПД насоса. Для компрессоров

Рр = QА / ηкηн, (2.3.12)

где Q — производительность компрессора, А — работа, затрачиваемая на сжатие одного кубического метра газа до необходимого давления, ηк — КПД компрессора.

Для горизонтальных ленточных транспортеров

Рр = QfL / ηн, (2.3.13)

где Q — производительность транспортера, f — коэффициент трения, L — рабочая длина транспортера.

Для подъемных механизмов кранов

Рр = (G +G0) ν / ηпм, (2.3.14)

где G — масса поднимаемого груза, G0 — масса захватывающего приспособления, ν — скорость подъема, νпм — КПД подъемного механизма.

3. Постановка задачи

рассчитать электрическую схему (согласно варианту задания) классическим и операторным методами. Определить значение искомого тока;

выполнить теоретический расчет двигателя (согласно варианту задания), используя каталог двигателей выбрать двигателей согласно полученным расчетным данным, выполнить проверочный расчет выбранного двигателя;

разработать приложение на ЭВМ для выполнения расчетов, используя изученный язык программирования.

Математическая постановка задачи

Задание №1

Дана электрическая цепь, в которой происходит коммутация. В цепи действует постоянная э.д.с. Е. Параметры цепи приведены в табл. 1. Требуется определить закон изменения во времени тока после коммутации в одной из ветвей схемы или напряжения на каком-либо элементе или между заданными точками схемы.

На основании полученного аналитического выражения требуется построить график изменения искомой величины в функции времени в интервале от t=∞ до t=3 / |p|мин, где |p|мин — меньший по модулю корень характеристического уравнения.

Рисунок 3.1 — Расчетная схема

Таблица 3.1 — Исходные данные к заданию 1

 

Задание №2

В таблице 3.2 приведены моменты М1, М2, М3 нагрузки на валу двигателя для соответствующих участков графика нагрузки, время работы t1 t2, t3 двигателя с заданными моментами нагрузки, время паузы t0, частота вращения двигателя и коэффициент, учитывающий возможное снижение напряжения сети.

Определить для заданного варианта расчетную мощность двигателя и выбрать по каталогу асинхронный двигатель, предназначенный для привода механизма с циклическим графиком нагрузки в продолжительном или повторно-кратковременном режимах работы. Провести проверку двигателя по перегрузочной способности.

Таблица 3.2 — Исходные данные к заданию 2

 

4. Математическая модель решения задания 1

Дано:

Электрическая схема к заданию №1.= 100 В= 1 мГн

С = 10 мкФ1 = 50 Ом2 = 25 Ом3 = 25 Ом

Расчет до коммутации

Схема до коммутации
2 = 0 A

1 =i3=E/(R2+R3)=100/50= 2 Ac =E=i3*(R2+R3)=2*50= 100 B

Классический метод

Электрическая схема после коммутации

Для определения коэффициента затухания составим характеристическое уравнение для схемы:

Приравняем к 0:

Приведем уравнение к квадратному, подставив значения:

1(1/cp+R3+R2+Lp)+1/cp(R3+R2+Lp)=01/c+R1(R3+R2) p+R1Lp2+(R3+R2)/c+Lp/c=0

+2500p+0.05p2+5000000+100p=0

.05p2+2600p+10000000=0

Решим квадратное уравнение:

= -47817= -4182

Рассчитаем свободные и принужденные токи:

Определим постоянные интегрирования

1= 02= -0,78

1=

Операторный метод

Электрическая схема после коммутации (операторный метод)

Пользуясь схемой определим значения :

11(p) = R1+1/Cp=50+100000/p Ом22(p) = R2+R3+Lp+1/Cp=50+0,001p+100000/p Ом12(p) = z21 (p) = -1/Сp=-100000/p Ом11(p) = E/p-Uc (0-)/p=0 Ом22(p) = Uc (0-)/p+L*i3 (0-)=100/p+0,002 Ом

Запишем каноническую систему уравнений:

11(p)*z11+I22(p)*z12=E1111(p)*z21+I22(p)*z22=E22

Подставляя данные получим следующую систему:

11(p)*(50+100000/p)+I22(p)*(-100000/p) = 0

I11(p)*(-100000/p)+I22(p)*(50+0,001p+100000/p) = 100/p+0,002

Для решения системы уравнений используем метод Крамера:

(0.05p2+2600p+10000000)=0

Решая квадратное уравнение получим:=0       p2=-4182             p3=-47817

Перейдем к оригиналу от изображения для нахождения I11 и I22

11 = 22 =

Откуда:

1=I11=3=I22=

5. Математическая модель решения задания 2

Дано:1 = 20 Нм2 = 15 Нм3 = 10 Нм

Т1 = 5 сек

Т2 = 10 сек

Т3 = 5 сек0 = 60 сек2 = 935 об/мин= 0,85

. Рассчитаем эквивалентный момент для двигателя по формуле:

. Рассчитаем расчетную мощность по формуле:

p = 0,105*15,41*935=1512 Вт

. Рассчитаем продолжительность включения по формуле:

ПВ = (5+10+5) / (5+10+5+60) = 25%

. Выберем электродвигатель

Наиболее подходящий двигатель:

4АМ90L6У3

(1.5Квт 380в 935 об/мин 4.1А кпд 75% COSф0.74 вес 28.7 кг диаметр вала 24 мм)

5. Выполним проверку по перегрузочной способности:

Найдем максимальный момент двигателя

max = 2,2 * 20 = 44 Нм

. Определим произведение

*Ku=44*0.85=37,4 Нм

. Проведем проверку, сравнив Mэкв и Мmax Ku

Мэкв = 15,41 Нм*Ku==37,4 Нм

Отсюда , значит выбранный, по расчету, двигатель подходит для использования для поставленной задачи.

6. Современные методы программирования

Постановка задачи

На основе исходных данных, полученных у преподавателя, ведущего курс «Электротехника и электромеханика», разработать математическую модель расчета электрической цепи в соответствии с вариантом и реализовать ее на выбранном языке программирования в виде приложения Windows с графическим интерфейсом. Программа должна работать в интерактивном режиме с использованием различных меню пользователя. Реализация программы должна быть показана на контрольном примере с выдачей документов на принтер.

Выбор алгоритма и методов решения задач проектирования

Электрическая схема

Поставленную задачу следует решать двумя методами: классическим и операторным.

В процессе решения следует реализовать следующие математические методы:

Классический метод расчета переходных процессов

Классическим методом расчета переходных процессов называют метод расчета, в котором решение дифференциального уравнения представляет собой сумму принужденной и свободной составляющих, а определение постоянных интегрирования, входящих в выражение для свободного тока или напряжения, производят путем совместного решения системы линейных алгебраических уравнений по известным значениям корней характеристического уравнения, а также по известным значениям свободной составляющей тока или напряжения и ее производных, взятых при t=0+.

Операторный метод расчета переходных процессов

Операторный метод расчета основан на использовании понятия об изображении функций времени. В операторном методе каждой функции времени соответствует функция новой переменной, обозначаемая р, и наоборот — функции переменной р отвечает определенная функция времени.

Переход от функции времени к функции р осуществляют с помощью преобразования Лапласа. Операторный метод позволяет свести операцию дифференцирования к умножению, а интегрирования — к делению.

Преобразование Лапласа

Условимся под р понимать комплексное число р = a + jb,

где а — действительная, b — мнимая части комплексного числа.

В дальнейшем коэффициент b (с учетом знака) принято называть мнимой частью. Функцию времени (I, U, э.д.с.) обозначают f(t) и называют оригиналом. Ей соответствует функция F(p) называемая изображением, определяется она так:

F(p) =f(t) e-ptdt.

Соответствие между функциями F(p) и f(t) записывают так:

(p) ·=· f(t).

Знак ·=· называют знаком соответствия.

Программная реализация

Блок-схема программы представлена в приложении А

Листинг программы представлен в приложении Б

Краткие правила пользования программой

Кнопка «Рассчитать» — чтобы рассчитать;

Кнопка «Очистить» — чтобы очистить поля ввода и вернуться к значениям по умолчанию;

Кнопка «Сохранить график» — чтобы сохранить график в качестве.bmp файла;

Пункт меню «Файл -> Сохранить» — чтобы сохранить данные в файл;

Элемент «График» — для построения графика;

Поля(Эдиты) слева — для ввода данных;

Поля(Эдиты) по центру — для вывода данных;

Заключение

В ходе выполнения данной курсовой работы были закреплены знания полученные во время изучения разделов курса «Электротехника и электромеханика» посвященных расчетам переходных процессов в линейных электрических цепях и выбору электродвигателей. В дисциплине «Современные методы программировании» были изучены базовые средства объектно-ориентированных языков программирования.

Приложение А

Блок-схема к заданию 2.1



Приложение Б

Листинг программы задания 2.1

// —

#include

#include

#include

#include

#include

#pragma hdrstop

#include «IniFiles.hpp»

#include «Graphics.hpp»

#define eps 1e-5

#include «Unit1.h»

// —

#pragma package (smart_init)

#pragma resource «*.dfm»

a;

func (float x, float a, float a1, float a2, float p1, float p2)

{yS;y, zn;

=a+a1*exp (p1*x)+a2*exp (p2*x);y;

}

TForm1 *Form1;

// —

__fastcall TForm1:TForm1 (TComponent* Owner)

: TForm(Owner)

{

}

// —

__fastcall TForm1: FormCreate (TObject *Sender)

{

*Ini=new TIniFile («H:\options.ini»);

->Top=Ini->ReadInteger («TopLeft», «Top», 0);->Left=Ini->ReadInteger («TopLeft», «Left», 0);->Edit1->Text=Ini->ReadString («Edits», «Edit1», 0);->Edit2->Text=Ini->ReadString («Edits», «Edit2», 0);->Edit3->Text=Ini->ReadString («Edits», «Edit3», 0);->Edit4->Text=Ini->ReadString («Edits», «Edit4», 0);->Edit5->Text=Ini->ReadString («Edits», «Edit5», 0);->Edit6->Text=Ini->ReadString («Edits», «Edit6», 0);->Edit8->Text=Ini->ReadString («Edits», «Edit8», 0);->Edit9->Text=Ini->ReadString («Edits», «Edit9», 0);->Color=StringToColor (Ini->ReadInteger («Biba», «FormColor», 0));->Font->Style = TFontStyles();

(Ini->ReadBool («Biba», «StyleBold», false))->Font->Style = Form1->Font->Style << fsBold;(Ini->ReadBool («Biba», «StyleItalic», false))->Font->Style = Form1->Font->Style << fsItalic;(Ini->ReadBool («Biba», «StyleUnderline», false))->Font->Style = Form1->Font->Style << fsUnderline;(Ini->ReadBool («Biba», «StyleStrikeOut», false))->Font->Style = Form1->Font->Style << fsStrikeOut;

}

// —

__fastcall TForm1: Button1Click (TObject *Sender)

{->Cursor=crHourGlass;

e, l, c, r1, r2, r3, r4;

((Edit1->Text. IsEmpty()) || (Edit2->Text. IsEmpty()) || (Edit3->Text. IsEmpty())

|| (Edit4->Text. IsEmpty())|| (Edit5->Text. IsEmpty())|| (Edit6->Text. IsEmpty()))

{

}

{

//Series1->Clear();=StrToFloat (Edit1->Text);=StrToFloat (Edit2->Text);=StrToFloat (Edit3->Text);=StrToFloat (Edit4->Text);=StrToFloat (Edit5->Text);=StrToFloat (Edit6->Text);

/*=150;=0.004;=0.000005;=6;=10;=5;=4;

*/

// -Рассчет до коммутации-

i2d=0;i4d=0;i1d=e/(r2+r3);ucd=i1d*(r2+r3);

// -Операторный метод-

//p0=p^-2 и т.д. (логика?)

op z11, z22, z12, e11, e22, d, d1, d2;

z22.p3=l;.p2=r2+r3;.p1=1/c;.p0=0;

.p0=0;.p1=-1/c;.p2=0;.p3=0;

.p1=e-ucd;.p0=0;.p2=0;.p3=0;

.p0=0;.p1=ucd;.p2=l*i1d;.p3=0;

// -Считаем систему-

=(z11*z22) — (z12*z12);=(e11*z22) — (e22*z12);=(z11*e22) — (z12*e11);

p1=(-1*d.p2+sqrt (d.p2*d.p2-4*d.p3*d.p1))/(2*d.p3), p2=(-1*d.p2-sqrt (d.p2*d.p2-4*d.p3*d.p1))/(2*d.p3);

class op f;.p0=0;.p1=d.p1;.p2=d.p2*2;.p3=d.p3*3;

i111=(d1.p1*0+d1.p0)/(f.p3*0+f.p2*0+f.p1);i112=(d1.p1*p1+d1.p0)/(f.p3*(-p1)+f.p2*p1+f.p1);i113=(d1.p1*p2+d1.p0)/(f.p3*(-p2)+f.p2*p2+f.p1);

i221=(d2.p1*0+d2.p0+d2.p2*0)/(f.p3*0+f.p2*0+f.p1);i222=(d2.p1*p1+d2.p0+d2.p2*p1)/(f.p3*(-p1)+f.p2*p1+f.p1);i223=(d2.p1*p2+d2.p0+d2.p2*p2)/(f.p3*(-p2)+f.p2*p2+f.p1);

// ****Классический метод****

p1k, p2k;aa, bb, cc, disc;

=r1*l;=(r1*(r2+r3))+l/c;=r1/c+(r3+r2)/c;

=bb*bb-4*aa*cc;

k=(-1*bb+sqrt(disc))/(2*aa);k=(-1*bb-sqrt(disc))/(2*aa);

float ipr, isv, a1, a2;=e/(r1+r2+r3);=e/r1-ipr;

/*i1pr=0, i4pr=0;i1sv=i1d-i1pr;i1div=(i4d-i4pr)*r2/l;a1, a2;

=(i1div-i1sv*p1k)/(p2k-p1k);=i1sv-a2;

*/

/*(«p1k»);(p1k);(«p2k»);(p2k);

*/

/*(«a1»);(a1);(«a2»);(a2);

*/

/*(«go d»);(d.p0);(d.p1);(d.p2);(d.p3);(«go d1»);(d1.p0);(d1.p1);(d1.p2);(d1.p3);(«go d2»);(d2.p0);(d2.p1);(d2.p2);(d2.p3);(«go p»);(p1);(p2);

(«go i11»);(i111);(i112);(i113);(«go i22»);(i221);(i222);(i223);

*/ a1=i112; a2=i113;

//float p1=0, p2=-5625;

//float i11=(-0.8*p1-7000)/(0.16*p1+900)*exp(p1)

x=0;xk=0.001;h=0.00001;y;(float x=0; x<xk+eps; x=x+h)

{->AddXY (x, func (x, ipr, a1, a2, p1k, p2k), «», clLime);->AddXY (x, func (x, i111, i112, i113, p1, p2), «», clRed);

}

->Text=FloatToStrF (ipr, ffFixed, 8,2)+FloatToStrF (a1, ffFixed, 8,2)+»*E^(«+FloatToStrF (p1k, ffFixed, 8,2)+») t»+FloatToStrF (a2, ffFixed, 8,2)+»*E^(«+FloatToStrF (p2k, ffFixed, 8,2)+») t»;->Text=FloatToStrF (i111, ffFixed, 8,2)+FloatToStrF (i112, ffFixed, 8,2)+»*E^(«+FloatToStrF (p1, ffFixed, 8,2)+») t+ «+FloatToStrF (i113, ffFixed, 8,2)+»*E^(«+FloatToStrF (p2, ffFixed, 8,2)+») t»;

}

->Cursor=crDefault;

}

// —

__fastcall TForm1: Edit1KeyPress (TObject *Sender, char &Key)

{(((Key>=’0′) && (Key<=’9′)) || (Key==DecimalSeparator) || (Key==VK_BACK) || (Key==45))

{(Key==’-‘) {((Edit1->Text).IsEmpty()==false)

{=0;

}

}

}=0;

}

// —

__fastcall TForm1: Edit2KeyPress (TObject *Sender, char &Key)

{(((Key>=’0′) && (Key<=’9′)) || (Key==DecimalSeparator) || (Key==VK_BACK) || (Key==45))

{(Key==’-‘) {((Edit2->Text).IsEmpty()==false)

{=0;

}

}

}=0;

}

// —

__fastcall TForm1: FormCloseQuery (TObject *Sender, bool &CanClose)

{*Ini=new TIniFile («H:\options.ini»);

//Chart1->SaveToBitmapFile («E:\Biba.bmp»);>WriteInteger («TopLeft», «Top», Form1->Top);>WriteInteger («TopLeft», «Left», Form1->Left);>WriteString («Edits», «Edit1», Form1->Edit1->Text);>WriteString («Edits», «Edit2», Form1->Edit2->Text);>WriteString («Edits», «Edit3», Form1->Edit3->Text);>WriteString («Edits», «Edit4», Form1->Edit4->Text);>WriteString («Edits», «Edit5», Form1->Edit5->Text);>WriteString («Edits», «Edit6», Form1->Edit6->Text);>WriteString («Edits», «Edit8», Form1->Edit8->Text);>WriteString («Edits», «Edit9», Form1->Edit9->Text);>WriteString («Biba», «FormColor», ColorToString (Form1->Color));

>WriteBool («Biba», «StyleBold», Form1->Font->Style. Contains(fsBold));>WriteBool («Biba», «StyleItalic», Form1->Font->Style. Contains(fsItalic));>WriteBool («Biba», «StyleUnderline», Form1->Font->Style. Contains(fsUnderline));>WriteBool («Biba», «StyleStrikeOut», Form1->Font->Style. Contains(fsStrikeOut));

}

// —

__fastcall TForm1: About1Click (TObject *Sender)

{(«Dan Dolya Indastries ©»);

}

// —

__fastcall TForm1: Exit1Click (TObject *Sender)

{(mrOk==MessageDlg («Вы действительно хотите выйти?», mtConfirmation,() <<mbOK<<mbCancel, 0))

{();

}{

}

}

// —

__fastcall TForm1: Button2Click (TObject *Sender)

{->Text=100;->Text=0.001;->Text=0.00001;->Text=50;->Text=25;->Text=25;->Clear();->Clear();

}

// —

__fastcall TForm1: Font1Click (TObject *Sender)

{(FontDialog1->Execute())

{->Font=FontDialog1->Font;

}

}

// —

__fastcall TForm1: FormColor1Click (TObject *Sender)

{(ColorDialog1->Execute())

{->Color=ColorDialog1->Color;

}

}

void __fastcall TForm1: Edit3KeyPress (TObject *Sender, char &Key)

{(((Key>=’0′) && (Key<=’9′)) || (Key==DecimalSeparator) || (Key==VK_BACK) || (Key==45))

{(Key==’-‘) {((Edit3->Text).IsEmpty()==false)

{=0;

}

}

}=0;

}

// —

__fastcall TForm1: Edit4KeyPress (TObject *Sender, char &Key)

{(((Key>=’0′) && (Key<=’9′)) || (Key==DecimalSeparator) || (Key==VK_BACK) || (Key==45))

{(Key==’-‘) {((Edit4->Text).IsEmpty()==false)

{=0;

}

}

}=0;

}

// —

__fastcall TForm1: Edit5KeyPress (TObject *Sender, char &Key)

{(((Key>=’0′) && (Key<=’9′)) || (Key==DecimalSeparator) || (Key==VK_BACK) || (Key==45))

{(Key==’-‘) {((Edit5->Text).IsEmpty()==false)

{=0;

}

}

}=0;

}

// —

__fastcall TForm1: Edit6KeyPress (TObject *Sender, char &Key)

{(((Key>=’0′) && (Key<=’9′)) || (Key==DecimalSeparator) || (Key==VK_BACK) || (Key==45))

{(Key==’-‘) {((Edit6->Text).IsEmpty()==false)

{=0;

}

}

}=0;

}

// -__fastcall TForm1: Button3Click (TObject *Sender)

{(SaveDialog1->Execute())

{->SaveToBitmapFile (SaveDialog1->FileName);

}

}

// —

__fastcall TForm1: FormResize (TObject *Sender)

{

(Form1->Width<1100)->Width=1100;

(Form1->Height<621)->Height=621;

}

// —

__fastcall TForm1: FormKeyPress (TObject *Sender, char &Key)

{

//if (Key==112)

//ShellExecute (Handle, «open», «help.chm», NULL, NULL, SW_RESTORE);

}

// —

void __fastcall TForm1:N1Click (TObject *Sender)

{(Handle, «open», «help.chm», NULL, NULL, SW_RESTORE);

}

// —

__fastcall TForm1:N2Click (TObject *Sender)

{

*file = new TStringList;

>Add («e= «+Edit1->Text);>Add («l= «+Edit2->Text);>Add («c= «+Edit3->Text);>Add («r1= «+Edit4->Text);>Add («r2= «+Edit5->Text);>Add («r3= «+Edit6->Text);>Add («Ik= «+Edit8->Text);>Add («Io= «+Edit9->Text);

>SaveToFile («H:\Znacheniya.txt»);

}

// —