Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование микропроцессорных систем управления подвижного состава железных дорог. Учебное пособие по дисциплинам «Автоматизированные и микропроц.pdf
X
- •ВВЕДЕНИЕ
- •1. Платформа Arduino UNO
- •1.1 Описание аппаратной части
- •2.1 Основы языка программирования С/С++
- •2.2 Арифметические операторы
- •2.2.1 Оператор присваивания
- •2.2.2 Сложение, вычитание, умножение и деление
- •2.2.3 Вычисление остатка от деления
- •2.3 Логические операторы
- •2.6.1 Условные операторы
- •2.6.1.1 Условный оператор if
- •2.6.1.2 Условный оператор if..else
- •2.6.1.3 Оператор switch…case
- •2.6.2 Операторы реализации циклических вычислений
- •2.6.2.1 Оператор цикла for
- •2.6.2.2 Оператор цикла while
- •2.6.2.3 Оператор цикла do...while
- •2.6.3 Оператор break
- •2.6.4 Оператор continue
- •2.6.5 Оператор return
- •2.6.6 Оператор перехода goto
- •2.7 Операции над битами
- •2.8 Составные операторы
- •2.8.1 Операторы ++ (инкремент) и – – (декремент)
- •2.8.2 Операторы += , –= , *= , /= , %=
- •2.8.3 Оператор &= и |=
- •2.9 Математические функции
- •2.9.2 Вычисление модуля числа
- •2.9.3 Ограничение числа заданным диапазоном
- •2.9.4 Масштабирование переменной
- •2.9.5 Возведение числа в степень
- •2.9.6 Вычисление квадратного корня числа
- •3. Ввод-вывод сигналов
- •3.2 Вывод дискретных сигналов digitalWrite()
- •3.3 Ввод дискретных сигналов digitalRead().
- •3.4 Ввод аналоговых сигналов analogRead()
- •3.5 Вывод аналоговых сигналов analogWrite()
- •4. Практические задания
- •5. Основы алгоритмизации
- •6. Элементы математической логики
- •7.1 Макетная плата
- •7.2 Постоянный резистор
- •7.3 Переменный резистор
- •7.4 Тактовая кнопка DTS-61N
- •7.5 Светодиод видимого спектра свечения
- •7.6 Четыре компаратора LM239N
- •7.7 Шесть логических элементов НЕ SN74HC04N
- •7.8 Приоритетный шифратор 8 в 3 SN74HC148N
- •7.9 Датчик угла поворота EXW1J-C24-AC0024L
- •7.11 Полевой транзистор IRF530NPBF
- •7.12 Дроссель Д25
- •КОНТРОЛЬНЫЕ ВОПРОСЫ
- •ИСПОЛЬЗОВАННЫЕ ИСТОЧНИКИ
- •СОДЕРЖАНИЕ

жение или ток соответственно. В зависимости от структуры преобразователя, инверторы могут изменять только частоту выходного
тока, либо одновременно частоту и значение напряжения. На электроподвижном составе в системах тягового электропривода и питания вспомогательных машин находят применение многофазные
инверторы напряжения и тока.
На вход таких преобразователей всегда подают постоянное
сглаженное напряжение, а на выходе инверторы формируют многофазное переменное напряжение регулируемой величины и частоты.
Схема однофазного мостового инвертора приведена на рисунке 4.24. Как видно, данная схема эквивалентна рассмотренной
ранее (рисунок 4.22) схеме широтно-импульсного преобразователя.
Рисунок 4.24 – Принципиальная схема однофазного
мостового инвертора.
Трёхфазный мостовой инвертор можно получить, объединив
двух однофазных, упрощённая схема трёхфазного мостового инвертора показана на рисунке 4.25. Здесь полупроводниковые приборы условно показаны в виде шести ключей A+, A– , B+, B– , C+, C– ,
обозначенных соответственно выходным фазам A, B и С. Как видно
из рисунка 4.25, инвертор состоит из трёх идентичных цепей, подключённых параллельно к источнику постоянного входного напряжения U
. Средняя точка каждой из этих цепей является выходной
d
клеммой фазы. Таким образом, два ключа одной фазы, «плюсовой»
и «минусовой», позволяют:
• подключать выходную клемму фазы к «плюсу» входного
постоянного напряжения U
(когда замкнут только «плюсовой»
d
ключ);
91

• подключать выходную клемму фазы к «минусу» входного
постоянного напряжения U
(когда замкнут только «минусовой»
d
ключ);
• полностью изолировать выходную клемму фазы от источника питания (когда и «плюсовой», и «минусовой» ключи разомкнуты).
Состояние, когда и «плюсовой» и «минусовой» ключи фазы
инвертора замкнуты, недопустима, так как означает глухое короткое замыкание источника входного постоянного напряжения.
Рисунок 4.25 – Упрощённая схема трёхфазного
инвертора
При использовании автономных инверторов напряжения на
электроподвижном составе широкое применение нашёл широтноимпульсный способ регулирования выходного напряжения (на статоре асинхронного двигателя), при котором выходное напряжение
регулируется внутренними средствами инвертора (при неизменном входном напряжении U
) путём многократного включения и
d
выключения ключей инвертора за один период выходного напряжения. Инвертор, в котором применяют такой способ регулирования, называют инвертором с широтно-импульсной модуляцией
(ШИМ) [17].
В инверторе с ШИМ для регулирования выходного напряжения изменяют соотношение между интервалами подключения
фазы нагрузки к «плюсу» и «минусу» источника питания в течение
92

одного периода выходного напряжения и тем самым изменяют глубину регулирования выходного напряжения, которую характеризует коэффициент регулирования K
вой гармоники напряжения в этом случае
. Действующее значение пер-
р
= 2 . Соот-
ветственно средний ток на выходе инвертора с ШИМ
cos
=
Коэффициент регулирования K
ницы. При K
= 0 получаем = 0, = 0. Значение Kр = 1 означает,
р
2
=
cos = 0,45 cos
изменяется от нуля до еди-
р
что регулирование способом ШИМ завершилось, дополнительные
коммутации не происходят и частота коммутаций ключей одной
фазы f
коммутаций ключей фазы fкф больше частоты нагрузки f1 в n
е. fкф = n
= f1.
кф
В процессе регулирования способом ШИМ (при K
f
к
1
, где n
– кратность частоты коммутаций.
к
< 1) частота
р
раз, т.
к
При управлении способом ШИМ напряжение на выходе АИН
имеет форму серии импульсов положительной и отрицательной
полярности с нулевыми паузами, причём длительность импульсов
и пауз в пределах одного периода выходного напряжения можно
изменять по различным законам.
Для питания асинхронных тяговых двигателей в АИН часто используют синусоидальную ШИМ. Принцип управления инвертором (схема на рисунке 4.24) способом синусоидальной ШИМ поясняет рисунок 4.26. Период выходного напряжения T
разбивают на
1
N равных интервалов (в рассматриваемом примере N = 9). Длитель-
ность одного интервала равна =
T
и частотой = , которую называют несущей, изменяется
н
двухполярный разворачивающий сигнал треугольной формы u
Модулирующий синусоидальный сигнал u
гармоники выходного напряжении инвертора f
плитуд сигналов
= называют
регулировании выходного напряжения µ изменяется от 0 до 1. Для
синусоидальной ШИМ при µ = 1 коэффициент регулирования
напряжения Кр < 1, поскольку значение К
только режиму однократной коммутации инвертора, когда число
коммутаций на одну фазу за период выходного напряжения
равно 2.
. С периодом повторения
имеет частоту первой
р
. Отношение ам-
1
глубиной модуляции. При
=1 соответствует
р
р
.
93

В инверторе с ШИМ на одном интервале Tн осуществляются
две коммутации, а за период T
Поэтому кратность коммутаций n
— 2N коммутаций на одну фазу.
1
в инверторе с синусоидальной
к
ШИМ равна N.
Моменты коммутаций инвертора соответствуют точкам пересечения сигналов uм и u
ется к «плюсу» питающего источника, в противном случае (u
. При условии uм > uр, нагрузка подключа-
р
< u
м
р
фаза подключается к «минусу» источника питания. Диаграмма выходного сигнала на рисунке 4.26 симметрична по полуволнам выходного напряжения (относительно моментов T
/4 и 3T1/4) только
1
в том случае, если N — нечётное число.
Для получения величины напряжения uн, равной +Ud, необходимо открытие пары транзисторов VT1 и VT4; напряжения −U
—
d
пары транзисторов VT2 и VT3.
Для уменьшения коэффициента пульсаций тока нагрузки, её
питание в течении каждого полупериода модулирующего напряжения, целесообразно осуществлять однополярным напряжением.
С этой целью транзистор VT1 открывают на том интервале времени, когда напряжение u
. Для управления транзисторами VT3 и VT4 формируют вспомо-
−U
d
должно быть равно +Ud, а VT2 – когда
н
гательный сигнал способом, проиллюстрированным диаграммами
на рисунке 4.27.
Как отмечалось ранее, алгоритм формирования интервалов
проводимости транзисторов инвертора предполагает наличия
двух сигналов – модулирующего и разворачивающего.
Для генерирования разворачивающего сигнала в общем случае целесообразно использовать встроенные аппаратные ресурсы микроконтроллера, содержащие программируемые реверсивные счётчики, например, блоки таймеров и подобные им устройств. Однако,
в силу определённой ограниченности используемой среды программирования Arduino IDE, в части доступа к ресурсам аппаратуры, в рассматриваемом алгоритме управления использован программный способ формирования разворачивающего сигнала.
)
94

Рисунок 4.26 – Диаграмма модулирующего u
разворачивающего u
Рисунок 4.27 – Диаграмма, поясняющая порядок
формирования импульсов открытия транзисторов
,
м
напряжений и напряжения на нагрузке uн
р
VT3 и VT4
95

Рисунок 4.28 – Формирование интервалов проводимости транзи-
сторов инвертора (а) и диаграмма напряжения на нагрузке (б)
Рисунок 4.29 – Результаты экспериментального исследования
инвертора напряжения
96

На рисунке 4.30 приведена диаграмма, поясняющая способ
формирования разворачивающего сигнала. Ниже приведён фрагмент программы, обеспечивающий получение требуемого результата.
……………
// Раздел инициализации оборудования и
// первоначальной установки
{
tick=0;
Time=0;
Direction=-1;
maximum=10;
minimum=-10;
}
……………
{
// Циклически выполняемый фрагмент программы
tick=tick+Direction;
Time=Time+Tp;
if (Direction == 1 && tick == maximum) {Direction=-1; }
if (Direction == -1 && tick == minimum) {Direction=1;}
…
}
Здесь использованы следующие обозначения:
tick – счётчик, содержащий в себе значение разворачиваю-
щего сигнала;
Time – текущее модельное время;
Direction – переменная, предназначенная для управления
направлением изменения разворачивающего сигнала и определяющая величину приращения разворачивающего сигнала за каждый такт работы программы управления; принимает значение 1,
если разворачивающий сигнал возрастает, или -1, если разворачивающий сигнал убывает;
97

Tp – длительность такта работы управляющей программы и
шаг по времени изменения разворачивающего сигнала;
maximum, minimum – наибольшее и наименьшее значения
разворачивающего сигнала, в приведённом примере равны 10 и
−10 соответственно.
Очевидно, что за один период разворачивающего сигнала, при
принятых параметрах, содержимое счётчика tick изменяется
4 ⋅ maximum = 40 раз.
Рисунок 4.30 – Формирования разворачивающего сигнала
Отсюда легко определить величину Tp такта работы программы (в мкс):
=
40
10
=
40
1
10
Например, при
= 50 Гц и = 9, = 55,56 мкс. Полученный
результат необходимо округлить до ближайшего целого значения,
в данном случае величина Tp примет значение 56 мкс.
Задание модулирующего (синусоидального) сигнала можно
осуществлять путём его непосредственного вычисления в управля-
98

ющей программе при помощи встроенной функции вычисления ве-
n
0 1 2 3 4 5 6 … 126
127
128
,
мкс
0
156
312
468
624
780
936 … 19656
19812
19968
0 0 1 1 2 2 3
…
−1
0
0
личины синуса заданного аргумента y=sin(x). Такой подход, однако, ведёт к значительному снижению скорости выполнения
управляющей программы, исполняемой на микроконтроллерах,
ядро которых не располагает встроенным блоком вычислений с
числами с плавающей запятой, к которым относятся микроконтроллеры семейства ATMega328. Для решения подобных задач
широкое распространение получил способ табличного задания модулирующего сигнала. Информация об этом сигнале размещается
непосредственно в тексте управляющей программы, или во внешнем запоминающем устройстве, откуда и происходит считывание
необходимых значений по мере работы управляющей программы.
Для этого способа формирования модулирующего сигнала u
необходимо задать количество интервалов N
ществляется разбиение одного периода T
1
жения. После этого легко вычислить шаг изменения аргумента
[
]
мкс, для функции
:
, на которое осу-
м
модулирующего напря-
=
10
1
=
10
Например, при
= 128 и = 50 Гц величина будет равна
156,25 мкс, полученное значение также необходимо округлить.
Далее в таблице 4.6 приведены результаты расчёта модулирующего сигнала
[
]
при данных начальных условиях и ампли-
туде модулирующего сигнала, равной 10; полученные значения
округлялись. Построенные по данным таблицы 4.6 графики функций теоретического () и расчётного
[
]
модулирующих сиг-
налов приведены на рисунке 4.31.
м
,
Таблица 4.6 Результаты расчёта модулирующего сигнала
В исследуемой программе далее рассчитанные значения представлены в виде целочисленного массива при
= 64 :
int sinus [64] = {0, 1, 2, 3, 4,
99

5, 6, 6, 7, 8,
...
-8, -7, -6, -6, -5,
-4, -3, -2, -1};
[
]
Рисунок 4.31 – Графики теоретического () и расчётного
модулирующих сигналов
Для обеспечения заданных параметров выходного сигнала
необходимо обеспечить максимально точное исполнение такта работы программы управления Tp, а также шага изменения модулирующего сигнала
. Решение этой задачи возможно путём приме-
нения «меры» времени для отсчёта временных интервалов, для
чего целесообразно использовать имеющийся у микроконтроллера
механизм прерываний
12
.
12
Прерывание (interrupt) – сигнал от программного или аппаратного обеспечения, сообщающий процессору о наступлении какого-либо события, требующего немедленного внимания. Прерывание извещает процессор о наступлении высокоприоритетного
события, требующего прерывания текущего кода, выполняемого
процессором. В результате поступления запроса на прерывание
процессор приостанавливает исполнение текущей задачи, сохраняет свое состояние, и выполняет функцию, называемую обработчиком прерывания (или программой (процедурой) обработки прерывания), который реагирует на событие и обслуживает его, после
чего возвращает управление в прерванный код.
100
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
