Автоматизированный электропривод

Содержание

Введение............................................................................................................

1.  Структурный синтез контроллера...........................................................

 

2.  Разработка принципиальной схемы........................................................

Обработка входных сигналов:

  Контактные датчики................................................................................

  Аналоговый сигнал - напряжение...........................................................

  Датчик освещенности ..............................................................................

Обработка выходных сигналов:

  Электромагнит.........................................................................................

  Транзисторный  модуль..........................................................................

Гальваническая развязка сигналов......................................................

Начальный сброс микропроцессора.....................................................

Питание схемы.........................................................................................

3.  Разработка программного обеспечения..................................................

4.  Конструирование контроллера................................................................

5.     Перечень элементов принципиальной схемы.........................................

6.  Список литературы................................................................................ …

Введение.

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

Реализация на  микропроцессоре обладает весомыми преимуществами. Гибкая логика, возможность легкой модернизации контроллера, перспективность.

Программируемая логика реализована на микропроцессоре типа МК-51 фирмы ATMEL – AT89C51, который благодаря встроенной FLASH памяти,  обладает  возможностью электрического перепрограммирования, а значит быстрой модернизации управляющей программы.

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

1.     Структурный синтез цифрового автомата

Обозначим структуру проектируемого микроконтроллера.

1)           Управляющий логический блок на основе микропроцессора.

2)           Блок сбора информации и преобразования ее в вид, требуемый для обработки микропроцессором.

3)           Блок гальванической развязки входных сигналов и сигналов, поступающих на микропроцессор.

4)           Блок связи с исполнительными устройствами (включающий гальваническую развязку) для преобразования выходных сигналов микропроцессора в мощные сигналы управления.

5)           Блок начального сброса микропроцессора.

6)           Блок индикации входных и выходных сигналов.

7)           Блок электропитания контроллера.

2. Разработка принципиальной схемы.

1. Управляющий логический блок.

В качестве основы для контроллера выбран популярный микропроцессор типа MK-51 от фирмы Atmel – AT89C51.

Его основные преимущества перед подобными процессорами иных фирм:

1.     Полностью совместим с семейством МК-51.

2.     4 кб встроенной перепрограммируемой Flash памяти (включая перепрограммирование непосредственно на плате по протоколу SPI) при не менее 103 циклов перезаписи.

3.     Работа на частотах от 0 до 40 МГц.

4.     128х8 бит ОЗУ.

5.     32 программируемых линии портов ввода/вывода.

6.     Два 16-битных таймера счетчика

7.     Шесть источников прерываний

8.     Программируемый последовательный канал совместимый с 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 фирмы International Rectifier. Драйвер способен выдерживать напряжения до  600 вольт. Схема включения приведена ниже:

 Symbol Description

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

  Диод 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.

Резисторы:

R C2 – 29 0.5 10 Ом±0.25%

Конденсатор:

C К73 – 17 630В 0.1мкФ±10%

Начальный сброс микропроцессора

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

Как правило, такие сильные и фатальные помехи случаются очень редко, но если контроллер выполняет часть операций в отлаженном техническом процессе, то такой его отказ приводит к возникновению незапланированного простоя в работе и большими экономическими убытками.

Работоспособность контроллера можно восстановить, подав на процессор команду сброса (reset). Такие функции выполняет WatchDog Taimer. В данной работе эта система не реализована. Сброс микроконтроллера можно будет произвести кратковременным сбросом питающего напряжения или кнопкой 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кОм

          Резисторы:

R C2 – 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 работать с отдельными битами (булев процессор) данное задание можно выполнить напрямую запрограммировав все состояния и условия переходов.

Начало

Инициализация всех переменных, Начальная установка выходных значений.

Проверка условия 1

1

После проверки условия, переходим в состояние N.

Выполняем N

Проверка условия M

2

x

y

Листинг программы:

            2500 A.D. 8051 Macro Assembler  -  Version 4.02a

             ------------------------------------------------

                     Input  Filename : kurs.asm

                     Output Filename : kurs.obj

  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

 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   F4                           CPL 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

         Lines Assembled :  153             Assembly Errors :  0

Образ ПЗУ для прошивки

:03000000020030CB

:10003000C375A0FF1200911200AAA2204043020043

:1000400041C375A0F6120091A29640E4020071C36C

:1000500075A0DB1200911200B1A2214003020071D1

:10006000C375A0ED1200911200C1A22240D302007C

:1000700071C375A0E41200911200C8A223400201CE

:100080004FC375A0D21200911200CFA22440C0012C

:10009000717940E5907B0ADBFEB590F5D9F5E590E6

:1000A000F4F580C3A2B1B392B222A290B09592208F

:1000B00022A290B0919225A291B090722582939243

:1000C00021A292B0B1922222A291B094922322A2B4

:0400D00097922422BD

:00000001FF