Зміст p>
Введення p>
1. Структурний синтез контролера p>
2. Розробка принципової схеми p>
Обробка вхідних сигналів: p>
Контактні датчики p>
Аналоговий сигнал - напруга p>
Датчик освітленості p>
Обробка вихідних сигналів: p>
Електромагніт p>
Транзисторний модуль p>
Гальванічна розв'язка сигналів p>
Початковий скидання мікропроцесора p>
Харчування схеми p>
3. Розробка програмного забезпечення p>
4. Конструювання контролера p>
Перелік елементів принципової схеми p>
6. Список літератури ... p>
Введення. P>
В даному курсовому проекті поставлено завдання розробити якийсьпромисловий контролер для роботи в умовах виробництва. Завдання можебути виконана на мікропроцесорі з гнучкою програмованої логікою, а такожна дискретних елементах з жорсткою логікою. p>
Реалізація на мікропроцесорі володіє вагомими перевагами.
Гнучка логіка, можливість легкої модернізації контролера,перспективність. p>
Програмована логіка реалізована на мікропроцесорі типу МК-51 фірми
ATMEL - AT89C51, який завдяки вбудованої пам'яті FLASH, маєможливістю електричного перепрограмування, а значить швидкоїмодернізації керуючої програми. p>
Наявність мікропроцесора в сучасних контролерах дозволяє створюватискладні, гнучкі, компактні і надійні системи управління зцентралізованим керуванням і діагностикою. p>
1. Структурний синтез цифрового автомата p>
Позначимо структуру проектованого мікроконтролера. P>
1) Керуючий логічний блок на основі мікропроцесора. P>
2) Блок збору інформації та перетворення її на вигляд, потрібний для обробки мікропроцесором. p>
3) Блок гальванічної розв'язки вхідних сигналів і сигналів, що надходять на мікропроцесор. p>
4) Блок зв'язку з виконавчими пристроями (що включає гальванічну розв'язку) для перетворення вихідних сигналів мікропроцесора в потужні сигнали управління. p>
5) Блок початкового скидання мікропроцесора. p>
6) Блок індикації вхідних та вихідних сигналів. p>
7) Блок електроживлення контролера. p>
2. Розробка принципової схеми. P>
1. Керуючий логічний блок. P>
Як основу для контролера обрано популярний мікропроцесор типу
MK-51 від фірми Atmel - AT89C51. P>
Його основні переваги перед подібними процесорами інших фірм:
1. Повністю сумісний з сімейством МК-51.
2. 4 кб вбудованої Перепрограмміруємая Flash пам'яті (включаючи перепрограмування безпосередньо на платі за протоколом SPI) при не менш 103 циклів перезапису.
3. Робота на частотах від 0 до 40 МГц.
4. 128х8 біт ОЗУ.
5. 32 програмованих лінії портів введення/виводу.
6. Два 16-бітових таймера лічильника
7. Шість джерел переривань
8. Програмований послідовний канал сумісний з RS-232-S. P>
2. Блок збору інформації та перетворення її у вигляд, придатний дляобробки мікропроцесором. p>
Вхідна інформація і вихідна інформація проходить через зовнішній роз'ємтипу РШ2Н-2-16. p>
У таблиці 1 наведений список та умовне позначення вхідних та вихіднихсигналів із завдання. p>
Табл. 1. P>
| Найменування сигналу за завданням | присвоєння назв |
| Вхідні сигнали |
| S1 - контактний датчик | S1 |
| S2 - контактний датчик | S2 |
| S3 - контактний датчик | S3 |
| Ua - Аналоговий сигнал напруги в | UA |
| діапазоні 0 .. 10В | |
| Ev - датчик освітленості 0 .. 200лк | EV |
| Вихідні сигнали |
| Електромагніт Y1 | Y1 |
| Електромагніт Y2 | Y2 |
| Тр. Модуль - VT1 | Y3 |
| Тр. Модуль - VT2 | Y4 |
| Умови переходів автомата |
| S1 (U <7 B | X1 |
| EV <40 лк | X2 |
| (S1 (S2) (U> 1 B | X3 |
| S3 ^ EV <50 лк | X4 |
| S2 ^ U <3 B | X5 |
| EV> 100 лк | X6 | p>
Сигнал з датчика освітленості (фоторезистори СФ2-1) знімаємо за такоюсхемою: p>
Далі сигнал надходить на ділильний міст з резисторів, що формуєпотрібний рівень сигналу, що подається на схему з двох компараторів. На неінвертують вхід компаратора подається вимірювана величина напруги, ана інвертують - величина опорного напруги, при досягненні якоїзначення логічного сигналу на виході компаратора змінюється напротилежне. Спрацьовування при потрібному значенні освітленості регулюєтьсяподстроєчним резистори марки РП1 - 48 10КОм (10%. p>
Компаратор LM29000. p>
Його електричні характеристики:
Максимальний струм споживання 2 мА.
Напруга зсуву 1 мВ. < br> Корпус DIP-14. p>
Для організації высокостабильного опорного напруги вибраніспеціалізована мікросхема LM4130 фірми National Semiconductor.
Вихідна опорне напруга 4.096 У
Похибка вихідної напруги 0.05%
Температурний коефіцієнт нестабільності 3 * 10-6/оС
Мінімальна вхідна напруга 5 В
Струм споживання 1 мА
Максимальний вихідний струм 30-50 мА
Зміна вихідної напруги (при Iвих = 30 .. 50 мА) 0.05% p>
За такою ж схемою організовано прийом і формування логічних сигналів
UA на мікропроцесор. P>
3. Блок гальванічної розв'язки вхідних сигналів і сигналів, що надходять намікропроцесор. p>
Вхідні величини надходять із зовнішнього (для контролера) середовища, щоговорить про можливу наявність перешкод різних типів. Так само необхіднопередбачити можливість неправильної полярності підключення датчиків.
Тому виникла необхідність у гальванічної розв'язки сигналів. P>
Для того, щоб розв'язати вхідні рівні мікропроцесора та вхіднихсигналів від датчиків застосовані три оптопари К249КН4П. Характеристики, пояким вони були обрані: p>
Uмахком = 60 В; p>
Iвхmin = 10 мА; p>
Iвхmax = 25 мА; p>
Iком = 8 мА. p>
Резистори R1 і R2 розраховуються з умов максимального вхідного ікомутованого струмів. Діод забезпечує захист від неправильної полярностівключення. p>
Резистори:
R1 C2 - 23 0.25Вт 1600 Ом (0.25%
R2 C2 - 23 0.125Вт 270 Ком (0.1% p>
Діод КД521А (Д220А):
Uпр = 1В, Uобр = 75В, Iпр.ср = 50мА, Iобр = 1мкА. P>
Обробка вихідних величин: p>
Електромагніт. P>
У даній роботі автомат генерує вихідний сигнал управлінняелектромагнітом (= 24В, 10Вт). Дана потужність явно не дозволяє підключатиелектромагніт безпосередньо до виходу мікропроцесора, тому тутдоцільно застосувати потужні твердотільні оптоелектронні реле. Потужністьна виході яких може досягати досить великих значень. У оптопариодночасно реалізується гальванічна розв'язка силовий і керуючоїланцюгів, а також посилення по потужності сигналу. p>
Схема підключень оптоелектронної реле: p>
Твердотільні реле для ланцюгів постійного струму 5П19А1: p>
Напруга комутації -60 .. + 60В p>
Струм комутації -3 .. 3А
Вхідний струм 10 - 25мА
Вхідна напруга у вимкненому стані -3.5 .. 0.8 У
Розсіюється потужність 1000Мвт
Температура окр. середовища -45 .. +85
Корпус SIP12 p>
Резистор:
R C2 - 23 0.125Вт 360 Ом (0.1% p>
Транзисторний модуль p>
Транзисторний модуль М2ТКІ-50-12 управляється спеціалізованимдрайвером - драйвер транзисторних модулів такого типу - IR2112 фірми
International Rectifier. Драйвер здатний витримувати напруги до 600вольт. Схема включення наведена нижче: p>
Symbol Description p>
VDD Logic supply
HIN Logic input for high side gate driver output (HO), in phase
SD Logic input for shutdown
LIN Logic input for low side gate driver output (LO), in phase
V SS Logic ground
VB High side floating supply
HO High side gate drive output
V S High side floating supply return
VCC Low side supply
LO Low side gate drive output
COM Low side return p>
Діод VD повинен витримати зворотна напруга 600В. P>
Діод КД105Г (КД209В):
Uпр = 1В
Iср.пр = 300мА
Iср.обр = 0.1мА
Uобр = 800В p>
Драйвер IR2112: p>
Параметри драйвера:
VOFFSET 600V max.
IO +/- 200 mA/420 mA
VOUT 10 - 20Vton/off (typ.) 125 & 105 ns
Delay Matching 30 ns
Корпус DIP14. P>
Резистори:
R C2 - 29 0.5 10 Ом (0.25% p>
Конденсатор:
C ДО73 - 17 630В 0.1мкФ (10% p>
Початковий скидання мікропроцесора p>
Для системи, побудованої на базі мікропроцесора необхідна схемапочаткового скидання і система запобігання від зависання. Так як черезсильної електромагнітної перешкоди може спотворитися частина інформації,оброблюваної мікропроцесором в даний момент, що може спричинити збій уалгоритмі керуючої програми, а так само зациклення роботи процесораабо його «зависає». Все це призводить до відмови в роботі контролера. P>
Як правило, такі сильні і фатальні перешкоди трапляються дуже рідко, алеякщо контролер виконує частину операцій у налагодженому технічному процесі,то такий його відмова призводить до виникнення незапланованого простою вроботі і великими економічними збитками. p>
Працездатність контролера можна відновити, подавши на процесоркоманду скидання (reset). Такі функції виконує WatchDog Taimer. У данійроботі ця система не реалізована. Скидання мікроконтролера можна будепризвести короткочасним скиданням напруги живлення або кнопкою Reset,розташованої на передній панелі. p>
Конденсатор:
C К50-16-50В-1 мкФ p>
Індикація p>
Можливі кілька способів реалізації індикації:
- на світлодіодах,
- на РК елементах,
- на цифрових або символьних індикаторах та ін p>
Для забезпечення візуального спостереження за функціонуванням контролеравведений блок індикації сигналів. Його реалізація є програмною. P>
Підпрограма опитує стану входів і виходів і виводить цізначення в порт P0 мікропроцесора МК51. p>
Безпосередньо на ці виходи підключені світлодіоди, які візуальновідображають стан входів і виходів. p>
Для того, щоб світлодіоди можна було підключити безпосередньо до порту, вониповинні споживати якомога менше струму, але при цьому забезпечуватидостатню яскравість світіння. p>
Цим запитам повністю задовольняють вибрані світлодіоди КІПД02Б-1К.
Нижче в таблиці наведено їх основні параметри. P>
| Тип | Колір | Значення параметрів при Т = 25 ° С | Iпр.мах | Uобр |
| приладу | світіння | |. | (Uобр.і |
| | | | MA |) |
| | | | | B |
| | | Iv. мккд | Uпр. | Iпр.но |? Мах. | | |
| | | | B | м. | mkM | | |
| | | (L, | | mA | | | |
| | | Кд/м2) | | | | | |
| КІПД02Б-1К | Червоний | 900 | 1,8 | 5 | 0,7 | 20 | 3.0 | p>
При напрузі живлення і струмі світлодіоди 5 мА струмообмежуючі резисторприймаємо рівним R = 1кОм p>
Резистори:
R C2 - 23 0.125Вт 1ком (0.1% p>
Харчування елементів схеми p>
На вхід контролера надходить напругу живлення 24В, а до складуконтролера входять пристрої, що живляться від 5В, а також 15В. Проблемахарчування може бути вирішена за допомогою спеціалізованої інтегральної схемиімпульсного перетворювача постійної напруги. Прикладом такогоперетворювача може служити інтегральний перетворювач DCP. На вхідцього перетворювача поступає постійна напруга, і на виході тежє постійна напруга, але іншого рівня. При цьому здійснюєтьсяповна гальванічна розв'язка між входом і виходом за допомогою вбудованоготрансформатора. Мікросхема укладена в корпус DIP14, компактна і зручна ввикористанні. У даній роботі буде використовуватися мікросхема
(DCP022405P (на виході 5В)). Вихідна потужність мікросхем становить 2Вт. P>
ТЕХНІЧНІ ХАРАКТЕРИСТИКИ DC/DC серії DCP02 p>
На вході є дві ємності: керамічний конденсатор для усуненнякороткочасних піків струму, що виникають при перемиканні транзисторів іелектролітичний - для підтримки вхідної напруги постійним прийого повільних коливаннях.
На виході також є керамічні конденсатори, ємність яких будерозрахована нижче. p>
Схема підключення інтегральних імпульсного перетворювача: p>
p>
Конденсатор на вході перетворювача має ємність 470мкФ. p>
DA1 Імпульсний перетворювач DCP022405P
Вихідна потужність 2Вт p>
Вихідна напруга 5В
Вхідна напруга 24В p>
DA1 Імпульсний перетворювач DCP022415DP p>
Вихідна потужність 2Вт p>
Вихідна напруга (15В
Вхідна напруга 24В p>
Конденсатори:
C1 К50 - 16 50В 470мкФ +50 -20%
C2, C3 К50 - 16 50В 10мкФ +50 -20%
C4 К50 - 16 50В 10мкФ +50 -20% p>
4. Конструювання контролера p>
Конструкція контролера являє собою друковану плату, вдвіжную.
Для виконання основної друкованої плати рекомендується використовуватидвосторонній фольгований склотекстоліт марки ФТС2-35 ТУ 16-503.161-
83. Двостороннє фольгування вибрано з міркувань зменшення щільностірозташування провідників і зменшення розмірів основної друкованої платипристрою. Плату виготовити фотохімічним способом. Доріжки на платітравлення по «позитиву». Розміри друкованої плати визначаються відповіднодо ГОСТ 2.109-73. p>
Для збільшення жорсткості друкованої плати монтувати на спеціальнурамку, відлиту з лицьовою панеллю з легкого алюмінієвого сплаву АЛ9.
Товщина рамки і панелі - 3 мм. Плата кріпити до рамки за допомогою стяжнихгвинтів М3. p>
На лицьовій панелі розташовані отвори під світлодіоди, кнопкаскидання. p>
Кріплення кнопки скидання здійснюється «під гайку» на передній панелі. p>
Зовнішній роз'єм типу РШ2Н-2-16. Роз'єм - електричний з'єднувач длядрукованого монтажу, розташування штирьков лінійне. Призначений для роботив електричних колах постійного і змінного струму з частотами до 3 МГц і колах імпульсного струму. p>
Рекомендований тип припою - ПОС 60 ГОСТ 21930-76. p>
Конструкція блоку представляє із себе алюмінієве шасі, наякому закріплена друкарська плата. Шасі блоки одночасно єі що направляє при встановленні блоку в основне (або кероване)пристрій. На передній панелі закріплені кнопка скидання ііндикатори. Плата з'єднана з клавішею скидання гнучкими проводами. P>
Розробка програмного забезпечення p>
При виборі мікропроцесорної системи управління істотнозменшується кількість дискретних елементів. Що спрощує систему, і,отже, підвищує її надійність. З іншого боку відмова самогомікропроцесора (само по собі це явище рідкісне, найчастіше позначаються помилкипроектування) веде до виходу абсолютно всієї системи. У той же часз'являється необхідність у керуючої програмі. Кожен типмікропроцесора має ряд лише йому властивих особливостей:архітектурою, набором команд, функціональними можливостями і так далі.
Все це було взято до уваги при написанні програми дляспроектованої системи управління. p>
Програма була написана на мові асемблера для МК-51 звикористанням системи налагодження AVSIM51. Далі наводиться алгоритм роботипрограми, лістинг програми і hex файл, який представляє собою образ ПЗУпризначений безпосередньо для прошивки в мікросхему. p>
Алгоритм роботи програми. p>
Використовуючи особливість мікропроцесора МК-51 працювати з окремими бітами (булеві процесор) дане завдання можна виконати безпосередньо запрограмувавши всі стани та умови переходів . p>
Лістинг програми: p>
2500 AD 8051 Macro Assembler - Version 4.02a p>
------------------------------------ ------------ p>
Input Filename: kurs.asm p>
Output Filename: kurs.obj p>
1;
2;
3;
4;
5;
6
7; Для зручності називаємо змінністану
8 0020 X0: EQU 20h
9 0021 X2: EQU 21h
10 0022 X3: EQU 22h
11 0023 X4: EQU 23h
12 0024 X5: EQU 24h
13
14 0040 R_N: EQU 55h; затримка дляантідребезговой підпрограми
15 0001 R_C: REG R1; іменуємо регістр дляантідребезговой підпрограми
16 0000
17 0025 PER: EQU 25h; тимчасова мінлива дляпорівняння
18 0000
19 0000 BSECT; перехід до бітової секції
20
21; Задаємо імена змінних для позначеннявхідних параметрів
22 0090 S1: REG P1.0;
23 0091 S2: REG P1.1;
24 0092 S3: REG P1.2;
25 0093 U1: REG P1.3;
26 0094 U3: REG P1.4;
27 0095 U7: REG P1.5;
28 0096 L40: REG P1.6;
29 0097 L100: REG P1.7;
30 00B1 L50: REG P3.1;
31 00B2 INDL50: REG P3.2;
32 0000
33; Завдання імен змінних для індикаціївихідних величин
34 0000
35 0080 IND: REG P0.0; ім'я змінної дляпозначення порту індикації
36 0000
37; Початок програми маємо в своєму розпорядженні за адресою
30h
38 0000 02 00 30 JMP x0
39 0030 ORG 30H
40
41; Обробка стану X0
42 0030 C3 x0: CLR C; скидаємопрапор переносу C
43 0031 75 A0 FF MOV P2, # 11111111b; Обнуляємовиходи порту P2 (Q2, Q1, Q0)
44 0034 12 00 91 CALL drbzg; викликпідпрограми обробки брязкоту
45 0037 12 00 AA CALL xx0; викликпідпрограми обробки умови X0
46 003A A2 20 MOV C, X0; записуємо в
C 1, якщо X0 = 1
47 003C 40 43 JC x5; перехід намітку x5, якщо перенесення C = 1
48 003E 02 00 41 JMP x1; інакше перехідна мітку x1
49
50
51; Обробка стану X1
52 0041 C3 x1: CLR C
53 0042 75 A0 F6 MOV P2, # 11110110b; записуємо в P2значення виходів і індикації
54 0045 12 00 91 CALL drbzg
55 0048 A2 96 MOV C, L40
56 004A 40 E4 JC x0
57 004C 02 00 71 JMP x4
58
59
60; Обробка стану X2
61 004F C3 x2: CLR C
62 0050 75 A0 DB MOV P2, # 11011011b
63 0053 12 00 91 CALL drbzg
64 0056 12 00 B1 CALL xx2
65 0059 A2 21 MOV C, X2
66 005B 40 03 JC x3
67 005D 02 00 71 JMP x4
68
69; Обробка стану X3
70 0060 C3 x3: CLR C
71 0061 75 A0 ED MOV P2, # 11101101b
72 0064 12 00 91 CALL drbzg
73 0067 12 00 C1 CALL xx3
74 006A A2 22 MOV C, X3 < br> 75 006C 40 D3 JC x1
76 006E 02 00 71 JMP x4
77
78
79; Обробка стану X4
80 0071 C3 x4: CLR C
81 0072 75 A0 E4 MOV P2, # 11100100b
82 0075 12 00 91 CALL drbzg
83 0078 12 00 C8 CALL xx4
84 007B A2 23 MOV C, X4
85 007D 40 02 JC x5
86 007F 01 4F JMP x2
87
88
89; Обробка стану X5
90 0081 C3 x5: CLR C
91 0082 75 A0 D2 MOV P2, # 11010010b
92 0085 12 00 91 CALL drbzg
93 0088 12 00 CF CALL xx5
94 008B A2 24 MOV C, X5
95 008D 40 C0 JC x2
96 008F 01 71 JMP x4
97
98
99; Підпрограма обробки брязкоту,індикації
100 0091 drbzg:
101 0091 79 40 MOV R_C, # R_N; завантаження врегістр константи для антідребезга
102 0093 E5 90 st: MOV A, P1; завантаження ваккум. значення порту P1
103 0095 7B 0A MOV R3, # 10; затримка длявизна. брязкоту
104 0097 DB FE DJNZ R3, $;
105 0099 B5 90 F5 CJNE A, P1, drbzg; порівнянняаккум. з портом і перехід
106 009C D9 F5 DJNZ R_C, st; відлікчасу для розпізнавання брязкоту
107 009E E5 90 MOV A, S1; секціяіндикації вхідних сигналів
108 00A0 F4CPL A; інверсіязначень, тому що управління йде по 0
109 00A1 F5 80 MOV IND, A; запис в портдля індикації
110 00A3 C3 CLR C
111 00A4 A2 B1 MOV C, L50
112 00A6 B3 CPL C
113 00A7 92 B2 MOV INDL50, C;
114 00A9 22 RET; повернення зпідпрограми
115
116; Підпрограма обробки умови X0
117 00AA A2 90 xx0: MOV C, S1;
118 00AC B0 95 ANL C,/U7; логічне Ібіта і перенесення
119 00AE 92 20 MOV X0, C
120 00B0 22 RET
121
122
123; Підпрограма обробки умови X2
124 00B1 A2 90 xx2: MOV C, S1;
125 00B3 B0 91 ANL C,/S2
126 00B5 92 25 MOV PER, C
127 00B7 A2 91 MOV C, S2
128 00B9 B0 90 ANL C,/S1
129 00BB 72 25 ORL C, PER
130 00BD 82 93 ANL C, U1
131 00BF 92 21 MOV X2, C
132
133
134; Підпрограма обробки умови X3
135 00C1 A2 92 xx3: MOV C, S3;
136 00C3 B0 B1 ANL C,/L50
137 00C5 92 22 MOV X3, C
138 00C7 22 RET
139
140
141; Підпрограма обробки умови X4
142 00C8 A2 91 xx4: MOV C, S2;
143 00CA B0 94 ANL C,/U3
144 00CC 92 23 MOV X4, C
145 00CE 22 RET
146
147
148; Підпрограма обробки умови X5
149 00CF A2 97 xx5: MOV C, L100;
150 00D1 92 24 MOV X5, C
151 00D3 22 RET
152 00D4
153 00D4 END p>
Lines Assembled: 153 Assembly Errors: 0 p>
Образ ПЗП для прошивки
: 03000000020030CB
: 10003000C375A0FF1200911200AAA2204043020043
: 1000400041C375A0F6120091A29640E4020071C36C
: 1000500075A0DB1200911200B1A2214003020071D1
: 10006000C375A0ED1200911200C1A22240D302007C
: 1000700071C375A0E41200911200C8A223400201CE
: 100080004FC375A0D21200911200CFA22440C0012C
: 10009000717940E5907B0ADBFEB590F5D9F5E590E6
: 1000A000F4F580C3A2B1B392B222A290B09592208F
: 1000B00022A290B0919225A291B090722582939243
: 1000C00021A292B0B1922222A291B094922322A2B4
: 0400D00097922422BD
: 00000001FF
----------------------- p>
1 p>
y p>
x p >
2 p>
p>
p>
p>
= 8F80; 870F8O 2A5E? 5 @ 52:0 2KE> 4 = KE 7 = 0G5 = 89. p>
@> 25 @: 0 CA;> 28O M p>
@> 25 @: 0 CA;> 28O 1 p>
0G0; Ініціалізація всіх змінних, Початкова установка вихідних значень. p>
Перевірка умови M p>
Перевірка умови 1 p>
початок p>
p>
p>
Після перевірки умови, переходимо в стан N. p>
Виконуємо N p>
p>
p>
p>