Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование микропроцессорных систем управления подвижного состава железных дорог. Учебное пособие по дисциплинам «Автоматизированные и микропроц.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
// ширина импульса определяется как value*15 //-------------------------------------------- for (int j = 0; j<SEGMENT_COUNT; ++j) { boolean enableSegment = bitRead(value, j); digitalWrite (j+FIRST_SEGMENT_PIN, enableSegment); } Channel_A_Signal_Last=Channel_A_Signal; Channel_B_Signal_Last=Channel_B_Signal;
}
Порядок выполнения работы
1. В соответствии с выданным заданием, рассчитать ширину им-
пульса на выходе генератора.
2. Собрать устройство в соответствии с принципиальной схемой
(рисунок 4.20).
Рисунок 4.20 – Принципиальная схема установки для
исследования генератора с ШИМ.
81
3. Подключить осциллограф к выходу PWM_Out микроконтрол-
лера.
4. Изменяя при помощи энкодера заданное значение ширины
импульса, наблюдать соответствующие изменения на экране осциллографа.
5. Установив заданное значение ширины импульса (в соответ-
ствии с вариантом), получить осциллограмму сигнала на вы­ходе генератора ШИМ (записать на съёмный USB диск), по ос­циллограмме определить временные характеристики этого сигнала, сопоставить полученное значение с расчётным.
6. Оформить отчёт по работе
Содержание отчёта
1. Наименование, цель работы.
2. Принципиальная схема устройства.
3. Экспериментально полученная зависимость выходных сигна-
лов энкодера.
4. Схемы разработанных алгоритмов.
5. Дополненный в соответствии с разработанным алгоритмом
текст программы lab_4_2.
6. Расчёт ширины импульса в соответствии с заданием.
7. Результаты измерений.
8. Заключение по работе, содержащее результаты исследования
энкодера и генератора ШИМ.
Широтно-импульсный преобразователь
постоянного напряжения.
Цель работы
Изучение способа управления импульсным преобразователем постоянного напряжения, допускающего реверсирование коллек­торного электродвигателя. Закрепление навыков разработки алго­ритмов управления, реализующих порядково-временное связыва­ние событий.
Краткие теоретические сведения
Импульсные преобразователи используют в системах управ­ления электроприводами с коллекторными двигателями, в том числе и на электроподвижном составе, для плавного регулирова­ния напряжения, приложенного к двигателю, а следовательно, и частоты вращения якоря электродвигателя (рисунок 4.21).
82
При помощи импульсного преобразователя реализуют следу-
= var,
:
к
ющие способы регулирования напряжения U
– частотно-импульсное, τ = const, t
– широтно-импульсное, τ = var, t
п
= const.
п
Рисунок 4.21 – Структурная схема (а) и диаграмма работы в квази-
стационарном режиме (б) импульсного
преобразователя
На электроподвижном составе железных дорог применение находит способ широтно-импульсного регулирования напряже­ния, при котором управление напряжением на зажимах тяговых электродвигателей осуществляется путём изменения величины коэффициента заполнения импульсного цикла k = τ / t
:
п
U
= (τ / t
к
) · Uкс. (4.5)
п
Известно, что величина электромагнитного момента M
на
э
валу электродвигателя (рисунок 4.21, а) постоянного тока опреде­ляется в соответствии со следующим выражением:
= с
М
· iд · Ф, (4.6)
э
м
где с
– постоянная электрической машины;
м
– величина тока якоря, А;
i
д
Ф – величина магнитного потока, создаваемого обмот-
кой возбуждения, Вб.
Очевидно, что для изменения направления вращения якоря необходимо при неизменном направлении тока якоря изменить
83
направление магнитного потока Ф, создаваемого обмоткой воз­буждения, для чего изменяют направление тока в обмотке возбуж­дения, или при неизменном направлении тока в обмотке возбужде­ния изменить направление тока в обмотке якоря.
При выполнении работы используется коллекторный двига­тель с постоянными магнитами, поэтому единственной возможно­стью для реверсирования двигателя является изменение тока якоря. Для этого можно использовать реверсивный импульсный преобразователь (рисунок 4.22) на транзисторах. Как видно, направление тока, протекающего через обмотку якоря а, следова­тельно, и его направление вращения, зависят от того, какая пара транзисторов (VT1 и VT4, или VT2 и VT3) использована для подклю- чения нагрузки к источнику питания.
Рисунок 4.22 – Принципиальная схема реверсивного импульсного
преобразователь и диаграммы, поясняющие способ
реверсирования электродвигателя
Для управления транзисторами преобразователя удобно ис­пользовать генераторы ШИМ микроконтроллера, принцип дей­ствия которых рассмотрен в разделе 4.4. Для сопряжения выходов микроконтроллера с выводами, управляющими включением/вы­ключением транзисторов (на схеме (рисунок 4.22) ни к чему не под­ключены) используют специальные микросхемы, т.н. «драйверы». Назначением драйвера является приведение параметров сигнала на выходе микроконтроллера к параметрам, необходимым для управления транзисторами уровня сигнала (как правило, усиление по мощности), создание необходимых электрических цепей для подключения транзисторов преобразователя, разделение высоко­вольтных цепей преобразователя и управляющего микроконтрол-
84
лера. В некоторых устройствах, для обеспечения последней функ­ции в драйвере предусмотрена гальваническая оптоэлектронная развязка цепей управления и силовых.
При выполнении данной работы используются микросхемы­драйверы транзисторов верхнего и нижнего уровней мостового преобразователя IR2101 [15]. Для создания системы управления преобразователем необходимы две микросхемы-драйвера – для пар транзисторов VT1 и VT2, а также для VT3 и VT4. В преобразова-
11
теле работают мощные MOSFET
транзисторы IRF530NPbF [16].
Принципиальная схема установки приведена на рисунке
4.23. Для управления величиной выходного напряжения предна­значены контакты SA1.1 и SA1.2 датчика угла поворота, направле­нием вращения – кнопки SA2 и SA3. Для индикации выбранного направления вращения служат светодиоды HL2 – HL4. Светодиод HL1 предназначен для индикации состояния генератора ШИМ, вне зависимости от направления вращения.
Подготовка к работе
1. Изучить принципиальную схему установки. Выделить на
схеме следующие части: микроконтроллер с органами управ­ления и индикации режимов работы; драйверы транзисторов с необходимыми дополнительными внешними компонентами (обвязкой); импульсный преобразователь напряжения.
2. Проанализировать программу управления импульсным пре-
образователем.
11
MOSFET – полупроводниковая структура, применяемая при
производстве микросхем и дискретных полевых транзисторов. По­лупроводниковые приборы на основе этой структуры называют МОП-транзисторами (от слов «металл-оксид-полупроводник», англ. metal-oxide-semiconductor field effect transistor, сокращённо «MOSFET»), МДП-транзисторами (от слов «металл-диэлектрик-по­лупроводник») или транзисторами с изолированным затвором (так как у таких транзисторов затвор отделён от канала тонким слоем диэлектрика). В отличие от биполярных транзисторов, кото­рые управляются током, транзисторы с изолированным затвором управляются напряжением, так как, по причине изолированного управляющего электрода (затвора) такие транзисторы обладают очень высоким входным сопротивлением.
85
Рисунок 4.23 – Принципиальная схема установки исследования
импульсного регулятора
#define FIRST_SEGMENT_PIN 4 // Установка первого вывода индикатора #define SEGMENT_COUNT 3 // Установка числа разрядов в индикаторе byte Channel_A_pin=7; // Канал А энкодера byte Channel_B_pin=8; // Канал B энкодера byte forward_pin=2; // Кнопка «Вперёд» byte revers_pin=3; // Кнопка «Назад»
86
byte PWM_Out_led=9; // «Контрольный» ШИМ byte PWM_CW=10; // ШИМ на VT1, VT4 byte PWM_CCW=11; // ШИМ на VT2, VT3 byte forward_led_pin=4; // Индикатор «Вперёд» byte zero_led_pin=5; // Индикатор «Ноль» byte revers_led_pin=6; // Индикатор «Назад» boolean Channel_A_Signal, Channel_B_Signal,
Channel_A_Signal_Last, Channel_B_Signal_Last;
boolean forward_pin_signal,
forward_pin_signal_last, revers_pin_signal, revers_pin_signal_last; int value; // Управляющая величина для ШИМ byte direction; byte forward=B001; byte zero=B010; byte revers=B100; //-------------------------------------------­void setup() { value=0; Channel_A_Signal=false; Channel_B_Signal=false; Channel_A_Signal_Last=false; Channel_B_Signal_Last=false; forward_pin_signal=false; forward_pin_signal_last=false; revers_pin_signal=false; revers_pin_signal_last=false; direction=zero; pinMode (Channel_A_pin, INPUT); pinMode (Channel_B_pin, INPUT); pinMode (forward_pin, INPUT); pinMode (revers_pin, INPUT); pinMode (PWM_Out_led, OUTPUT); pinMode (PWM_CW, OUTPUT); pinMode (PWM_CCW, OUTPUT); for (int j = 0; j<SEGMENT_COUNT; ++j) { pinMode (j+FIRST_SEGMENT_PIN, OUTPUT); } } boolean Click(int pin, boolean old_stat)
87
{ boolean stat=digitalRead(pin); if (stat!=old_stat) { delay (1); stat=digitalRead(pin); if (stat!=old_stat) { return stat; } } } void loop() { Channel_A_Signal=Click(Channel_A_pin,
Channel_A_Signal_Last);
Channel_B_Signal=Click(Channel_B_pin,
Channel_B_Signal_Last);
forward_pin_signal=Click(forward_pin,
forward_pin_signal_last);
revers_pin_signal=Click(revers_pin,
revers_pin_signal_last);
if (forward_pin_signal == HIGH &&
forward_pin_signal_last == LOW) { if (direction != forward) {value=0;} if (direction == revers) {direction = zero;} else {direction = forward;} }
if (revers_pin_signal == HIGH &&
revers_pin_signal_last == LOW) { if (direction != revers) {value=0;} if (direction == forward){direction = zero;} else {direction = revers;} } if (direction!=zero) { if (Channel_A_Signal == HIGH && Channel_A_Signal_Last == LOW &&
88
Channel_B_Signal == LOW) {++value;} if (Channel_B_Signal == HIGH && Channel_B_Signal_Last == LOW && Channel_A_Signal == LOW) {--value;} if (value>15){value=15;} if (value<0){value=0;} } //------------------------------------------- analogWrite(PWM_Out_led, value*17); if (direction == zero) { analogWrite(PWM_CW, 0); analogWrite(PWM_CCW, 0); } else if (direction == forward) { analogWrite(PWM_CW, value*17);} else { analogWrite(PWM_CCW, value*17); } //-------------------------------------------- for (int j = 0; j<SEGMENT_COUNT; ++j) { boolean enableSegment =
bitRead(direction, j);
digitalWrite (j+FIRST_SEGMENT_PIN,
enableSegment); } Channel_A_Signal_Last=Channel_A_Signal; Channel_B_Signal_Last=Channel_B_Signal; revers_pin_signal_last=revers_pin_signal; forward_pin_signal_last=forward_pin_signal; }
3. На основании выполненного анализа, составить граф перехо-
дов между допускаемыми состояниями («вперёд», «назад», «ноль») системы управления.
4. Выделить фрагменты программы, формирующие реакцию си-
стемы на нажатие кнопок «вперёд» или «назад» при нахожде­нии системы управления в любом из допустимых состояний.
5. Модернизировать программу таким образом, чтобы исклю-
чить из графа переходов состояние «ноль». Переход из одного состояния в другое должен сопровождаться установкой на вы­ходе генератора ШИМ нулевого сигнала.
89
6. Составить схемы алгоритмов, реализующих пункты 3, 4 и 5.
Порядок выполнения работы
1. Собрать часть установки в соответствии с принципиальной
схемой, содержащую микроконтроллер с органами управле­ния и индикации.
2. Ввести базовый вариант программы. Исследовать работу уста-
новки.
3. Ввести модернизированный в соответствии с п. 5 подготовки
к работе программу, исследовать работу установки.
4. Подключив предварительно подготовленную часть схемы, со-
держащую драйверы транзисторов преобразователя и преоб­разователь с нагрузкой, исследовать работу импульсного пре­образователя напряжения в соответствии с двумя вариантами программы.
Содержание отчёта
1. Наименование, цель работы.
2. Принципиальная схема устройства.
3. Текст программы.
4. Графы изменения состояний системы управления.
5. Схемы алгоритмов, реализующих исходный и
модифицированный графы переходов между состояниями системы.
6. Результаты исследования работы импульсного
преобразователя.
7. Заключение по работе.
Автономный инвертор напряжения с широтно-
импульсной модуляцией
Цель работы
Изучение принципа действия и способа управления однофаз­ным автономным инвертором напряжения. Закрепление навыков разработки алгоритмов управления статическими преобразовате­лями.
Краткие теоретические сведения
Инвертором называют статический преобразователь, предна­значенный для преобразования постоянного напряжения (инвер­торы напряжения) или тока (инверторы тока) в переменное напря-
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]