Автор работы: Пользователь скрыл имя, 29 Мая 2012 в 13:16, курсовая работа
Алгебраические и дифференциальные уравнения, описывающие работу фильтра, составляются на основе законов Ома Кирхгофа.
Составим уравнения фильтра по контурам и узлам, показанным на рис. 1. Интегро-дифференциальные уравнения, составленные по контурам 1), 2), 3), выглядят следующим образом
1. Исходные данные 2
2. Частотные характеристики фильтра 3
3. Вывод системы дифференциальных уравнений 5
4. Решение системы средствами Odesolve 7
5. Система разностных уравнений 9
6. Решение системы разностных уравнений 10
7. Сравнение полученных решений 11
8. Разработка программы для микроконтроллера 12
9. Сравнение результатов 17
10. Выводы
Содержание
1. Исходные данные 2
2. Частотные характеристики фильтра 3
3. Вывод системы дифференциальных уравнений 5
4. Решение системы средствами Odesolve 7
5. Система разностных уравнений 9
6. Решение системы разностных уравнений 10
7. Сравнение полученных решений 11
8. Разработка программы для микроконтроллера 12
9. Сравнение результатов 17
10. Выводы 17
Рис. 1 – Схема, элементы, начальные условия фильтра
Комплексные сопротивления ветвей фильтра ( , , ) вычисляем по следующим формулам
Передаточная функция по напряжению выглядит следующим образом:
, где
Отсюда получаем выражение для передаточной функции по напряжению:
График передаточной функции фильтра, размещенный на комплексной плоскости, представлен на рис. 2. АЧХ и ФЧХ передаточной функции представлены на рис. 3 и рис.4.
Графики, для заданных вариантом задания значений сопротивлений, емкостей и индуктивностей построены средствами пакета MathCad.
Рис. 2 – График передаточной функции
Рис. 3 – АЧХ передаточной функции
Рис. 4 – ФЧХ передаточной функции
Алгебраические и дифференциальные уравнения, описывающие работу фильтра, составляются на основе законов Ома Кирхгофа.
Составим уравнения фильтра по контурам и узлам, показанным на рис. 1. Интегро-дифференциальные уравнения, составленные по контурам 1), 2), 3), выглядят следующим образом
Алгебраическое уравнение составленное по 1-му закону Кирхгофа выглядит следующим образом:
Независимые начальные условия определяем из предположения о равенстве нулю напряжений на всех конденсаторах и токов во всех катушках индуктивности в момент времени .
Зависимые начальные условия определяем из приведенной выше системы уравнений
Дифференцируем,
левые и правые части составленных
интегро-дифференциальных уравнений,
и получаем следующую систему
линейных неоднородных дифференциальных
уравнений с постоянными
Оставляем два из трех дифференциальных уравнений и вводим дополнительную переменную . Получаем следующую нормальную систему линейных неоднородных дифференциальных уравнений с постоянными коэффициентами
Полученная система уравнений, состоящая из трех дифференциальных уравнений и одного алгебраического уравнения, с полученными начальными условиями, может быть решена средствами пакета MathCad.
Для решения полученной системы уравнений используем встроенную процедуру Odesolve.
На рис. 5 представлена процедура интегрирования полученных уравнений со следующими исходными данными:
Результат интегрирования полученных уравнений представлен на рис. 5.
Рис. 5 – Решение системы в Mathcad
Рис. 6 – Результаты интегрирования системы. Odesolve
Преобразуем полученную систему уравнений в систему разностных уравнений по методу Эйлера.
Заменим производную в нормальной системе дифференциальных уравнениях следующей разностью
,
и получим следующую систему разностных уравнений
Добавим
в полученную разностную схему алгебраическое
уравнение, упростим систему уравнений
и учитывая начальные условия напишем,
средствами пакета MathCad, процедуру интегрирования
Mysolve
Процедура интегрирования разностных уравнений Mysolve представлена на рис.7. Результат интегрирования уравнений системы Mysolve представлена на рис. 8.
Рис.7 – Процедура интегрирования системы – MySolve
Рис. 8 – Результат интегрирования системы. MySolve
Сравним результаты решений системы
процедурами Odesolve и Mysolve путем наложения
графиков решений, полученных этими процедурами.
Отобразим графики переменной
Рис. 9 – Сравнение результатов интегрирования системы
При заданной дискретизации по времени погрешнось вычислений достаточно небольшая.
Для сравнения, если в качестве шага дискретизации выбрать , то процесс интегрирования станет расходящимся (рис.10, а), что приведет к значительной погрешности вычислений (рис. 10, б).
Рис. 10 – а) Расходящийся процесс интегрирования; б) Погрешность вычислений
Реализуем задачу интегрирования средствами микроконтроллера.
#include <mega8535.h>
#include <delay.h>
#define ADC_VREF_TYPE 0x60
#define R1 0.7
#define R2 0.3
#define Rn 0.1
#define C2 0.03
#define C3 0.2
#define L2 0.1
#define DT 0.005
typedef struct
{
float ee, i1, i2, i3, i22;
}Step;
Step s[2];
char init = 0;
float data;
// частота дискретизации
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
unsigned char adc_input=0;
TCCR0=0x00; // остановить таймер
TCNT0=255-77;//частота прерываний 1кГц
TCCR0=0x04; // запуск таймера
//PORTB = ~PORTB;
ADMUX=adc_input|ADC_VREF_TYPE;
// старт аналого-цифрового преобразователя
ADCSRA|=0x40;
}
interrupt [ADC_INT] void adc_isr(void)
{
if( init == 0 )
{
//Начальная инициализация
data = ADCH * 5.0 / 255.0;
s[1].ee = data;