ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Блок управління двигуном на МК
         

     

    Інформатика, програмування

    ЗМІСТ

    Лист

    1. Введення. 3
    2. Аналіз вихідних даних, вибір параметра контролю. 6
    2.1. Налагодження комплекс. 6
    2.2. Вибір параметра контролю. 10
    3. Опис схеми електричної принципової. 11
    3.1. Плата мікроконтролера. 11
    3.2. Плата макета. 13
    4. Опис алгоритму програми. 15
    5. Опис програми. 17
    6. Методика виконання лабораторної роботи. 21
    6.1. Мета роботи. 21
    6.2. Опис лабораторної установки. 21
    6.3. Вихідні дані. 23
    6.4. Домашні завдання. 24
    6.5. Рекомендації по виконанню. 24
    6.6. Послідовність виконання роботи. 26
    7. Висновок. 27
    Література. 29
    Додаток. Текст програми 30

    Графічна частина

    Лист № 1 Схема електрична принципова

    Лист № 2 Блок схема алгоритму

    Введення.

    В даний час практично неможливо вказати якусь галузьнауки та виробництва, в якій би не використовувалися мікропроцесори (МП) імікроЕОМ.

    Універсальність і гнучкість МП як пристроїв з програмним керуваннямпоряд з високою надійністю і дешевизною дозволяють широко застосовувати їх усамих різних системах управління для заміни апаратної реалізаціїфункцій управління, контролю, вимірювання та обробки даних. Застосування МП імікроЕОМ в системах управління промисловим обладнанням припускає, вЗокрема, використання їх для керування верстатами, транспортувальнімеханізмами, зварювальними автоматами, прокатними станами, атомнимиреакторами, виробничими лініями, електростанціями, а також створенняна їх основі робототехнічних комплексів, гнучких автоматизованихвиробництв, систем контролю та діагностики. Мікропроцесорні засобидозволяють створювати різноманітні за складністю виконуваних функційпристрої управління - від найпростіших мікроконтролерів нескладних приладіві механізмів до найскладніших спеціалізованих і універсальних системрозподіленого управління в реальному часі.

    Серед різних форм організації сучасних мікропроцесорнихкоштів можна умовно виділити наступні групи:

    - вбудовані МП і найпростіші мікроконтролери;

    - універсальні мікроконтролери та спеціалізовані мікроЕОМ;

    - мікроЕОМ загального призначення;

    - мультімікропроцессорние системи;

    - апаратні засоби підтримки мікропроцесорних систем

    (розширювачі).

    Вбудовувані у прилади і апаратуру МП і найпростіші мікроконтролерижорстко запрограмовані на реалізацію вузькоспеціалізованих завдань, їхпрограмне забезпечення проходить налагодження на спеціальних стендах абоуніверсальних ЕОМ, потім записується в ПЗП і рідко змінюється в процесіексплуатації. Вбудовувані засоби використовують і найпростіші зовнішніпристрої (тумблери/клавішні перемикачі, індикатори).

    Спеціалізовані мікроЕОМ реалізуються найчастіше на основісекційних мікро програмованих МП, що дозволяють адаптувати структуру,розрядність, систему команд мікроЕОМ під певний клас задач. Однактакий підхід організації систем вимагає трудомісткою і дорогою розробки
    «Власного» програмного забезпечення.

    Останнім часом широкого поширення набувають такожпрограмувальні мікроконтролери, що представляють собою спеціалізованімікроЕОМ, орієнтовані на вирішення численних завдань в системахуправління, регулювання та контролю. Особливу групу складаютьпрограмовані контролери для систем автоматичного регулювання.
    Найважливішим пристроєм будь-якої системи автоматичного регулювання єрегулятор, що задає основний закон управління виконавчим механізмом.
    Заміна класичних аналогових регуляторів універсальними програмованимимікроконтролерами, здатними програмно перебудовуватися на реалізаціюбудь-яких законів регулювання, записаних в пам'ять мікроконтролерів,забезпечує підвищення точності, надійності, гнучкості, продуктивності тазниження вартості систем управління. Великим достоїнством універсальнихмікроконтролерів є їхня здатність виконувати ряд додатковихсистемних функцій: автоматичне виявлення помилок, контроль граничнихзначень параметрів, оперативне відображення стану систем і т. п.

    У системах автоматичного регулювання особливе місце виділяється длясистем управління двигунами, в таких системах основної регульованоївеличиною є частота обертання якоря двигуна, яка змінюється призміні навантаження. Використання замість аналогового регуляторамікроконтролера дозволить істотно поліпшити процес регулювання.
    Застосування цифрового індикатора та клавіатури спростить роботу з установкипараметрів автоматичного регулювання та контролю регульованого значення.

    В дипломному проекті розглядається автоматизована системауправління двигуном. Як регулятор використовується мікроконтроллер,який повинен підтримувати, визначену користувачем, частоту обертання івидавати поточні обороти якоря двигуна.

    Аналіз вихідних даних, вибір параметра контролю.

    Вихідними даними визначена розробка плати та програмногозабезпечення з режимами установки частоти обертання якоря двигуна,стабілізації частоти обертання і її індикації.

    Область застосування макета - лабораторні та практичні роботи в
    ККЕП.

    1 налагодження комплекс.

    Базою вихідних даних є налагоджувальний комплекс МК51. Комплексскладається з плати мікроконтролера і програмного забезпечення і призначенийдля налагодження і тестування апаратури і програмного забезпеченнякеруючих систем, виконано на базі мікроконтролера (МК) сімейства Intelimcs51.

    Плата МК51 складається з наступних блоків:

    - МК SAB80C535 призначений для виконання програми МОНІТОР і для виконання призначеної для користувача програми (управління);

    - постійний запам'ятовуючий пристрій, призначений для зберігання програми МОНІТОР; ємність ПЗУ 32К байт;

    - оперативний запам'ятовуючий пристрій, призначений для збереження програми користувача (програма роботи управляючої системи);

    - дисплей, призначений для контролю значень що вводяться параметрів, виведення значень параметрів системи управління, виведення символів;

    - клавіатура, призначена для введення значень параметра програми керуючої системи, запуску програми управління, виклику процедур і скидання МК;

    -- буфер інтерфейсу зв'язку плати ПМК з комп'ютером;

    - блок комутації адрес ОЗУ і ПЗУ.

    Програмне забезпечення складається з програми FDSAB повноекраннийвідладчик програм на асемблері мікроконтролерів сімейства МК51,орієнтований на використання спільно з платою для налагодження програм набазі мікроконтролера Siemens SAB80C535 призначена для відображення іповноекранного редагування ресурсів мікроконтролера, завантаженняпрограмного коду для мікроконтролера, виконання його в ПМК повністю,блоками або по кроках.

    У програмі передбачений режим терміналу з можливістю вибору номеракомунікаційного каналу (1 або 2) і швидкості передачі і прийому даних.

    Меню програми містить наступні пункти:

    1. Завантажити файл з програмою ...

    2. Виконати програму ПМК

    3. Перечитати ОЗУ і регістри З ПМК

    4. Завантажити ОЗУ і регістри У ПМК

    5. Прочитати ПЗУ або ОЗУ команд ПМК ...

    6. Завантажити ПЗУ або ОЗУ команд ПМК ...

    7. Перезавантажити програму У ПМК

    8. Дизасемблювати команди в діапазоні ...

    9. Зберегти текст програми у файл ...

    10. Включити/виключити символьні мітки

    11. Параметри зв'язку ...

    12. Режим терміналу>

    13. Коротка інформація про систему

    14. Вихід

    Призначення пунктів меню:

    1. Вибір на дисках комп'ютера виконуваного файлу (. BIN) з програмою, завантаження в відладчик і пам'ять команд макета і дізассемблірованіе завантаженого коду на екран в область відображення дизасемблювати інструкцій.

    2. Передача управління від монітора ПМК програмі користувача в пам'яті команд макета.

    3. Зчитування вмісту внутрішньої ОЗУ макета і спеціальних функціональних регістрів з ПМК.

    4. Завантаження в ПМК вмісту внутрішньої ОЗУ з відладчика і спеціальних регістрів.

    5. Зчитування вмісту пам'яті команд ПМК в відладчик (діапазон запитується).

    6. Завантаження вмісту пам'яті команд ПМК з відладчика в ПМК (діапазон запитується).

    7. Перезавантаження коду програми в пам'ять команд ПМК з пам'яті відладчика.

    8. Дізассемблірованіе програмного коду з пам'яті команд відладчика в запитуваній діапазоні адрес. За вибором користувача інструкції дописуються за вже наявними або замінюють їх.

    9. Зберігає у файл, ім'я якого запитується, дизасемблювати фрагмент програми користувача з мнемонічний позначеннями регістрів процесора Siemens SAB80C535 і символьними мітками (якщо включений режим відображення символьних міток).

    10. Перемикає режим подання дизасемблювати коду на екрані: з виділеними символьними мітками або тільки з адресами переходів.

    11. Зміна номера послідовного порту комп'ютера, до якого підключена ПМК і швидкості передачі через порт за допомогою зміни дільника частоти.

    12. Переклад програми в режим терміналу. У цьому режимі користувач може приймати і передавати дані по послідовному порту в ПМК.

    13. Відображення короткої інформації про систему (обсяг вільної ОП, місце на поточному диску, параметри з'єднання, завантажений файл).

    14. Вихід з програми.

    2 Вибір параметра контролю.

    Очевидним параметром контролю є частота обертання ротораелектродвигуна. Датчиком для встановлення числа обертів може служитиоптопара. Однак у цьому випадку з-за малої частоти імпульсів, що надходятьвід датчика, буде невисокою стабільність частоти обертання, через великутривалості виміру і швидкого характеру зміни навантаження.

    Для збільшення стабільності передбачається диск на якомурозташовано Максимальна кількість прорізів. У цьому разі одному обороту валадвигуна буде відповідати велика кількість імпульсів від датчика. Алеі в цьому випадку для точного вимірювання частоти обертання потрібнозначний час. Проведені досліди дійсно показали значневідхилення частоти обертання від встановленої.

    Вищу стабільність утримання частоти обертання забезпечує спосібвимірювання періоду імпульсів від датчика. МК має у своїй архітектурівідповідну апаратну і програмну підтримку.

    Опис схеми електричної принципової.

    Схема електрична принципова представлена в графічній частиніЛист1.

    1 Плата мікроконтролера.

    Порти Р0 і Р2 МК використовуються в режимі зовнішньої пам'яті. Молодшірозряди адреси комірки пам'яті запам'ятовуються в регістрі адреси (DD9) імпульсом
    ALE.

    Блок переадресування виконаний на елементах DD6 і DD7 і виконуєфункцію перемикання адрес відповідно до таблиці 3.1.

    Таблиця 3.1


    | Вихідний адреса | Робоча адреса |
    | ПЗУ | ОЗП | ПЗУ | ОЗП |
    | 0000Н | 8000Н | 8000Н | 0000Н |

    По сигналу RESET = 0 RS - тригер на елементах DD7.3 - DD7.4 встановленийв одиничне стан (на виведення 13 DD7.4 рівень логічного нуля) іа коли ПЗУ (DD12). Після відпускання кнопки скидання (SA1) тригерзберігає свій стан і імпульсом PSEN зчитується 1-й байт командипереходу з ПЗУ. Тригер утримується в одиничному стані сигналом звиходу DD6.1 (А15 = 0 => А15 = 1), незважаючи на наявність імпульсу PSEN на вході 1елемента DD7.2.

    У наступних двох зверненнях зчитується з ПЗУ адреса переходу 8000Н івиконується команда SJMP 8000H.

    При читанні з комірки 8000Н першого байта команди МК видає адресу, вякому А15 = 0, отже на виході DD6.1 формується низький рівень.
    Імпульсом PSEN формується позитивний імпульс на виході DD7.2 і тригерперемикається. Так як А15 = 1, то на виході DD6.1 присутній низькийрівень, отже на виході DD6.2 - високий і незважаючи на те, щотригер переключився вибір ОЗУ не проводиться. Вибір ОЗП будепроводиться якщо А15 = 0 і зчитування команд проводиться імпульсом PSEN.

    Порти Р4 і Р5 використовуються для підключення клавіатури і дисплея. Уплаті використовується клавіатура формату 4х4 і чотирьох розрядний дисплейдинамічного типу. Розряди Р4.3 - Р4.0 є розрядами скануванняклавіатури і одночасно розрядами вибору індикатора. Сигнали виборуіндикатора ( «біжить нуль») подаються на входи підсилювачів (DD10). Низькийрівень з виходу DD10 виробляє виключення транзистора, через якийподається на загальний анод обраного індикатора напруга +5 В.

    Сигнали сегментів з виходів порту Р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 використовується для підключення блоку трансформатора.

    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 будуть протилежні, але рівні за значенням.
    Це забезпечує вимірювання напруги в реверсному режимі роботи двигуна.

    Опис алгоритму програми.

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

    Головна програма зациклена і являє собою блок процедуриіндикації. Програми вимірювання частоти обертання двигуна і обробкинатиснення клавіш виконуються перериваючи основну програму індикаціїпереривань від вимірника частоти та клавіатури відповідно. Післявиконання програм обробки переривань програма індикації продовжуєроботу з місця її переривання.

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

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

    - клавіша «видалити» - зрушення индикационного осередків в право і запис в старшу клітинку нуля;

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

    - клавіша «стоп» - зупинка двигуна;

    - клавіша «режим» - перемикання режиму індикації частоти обертання/подається навантаження.

    Опис програми.

    У програмі використовуються символічні імена присвоєні осередків ОЗУ:

    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 (клавіатура);

    Методика виконання лабораторної роботи.


    1 Мета роботи.

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

    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 з колектора якого знімаються прямокутні імпульси.

    Обороти двигуна прямо пропорційні додається до ньогонапруги. У зв'язку з цим пропонується утримувати частоту обертання ввизначених межах за допомогою зміни напруги що подається надвигун. Використання цифрових систем керування які дозволяютьшвидко обробляти дані робить можливим застосування якмінливого напруги шим-генератор. Тривалість імпульсів і паузформується динамічно в залежності від характеру прикладеною навантаження.
    Утримання оборотів при збільшенні навантаження буде триває до тих пір, покитривалість паузи не буде рівною нулю і подальше збільшення навантаженнябуде знижувати оберти двигуна. Для поліпшення підтримки частоти обертанняпропонується максимально можливо збільшити напругу джерела живлення.

    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 | (| (|


    4 Домашні завдання.

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

    5 Рекомендації щодо виконання.

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

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

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

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

    1) 1000000 розділити на тривалість періоду;

    2) розділити на 24.

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

    1) перед процедурою розподілу зрушити дільник на чотири розряду вліво;

    2) продовжувати поділ з урахуванням зрушено дільника, тобто поділ має триває на чотири цикли менше;

    3) після процедури розподілу зрушити приватне на чотири розряду ліворуч.

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

    6 Послідовність виконання роботи.

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

    2. Відкомпілювати програму;

    3. Запустити відладчик FDSAB;

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

    5. Зняти залежність зміни частоти обертання від подається навантаження;

    6. Зробити висновок про виконану роботу;

    7. Скласти звіт.

    Увага! При додатку великих зусиль гальмування двигуна він може зупиниться що призведе до різкого збільшення струму в вихідний ланцюга

    ІМС управління і можливо вихід її з ладу.

    Висновок.

    У результаті проведеної дипломної роботи була розроблена платамакета та програмне забезпечення блоку управління реверсивним двигуном. Зрежимами роботи: встановлення частоти обертання якоря двигуна, стабілізації ііндикації частоти. В якості навантаження використовується генератор, з'єднанийз двигуном, на виходи якого приєднаний змінний резистор, якимзадається навантаження. У ланцюг генератора включений дільник напруги длявимірювання напруги і його індикації.

    При розробці дипломного проекту було випробувано два способиавтоматичного регулювання частоти обертання двигуна: вимірювання частоти
    (за певний час підраховується кількість імпульсів від датчика),вимір періоду (вимірювалася тривалість періоду імпульсів що надходять віддатчика). Перший спосіб вимірювання частоти показав погану стабільністьчастоти обертання регулюючої системи, тому що з-за великої тривалостівиміру (при зменшенні тривалості виміру збільшувалася похибка)і швидкої зміни характеру навантаження система не встигала відстежувати цезміна, а отже і регулювати вхідну величину. Другий спосібрегулювання з вимірюванням тривалості періоду показав хорошустабільність автоматичної системи управління. Це досягається збільшеннячисла прорізів на обертовому диску оптопари, вимірювання триває короткийчас, за який система автоматичного регулювання не встигаєвідхилитися від встановленого значення. Невелике відхилення частотиобертання за короткий проміжок часу (часу вимірювання одного періоду)відразу контролюється і відбувається модифікація вихідного параметра.

    Література.

    1. Григорьев В. Л. Програмне забезпечення мікропроцесорних систем.

    - М.: Энергоатомиздат, 1983.

    2. Щелкунов М. М., Діанов А. П. Мікропроцесорні засоби та системи.

    - М.: Радіо і зв'язок, 1989.

    3. Сташін В. В. Проектування цифрових пристроїв на однокристальних мікроконтролерах. - М.: Энергоатомиздат, 1990.

    4. Іванов В. І. Напівпровідникові оптоелектронні прилади: Довідник

    - 2-е изд., Перераб. І доп. - М.: Энергоатомиздат, 1989

    5. Хвощ С. Т. Мікропроцесори і мікроЕОМ в системах автоматичного управління. Довідник. Л.: Машиностроение. Ленингр. отд-ние,

    1987.

    Додаток.

    Текст програми.

    ; присвоєння імен

    p4 data 0e8h

    p5 data 0f8h

    ip0 data 0a9h

    ip1 data 0b9h

    ien0 data 0a8h

    ien1 data 0b8h

    adcon data 0d8h

    addat data 0d9h

    darp data 0dah

    st1 data 52h

    n_sd data 53h

    obor data 54h

    chi_3 data 55h

    chi_2 data 56h

    chi_1 data 57h

    chi_t data 58h

    zn_h data 59h

    zn_l data 5ah

    rez_h data 5bh

    rez_l data 5ch

    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_sta bit 04h

    f_rab bit 05h

    f_rez bit 06h

    f_rezind bit 07h

    ; визначення векторів переривань

    org 0000h

    sjmp start

    org 0003h

    ljmp klav

    org 013h

    ljmp int_1

    ; початкова ініціалізація

    start: mov darp, # 00h

    mov adcon, # 0fh

    clr f_rezind

    clr f_rab

    clr f_rev

    clr f_sta

    setb f_nap

    setb f_rez

    mov n_sd, # 0bh

    mov st1, # 3fh

    mov ip0, # 04h

    mov ip1, # 04h < p> mov sp, # 65h

    mov ien0, # 81h

    inizial: mov r0, # 47h

    mov r1, # 03h < p>; початкове обнуління індикатора

    numb: mov @ r0, # 00h

    inc r0

    djnz r1, numb

    ; визначення режиму роботи та його індикація

    jnb f_sta, re1

    jb f_rez, re1

    mov 4ah, # 19h

    sjmp re2

    re1: mov 4ah, # 10h

    re2: clr f_ind

    beg: jb f_ind, beg2

    ; визначення режиму роботи

    jnb f_rezind, na2

    clr f_rezind

    jb f_nap, na1

    mov 4ah, # 0fh

    sjmp na2

    na1: mov 4ah, # 0ah

    ; запуск двигуна з перевіркою напрямку обертання

    na2: jnb f_rev, beg2

    jb f_nap, napr1

    clr p3.5

    mov 4ah, # 0fh

    jb f_rez, napr

    mov 4ah, # 19h

    sjmp napr

    napr1: clr p3.4

    mov 4ah, # 0ah

    jb f_rez, napr

    mov 4ah, # 19h

    napr: clr f_rev

    clr flag

    setb f_rab

    mov ien0, # 85h < p>; зупинка двигуна

    beg2: jnb f_ind, beg1

    djnz st1, beg1

    mov st1, # 05fh

    ; зсув индикационного осередків вправо

    mov r0, # 0ahov r1, # 49h

    mov 40h, # 10h

    sdvig: mov a, @ r1 < p> inc r1

    mov @ r1, a

    mov a, r1

    subb a, # 02h

    mov r1, a

    djnz r0, sdvig

    djnz n_sd, beg1

    mov n_sd, # 0bh

    ljmp inizial

    ; процедура індикації

    beg1: mov r4, # 0feh

    mov dptr, # tabcod

    mov r0, # 47h

    cycl: mov p4, # 0ffh

    mov a, @ r0

    movc a, @ a + dptr

    mov p5, a

    mov a, r4

    mov p4, a

    rl a

    mov r4, a

    inc r0

    lcall del

    cjne r0, # 4bh, cycl

    ljmp beg

    del: mov r1, # 10

    st_2: mov r2 , # 10

    st_1: nop

    nop

    nop

    djnz r2, st_1

    djnz r1, st_2

    ret

    tabcod: db 0c0h, 0f9h, 0a4h, 0b0h, 99h, 92h, 82h, 0f8h, 80h, 90h

    db 0feh, 0fdh, 0fbh, 0f7h, 0efh, 0dfh, 0ffh

    db 0c6h, 0f8h, 0c0h, 0c8h, 88h, 8ch, 86h, 80h, 89h, 0ceh, 91h, 0b0h, 82h

    ; клавіатура

    klav: push acc

    push p4

    push psw

    setb psw.3

    mov r4 , # 00h

    mov r7, # 04h

    mov r6, # 0feh

    loop: mov a, r6

    mov p4, a

    rl a

    mov r6, a

    mov a, p4

    mov r5, # 04h

    swap a

    rotate: rrc a

    jnc dbnc

    inc r4

    djnz r5, rotate

    djnz r7, loop

    ljmp quit

    dbnc: mov r2, # 0ah

    m1: mov r3, # 55h

    m2: djnz r3, m2

    djnz r2, m1

    mov a, # 0f0h

    wait: mov p4, # 0f0h

    cjne a , p4, wait

    mov r2, # 0ah

    m3: mov r3, # 55h

    m4: djnz r3, m4

    djnz r2, m3

    mov a, # 09h

    subb a, r4

    jc func

    rel: mov r0, # 03h

    mov r1, # 48h

    new: mov a, @ r1

    inc r1

    mov @ r1, a

    mov a, r1

    subb a, # 02h

    mov r1, a

    djnz r0, new

    mov r1, # 47h

    mov 47h, r4

    ljmp quit

    ; визначення режиму з функціональної клавіші

    func: jb f_ind, quit

    cjne r4, # 0ah, g2

    ljmp bakesp

    g2: cjne r4, # 0bh, g3

    ljmp sta

    g3: cjne r4, # 0ch, g4

    ljmp stop

    g4: cjne r4, # 0dh, g5

    ljmp rezim

    g5: cjne r4, # 0eh, g6

    ljmp rezim

    g6: ljmp revers

    quit: clr psw.3

    pop psw

    pop p4

    pop acc

    reti

    ; видалення символу

    bakesp : jb f_rab, quit

    mov 47h, 48h

    mov 48h, 49h

    mov 49h, # 00h

    ljmp quit

    ; старт. DEC-> BIN

    sta: jb f_rab, quit

    mov 4ah, # 0ah

    mov b, # 0ah

    mov a , 49h

    mul ab

    add a, 48h

    mov b, # 0ah

    mul ab

    add a, 47h

    mov obor, a

    ; BIN * 24

    mov b, # 18h

    mov a, obor

    mul ab

    mov zn_l, a

    mov zn_h, b

    ; деленіе1000000 на отримане значення

    lcall div24

    mov dli_l, rez_l

    mov dli_h, rez_h

    ; старт вимір

    mov tl0, # 00h < p> mov th0, # 00h

    clr flag

    mov indik, # 00h

    mov tmod, # 10h

    mov tcon, # 04h

    mov 4ah, # 10h

    mov 49h, # 10h

    mov 48h, # 10h

    mov 47h, # 10h

    mov 46h, # 11h

    mov 45h, # 12h

    mov 44h, # 15h

    mov 43h, # 16h

    mov 42h, # 12h

    mov 41h, # 10h

    setb f_ind

    setb f_rev

    setb f_sta

    ljmp quit

    ; стоп

    stop: jnb f_rab, quit

    mov ien0, # 81h

    setb p3.4

    setb p3.5

    clr f_rab

    mov 4ah, # 10h

    mov 49h, # 10h

    mov 48h, # 10h

    mov 47h, # 10h

    mov 46h, # 10h

    mov 45h, # 11h < p> mov 44h, # 12h

    mov 43h, # 13h

    mov 42h, # 14h

    mov 41h, # 10h

    setb f_ind

    clr f_sta

    ljmp quit

    ; реверс

    revers: jnb f_rab, out2

    mov ien0, # 81h

    setb p3.4

    setb p3.5

    mov 4ah, # 10h

    mov49h, # 10h

    mov 48h, # 10h

    mov 47h, # 10h

    mov 46h, # 16h

    mov 45h, # 17h

    mov 44h, # 18h

    mov 43h, # 17h

    mov 42h, # 16h

    mov 41h, # 11h

    jb f_nap, n1

    mov adcon, # 0eh

    sjmp n2

    n1: mov adcon, # 0fh

    n2: setb f_rev

    cpl f_nap

    setb f_ind

    out2: ljmp quit

    ; режим оберти двигуна/навантаження

    rezim: jnb f_rab, out

    cpl f_rez

    jb f_rez, rez1

    mov 4ah, # 10h

    mov 49h, # 10h

    mov 48h, # 10h

    mov 47h, # 10h

    mov 46h, # 19h

    mov 45h, # 15h

    mov 44h, # 1ah

    mov 43h, # 16h

    mov 42h, # 1bh

    mov 41h, # 1ch

    setb f_ind

    out: ljmp quit

    rez1: mov 4ah, # 10h

    mov 49h, # 10h

    mov 48h, # 10h

    mov 47h, # 10h

    mov 46h, # 13h

    mov 45h, # 1dh

    mov 44h, # 13h

    mov 43h, # 16h

    mov 42h, # 13h

    mov 41h, # 12h

    setb f_rezind

    setb f_ind

    ljmp quit

    ; процедура поділу 3-х байт на 2-ва

    div24: push psw

    push acc

    mov chi_3, # 0fh

    mov chi_2, # 42h

    mov chi_1, # 40h < p> mov rez_h, # 00

    mov rez_l, # 10h

    mov a, zn_h

    mov b, # 10h

    mul ab

    mov zn_h, a

    mov a, zn_l

    mov b, # 10h

    mul ab

    mov zn_l, a

    mov a, b

    add a, zn_h

    mov zn_h, a

    lp24: mov a, rez_l

    rlc a

    mov rez_l, a

    mov a, rez_h

    rlc a

    mov rez_h , a

    push psw

    clr c

    mov a, chi_1

    rlc a

    mov chi_1, a

    mov a, chi_2

    rlc a

    mov chi_2, a

    mov a, chi_3

    rlc a

    mov chi_3, a

    push psw

    clr c

    mov a, chi_2

    subb a, zn_l

    mov chi_t, a

    mov a, chi_3

    subb a, zn_h

    jc nosav < p> pop psw

    sav: mov chi_3, a

    mov chi_2, chi_t

    inc rez_l

    sjmp qsav

    nosav: pop psw

    jc sav

    qsav: pop psw

    jnc lp24

    pop acc < p> pop psw

    ret

    ; переривання від датчика

    int_1: jb flag, iz2

    setb flag < p> setb tr1; перше входження. запустити таймер

    reti

    iz2: push psw; друге входження

    push acc

    clr tr1

    mov ien0, # 80h

    mov dli_i_l, tl1; зберегти виміряний значення

    mov dli_i_h, th1;

    ; регулювання

    clr c

    mov a, dli_i_l

    subb a, dli_l

    mov a, dli_i_h

    subb a, dli_h

    jc mot_1

    jb f_nap, nap11

    setb p3.4

    sjmp mot_0

    nap11: setb p3.5

    sjmp mot_0

    mot_1: jb f_nap, nap01

    clr p3.4

    sjmp mot_0

    nap01: clr p3. 5

    mot_0:

    ; індикація

    jb f_ind, inizdp

    djnz indik, inizdp

    mov indik , # 2fh

    jb f_rez, chas

    ; індикація навантаження

    azp0: jnb adcon.4, azp0

    mov a, addat

    mov b, # 0ah

    div ab

    mov 47h, b

    mov b, # 0ah

    div ab

    mov 48h, b

    mov 49h, a

    inizdp: ljmp iniz

    ; індикація частоти обертання

    chas: jb f_nap, i_nap1

    mov a, 4ah

    cjne a, # 0ah, in_ob2

    mov 4ah, # 10h

    in_ob2: dec 4ah

    sjmp i_nap2

    i_nap1: mov a, 4ah

    cjne a, # 0fh, in_ob1

    mov 4ah, # 09h

    in_ob1: inc 4ah

    i_nap2: mov zn_l, dli_i_l

    mov zn_h, dli_i_h

    lcall div24 ; поділ 3 байт на 2 байтів

    mov rezul, # 01h; поділ 2 байт на 24

    lp16: clr c

    mov a, rezul

    rlc a

    mov rezul, a

    push psw

    clr c

    mov a, rez_l

    rlc a

    mov rez_l, a

    mov a, rez_h

    rlc a

    mov rez_h, a

    push psw

    clr c

    mov a, rez_h

    subb a, # 18h

    jc nosav16

    pop psw

    sav16: mov rez_h, a

    inc rezul

    sjmp qsav16

    nosav16: pop psw

    jc sav16

    qsav16: pop psw

    jnc lp16

    ; BIN-> DEC

    mov a, rezul

    mov b, # 0ah

    div ab

    mov 47h, b

    mov b, # 0ah

    div ab

    mov 48h, b

    mov 49h, a

    ; ініціалізація нового запуску програми виміру

    iniz: mov tl1, # 00h

    mov th1, # 00h

    clr flag

    port_0: jb p3.3, port_0

    port_1: jnb p3. 3, port_1

    mov ien0, # 85h; 84

    pop acc

    pop psw

    reti

    end
    -----------------------< br>Изм

    Дата

    № Документа

    Підпис

    Лист

    Лист

    39

    ККЕП 2202 01 000 ПЗ

    Изм

    Дата

    № Документа

    Підпис < p> Лист

    ККЕП 2202 01 000 ПЗ

    Виконав

    керує.

    Балдин П.М.

    Дубров Ф.І.

    Блок керування двигуном

    Гр.

    Лист

    Листів

    Літера

    у

    1

    1

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status