Рис. 4.1. Цоколёвка корпуса AT98C51-20PI
AT98C51-20PI выполнен на основе высокоуровневой n-МОП технологии и выпускается в корпусе БИС, имеющим 40 внешних выводов. Для работы микроконтроллера требуется один источник электропитания +5 В. Через четыре программируемых порта ввода/вывода AT98C51-20PI взаимодействует со средой в стандарте ТТЛ-схем с тремя состояниями выхода.
Корпус микроконтроллера (МК) имеет два вывода для подключения кварцевого резонатора, четыре вывода для сигналов, управляющих режимом работы МК, и восемь линий порта 3, которые могут быть запрограмированны на выполнение специализированных функций обмена информацией со средой.
Синхронизация МК. Опорную частоту синхронизации определяет кварцевый резонатор РГ-05 с типом корпуса М, добротностью 2000х103, статической ёмкостью менее 9пФ, допустимым отклонением рабочей частоты 10х10-6. Кварцевый резонатор имеет гибкий тип выводов, предназначенные для соединений пайкой, миниатюрный плоский корпус, хорошо компонуется в современной аппаратуре. Он подключается к выводам XTAL1 и XTAL2 (рис.4.2). По рекомендации изготовителей микроконтроллера конденсаторы C9 и С10: КД-1 ёмкостью 20пФ каждый.
Системный сброс AT98C51-20PI по рекомендации изготовителей осуществляется путём подачи на вход RST сигнала 1. Для уверенного сброса этот сигнал должен быть удержан на входе RST по меньшей мере в течение двух машинных циклов (24 периода резонатора). Время, необходимое для полного заряда ёмкости, обеспечивает уверенный запуск резонатора и его работу в течение более чем двух машинных циклов.
Связь микроконтроллера с датчиками и исполнительными механизмами обеспечивается через все имеющиеся выходные порты. Из-за низкой нагрузочной способности выходов МК для всех исполнительных механизмов и датчиков потребуются усилители мощности и согласователи уровней напряжений. Произведем их расчет.
Расчет индикаторов. В качестве светодиодов VD1, VD2 применим светоизлучающий диод АЛ336К красного цвета свечения с силой света не менее 40 мкд, а в качестве VD3, VD4 светоизлучающий диод АЛ336Г зеленого цвета свечения с силой света не менее 15 мкд. Для задания тока через светодиоды, последовательно с ними включим резисторы R1,R2,R3,R4. Для согласования микроконтроллера со светодиодами и его защиты будем подключать их через буферные формирователи. Выберем микросхему ТТЛ К155ЛП9 (DD1). Она содержит шесть буферных формирователей с открытым коллектором и повышенным коллекторным напряжением. Ее параметры:
U0вых, не более
|
U1вых, не менее
|
I0вх, не более
|
I1вх, не более
|
Iпот, не более
|
|
В
|
В
|
мА
|
мА
|
мА
|
|
0,4
|
2,4
|
-1,6
|
0,04
|
50
|
|
|
Определим номиналы резисторов.
При прямом падении напряжении на светодиоде 2 В и токе свечения 10 мА сопротивление каждого резистора:
R = [Uпит - Uпр]/Iпр =[5-2]/0,01=300 Ом. (4.1)
Рассеиваемая мощность резистора определяется исходя из тока, протекаемого через него по формуле
P = RI2 = 300х0,012 = 0,03 Вт. (4.2)
Таким образом сопротивление резисторов R1,R2,R3,R4 равно по 300 Ом каждый. В качестве номиналов выберем C2-33H-0,125-300Ом-10%.
Рассчитаем схему связи микроконтроллера с компьютером, которая включает в себя приемник и передатчик. Схема представляет из себя традиционную схему включения транзисторных ключей с буферными элементами [ ].Узел сопряжения с локальной сетью при передаче собран на DD4.2 и транзисторе VT2 совместно с портом Р3.1 (выход TXD -- используется как универсальный асинхронный приемопередатчик). Резистор R9 выбирается исходя из тока в линии связи. Приемный узел сопряжения собран на DD4.1 и VT1 с использованием порта Р3.0 (вход RXD -- вход данных универсального асинхронного приемопередатчика). Конденсаторы С1,С2,С3,С4 используются для повышения помехоустойчивости. Резисторы R6 и R7 задают рабочую точку ключа , собранного на транзисторе VT1. Нагрузкой каскада является резистор R5.
В качестве буферных элементов используется интегральная микросхема К1533ЛН5, которая представляет из себя шесть буферных логических элементов НЕ. Причем выходы с открытыми коллекторами. Параметры микросхемы:
U0вых, не более
|
U1вых, не менее
|
I0вх, не более
|
I1вх, не более
|
Iпот, не более
|
|
В
|
В
|
мА
|
мА
|
мА
|
|
0,7
|
2,4
|
-1,6
|
0,04
|
77
|
|
|
Проведем расчет элементов узла.
Задаемся током линии в передающем каскаде Iл = 20 мА [ ] и Eп = 12В, находим Rк (Rк=R9).
Rк = Eп / Iл = 12/0,02=600 Ом ; ( )
Определим мощность выделяемую на резисторе.
Р=I2*Rк=0,022*600=0,24 Вт; ( )
Rб = В х Rк =100х600=60 кОм ; ( )
где В = 100 - коэффициент усиления транзистора в ключевом режиме.
Задаемся током коллектора транзистора в приемном каскаде Iк = 1 мА и Eп = 5 В , определяем Rк(Rк=R5)в приемном каскаде.
R к = Eп / Iк = 5/0,001=5 кОм ; ( )
Резистор Rб (Rб=R6) в базе находим через В.
Rб = В х Rк = 50 кОм. ( )
Резистор R7 задает рабочую точку транзистора в каскаде , так чтобы он не уходил в область глубокого насыщения и находился на границах активного режима . Он рассчитывается исходя из Uбэ = 0.7 В , Uпор = 6 В.
Iб = Uпор / Rб =6/50000= 0.12 мА ; (4.7)
R7 = Uбэ / Iб =0,7/0,00012= 5.8 кОм.
По цепям питания ставим помехоподавляющие конденсаторы. C1 и С3 выбираются 10n [ ]. Они служат для подавления ВЧ составляющих помех. Конденсаторы С2,С4 выбираются равными 100мк х 16В [ ]. Они служат для подавления НЧ-компонент по питанию. Тогда выберем из [ ] номиналы конденсаторов:
С1,С3 -- К10-17 10n+20%
C2,C4 -- К50-16 100мк х16В
Выберем номиналы резисторов. Так как при самом большем токе мощность выделяемая на резисторе R9 (R9=Rк) равна 0,24 Вт, тогда R9 выбираем МЛТ- 0,25-5,1кОм10%. На остальных резисторах выделяется мощность меньше 0,125Вт. Тогда выберем [ ]:
R5 -- C2-33H-0,125-5,1кОм-10%;
R6 -- C2-33H -0,125-51кОм-10%;
R7 -- C2-33H -0,125-5,6кОм-10%;
R8 -- C2-33H -0,125-56кОм-10%;
В качестве транзисторов VT1,VT2 выберем мощный переключающий транзистор КТ972 [ ]. Кроме того в схеме предполагается применить импульсные диоды с малым временем переключения VD5,VD6 -- КД521А. Диоды служат для защиты входных каскадов от высоких статических напряжений и импульсных выбросов.
Для питания схемы используются два стабилизированных источника напряжения : + 5 В , + 12 В.
Рассчитаем схему звукового сигнализатора.
На транзисторе VT4 собран блок выдачи сигнала тревоги ,представляющий собой электронный транзисторный ключ , подключенный к порту Р.3.4. Элементы ключа рассчитываются исходя из следующих параметров :
Uбэ = 0.7 В , U1= 3.5 В , Iб = 1 мА.
R14 = Uбэ / Iб = 750 Ом ;
R13 = U1 - Uбэ / Iб = 2,7 кОм.
Нагрузкой каскада является динамическая головка В1 типа 2ГДШ - 4.
Опишем схему считывателя кода идентификатора. Эта схема включения рекомендуется предприятием-изготовителем электронного идентификатора.
На логических элементах DD4.3 и DD4.4 , а также транзисторе VT3 собрано приемно - передающее устройство электронного ключа . Параметры каскада и элементов , рекомендуются изготовителем ключа фирмой “ Touch memory “. Приемная часть передает сигнал на порт Р.3.2 , а передаются управляющие команды с порта Р.3.5. Конденсаторы С5 и С6 служат фильтрами по питанию : С6 - по низким частотам , а С5 - по высоким частотам. Резистор R11 предназначен для защиты схемы от короткого замыкания на входном гнезде. Диоды VD7 и VD8 предназначены для защиты входного каскада от электростатических разрядов. Будем использовать диоды КД521 , как диоды с большим быстродействием , основанным на эффекте Шотки.
Такая же схема применена во втором считывателе кода идентификатора, с тем отличием, что второй считыватель кода подключается к портам Р3.3 и Р3.7 соответственно.
Рассчитаем схему подключения датчиков контроля положения дверей. В схеме используется описанная выше микросхема К1533ЛП9 выполняющая роль буферных элементов (DD2, DD3.1, DD3.2). В качестве датчиков предлагается использовать кнопочные выключатели с самовозвратом. Рассчитаем резисторы R18_R25. Нагрузочный ток выберем равным 5 мА. Тогда
R=U/ I=5/ 0,005=1 кОм. ( )
Мощность рассеиваемая резистором будет равна:
Р=I2*R=0,0052*1000=0,025 Ом.
Из [ ] выберем для R18_R25 следующие номиналы: C2-33H - 0,125 - 1кОм +10%.
Теперь произведем расчет для схемы управления электродвигателем. Так как микроконтроллер должен быть связан с мощным потребителем энергии, нужно предусмотреть в схеме управления гальваническую развязку между микроконтроллером и электродвигателем. Электромотор включается подачей логической единицы на порт Р1.6.(выключается нулем). В связи с этим предлагается применить оптронную развязку со схемой рекомендуемой предприятием-изготовителем. Оптрон типа -- твердотельное реле 5П19Т. Его параметры: Iвх=25мА; Uком=+400В; tcраб,max=0,01мс; Iвх и=10мА; Iвых=1 А; тип корпуса 37х24х11 мм. Оптрон связан с микроконтроллером через буферный элемент НЕ и резистор R26 сопротивлением 360 Ом. Такая же схема включения идет на второй электродвигатель(порт Р1.7).
Для задания направления вращения электродвигателя предлагается использовать электромагнит(“1”-- вращение по часовой стрелке; “0”--вращение против часовой стрелки).Электромагнитный замок собран на транзисторе VT6 и подключен на порт Р.1.4. Резистор в базе рассчитывается исходя из тока коллектора транзистора. Диод VD11 предназначен для защиты транзистора во время включения и выключения , так как катушка электромагнита является индуктивной нагрузкой. Из [ ] выбираем диод КД226.
Расчет схемы контроля датчика физической массы пользователя. Так как для контроля массы в шлюзе предполагается использовать в качестве датчика массы обычные весы с аналоговым сигналом на выходе, то необходимо применить аналого-цифровой преобразователь. Для оцифровки этого напряжения необходимо использовать АЦП, который должен удовлетворять следующим требованиям: легко сопрягаться с микроконтроллером и требовать минимум внешних элементов для сиоей работы. Таким требованиям удовлетворяет микросхема К1113ПВ1 [ ]. Это функционально-законченный АЦП, основные технические характеристики которого следующие:
диапазон изменения входных напряжений -- от -5 до +5 вольт;
разрядность -- 10 бит;
время преобразования -- 30мксек;
логические выходные сигналы -- ТТЛ.
Работает схема следующим образом. При поступлении на вход “Запуск” АЦП сигнала низкого уровня запускается его внутренний генератор, и начинается процесс преобразования величины напряжения, присутствующего на выводе 13, в цифровую форму. Через 30 мксек. этот процесс заканчивается и на выходы D1_D10 выдается цифровой код. О том, что данные поступили на выход, АЦП сообщает выдачей сигнала низкого уровня на выводе 17 (“Готовность”). Во время преобразования выходные линии данных находятся в Z-состоянии. Уровень логического нуля на выводе 15 определяет работу АЦП в режиме преобразования однополярного входного напряжения. Питается схема двуполярным напряжением +5В и -15В.
Так как высокой точности определения положения R29 не требуется, то ограничимся разбиением всего диапазона положений на 128 уровней. Тогда для представления номера каждого уровня потребуется log2128=7 двоичных разрядов. Поэтому задействованы будут выходы D1_D7 АЦП. Определим теперь диапазон входных напряжений, которые необходимо снимать с датчика для получения на выходе АЦП кодов от 0 до 128 (от 0000000 до 1111111 в двоичном представлении). При работе с однополярными входными сигналами диапазон входных напряжений составляет от 0 до 10 вольт. Им соответствует выходные двоичные коды от 0 до 1023 ( т. е. от 0000000000 до 1111111111). Таким образом, вес младшего разряда составляет 10/1023 В - т.е. приблизительно 10мВ. Тогда для получения кода “1111111” необходимо подать входное напряжение 10*128=1,28 В. При перемещении движка реостатного датчика R29 в верхнее по схеме положение, напряжение на входе АЦП составит:
U=5*R29/(R29+R28) ( )
Приравнивая его к 1,28 , находим требуемое сопротивление резистора шкалы R28:
R28=3,9*R29
Резистор R28 выбран переменным для возможности подстройки под конкретный тип датчика. Итак, для обработки сигналов от датчика массы потребуется девять линий связи с микроконтроллером: семь линий данных и две линии управления (запуска и готовности).
5.Разработка алгоритма управляющей программы
При проектировании системы в основу данной разработки блок-схемы алгоритма (БСА) была положена та же процедура модульного проектирования, которая традиционно используется разработчиками аппаратурных средств. Алгоритм управляющей программы составлен для контроллера шлюза и ориентирован на микроконтроллер AT89C51-20PI (см. чертеж “Блок схема алгоритма”).
Алгоритм имеет разветвленную структуру и дальнейшее его описание будет происходить в строгом соответствии с каждым символом-блоком действий.
Запрос прерывания. Алгоритм начинается с проверки условий запроса прерывания. Имеется в виду прерывание по портам P3.2 (INT0) и P3.3(INT1). Инициатором прерывания являются электронные идентификаторы. Регистор масок прерываний устанавливается в “разрешение внешних прерываний”. От внешних прерываний (если пользователь прикоснулся идентификатором считывателя кода) устанавливаются флаги IE0 или IE1 в регистре TCON, которые инициируют вызов соответствующей подпрограммы обслуживания прерывания. Флаги опрашиваются аппаратно в каждом машинном цикле. Внешние прерывания INT0 и INT1 вызываются переходом сигнала из 1 в 0 на входах МК51. То есть проверка запроса прерывания заключается в проверке условий: установлен флаг IE0 (или IE1) или нет. Если флаг установлен, значит есть запрос прерывания и программа переходит к обслуживанию ввода 64-ех битного кода идентификатора пользователя. Если флаг не установлен (то есть нет запроса прерывания), тогда программа переходит к блоку обработки -- “Опрос датчиков”.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9
|