Реферат: Контроллер промышленного назначения
Разработкаустройства логического управления (контроллера) промышленного назначения
Введение.
В данномкурсовом проекте поставлена задача разработать некий промышленный контроллердля работы в условиях производства. Задача может быть выполнена намикропроцессоре с гибкой программируемой логикой, а также на дискретныхэлементах с жесткой логикой.
Реализацияна микропроцессоре обладает весомыми преимуществами. Гибкая логика, возможностьлегкой модернизации контроллера, перспективность.
Программируемаялогика реализована на микропроцессоре типа МК-51 фирмы ATMEL – AT89C51, который благодаря встроеннойFLASH памяти, обладает возможностью электрического перепрограммирования, азначит быстрой модернизации управляющей программы.
Наличиемикропроцессора в современных контроллерах позволяет создавать сложные, гибкие,компактные и надежные системы управления с централизованным управлением идиагностикой.
Структурныйсинтез цифрового автомата
Обозначимструктуру проектируемого микроконтроллера.
Управляющийлогический блок на основе микропроцессора.
Блоксбора информации и преобразования ее в вид, требуемый для обработкимикропроцессором.
Блокгальванической развязки входных сигналов и сигналов, поступающих намикропроцессор.
Блоксвязи с исполнительными устройствами (включающий гальваническую развязку) дляпреобразования выходных сигналов микропроцессора в мощные сигналы управления.
Блокначального сброса микропроцессора.
Блокиндикации входных и выходных сигналов.
Блокэлектропитания контроллера.
2.Разработка принципиальной схемы.
1.Управляющий логический блок.
Вкачестве основы для контроллера выбран популярный микропроцессор типа MK-51 отфирмы Atmel – AT89C51.
Его основные преимущества перед подобными процессорамииных фирм:
Полностью совместим с семейством МК-51.
4 кб встроенной перепрограммируемой Flash памяти(включая перепрограммирование непосредственно на плате по протоколу SPI)при не менее 103 циклов перезаписи.
Работа на частотах от 0 до 40 МГц.
128х8 бит ОЗУ.
32 программируемых линии портов ввода/вывода.
Два 16-битных таймера счетчика
Шесть источников прерываний
Программируемый последовательный канал совместимый с RS-232-S.
2.Блок сбора информации и преобразования ее в вид, пригодный для обработкимикропроцессором.
Входная информация и выходная информация проходит черезвнешний разъем типаРШ2Н-2-16.
Втаблице 1 приведен список и условное обозначение входных и выходных сигналов иззадания.
Табл.1.
Наименование сигнала по заданию
Присвоенное название
Входные сигналы
S1 — контактный датчик S1 S2 – контактный датчик S2 S3 – контактный датчик S3 Ua — Аналоговый сигнал напряжения в диапазоне 0..10В UA 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Сигнал сдатчика освещенности (фоторезистора СФ2-1) снимаем по такой схеме:
/>
Далеесигнал поступает на делительный мост из резисторов, формирующий нужный уровеньсигнала, подаваемый на схему из двух компараторов. На не инвертирующий входкомпаратора подается измеряемая величина напряжения, а на инвертирующий –величина опорного напряжения, при достижении которой значение логическогосигнала на выходе компаратора меняется на противоположное. Срабатывание при нужном значении освещенностирегулируется подстроечными резисторы марки РП1 – 48 10КОм±10%.
КомпараторLM29000.
Егоэлектрические характеристики:
Максимальныйпотребляемый ток 2 мА.
Напряжениесмещения 1 мВ.
Корпус DIP-14.
Дляорганизации высокостабильного опорного напряжения выбраны специализированнаямикросхема LM4130 фирмы National Semiconductor.
Выходноеопорное напряжение 4.096 В
Погрешностьвыходного напряжения 0.05%
Температурныйкоэффициент нестабильности 3*10-6/оС
Минимальноевходное напряжение 5 В
Потребляемыйток 1 мА
Максимальныйвыходной ток 30-50 мА
Изменениевыходного напряжения (при Iвых=30..50 мА) 0.05%
По такойже схеме организован прием и формирование логических сигналов UA на микропроцессор.
3.Блок гальванической развязки входных сигналов и сигналов, поступающих намикропроцессор.
Входныевеличины поступают из внешней (для контроллера) среды, что говорит о возможномналичии помех различных типов. Так же необходимо предусмотреть возможностьнеправильной полярности подключения датчиков. Поэтому возникла необходимость вгальванической развязке сигналов.
Длятого, чтобы развязать входные уровни микропроцессора и входных сигналов отдатчиков применены три оптопары К249КН4П. Характеристики, по которым они быливыбраны:
Uмахком=60В;
Iвхmin=10мА;
Iвхmax=25мА;
Iком=8мА.
РезисторыR1 и R2 рассчитываются из условий максимального входного и коммутируемоготоков. Диод обеспечивает защиту от неправильной полярности включения.
/>
Резисторы:
R1 C2 –23 0.25Вт 1600 Ом±0.25%
R2 C2 –23 0.125Вт 270 Ком±0.1%
ДиодКД521А(Д220А):
Uпр=1В, Uобр=75В, Iпр.ср=50мА, Iобр=1мкА.
Обработкавыходных величин:Электромагнит.
В даннойработе автомат генерирует выходной сигнал управления электромагнитом (=24В,10Вт). Данная мощность явно не позволяет подключать электромагнитнепосредственно к выходу микропроцессора, поэтому здесь целесообразно применитьмощные твердотельные оптоэлектронные реле. Мощность на выходе которых можетдостигать достаточно больших значений. В оптопаре одновременно реализуетсягальваническая развязка силовой и управляющей цепей, а также усиление помощности сигнала.
Схемаподключений оптоэлектронного реле:
/>
Твердотельноереле для цепей постоянного тока 5П19А1:
Напряжениекоммутации -60..+60В
Токкоммутации -3..3А
Входнойток 10 – 25мА
Входноенапряжение в выключенном состоянии -3.5..0.8 В
Рассеиваемаямощность 1000мВт
Температураокр. среды -45..+85
Корпус SIP12
Резистор:
R C2 –23 0.125Вт 360 Ом±0.1%
Транзисторныймодуль
Транзисторныймодуль М2ТКИ-50-12 управляется специализированным драйвером — драйвертранзисторных модулей такого типа — IR2112 фирмыInternationalRectifier. Драйвер способен выдерживатьнапряжения до 600 вольт.Схема включенияприведена ниже:
/>
SymbolDescription
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), inphase
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
Диод VD должен выдержать обратноенапряжение 600В.
ДиодКД105Г(КД209В):
Uпр=1В
Iср.пр=300мА
Iср.обр=0.1мА
Uобр=800В
Драйвер IR2112:
Параметрыдрайвера:
VOFFSET 600V max.
IO+/- 200 mA / 420 mA
VOUT 10 — 20V
ton/off (typ.) 125 & 105 ns
Delay Matching 30 ns
Корпус DIP14.
Резисторы:
RC2 – 29 0.5 10 Ом±0.25%
Конденсатор:
CК73 – 17 630В 0.1мкФ±10%
Начальныйсброс микропроцессора
Длясистемы, построенной на базе микропроцессора необходима схема начального сбросаи система предохранения от зависания. Так как из-за сильной электромагнитнойпомехи может исказиться часть информации, обрабатываемой микропроцессором вданный момент, что чревато сбоем в алгоритме управляющей программы, а так жезацикливанием работы процессора или его “зависанием”. Все это приводит к отказув работе контроллера.
Какправило, такие сильные и фатальные помехи случаются очень редко, но есликонтроллер выполняет часть операций в отлаженном техническом процессе, то такойего отказ приводит к возникновению незапланированного простоя в работе ибольшими экономическими убытками.
Работоспособностьконтроллера можно восстановить, подав на процессор команду сброса (reset).Такие функции выполняет WatchDogTaimer. В даннойработе эта система не реализована. Сброс микроконтроллера можно будетпроизвести кратковременным сбросом питающего напряжения или кнопкой Reset, расположенной на передней панели.
/>
Конденсатор:
CК50-16-50В-1 мкФ
Индикация
Возможнынесколько способов реализации индикации:
насветодиодах,
на ЖКэлементах,
нацифровых или символьных индикаторах и др.
Дляобеспечения визуального наблюдения за функционированием контроллера введен блокиндикации сигналов. Его реализация является программной.
Подпрограммаопрашивает состояния входов и выходов и выводит эти значения в порт P0микропроцессора МК51.
Непосредственнона эти выходы подключены светодиоды, которые визуально отображают состояниевходов и выходов.
Длятого, чтобы светодиоды можно было подключить напрямую к порту, они должныпотреблять как можно меньше тока, но при этом обеспечивать достаточную яркостьсвечения.
Этимзапросам полностью удовлетворяют выбранные светодиоды КИПД02Б-1К. Ниже втаблице приведены их основные параметры.
Тип
прибора
Цвет
свечения
Значения параметров при Т=25°С
Iпр.мах.
mA
Uобр
(Uобр.и)
B
Iv. мккд
(L, кд/м2)
Uпр.
B
Iпр.ном.
mA
мах.
mkM
КИПД02Б-1К Красный 900 1,8 5 0,7 20 3.0
Принапряжении питания и токе светодиода 5 мА токоограничивающий резистор принимаемравным R=1кОм
Резисторы:
RC2 – 23 0.125Вт 1КОм±0.1%
Питаниеэлементов схемы
На входконтроллера поступает питающее напряжение 24В, а в состав контроллера входятустройства, питающиеся от 5В, а также 15В. Проблема питания может быть решена спомощью специализированной интегральной схемы импульсного преобразователяпостоянного напряжения. Примером такого преобразователя может служитьинтегральный преобразователь DCP. На вход этого преобразователя поступаетпостоянное напряжение, и на выходе тоже имеется постоянное напряжение, нодругого уровня. При этом осуществляется полная гальваническая развязка междувходом и выходом с помощью встроенного трансформатора. Микросхема заключена вкорпус DIP14, компактна и удобна в использовании. В данной работе будет использоваться микросхема(DCP022405P(на выходе 5В)). Выходная мощность микросхем составляет 2Вт.
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ DC/DC серии DCP02
/>
На входеимеются две емкости: керамический конденсатор для устранения кратковременныхпиков тока, возникающих при переключениях транзисторов и электролитический — для поддержания входного напряжения постоянным при его медленных колебаниях.
Навыходе также имеются керамические конденсаторы, емкость которых будетрассчитана ниже.
/>
Схемаподключения интегральных импульсного преобразователя:
/>
Конденсаторна входе преобразователя имеет емкость 470мкФ.
DA1Импульсныйпреобразователь DCP022405P
Выходнаямощность 2Вт
Выходноенапряжение 5В
Входноенапряжение 24В
DA1Импульсныйпреобразователь DCP022415DP
Выходнаямощность 2Вт
Выходноенапряжение ±15В
Входноенапряжение 24В
Конденсаторы:
C1 К50 –16 50В 470мкФ +50 -20%
C2, C3К50 – 16 50В 10мкФ +50 -20%
C4 К50 –16 50В 10мкФ +50 -20%
4.Конструирование контроллера
Конструкцияконтроллера представляет собой плату печатную, вдвижную. Для выполненияосновной печатной платы рекомендуется использовать двусторонний фольгированныйстеклотекстолит марки ФТС2-35 ТУ 16-503.161-83. Двустороннее фольгированиевыбрано из соображений уменьшения плотности расположения проводников иуменьшения размеров основной печатной платы устройства. Плату изготовитьфотохимическим способом. Дорожки на платетравление по “позитиву”. Размеры печатной платы определяются всоответствии с ГОСТ 2.109-73.
Для увеличения жесткости печатной платы монтировать наспециальную рамку, отлитую с лицевой панелью из легкого алюминиевого сплаваАЛ9. Толщина рамки и панели — 3 мм. Плата крепить к рамке при помощи стяжныхвинтов М3.
На лицевой панели расположены отверстия под светодиоды,кнопка сброса.
Креплениекнопки сброса производится “под гайку” на передней панели.
Внешнийразъем типа РШ2Н-2-16. Разъем — электрический соединитель для печатногомонтажа, расположение штырьков линейное. Предназначен для работы вэлектрических цепях постоянного и переменного тока с частотами до 3 МГц и цепяхимпульсного тока.
Рекомендуемыйтип припоя – ПОС 60 ГОСТ 21930-76.
Конструкцияблока представляет из себя алюминиевое шасси, на котором закреплена печатнаяплата. Шасси блока одновременно является и направляющей при установке блока восновное (либо управляемое) устройство. На передней панели закреплены кнопкасброса и индикаторы. Плата соединена с кнопкой сброса гибкими проводами.
Разработкапрограммного обеспечения
Привыборе микропроцессорной системы управления существенно уменьшается количестводискретных элементов. Что упрощает систему, и, следовательно, повышает еенадежность. С другой стороны отказ самого микропроцессора (само по себе этоявление редкое, чаще сказываются ошибки проектирования) ведет к выходуабсолютно всей системы. В то же время появляется необходимость в управляющейпрограмме. Каждый тип микропроцессора обладает рядом только ему присущихособенностей: архитектурой, набором команд, функциональными возможностями и такдалее. Все это было принято к сведению при написании программы дляспроектированной системы управления.
Программабыла написана на языке ассемблера для МК-51 с использованием системы отладки AVSIM51. Далее приводится алгоритм работыпрограммы, листинг программы и hex файл, представляющий собой образПЗУ предназначенный непосредственно для прошивки в микросхему.
Алгоритмработы программы.
Используяособенность микропроцессора МК-51 работать с отдельными битами (булевпроцессор) данное задание можно выполнить напрямую запрограммировав всесостояния и условия переходов.
/>
Листингпрограммы:
2500A.D. 8051 Macro Assembler — Version 4.02a
------------------------------------------------
InputFilename: kurs.asm
OutputFilename: kurs.obj
1;
2;
3;
4;
5;
6
7; Дляудобства именуем переменные состояния
8 0020X0: EQU 20h
9 0021X2: EQU 21h
10 0022X3: EQU 22h
11 0023X4: EQU 23h
12 0024X5: EQU 24h
13
14 0040R_N: EQU 55h; задержка для антидребезговой подпрограммы
15 0001R_C: REG R1; именуем регистр для антидребезговой подпрограммы
16 0000
17 0025PER: EQU 25h; временная переменная для сравнения
18 0000
19 0000BSECT; переход к битовой секции
20
21; Задаем имена переменных для обозначения входных параметров
22 0090S1:REG P1.0 ;
23 0091S2:REG P1.1 ;
24 0092S3:REG P1.2 ;
25 0093U1:REG P1.3 ;
26 0094U3:REG P1.4 ;
27 0095U7:REG P1.5 ;
28 0096L40:REG P1.6 ;
29 0097L100:REG P1.7;
30 00B1L50:REG P3.1;
31 00B2INDL50:REG P3.2;
32 0000
33; Задание имен переменных для индикации выходных величин
34 0000
35 0080IND:REG P0.0; имя переменной для обозначения порта индикации
36 0000
37; Начало программы располагаем по адресу 30h
38 000002 00 30 JMP x0
39 0030ORG 30H
40
41; Обработка состояния X0
42 0030C3 x0: CLR C; сбрасываем флаг переноса C
43 003175 A0 FF MOV P2, #11111111b; обнуляем выходы порта P2 (Q2,Q1,Q0)
44 003412 00 91 CALL drbzg; вызов подпрограммы обработки дребезга
45 003712 00 AA CALL xx0; вызов подпрограммы обработки условия X0
46 003AA2 20 MOV C,X0; записываем в C 1, если X0=1
47 003C40 43 JC x5; переход на метку x5, если перенос C=1
48 003E02 00 41 JMP x1; иначе переход на метку x1
49
50
51; Обработка состояния X1
52 0041C3 x1: CLR C
53 004275 A0 F6 MOV P2, #11110110b; записываем в P2 значения выходов и индикации
54 004512 00 91 CALL drbzg
55 0048A2 96 MOV C,L40
56 004A40 E4 JC x0
57 004C02 00 71 JMP x4
58
59
60; Обработка состояния X2
61 004FC3 x2: CLR C
62 005075 A0 DB MOV P2, #11011011b
63 005312 00 91 CALL drbzg
64 005612 00 B1 CALL xx2
65 0059A2 21 MOV C,X2
66 005B40 03 JC x3
67 005D02 00 71 JMP x4
68
69; Обработка состояния X3
70 0060C3 x3: CLR C
71 006175 A0 ED MOV P2, #11101101b
72 006412 00 91 CALL drbzg
73 006712 00 C1 CALL xx3
74 006AA2 22 MOV C,X3
75 006C40 D3 JC x1
76 006E02 00 71 JMP x4
77
78
79; Обработка состояния X4
80 0071C3 x4: CLR C
81 007275 A0 E4 MOV P2, #11100100b
82 007512 00 91 CALL drbzg
83 007812 00 C8 CALL xx4
84 007BA2 23 MOV C,X4
85 007D40 02 JC x5
86 007F01 4F JMP x2
87
88
89; Обработка состояния X5
90 0081C3 x5: CLR C
91 008275 A0 D2 MOV P2, #11010010b
92 008512 00 91 CALL drbzg
93 008812 00 CF CALL xx5
94 008BA2 24 MOV C,X5
95 008D40 C0 JC x2
96 008F01 71 JMP x4
97
98
99; Подпрограмма обработки дребезга, индикации
100 0091drbzg:
101 009179 40 MOV R_C, #R_N; загрузка в регистр константы для антидребезга
102 0093E5 90 st: MOV A, P1; загрузка в аккум. значение порта P1
103 00957B 0A MOV R3, #10; задержка для опред. дребезга
104 0097DB FE DJNZ R3, $ ;
105 0099B5 90 F5 CJNE A, P1, drbzg; сравнение аккум. с портом и переход
106 009CD9 F5 DJNZ R_C, st; отсчет времени для распознавания дребезга
107 009EE5 90 MOV A,S1; секция индикации входных сигналов
108 00A0F4 CPL A; инверсия значений, т.к. управление идет по 0
109 00A1F5 80 MOV IND,A; запись в порт для индикации
110 00A3C3 CLR C
111 00A4A2 B1 MOV C,L50
112 00A6B3 CPL C
113 00A792 B2 MOV INDL50,C ;
114 00A922 RET; возврат из подпрограммы
115
116; Подпрограмма обработки условия X0
117 00AAA2 90 xx0: MOV C,S1 ;
118 00ACB0 95 ANL C,/U7; логическое И бита и переноса
119 00AE92 20 MOV X0,C
120 00B022 RET
121
122
123; Подпрограмма обработки условия X2
124 00B1A2 90 xx2: MOV C,S1 ;
125 00B3B0 91 ANL C,/S2
126 00B592 25 MOV PER,C
127 00B7A2 91 MOV C,S2
128 00B9B0 90 ANL C,/S1
129 00BB72 25 ORL C,PER
130 00BD82 93 ANL C,U1
131 00BF92 21 MOV X2,C
132
133
134; Подпрограмма обработки условия X3
135 00C1A2 92 xx3: MOV C,S3 ;
136 00C3B0 B1 ANL C,/L50
137 00C592 22 MOV X3,C
138 00C722 RET
139
140
141; Подпрограмма обработки условия X4
142 00C8A2 91 xx4: MOV C,S2 ;
143 00CAB0 94 ANL C,/U3
144 00CC92 23 MOV X4,C
145 00CE22 RET
146
147
148; Подпрограмма обработки условия X5
149 00CFA2 97 xx5: MOV C,L100 ;
150 00D192 24 MOV X5,C
151 00D322 RET
152 00D4
153 00D4END
LinesAssembled: 153 Assembly Errors: 0
ОбразПЗУ для прошивки
:03000000020030CB
:10003000C375A0FF1200911200AAA2204043020043
:1000400041C375A0F6120091A29640E4020071C36C
:1000500075A0DB1200911200B1A2214003020071D1
:10006000C375A0ED1200911200C1A22240D302007C
:1000700071C375A0E41200911200C8A223400201CE
:100080004FC375A0D21200911200CFA22440C0012C
:10009000717940E5907B0ADBFEB590F5D9F5E590E6
:1000A000F4F580C3A2B1B392B222A290B09592208F
:1000B00022A290B0919225A291B090722582939243
:1000C00021A292B0B1922222A291B094922322A2B4
:0400D00097922422BD
:00000001FF