Микропроцессорная система экологического мониторинга вредных газовых выбросов

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

снову последовательности продуманных действий, приводящих к окончательному решению, сформулируем план приоритетов.

Прежде чем приступить к постановке задачи выбора МК, примем некоторые допущения. Из микроконтроллеров фирм Microchip (PIC-контроллеры), Motorola и Atmel (AVR) предпочтения отдаются последнему, ввиду его знакомству разработчику, кроме того, Atmel хорошо зарекомендовала себя в производстве широкого спектра микросхем.[16].

Процесс поиска начнем с вопроса - что должен делать МК. В самых общий чертах МК должен выполнять следующие функции:

1)выбор адреса (номера) датчика;

2)преобразование информации с датчика;

)расчет погрешностей, перевод в другие единицы измерения;

)работа с ЖКИ;

)вывод информации в последовательный порт (связь с беспроводным модулем);

)регулирование работы насоса и нагревателя.

Далее перечислим системные требования, учитывающие особенности нашей газоаналитической системы:

-Так как у нас система с автономным питанием, требования к пониженному энергопотреблению выходят на первый план;

-Данное измерительное устройство, исходя из технического задания, не требует больших объемов вычислений (расчет матожидания и стандартного отклонения), и влияние такого фактора, как производительность, не так существенна, как энергопотребление. Если сэкономить на кварце, можно использовать внутреннюю RC-цепочку. Минимальное значение встроенного тактового генератора AVR - 1 МГц. Это значение приближенное и изменяется в зависимости от величины напряжения питания и температуры корпуса;

-Количество портов ввода/вывода определяет число подключенных внешних устройств, при недостатке которых МК не сможет выполнить работу, а в случае избытка цена будит слишком высокой. Подсчет занимаемых портов приведен ниже;

-Определим необходимые внутренние периферийные устройства. Для работы датчиков газа необходимо: наличие аналогово-цифрового преобразователя, интерфейс UART (GSM/GPRS-модуль), цифровой датчик влажности/температуры требует интерфейс I2C, таймер-счетчик (организация задержек и т.д.), поддержка внешних прерываний (например, опрос матричной клавиатуры), сторожевой таймер и устройство сброса по включению питания (непредвиденные ситуации, разряженная батарея).

-Необходимый объем оперативной памяти (ОЗУ) выбирается с учетом требований к количеству измерений (точности измерения). Ниже рассчитаем минимальный объем памяти.

-Мобильность прибора подразумевает ограничения на массогабаритность МК.

Выполним необходимый расчет для определения точных характеристик МК:

) Количество портов В/В для МК: количество датчиков газа - 8(3 дл расширенного диапазона). Все занимают 1 порт АЦП: ЖКИ - вместе с управляющими 11 или 7, примем 7; матричная клавиатура размером 3х3 - выводов 6; GSM-модуль - 2 вывода TxD и RxD; датчик влажности/температуры - интерфейс I2C; схемы управления нагрузкой - 2 вывода (микрокомпрессор и нагреватель). Общая сума - минимум 26 выводов.

) Рассчитаем количество требуемой памяти:

Так как АЦП 10-разрядный, то результат после преобразования сохраняется в 2-ух регистрах ADCH и ADCL, которые вместе занимают 2 байта.

Пусть количество циклов считывания N=100, тогда для 5 газов:

 

Nram=2*100*5=1000 байт, округляем до 1 кб.

 

Для долговременного хранения результатов преобразования можно использовать EEPROM-память, организованную в виде стека. Преобразованные значения величин газов имеют вещественный тип, для хранения которого выделяется тип float, размерностью 4 байта, плюс 2 байта для записи метаданных (число, месяц, время измерения). Чтобы хранить, как минимум 10 измерений для каждого газа потребуется:

 

NEEPROM=10*6*5=300 байт.

 

В соответствии с вышестоящими характеристиками, наиболее подходящие МК: ATmega162, ATmega164P, ATmega164PA, ATmega16A. У МК ATmega164PA оказался самый низкий то потребления (плюс один UART), у ATmega16A ток чуть выше, но цена ниже (19 грн. против 28 грн.).

По критерию наилучшей цены и незанятой периферии был выбран ATmega16A (таблица 7.3).

 

Таблица 7.3 - основные технические характеристики ATmega16A

F, МГцот 0 до 16 Flash, кБ16 RAM, кБ1 EEPROM, кБ0.5 I/O (макс.), шт.32 8-бит, шт216-бит, шт1 Каналов ШИМ, шт4 RTCДа UART, шт1 SPI, шт1 I">ЯдроAVR F, МГцот 0 до 16 Flash, кБ16 RAM, кБ1 EEPROM, кБ0.5 I/O (макс.), шт.32 8-бит, шт216-бит, шт1 Каналов ШИМ, шт4 RTCДа UART, шт1 SPI, шт1 I2C,шт1 Разрядов АЦП, бит10 Каналов АЦП, шт8 Быстродействие АЦП, kSPS15 Аналоговый компаратор, шт2 VCC, Вот 2.7 до 5.5 ICC, мА7 TA,Cот -40 до 85 КорпусDIP-40 MLF (VQFN) 44 TQFP-44

Окончательный вид микропроцессорной сборки приведен на чертеже 2010.М52.08.04.

 

 

8 РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ СИСТЕМЫ

 

.1 Подпрограмма перевода единиц измерения

 

Кратко ознакомимся с теорией. Основной задачей газового анализа является определение вида газов, присутствующих в многокомпонентной газовой смеси, и значений их содержаний, т. е. нахождение спектра содержаний.

На рисунке 8.1 по оси абсцисс отложены номера i соответствующих компонентов газовой смеси, по оси ординат - содержания Хi этих компонентов. Содержания компонентов газовой смеси могут выражаться различными физическими величинами.

 

Рисунок 8.1 - Спектр содержаний многокомпонентной газовой смеси

 

Наиболее распространенными из них являются: массовая концентрация, массовая доля, объемная доля.

При необходимости можно переходить от одних единиц к другим, воспользовавшись известными формулами. Массовая концентрация ? может быть пересчитана в объемную долю ? и обратно по формулам: