Проектування пристрою пожежної сигналізації
Вступ
В наш час дуже розповсюджені цифрові пристрої, за допомогою яких можна побудувати різноманітні пристрої необхідні у повсякденному житі.
Більшість цифрових пристроїв будується на мікроконтролерах або на мікропроцесорах, а також останнім часом широко розповсюджуються пристрої в основі яких полягають ПЛІС. За допомогою мікропроцесорних систем відбувається керування технологічними процесами або технологічними операціями. Данні системи практично універсальні, так як мають швидку бистродію та високу точність за рахунок достатньої розрядності.
В курсовій роботі на базі процесора MSP430, фірми TI, розроблено пристрій пожежної сигналізації. Обраний мікропроцесор є мікропотребляючим, тому на його базі можна побудувати пристрій, який буде на протязі великого часу працювати живлячись від батарейки. На базі цього мікропроцесору можливо побудувати необхідний пристрій.
Пожежна сигналізація використовується у багатьох галузях, будь то велике підприємство чи звичайна квартира. В зв’язку з тим, що більшості побудованих будівель понад 30 років, та використовується стара алюмінієва проводка, яка не має можливості витримувати сучасні навантаження на сіть, виникають пожежі. Якщо терміново її не визначити, то це може призвести до великої втрати майна та здоров’я. Пожежна сигналізація не є дорогою порівняльно з можливими втратами при пожежі.
Виходячи з цього в даній курсовій роботі буде розроблена така сигналізація.
Аналіз поставленої задачі
В курсовій роботі необхідно спроектувати «Датчик пожежної сигналізації», який призначений для аналізу температури в приміщенні, а також аналіз на задимлинність та своєчасну подачу сигналу, будь то звукова сигналізація чи сигнал до пожежної частини.
В основі пристрою полягає процесор серії MSP430, який буде аналізувати данні, котрі надходять від цифрового температурного датчика та інфрачервоної оптопари. При необхідності видавати сигнал через інтерфейс RS422.
Температурний датчик використовується для визначення зміни температури в приміщенні, а інфрачервона оптопара визначає ступінь задимлинності.
Виходячи з цього можна спроектувати структурну схему пристрою:
Рис.1. Структурна схема пристрою
Обґрунтування достатності апаратних засобів та програмних ресурсів
В даному пристрою буде використовуватися 16 розрядний процесор з RISC архітектурою MSP430, по своїм параметрам повністю відповідає усім вимогам проекту.
Архітектура: Мікроконтролери сімейства MSP430 включають в себе 16 – розрядний RISC CPU, периферійні модулі та гнучку систему тактування, з’єднанні через фон Нейманську загальну шину (MAB) пам’яті ті шину пам’яті даних (MDB).
Сімейство MSP430 володіє наступними ключовими особливостями:
Архітектура з ультранизким споживанням, збільшуюча час роботи при живленні від батареї.
- для схоронності вмісту ОЗП необхідний струм не більш 0,1 мкА;
- модуль тактування реального часу споживає 0,8 мкА;
- струм живлення при максимальній продуктивності – 250 мкА;
Високоякісна аналогова периферія для виконання точних вимірів:
- вбудовані модулі 12 розрядного чи 10 розрядного АЦП швидкістю 200 ksps є температурний датчик та джерело опорної напруги Vref - з’єднаний 12 розрядний ЦАП - таймери керуємі компараторами для виміру опорних елементів;
- схема спостереження за напругою живлення
16 розрядне RISC CPU, яке допускає нові застосування к фрагментам коду:
- великий регістровий файл знімає проблему «вузького файлового горлечка»;
- компактне ядро має понижену енергоживленність та вартість;
- оптимізовано для сучасного високорівневого програмування;
- набір команд складається з 27 інструкцій, підтримується сім режимів адресації.
- розширені можливості векторних переривань;
Можливість внутрисхемного програмування Flash- пам’яті дозволяє гнучко змінювати та обновляти програмний код, провадити реєстрацію даних.
Рис.2 Архітектура MSP430
Рис.3. Розташування виводів процесора MSP430F2234
Виводів в процесорі цілком достатньо для підключення усіх зовнішніх пристроїв.
Визначення додаткових апаратних засобів
До составу пристрою крім процесору входять:
- Цифровий температурний датчик - TMP100, фірми TI.
- Інфрачервона оптопара – TCST1103, фірми VISHAY
- Інтерфейс RS485/RS422 - MAX3070Е, фірми MAXIM
1.2.1 Цифровий температурний датчик TMP100
Основні характеристики:
DIGITAL OUTPUT: I2C Serial 2-Wire
RESOLUTION: 9- to 12-Bits, User-Selectable ACCURACY:
±2.0°C from -25°C to +85°C (max)
±3.0°C from -55°C to +125°C (max)
LOW QUIESCENT CURRENT:
45µA, 0.1µA Standby
WIDE SUPPLY RANGE: 2.7V to 5.5V
TINY SOT23-6 PACKAGE
Рис.4. Розташування виводів датчика температури TMP100
Електричні характеристики:
Таблиця 1. Електричні характеристики TMP100
Рис.5. Схема підключення датчика температури TMP100
1.2.2 Інфрачервона оптопара TCST 1103
Основні характеристики:
Електричні характеристики:
Таблиця 2. Електричні характеристики TCST 1103
Рис.6. Тестове підключення
Рис.7. Час перемикання
1.2.3 Інтерфейс RS485/RS422 - MAX3070Е
Основні характеристики:
Таблиця 3. Електричні характеристики МАХ3070Е
Таблиця 3.1. Електричні характеристики МАХ3070Е
Рис.8. Розташування виводів датчика інтерфейсу MAX3070E
2. Проектування принципової схеми пристрою
2.1 Схема включення MSP430
Для підключення MSP430 використовується літієва батарея з напругою 3В.
Рис.9. Схема підключення MSP430 до живлючої батареї.
Резистор використовується для підтяжки сигналу на лінії до рівня логічної одиниці, для організації скидання при включенні процесора.
Тактувати MSP430 можна за рахунок зовнішнього кварцового резонатору.
2.2 Схема підключення цифрового датчика температури до MSP430
Рис.10. Схема підключення TMP100 до MSP430
Напруга живлення цифрового температурного датчика цілком відповідає завданню, тому використовувати мікросхеми зміни напруги не треба. Для передачі даних використовується шина І2С.
2.3 Схема підключення інфрачервоної оптопари до MSP430
Рис.11. Схема підключення TCST1103 до MSP430
2.4 Схема підключення інтерфейсу RS485/RS422 - MAX3070Е
Рис.12. Схема підключення інтерфейсу MAX3070E до MSP430
3. Проектування програмного забезпечення процесору
Програма процесору повинна виконувати зняття показань цифрового температурного датчика.
Перед зняттям інформації з температурного датчика будемо аналізувати рівень на виводі процесора до якого підключено оптопару. Якщо на виводі логічний 0, тоді опитуємо датчик температури. Після отримання даних перевіримо на рівень температури. Якщо температура більш ніж 25 С, то на відповідний вивід подамо логічну одиницю.
Розроблений код програми:
#include "msp430x22x4.h"
unsigned int RxByteCtr;
unsigned int RxWord;
unsigned int OPTOPARA;
unsigned int OPTO;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Останавлеваем WDT
P1DIR |= 0x01; // P1.0 на выход
P3SEL |= 0x06; // Назначаем I2C порты на USCI_B0
UCB0CTL1 |= UCSWRST; // Активируем SW сброс
UCB0CTL0 = UCMST + UCMODE_3 + UCSYNC; // I2C Master, синхронный режим
UCB0CTL1 = UCSSEL_2 + UCSWRST; // Используем SMCLK, keep SW reset
UCB0BR0 = 12; // fSCL = SMCLK/12 = ~100kHz
UCB0BR1 = 0;
UCB0I2CSA = 0x4e; // Устанавливаем slave адрес
UCB0CTL1 &= ~UCSWRST; // Убераем SW сброс, возвр.операц.
IE2 |= UCB0RXIE; // Активируем RX прерывание
TACTL = TASSEL_2 + MC_2; // SMCLK, contmode
OPTOPARA = P4IN;
while (1)
{
RxByteCtr = 2; // Загружаем RX счетчик битов
UCB0CTL1 |= UCTXSTT; // Запускаем I2C
__bis_SR_register(CPUOFF + GIE); // Enter LPM0, активируем прерывания
// Сохраняем в LPM0 до получения
// всех данных RX'd
// if(P4IN &= ~0x01)
if (OPTOPARA &= ~0x01)
{
if (RxWord < 0x1900) // >25?
P1OUT &= ~0x01; // No, P1.0 = 0
else
P1OUT |= 0x01; // Yes, P1.0 = 1
__disable_interrupt();
TACCTL0 |= CCIE; // TACCR0 активируем прерывания
__bis_SR_register(CPUOFF + GIE); // Enter LPM0, активируем прерывание
// Remain in LPM0 until TACCR0
// interrupt occurs
TACCTL0 &= ~CCIE; // TACCR0 отключаем прерывание
}
}
}
#pragma vector = TIMERA0_VECTOR
__interrupt void TA0_ISR(void)
{
__bic_SR_register_on_exit(CPUOFF); // Exit LPM0
}
// The USCIAB0TX_ISR is structured such that it can be used to receive any
// 2+ number of bytes by pre-loading RxByteCtr with the byte count.
#pragma vector = USCIAB0TX_VECTOR
__interrupt void USCIAB0TX_ISR(void)
{
RxByteCtr--; // Декрементируем счетчик
if (RxByteCtr)
{
RxWord = (unsigned int)UCB0RXBUF << 8; // Получаем переданный бит
if (RxByteCtr == 1) // Проверка на бит слева
UCB0CTL1 |= UCTXSTP; // Сгенирировать остановку I2C
}
else
{
RxWord |= UCB0RXBUF; // Получаем последний переданный бит
// Комбинируем MSB и LSB
__bic_SR_register_on_exit(CPUOFF); // Выход LPM0
}
}
Висновок
В курсовій роботі розроблено пристрій пожарної сигналізації, в основі полягає процесор фірми Texas Instruments MSP430F2234. Пристрій в залежності від сигналу інфрачервоної оптопари аналізує показання цифрового температурного датчика TMP100. Якщо температура перевищує задану, то подається сигнал на відповідний порт.
Даний
пристрій є універсальним і може бути
застосований у різноманітних галузях.
Наприклад, якщо під’єднати до пристрою
LCD дисплей чи якийсь інший пристрій
відображення інформації, можливо
розробити досить чіткий термометр, який
можна застосувати як у звичайній квартирі
чи на підприємстві так і у морозильних
пристроях, адже температурний датчик
працює у досить великому діапазоні
температур.