Разработка устройства вызова медсестры
Разработка схемы электрической принципиальной устройства вызова медсестры. Специфика использования микроконтроллеров PIC16F873A и PIC10F202 производства Microchip, составление управляющих программ. Выбор элементной базы, сетевой стандарт MicroLAN.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 07.07.2012 |
Размер файла | 210,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
Разработка устройства вызова медсестры
Техническое задание
Разработать устройство вызова медсестры.
В процессе курсового проектирования необходимо:
· разработать электрическую схему устройства вызова медсестры, состоящего из двух частей: пульт вызова и пульт медсестры;
· разработать программное обеспечение.
Все пульты вызова должны быть соединены с пультом медсестры только через единую линию, представляющую собой два провода (телефонный провод).
Пульт медсестры должен обеспечивать:
· сканирование всех кнопок вызова палат (общее число кнопок вызова - до 32);
· определение момента нажатия кнопки на пульте вызова, вывод на индикацию номера палаты, подача звукового сигнала;
· пульт медсестры должен работать от напряжения сети 220В 50Гц.
Пульт вызова должен иметь механическую кнопку вызова, светодиодный индикатор работоспособности системы вызова и принятого вызова.
Пульт вызова должен обеспечивать:
· ответ на опрос пульта медсестры о наличии или отсутствии вызова;
· мигание синего светодиода, подтверждающее работоспособность системы;
· мигание красного светодиода при наличии вызова.
Пульт вызова не должен иметь своего питания.
Стоимость системы должна быть минимальной.
Аннотация
В курсовом проекте разработана схема электрическая принципиальная устройства вызова медсестры с использованием микроконтроллеров PIC16F873A и PIC10F202 производства Microchip, для которых составлены управляющие программы. Напряжение питания 5В.
Введение
электрическая схема устройство вызова
По техническому заданию устройство вызова медсестры должно состоять из пульта медсестры и пульта вызова. Пульт медсестры должен обеспечивать сканирование всех пультов вызова, находящихся в разных палатах больницы (общее число пультов вызова - до 32). Так же определять момент нажатия кнопки на пультах вызова, выводить на индикацию номера палаты, подачу звукового сигнала и должен питаться от напряжения сети 220 В, 50 Гц. Пульты вызова должен обеспечивать ответ на опрос пульта медсестры о наличии (или отсутствии) вызова, мигание синим светодиодом (подтверждающее работоспособность системы), мигание красным светодиодом (при наличии вызова медсестры) и не должен иметь своего питания.
Пульты вызова относительно друг от друга и пульта медсестры располагаются на значительных расстояниях. Задача была решена путем применения однопроводной шины 1-Wire, объединившей все пульты разрабатываемой системы в единую сеть. Такая сеть специально разработана для подобных применений и имеет название MicroLAN.
Шина 1-Wire является основой сетей MicroLAN и разработана в конце 90-х годов фирмой Dallas Semiconductor. В настоящее время фирма Dallas Semiconductor является дочерним предприятием фирмы MAXIM. Микросхемы и комплектующие фирмы MAXIM широко известны разработчикам электронных устройств.
При создании шины MicroLAN, фирма Dallas Semiconductor поставила перед собой, неразрешимую задачу. Идея состояла в том, чтобы соединить между собой множество различных микросхем, расположенных на значительном расстоянии друг от друга, используя при этом всего один сигнальный провод. Разумеется, кроме сигнального провода для замыкания цепи обязательно должен быть и обратный так называемый «общий провод». Все микросхемы должны подключаться к такой двухпроводной шине параллельно. И вот по этой линии, состоящей всего из двух проводников от одной микросхемы к другой, должна передаваться информация, как в прямом, так и в обратном направлении. Кроме того, в случае необходимости, по той же однопроводной шине решено было осуществлять питание всех подключенных к ней микросхем. Фирма Dallas Semiconductor блестяще справилась с этой задачей. Шина 1-Wire и основанные на ней сети MicroLAN давно с успехом применяются в электронной технике.Основные характеристики этой шины:- максимальная протяженность шины до 300 м;- скорость передачи информации 16,3 Кбит/с;- максимальное количество адресуемых элементов на шине 256;- уровни напряжений на шине соответствуют стандартным КМОП/ТТЛ уровням;- напряжение питания компонентов сети 2,8 - 6 В;- для соединения элементов сети может применяться обычный телефонный кабель или витая пара.
Существуют и модификации шины 1-Wire. Например, отдельные виды микросхем поддерживают скоростной режим работы шины (Overdrive). В этом режиме скорость передачи информации равна 142 Кбит/с. Однако такие микросхемы могут работать только на шине малой протяженности и при условии, когда уровень внешних электрических помех сведен к минимуму.При разработке протокола 1-Wire большое внимание было уделено надежности работы сети. Изначально было поставлено условие -- работа должна происходить в условиях плохих контактов. Кроме того, допускается подключение и отключение ведомых элементов прямо в процессе работы.
1. Описание работы
Пульт вызова медсестры питается от сети (~220В/50Гц), через блок питания, на входе которого постоянное напряжение. Разрабатываемая система состоит из двух видов устройств: пульта медсестры и пультов вызова. Пульт медсестры состоит из цифрового индикатора, показывающего номер палаты, пульт которой подал сигнал вызова, и спикера, подающего звуковой сигнал, обозначающий прием вызова. Пульт вызова состоит из механической кнопки, предназначенной для подачи сигнала вызова, и светодиоды, обеспечивающего информирование о работоспособности системы вызова и принятого вызова. Пульт вызова не имеет своего питания. Пульт медсестры делает циклический опрос всех пультов вызова. При выдаче каким-либо пультом вызова соответствующего сигнала, пульт медсестры принимает закодированный номер палаты и отображает его на индикаторе, одновременно отправляя на пульт вызова сигнал о принятии.
2. Выбор элементной базы
В качестве микроконтроллеров будут использоваться PIC16F873A и PIC10F202, т.к. они удовлетворяют требованиям.
Основные характеристики PIC16F873A:
· Тактовая частота: до 20МГц
· Порты ввода/вывода: A,B,C
· Flash память: 4К
· Память данных: 192 байта
· EEPROM: 128 байт
Основные характеристики PIC10F202:
· Flash память: 6К
· Память данных: 24 байта
· Встроенный генератор: 4МГц
В качестве кварцевого резонатора будет использоваться ECS ECS-40-20, частота 4МГц, для работы которого требуется С1=15 пФ, C2=15 пФ.
В качестве индикаторов будут использоваться светодиоды D1 и D2, для обеспечения их работы требуются R1, R2.
R=5B/0.02A R=250 Ом, Выбираем R1=R2=270 Ом
В качестве спикера будет использоваться пьезоэлектрический преобразователь EFM-250D:
· Напряжение питания 5В.
· Частота 4.1кГц
Для обеспечения работы спикера требуется конденсатор С5 номиналом в 10нФ.
В качестве транзисторов будут использоваться NPN-транзисторы малой мощности Fairchild BC328.
Параметры транзистора:
· Напряжение база-эмиттер 1.2В
· Напряжение насыщения 0.7В
· Коэффициент передачи по току 100
Резисторы R3-R10 нужны для того, чтобы не сгорели индикаторы и входы микроконтроллера. Ток нужно ограничить до величины 10мА.
R=230 Ом,
Выбор резистора производим в большую сторону: 240 Ом.
Номинал конденсатора питания С1(пульт вызова) составляет приблизительно 800 пФ.
Разрабатываемое устройство состоит из двух составляющих: пульта медсестры и пультов вызова. Пульт медсестры использует напряжение 5 В, поэтому необходимо преобразование 220В в 5В, пульты вызова не имеют своего питания.
Расчет потребления тока системы:
?I = I микроконтроллеров + I светодиодов +I спикера
?I =7мА+350мкА+2*30мА+20мА = 88,4мА
Выбираем стабилизатор напряжения ST L78L05
Основные характеристики:
· Uout=5В Iout=0.1A Uin=6.7…20В
· Падение напряжения < 1.7В
Для обеспечения работы стабилизатора напряжения требуется: C4=0.01 мкФ;
Следовательно на входе стабилизатора напряжения Umin =5B+1.7B =6.7B
В качестве трансформатора будет использоваться HAHN BVEI 301 2104
· Мощность 0.6ВА
· Напряжение вторичной обмотки 1х6В
· Ток вторичной обмотки 100 мА.
Учитывая выходные параметры трансформатора и входные стабилизатора напряжения выбираем выпрямительный диодный мост Fairchild DF005S:
· Максимальное пиковое обратное напряжение 50В
· Максимальный выпрямленный ток 1,5 А
P0 - выходная мощность (0.1 мА * 5В), U - выпрямленное напряжение (6В*1.4),
F - частота входного напряжения (50), ?U- пульсация (8.4-6.7).
C3 = 350 * 10-6 мкФ Выбираем С3 равным 360 мкФ.
3. Используемый сетевой стандарт MicroLAN
При создании устройства вызова медсестры для обеспечения взаимодействия микроконтроллеров нами был выбран сетевой стандарт фирмы Dallas Semiconductor под название MicroLAN. Данный сетевой стандарт требует для осуществления связи только один проводник и земляной провод. Сеть обладает практически неограниченным адресным пространством и допускает работу на расстоянии до 300 метров без использования дополнительных повторителей. Сеть MicroLAN использует архитектуру с одним ведущим шины и многочисленными ведомыми. Эта сеть не ограничена заранее предопределенной структурой: может использоваться как шинный, так и древовидный тип соединения. Сеть использует стандартные КМОП/TTL логические уровни: напряжение ниже 0,8 В соответствует логическому нулю, а напряжение выше 2,2 В - логической единице. MicroLAN использует рабочее напряжение питания 2,8…6,0 В. Приборы такой сети могут использовать режим питания от линии связи. Скорость передачи данных составляет 16,3 кб/сек. Любой промышленный микроконтроллер, работающий на частоте более 1,8 МГц, может легко поддерживать протокол обмена MicroLAN. Адресное пространство составляет 256.
4. Алгоритм работы
4.1 Пульт вызова
4.2 Пульт медсестры
Протокол ведущего:
Ведущий
1 импульс сброса
1)выставляем «0» на 500 мкс;
2)выставляем «1» на 500мкс;
2 сигнал присутствия
1)ведомый ожидает 60 мкс и выставляет «0» на 240мкс;
3 передача адреса ведомого (8 разрядов)
1)если «1»: -выставляем «0» на 14 мкс;
-выставляем «1» на 70мкс + 5мкс (время восстановления);
2)если «0): -выставляем «0» на 60 мкс;
-выставляем «1» на 5 мкс (время восстановления);
4 чтение информации от ведомого (1 разряд)
1)выставляем «0» на 14 мкс;
2)выставляем «1» на 15 мкс;
- если в линии «0» пишем ноль;
- если на линии «1» пишем единицу;
3)удерживаем «1» 5 мкс(время восстановления);
5 на 150000 мкс удерживаем линию в активном состоянии («1»)
5. Текст программы
5.1 Пульт вызова
#include <pic.h>
//определяем переменные
const char id=0x01; //адрес устройства 0х1...0х20
//функция определения импульса сброса
void det_front(void)
{
TRIS=0x3;
chat t=0;
while (!GP0) //определение импульса сброса
{
t++
}
if(t>100)
break;
}
//функция записи
void WRB(char A)
{
char i=0;
while(i!=1)
{
TRIS=0x3;
while(GP0==1); //ждем перехода линии в 0
if(A & (0x1<<i)) //если 1
_delay(100); //ждем 100 мкс
else //если 0
{
TRIS=0x2;
GP0=0; //переводим линию в 0 на 60 мкс
_delay(60);
}
}
}
//функция чтения
char RDB(void)
{
char i=0, C=0;
while(i!=8)
{
TRIS=0x3;
if (GP0==0) //ждем перехода линии в 0
_delay(15);
if (GP0) //считываем бит
C+=(0x0<<i); break; //0
else
C+=(0x1<<i); break; //1
_delay(75);
i++; //следующий бит
}
return C; //возвращаем значение
}
void main(void)
{
OPTION= 0xC0;
TMR0 =0x60;
det_front();
_delay(60) //подаем сигнал присутствия
GP0=0;
TRIS = 2;
_delay(240);
GP0=1;
TRIS=0x3;
while(GP0);
if(RDB()==id) //чтение адреса
{
//GP2=1; //индикация работоспособности
if (GP1==0) //если нажата кнопка,
WRB(0x01); break; //сообщение о помощи, индикация
GP3=0;
else
WRB(0x00); break; //помощь уже не нужна
}
else
while(1); //ждем следующего сброса линии
_delay(250);
GP2=0;
_delay(100000);
}
5.2 Пульт медсестры
#include < PIC16F873A.h>
//определяем переменные
//массив с кодами индикации на 7-сегментных индикаторах, 0-9, -, E, r.
const char DIG[13]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xBF,0x86,0xAF};
//массив с адресами устройств (кнопок)
const char id[32]= {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0A,
0x0B,0x0C,0x0D,0x0E,0x0F,0x10,0x11,0x12,0x13,0x14,
0x15,0x16,0x17,0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,
0x1F,0x20};
const char IND[2]={0x1,0x2}; //массив выбора индикатора
char V[2]={0xA,0xA}; //данные на вывод в индикаторы
bit NIND=0;
char INF, N;
//функция сброса линии---------------------------
bit RST(void)
{
TRISB=0x1;
__delay(500);//выставляем 0 на линии в течении 500us
TRISB=0x1;
unsigned char t=0;
while(t<31) //ждем сигнал присутствия в течении 500us
{
t++;
if(RB0==0)
{
while(RB0!=1); //ждем когда устройства выставят сигнал присутствия
return 1; //если обнаружен сигнал присутствия возвращаем 1
}
}
return 0; //если никого нет возвращаем 0
}
//функция записи в линию 1 байта-----------------
void WRB(char A)
{
TRISB=0x0;
unsigned char i=0;
while(i!=8)
{
if(A & (0x1<<i)) //записываем 1
{
TRISB=0x1;
__delay(14); //удерживаем 0 на 14 мкс
TRISB=0x0;
__delay(75); //удерживаем 1 на 75 мкс
}
else //записываем 0
{
TRISB=0x1;
__delay(60); //удерживаем 0 на 60 мкс
TRISB=0x0;
_delay(5); //удерживаем 1 на 5 мкс
}
i++; //следующий бит
}
}
//функция чтения 1 байта с линии-----------------
char RDB(void)
{
unsigned char i=0, C=0;
while(i!=1)
{
TRISB=0x1; //начальное условие для начала чтения, появление 0 на линии
__delay(14); //удерживаем 0 на 14 мкс
TRISB=0x0; //регистр состояния в 1, для чтения бита
__delay(15); //удерживаем 1 на 15 мкс
if(RB0==0) //читаем 0
{
C+= (0x0<<i);
}
else //читаем 1
{
C+=(0x1<<i);
}
__delay(5); //удерживаем 1 на 5 мкс
}
return C; //возвращаем значение байта
}
_delay(150000); //удерживаем линию в активном состоянии на 150000мкс
//прерывание от таймера - вывод инфы на индикаторы
void interrupt _int()
{
T0IF=0;
TMR0=100;
PORTA=IND[NIND];
PORTC=DIG[V[NIND]];
NIND^=1;
}
void main(void)
{
//инициализация мк
ADCON1= 0x7;
TRISA = 0x0;
OPTION= 0x4;
TRISB = 0x0;
PORTB = 0x1;
TRISC = 0x0;
PORTC = 0x0;
T0IE = 0x0;
GIE = 0x0;
T0IF = 0x0;
TMR0 =0x40;
//чтение информации из устройств
while(1)
{
GIE = 0x0;
if(RST()) //если на линии есть устройства
{
WRB(id[N]); //передаем адрес опрашиваемого устройства
__delay(100); //задержка для синхронизации устройств
INF=RDB(); //читаем информациию от устройств
TRISB=0x0;
RB0=0x1;
switch(INF) //анализ сообщения
{
case 0: V[0]=id[N]/10; //вывод информации о помощи
V[1]=id[N]%10;
RB7=1; //включаем звуковое сообщение
break;
case 1: V[0]=0xA; V[1]=0xA; RB7=0; break;//все ОК
}
N++; //выбор следующего устройства
if(N>32)
N=0;
}
else //устройств не найдено, вывод сообщения об ошибке
{
V[0]=0xB; //вывод информации об ошибке
V[1]=0xC;
}
GIE = 0x1;
RB0=0x1;
TRISB=0x0;
_delay(150000); //удерживаем линию в активном состоянии на 150000мкс
TRISB=0x1;
}
}
Заключение
В ходе выполнения курсового проекта были закреплены теоретические знания по данной дисциплине. Получены навыки в работе с технической, справочной литературой и ПО Microchip MPLab IDE.
Освоено построение схемы электрической принципиальной для устройства вызова медсестры, с учетом требуемых в курсовом проекте параметров.
Список литературы
1. www.microchip.com
2. www.promelec.ru
3. www.chipdip.ru
4. «Справочник по PIC-микроконтроллерам» Предко М. - М ДМК Пресс 2002
Размещено на Allbest.ru
Подобные документы
Выбор формата данных. Разработка алгоритма и графа макрооперации. Разработка функциональной электрической схемы и её особенности. Выбор элементной базы. Разработка принципиальной схемы. Микропроцессорная реализация устройства на языке Ассемблер.
курсовая работа [955,0 K], добавлен 04.05.2014История разработки и использования интегральных микросхем. Выбор элементной базы устройства. Синтез электрической принципиальной схемы: расчет усилительных каскадов на транзисторах, параметры сумматора, инвертора, усилителя, дифференциатора и интегратора.
курсовая работа [1,9 M], добавлен 25.11.2010Разработка структурной схемы устройства персонального вызова. Расчет полосы пропускания, допустимого коэффициента шума приёмника. Выбор параметров транзисторов радиотракта. Расчёт усилителя радиочастоты. Применение микросхемы МС3362 и расчёт гетеродина.
курсовая работа [690,1 K], добавлен 27.11.2013Анализ особенностей устройства и технических требований; принципиальной электрической схемы. Выбор элементной базы с оформлением эскизов по установке навесных элементов. Разработка компоновочного эскиза устройства. Расчет критерия компоновки схемы.
контрольная работа [546,4 K], добавлен 24.02.2014Описание функциональной схемы цифрового устройства для реализации микроопераций. Выбор элементной базы для построения принципиальной электрической схемы цифрового устройства. Разработка и описание алгоритма умножения, сложения, логической операции.
курсовая работа [684,0 K], добавлен 28.05.2013Классификация счетчиков, их быстродействие и характеристики. Принцип работы и схема синхронного счетного Т-триггера на основе JK-триггера. Разработка и расчёт структурной и электрической принципиальной схем устройства, выбор его элементной базы.
курсовая работа [484,3 K], добавлен 12.12.2013Особенности проектирования микропроцессорного устройства "Цифровой осциллограф". Выбор микроконтроллера, описание периферийных устройств. Разработка принципиальной схемы устройства и программы для микроконтроллера, осуществляющей все функции устройства.
курсовая работа [923,5 K], добавлен 24.12.2012Разработка и описание алгоритма функционирования устройства, отладка рабочей программы на языке команд микропроцессора. Обоснование аппаратной части устройства. Составление электрической принципиальной схемы устройства, расчет быстродействия устройства.
курсовая работа [50,2 K], добавлен 03.12.2010Электрическая принципиальная схема устройства автоматической тренировки аккумулятора. Выбор элементной базы. Разработка схемы электрической принципиальной. Размещение компонентов на печатной плате. Разработка алгоритма программы микроконтроллера.
дипломная работа [670,2 K], добавлен 20.10.2013Анализ работы схемы электрической принципиальной FM тюнера магнитолы SHARP QT-100Z. Алгоритм диагностики и ремонта устройства. Характерные неисправности и методы их устранения. Характеристика элементной базы устройства. Измерительное оборудование.
курсовая работа [307,3 K], добавлен 17.07.2014