44595 (Блок управления двигателем на МК), страница 2

2016-07-31СтудИзба

Описание файла

Документ из архива "Блок управления двигателем на МК", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "44595"

Текст 2 страницы из документа "44595"

Сигналы сегментов с выходов порта Р5 через токовые усилители DD4 поступают на шину сегментов С0 – С7 индикаторов. Резисторы R17 – R24 определяют значения амплитуды импульса тока, протекающего через сегменты.

Разряды Р4.7 – Р4.4 являются входами сигналов опроса клавиатуры.

С помощью элементов DD11.1 – DD11.2 формируется сигнал запроса прерывания от клавиатуры, поступающий на вход INT0 МК.

ИМС DD5 является преобразователем уровней для последовательного канала.

Элементы источника питания:

VD3 – диод выпрямителя;

С5 – С8 – сглаживающий фильтр;

DD3 – стабилизатор напряжения.

Трансформатор блока питания вынесен в отдельный блок, совмещенный вилкой питания.

Соединение с «внешним миром» производится с помощью разъемов.

Разъем Х7 предназначен для соединения с СОМ – портами компьютера.

На контакты разъемов Х1 выведены входы порта Р6 и входы эталонных питания и земли.

На контакты разъема Х5 выведены линии от порта Р3.

На контакты разъема Х4 выведены линии от порта Р1.

Разъем Х8 используется для подключения блока трансформатора.

3.2.Плата макета.

Оптопара VD1 VD2 является датчиком частоты вращения якоря двигателя. Фотодиод VD1 формирует токовые импульсы при прохождении шторки освещением от светодиода VD2. Импульс с VD1 открывает транзистор VT1 тем самым формируя импульс на его коллекторе.

Управление двигателем происходит при помощи DD1 (ИМС управления реверсивными коллекторными двигателями). Режимы работы представлены в таблице 3.2.

Таблица 3.2

Режим работы

IN1

IN2

OUT1

OUT2

Тормоз

1

1

L

L

Движ/Рев

0

1

L

H

Рев/Движ

1

0

H

L

Стоп

0

0

На входы DD1 поступают логические уровни «0» «1», что выбирает режим работы двигателя, подключенного к выходам DD1. С1 – С4 – сглаживающие фильтры.

Переменным резистором R8, соединенным последовательно с генератором, подается нагрузка на двигатель. Резисторы R5 R9 (R5=R9) соединены общим проводом, а с других концов снимается аналоговое значение напряжения для определения нагрузки. В зависимости от направления вращения генератора ток в цепи будет протекать в двух направлениях, следовательно, значение потенциалов напряжения на R5 R9 будут противоположны, но равны по значению. Это обеспечивает измерение напряжения в реверсном режиме работы двигателя.

4.Описание алгоритма программы.

Блок схема алгоритма представлена в графической части лист 2.

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

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

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

  • клавиша «удалить» - сдвиг индикационных ячеек в право и запись в старшую ячейку нуля;

  • клавиша «старт» - преобразования введенного числа оборотов в секунду в длительность периода импульсов с датчика;

  • клавиша «стоп» - остановка двигателя;

  • клавиша «режим» - переключение режима индикации частоты вращения / подаваемой нагрузки.

5.Описание программы.

В программе используются символические имена присвоенные ячейкам ОЗУ:

st1 data 52h

номер сдвига индикационной ячейки n_sd data 53h

введенная частота вращения якоря двигателя obor data 54h

делимое 1-й байт chi_3 data 55h

делимое 2-й байт chi_2 data 56h

делимое 3-й байт chi_1 data 57h

делитель 1-й байт zn_h data 59h

делитель 2-й байт zn_l data 5ah

частное 1-й байт rez_h data 5bh

частное 2-й байт rez_l data 5ch

результат деления 16/8 rezul data 5dh

измеренная длительность импульса мл. байт dli_i_l data 5eh

измеренная длительность импульса ст. байт dli_i_h data 5fh

заданная длительность импульса мл. байт dli_l data 60h

заданная длительность импульса ст. байт dli_h data 61h

временная ячейка temp data 62h

счетчик паузы выдачи измеренного значения indik data 63h

Используемые биты флагов перечислены ниже:

повторный вход в п.п. измерения периода импульса flag bit 00h

индикация нажатия функциональной клавиши f_ind bit 01h

функциональная клавиша «реверс» f_rev bit 02h

направление вращения f_nap bit 03h

вкл./выкл. двигатель f_rab bit 04h

индикация обороты/нагрузка f_rez bit 05h

функциональная клавиша «режим» f_rezind bit 06h

Деление 24-х битного числа на 16-и битное результат 16 бит, реализовано в подпрограмме div24. Деление многобайтного числа на многобайтное реализуется по принципу вычитания делителя из делимого со сдвигом последнего влево, с возможностью восстановления делимого. Перед процедурой деления в ячейки делителя записывается число в диапазоне 0-0fffh. В начале деления происходит: сдвиг делителя на четыре разряда влево это необходимо для деления 24/16, запись в частное 10h для определения окончания деления, запись в ячейки делимого число 1000000. В начале цикла деления производится сдвиг делимого влево на один разряд, а так же сдвиг влево частного и запись в стек значений флагов переносов. Далее из старшей части делимого вычитаем делитель, в зависимости от знака переноса в частное записывается «0» или «1» и сохранение делимого. Проверка переноса при сдвиге делимого и запись в частное «1» если перенос был. Проверка окончания деления путем проверки восстановленного значения флага переноса при сдвиге частного. После окончания деления результат деления находится в ячейках результата.

После нажатия клавиши «Старт» происходит преобразования значения индикационных ячеек в двоичный код (1 байт), после чего это значение умножается на 24, что соответствует 24 прорезям диска оптопары (результат 2 байта) и делим 1000000 на это число в результате получается длительность периода импульсов от оптопары для введенного числа оборотов в секунду. После преобразования выполняется функция запуска двигателя которая дает толчок и разрешается прерывание INT1 с оптопары.

В подпрограмме обработки прерывания INT1 проверяется повторное вхождение для этого используется флаг flag. При первом вхождении запускается таймер и происходит выход из подпрограммы обработки прерывания. Во втором вхождении таймер останавливается, запрещается прерывание INT1 и значение таймера (что соответствует периоду импульса) записывается в ячейки dli_i_l и dli_i_h. После чего производится регулирование частоты вращения двигателя, для этого из ячеек dli_l dli_h (введенное значение) вычитается измеренное dli_i_l dli_i_h, если возник перенос значит частота вращения меньше необходимой и двигатель включается (отключается, если переноса нет) установкой кода на портах Р3.4 Р3.5. Комбинация выбирается в зависимости от направления вращения которая определяется битом f_nap. Индикация измеренной частоты вращения происходит через 47 (2f) раз измерения импульсов, это нужно для того чтобы убрать мелькание цифр на индикаторе. Преобразование измеренного значения в частоту вращения двигателя в обр/сек происходит следующим образом: деление 1000000 на измеренное значение, деление на 24, преобразование bin->dec->индикатор. Перед завершением подпрограммы обработки прерывания INT1 производится инициализация регистров и ячеек перед следующим запуском процедуры и разрешается прерывание INT1.

Для настройки таймера и прерывания INT1 используются следующие управляющие слова:

  • TMOD=01H – режим работы таймера;

  • TCON=04H

  • Tr – разряд запуска таймера;

  • IEN0 – разрешения прерываний

  • 8 разряд – запрет всех прерываний;

  • 3 разряд – INT1;

  • 1 разряд – INT0 (клавиатура);

6.Методика выполнения лабораторной работы.

6.1.Цель работы.

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

6.2.Описание лабораторной установки.

Лабораторная установка состоит из следующих частей: платы управления ПМК, платы двигателя и блока питания.

Плата двигателя рис.6.1 состоит из трех блоков: блок датчика скорости вращения, блок управления, блок датчика нагрузки. Плата двигателя подключается к разъемам портов ПМК при помощи разъемов. X2 подключается к порту Р3 и служит для соединения: оптопары («Датчик») со входом прерывания INT1, портов Р3.4 Р3.5 с входами блока управления (Упр1 и Упр2). X6 подключается к порту Р6 используя две линии AI6 и AI7 для измерения нагрузки прелагаемой к двигателю с помощью генератора (измерение нагрузки прелагаемой из вне при помощи этой схемы невозможно). Использование двух каналов предусматривается для измерения напряжения двигателя с возможным реверсом когда при вращении в одну сторону измерение происходит с первого канала, а при вращении в другую со второго. Такое распределение получается путем использования делителя напряжения общий конец которого соединен с нулевым проводом и при протекании тока в разных направлениях меняет знак напряжения на концах делителя относительно общего провода на противоположный. Опорное напряжение Uref подается соединением +5В, а нижняя граница (Ugnd) задается соединением с общим.

Рис. 6.1.Схема платы двигателя.

Разъем X3 соединяет схему с блоком питания.

Датчик числа оборотов представляет собой диск, с 24-ю прорезями, жестко закрепленный навалу вращения двигателя. Во время прохождения прорези между оптопарой светодиод VD2 освещает инфракрасным излучением фотоприемник представляющий собой фотодиод VD1. Полупроводниковый фотоприемник уменьшив за счет этого свое сопротивление начинает пропускать ток открывая тем самым транзистор VT1 с коллектора которого снимаются прямоугольные импульсы.

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

6.3.Исходные данные.

  1. Комплекс отладочный: плата, ПО FDSAB;

  2. Установка управления двигателем;

  3. Возможность установки частоты вращения с клавиатуры;

  4. Стабилизация частоты;

  5. Импульсы с датчика поступают на вход прерывания INT1;

  6. Управление двигателем осуществляется выдачей кода на порты Р3.4 и Р3.5 в соответствии с таблицей 6.1;

  7. Максимальная скорость вращения двигателя 110 обр1/сек.;

  8. Число прорезей диска вращения датчика составляет 24 шт.

  9. Мощность двигателя 10 Вт;

  10. Входы для измерения нагрузки поступают на АЦП каналы AI6 и AI7. VAREF=5B.

Таблица 6.1

Режим работы

IN1

IN2

OUT1

OUT2

Тормоз

1

1

L

L

Движ/Рев

0

1

L

H

Рев/Движ

1

0

H

L

Стоп

0

0

6.4.Домашние задание.

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

6.5.Рекомендации по выполнению.

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

  1. Введенную частоту вращения (обр/сек) умножить на число прорезей в диске (24);

  2. 1000000 разделить на полученное число, в результате чего получится длительность одного периода в мкс.

Для обратного преобразования:

  1. 1000000 разделить на длительность периода;

  2. разделить на 24.

При делении 1000000 (3 байта) на 2 байта возможно использование стандартной процедуры деления 4-х байтного числа на 2-й байтное. Но для более быстрого деления (а значит и увеличения скорости измерения) рекомендуется уменьшить длительность деления, производя деление 6-ти тетрад (1000000) на 3-и тетрады (максимально возможное число 4095), для этого необходимо:

  1. перед процедурой деления сдвинуть делитель на четыре разряда влево;

  2. продолжать деление с учетом сдвинутого делителя, т. е. деление должно длится на четыре цикла меньше;

  3. после процедуры деления сдвинуть частное на четыре разряда влево.

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

6.6.Последовательность выполнения работы.

  1. Набрать текст программы;

  2. Откомпилировать программу;

  3. Запустить отладчик FDSAB;

  4. Загрузить в память bin файл, запустить программу на выполнение;

  5. Снять зависимость изменения частоты вращения от подаваемой нагрузки;

  6. Сделать вывод о проделанной работе;

  7. Составить отчет.

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

7.Заключение.

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

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
436
Средний доход
с одного платного файла
Обучение Подробнее