РадиоКот :: Индикатор нитратов на ATmega32
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Измерительная техника >

Теги статьи: Добавить тег

Индикатор нитратов на ATmega32

Автор: SSMix
Опубликовано 27.08.2012
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2012!"

           В статье описан простой цифровой индикатор нитратов, выполненный на микроконтроллере ATmega32 и дисплее от сотового телефона Nokia3310. По сравнению с серийно выпускаемым измерителем нитратов ”СОЭКС” разработанный прибор выводит результаты измерений не в мг/кг, а в единицах проводимости (мкСм). Результаты измерений по каждому продукту заносятся в энергонезависимую память микроконтроллера. После накопления статистики по результатам замеров строится гистограмма, по которой и оценивается содержание нитратов в каждом конкретном случае.

          Как-то после просмотра по телевизору в новостях сюжета о проверке таможенниками яблок из Польши при помощи портативного измерителя нитратов возникло желание заиметь себе такой же приборчик, тем более, что в проверенных фруктах содержание нитратов превысило допустимые нормы. С виду увиденный измеритель напоминал сотовый телефон с цветным дисплеем и щупом, которым “тыкали” в проверяемый продукт. Поиск в Интернете похожего измерителя принес некоторое разочарование. Этим прибором оказался “СОЭКС” (см. рис.1) с явно завышенной ценой – как у приличного мобильного телефона. Поэтому возник вполне закономерный вопрос: какой же принцип измерения заложен в ”СОЭКСе” за такие деньги? Быть может в нём использованы дорогие ионоселективные электроды?



Рисунок 1

 

           Просмотрев в Интернете с десяток разных форумов, было выяснено, что данный прибор представляет из себя кондуктометр, т.е. измеритель электропроводности. Никаких ионоселективных электродов в нём нет. Разработчики прибора, измеряя проводимость овощей и фруктов, пришли к заключению, что отношение количества нитрат-ионов к общему количеству ионов имеет постоянную пропорцию. С увеличением нитратов увеличивается содержание и других ионов, с уменьшением – уменьшается. Но в среднем эта пропорция примерно постоянна и для каждого овоща или фрукта она своя. Основываясь на данном принципе, и был разработан “СОЭКС” – прибор, который просто измеряет электропроводность. Но с учётом коэффициентов для разных овощей, внесенных в память прибора, он показывает количество нитратов. Ему не нужны нитратоселективные электроды, потому что он рассчитан лишь на овощи, фрукты и сырое мясо. Если проводимость низкая, то в продукте мало всех ионов, в том числе и нитратов. Поэтому для бытового применения он вполне себя оправдывает, чего не скажешь о явно завышенной цене, хотя разработчикам следует отдать должное за проделанную огромную работу по сопоставлению содержания нитратов в каждом продукте (а их больше 30) его проводимости.

           Из радиолюбительских разработок подобного направления был найден лишь индикатор нитратов Колесника А.С. [1]. Прибор этот очень простой, состоит из одного элемента питания 1,5В, нескольких резисторов, щупов и стрелочного индикатора от портативного магнитофона. По принципу действия – это фактически измеритель сопротивления. Несмотря на свою простоту и дешевизну, этот индикатор, на мой взгляд, имеет несколько существенных недостатков. Во-первых, измерение сопротивления происходит на постоянном токе, вызывая процесс электролиза в проверяемом продукте. Мало того, что новые вещества, образующиеся в процессе электролиза, искажают результат измерения, так ещё эти вещества могут попасть в организм после употребления проверенного продукта!!! Да и сами электроды щупа, выполненные из стальных швейных иголок, будут подвергаться коррозии в процессе электролиза. Второй недостаток данного индикатора нитратов заключается в необходимости ручного накопления статистики результатов измерений по каждому проверяемому типу продукта, после чего полученная таблица становится неотъемлемой частью индикатора, т.е. её необходимо будет всегда держать под рукой, и возможно, время от времени редактировать, добавляя новые продукты. В-третьих, шкала стрелочного прибора как измерителя сопротивлений нелинейная. Какая характеристика шкалы получается при оценке концентрации нитратов – не понятно. Так что оценить, во сколько раз содержание нитратов в одном продукте больше, чем в другом, затруднительно.

           Поэтому у автора и возникло желание разработать собственный недорогой индикатор нитратов на доступной элементной базе, свободный от вышеуказанных недостатков. Измерение должно проводиться на переменном токе, показания выводиться непосредственно в единицах проводимости (См), а статистика проведенных измерений по каждому виду продукта должна храниться в памяти прибора.

           В результате получился простой индикатор нитратов, внешний вид которого показан на рис.2, со следующими характеристиками:

- пределы измерения проводимости, мкСм............................15,3÷3846;

- индикация......................................................................графический ЖКИ (48x84);

- число продуктов в памяти.................................................30+6 пользовательских;

- таймер выключения..........................................................1, 2, 3, 5 мин, Выкл.;

- таймер подсветки.............................................................10,15,20,30,45,60 сек, Выкл.;

- напряжение питания, В.....................................................3,0÷4,2 (Li-Ion аккумулятор);

- потребляемый ток без подсветки, мА...................................2,4;

- потребляемый ток с максимальной яркостью подсветки, мА....14;

- звуковое сопровождение нажатия кнопок............................отключаемое;

- габаритные размеры, мм.....................................................90х50х16;

- вес вместе с аккумулятором, г...........................................65.

           Аналогично “СОЭКСу” в разработанном приборе предусмотрена проверка следующих продуктов:

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

           Дополнительно предусмотрено 6 пользовательских продуктов с возможностью ввода названия каждого продукта из 8 символов.

 

Рисунок 2

 

           Принципиальная электрическая схема прибора показана на рис.3.

 

Рисунок 3

           Питание схемы осуществляется от литиевого аккумулятора GB1 через ключ на транзисторах VT4, VT5 и стабилизатор +3В DA1 TPS76330. При нажатии кнопки включения SB1 открывается транзистор VT4 и напряжение питания через DA1 поступает на микроконтроллер DD3 ATmega32A, который выставляет лог.1 на линии PA2. Открывшийся транзистор VT5 удерживает VT4 в открытом состоянии после отпускания кнопки SB1. Эта же кнопка через диод VD4 подключена к линии PB2 МК, сконфигурированной как вход с подтягивающим резистором. При отжатой кнопке SB1 на линии PB2 МК будет присутствовать лог.1, а при нажатии кнопки SB1 – лог.0, служащий сигналом о необходимости выключения питания. МК снимает отпирающее транзистор VT5 напряжение с линии PA2, после чего VT5 закрывается. После отпускания кнопки SB1 закрывается и VT4, полностью обесточивая схему.

           Для зарядки аккумулятора используется мини-USB разъём X1, ключи на VT2, VT3, гасящий резистор R7 и датчик D1, VT1 присутствия напряжения на контактах 1-5 X1. При наличии напряжения зарядки +5В открывается D1, VT1, и на линии PB1 МК, сконфигурированной как вход с подтягивающим резистором, появляется лог 0. В свою очередь МК выставляет лог.1 на линии PB0, открывая ключи VT2, VT3. Ток зарядки не стабилизирован, его максимальное значение определяется в основном сопротивлением резистора R7 и при его сопротивлении 10 Ом не превышает 130 мА при разряженном аккумуляторе. Контроль напряжения зарядки осуществляется МК по линии PA4 через делитель R25, R26. После достижения напряжения на аккумуляторе +4.15 В зарядка прекращается, МК снимает управляющие напряжения с ключей VT2…VT5 и прибор выключается. Зарядка возможна только во включенном состоянии прибора. Это небольшая плата за простоту схемы и отсутствие отдельных специализированных микросхем для зарядки литиевых аккумуляторов.

           Во время работы прибора напряжение аккумулятора периодически измеряется по линии PA4 МК через делитель R25, R26. Для защиты аккумулятора от глубокой разрядки при снижении напряжения ниже 3,0 В питание прибора автоматически выключается, если была выключена подсветка. В противном случае производится последовательное уменьшение яркости подсветки с измерением напряжения аккумулятора после каждого шага.

           МК DD3 тактируется от внутреннего RC-генератора частотой 2 МГц. Для формирования напряжения переменного тока для проверки продуктов использован таймер-счётчик 0 МК. На линии PB3 МК формируется меандр с частотой 7,8125 кГц и через R11 подаётся на управляющие входы S микросхем DD1, DD2 SN74LVC1G3157. Это достаточно мощные  (ток коммутации до 100 мА) быстродействующие ключи, выполненные в малогабаритном корпусе SOT-23-6 и имеющие типовое сопротивление открытого канала 6 Ом. При низком уровне логического сигнала на управляющем выводе “S” вывод “A” микросхемы соединяется с выводом “B1”, а при высоком – с выводом “B2”. Микросхема DD1 использована в качестве повторителя напряжения. С её вывода “A” прямоугольные импульсы частотой 7,8125 кГц через разделительный конденсатор C2, отсекающий постоянную составляющую, поступают на разъём X2, предназначенный для подключения щупов. Сопротивление проверяемого продукта является верхним плечом делителя, сопротивление резистора R1 -  нижним. Импульсы с R1 через разделительный конденсатор C1 поступают на синхронный детектор, выполненный на коммутаторе DD2. С нагрузки синхронного детектора R10 выпрямленное напряжение через фильтр C6, R13, C9 поступает на вход АЦП МК (линия PA2). В качестве источника опорного напряжения для АЦП использован встроенный в МК ИОН на 2,56В. Вычисление проводимости проверяемого продукта осуществляется программной обработкой измеренного напряжения.

           Графический ЖКИ H1 от дисплея Nokia-3310 подключен к линиям аппаратного интерфейса SPI МК PB5(MOSI), PB6(MISO), PB7(SCK), а также к линиям PD4(CE) и PD5(Reset). Питается ЖКИ напряжением +3В через резистор R19. На элементах R27, R28, DA3 выполнен ограничитель напряжения на +3,3В. Он препятствует поступлению повышенного напряжения питания на ЖКИ при подаче напряжения +5В от программатора в режиме внутрисхемного программирования МК через  разъём X3. Резисторы R17, R18 совместно с внутренними диодами ЖКИ также выполняют защитную функцию линий SCK, SDIN в этом режиме. Использование обычного стабилитрона вместо регулируемого DA3 привело бы к увеличению потребляемого тока в рабочем режиме, т.к. при напряжении +3В через обычный стабилитрон на 3,3В уже будет протекать некоторый ток.

           Для подсветки ЖКИ использованы четыре отдельных белых светодиода HL1…HL4, т.к. встроенной подсветки в применённом ЖКИ не предусмотрено. Для регулировки и стабилизации тока подсветки применён стабилизатор тока, управляемый напряжением. Он выполнен на элементах R21, R23, R24, DA2, VT6. Управляющее напряжение снимается с линии PD7 МК, сконфигурированной как выход ШИМ таймера-счётчика 2, и через фильтр R20, C16 поступает на управляющий вывод регулируемого стабилитрона DA2 TL431A. Ток стабилизации Iст вычисляется следующим образом: Iст=(Uупр-Uref)/R21, где Uупр – напряжение на управляющем выводе DA2, Uref=2,495В  - напряжение внутреннего ИОН TL431A, R21=10 Ом. Таким образом, Iст=(Uупр-2,495)/10, А. Питание на стабилизатор тока подается непосредственно от аккумулятора через ключ VT4, т.к. падение напряжения на белых светодиодах превышает 3 В.

           Печатная плата прибора выполнена из одностороннего фольгированного стеклотекстолита размерами 82х45мм. Плата разрабатывалась под стандартный пластмассовый корпус G430 (Gainta) размерами 90х50х16мм. Вид печатной платы в корпусе со стороны установки выводных элементов показан на рис.4.

 

Рисунок 4

           Вид платы со стороны печатных проводников и SMD-элементов показан на рис.5.

 

Рисунок 5

           Детали и возможная замена.

           Полярные конденсаторы C2, C4, C7, C11, C15 применены танталовые SMD типоразмера A. Остальные конденсаторы - керамические SMD типоразмера 0805.

           Все резисторы также в SMD исполнении. R7 – типоразмера 2512, R11, R13 – 1206, остальные резисторы – типоразмера 0805. Резистор R1 желательно использовать с допуском ±0,5%.

           Дроссели L1…L3 – SMD типоразмера 0805.

           Стабилитрон VD1 - BZV55-C4V7 можно заменить аналогичным на напряжение 4,7В в SMD корпусе SOD-80.

           Защитный стабилитрон VD2 BZV85-C5V6 можно заменить аналогичным одноваттным стабилитроном на напряжение 5,6 В в корпусе DO-41.

           Транзистор VT1 можно использовать любой из серии BC846…BC848.

           Транзисторы VT3, VT5 2N7002 можно заменить на BSS138. В крайнем случае можно использовать биполярные из серии BC846…BC848, увеличив сопротивление резисторов R9, R15 до 22…100 кОм. Но в этом случае несколько увеличится потребляемый устройством ток.

           Транзистор VT4 IRLML6401 можно заменить на IRLML6402, правда последний имеет большее сопротивление открытого канала сток-исток.

           Транзистор VT6 BC807-40 можно заменить на BC856…BC858.

           Микросхему линейного стабилизатора DA1 TPS76330 можно заменить аналогичным стабилизатором на 3 В из серии  Low-Dropout в корпусе SOT-23-5, например MIC5219-3.0. В последнем случае на плате необходимо установить конденсатор C13 0805 на 470 пФ.

           Микросхемы DA2, DA3 можно использовать из серии TL431 в корпусе SOT-23-3. Буквенный индекс после названия TL431 не критичен.

           Микроконтроллер DD3 ATmega32A-AU можно применить из устаревшей серии ATmega32, ATmega32L в корпусе TQFP-44. В этом случае несколько возрастёт потребляемый прибором ток.

           Графический индикатор H1 - LPH-7779-H от сотового телефона Nokia 3310 с разрешением 84х48 пикселей. В программе МК предусмотрено использование как оригинального ЖКИ, так и китайского производства.

           Для подсветки индикатора использовано 4 белых ярких SMD-светодиода типоразмера 0805. Характеристики приобретённых светодиодов, к сожалению, остались не известны.

           В качестве BA1 использован пьезоизлучатель FML-20T. Его можно заменить на аналогичный диаметром 20 мм.

           Предохранитель FU1 – самовосстанавливающийся выводной MFR-025, 60V. Можно использовать аналогичный на ток 0,1…0,25 А.

           Кнопки тактовые SB1…SB5 – 4-х выводные размерами 6х6х7,5мм.

           Для подключения щупов использован разъём X2 CKX-3.5-05 – под стандартный аудио штекер, 3,5 мм, стерео.

           В качестве разъёма для программирования МК X3 использована вилка на плату угловая WSR-6 с шагом 2мм.

           Аналогичная прямая вилка на 2 контакта использована для подключения аккумулятора. Запаивается со стороны печати.

           Аккумулятор GB1 - фирмы TDT ёмкостью 380  мА·ч с габаритными размерами 36,5х39х4 мм, используемый в MP3-плеерах, или аналогичный с подходящими габаритами.

          
           Изготовление.

           Печатная плата изготовлена по лазерно-утюжной технологии. Под SMD-светодиоды для подсветки дисплея просверлены 4 отверстия диаметром 1,7 мм. Сами светодиоды устанавливаются со стороны печатных проводников кристаллом в просверленные отверстия. Для удобства сборки SMD-элементы устанавливаются в первую очередь, выводные – в заключительной стадии сборки.

           Дисплей перед установкой немного дорабатывается – удаляются лишняя пластмасса по контуру, как показано на рис.4, а к выводам аккуратно припаиваются тонкие проводники МГТФ-0,1 и распаиваются в соответствующие точки платы. Крепится индикатор к плате при помощи небольших винтов-саморезов или, в крайнем случае, луженой проволоки.

           Пьезоизлучатель подпаивается к контактным площадкам платы при помощи тонких проводов МГТФ-0,1 и крепится двухсторонним скотчем над микроконтроллером.

           В корпусе прибора прорезаются отверстия под дисплей, кнопки и разъёмы. На принтере (лучше цветном) распечатывается наклейка и ламинируется с лицевой стороны прозрачным скотчем,  после чего наклеивается при помощи двухстороннего скотча на переднюю крышку корпуса. Распечатанные кнопки на наклейке должны совпасть с толкателями тактовых кнопок. Отдельные колпачки для кнопок не требуются, нажатие производится через наклейку.

           Аккумулятор прикрепляется к внутренней поверхности корпуса прибора при помощи двухстороннего скотча.

           Фото собранной платы со стороны дисплея показан на рис.6, а со стороны печатных проводников – на рис.7.

 

Рисунок 6

 

Рисунок 7

 

           Для изготовления щупов использован стерео аудиоштеккер 3,5 мм с пластмассовым корпусом и две стальные швейные иголки диаметром 0,6 мм. Для жёсткости конструкции иголки запаяны на небольшой фольгированной плате диаметром 6,5 мм, в которой просверлены два отверстия ø0,6 мм с расстоянием 3 мм и прорезана полоска фольги между ними.  Иголки должны быть параллельны с расстоянием между ними 3 мм. Одна из иголок припаивается к центральному контакту штекера, вторая – к общему. Пластмассовый корпус штекера обрезается до получения рабочей длины иголок 12-13 мм. Внешний вид конструкции щупов со снятым корпусом показан на рис.8, а вид в сборе – на рис.9.

 

Рисунок 8

 

 

Рисунок 9

 

            Для защиты щупов во время транспортировки и хранения на выступ пластмассовой части разъёма надевается подходящий по размеру колпачок от авторучки. Подобная конструкция щупов использована в [1].

           Программа для МК написана на языке Си в среде WinAVR-20060125.

           Программирование микроконтроллера осуществлялось при помощи программатора PonyProg, к которому изготовлен переходник с ответной частью разъёма WSR-6. В зависимости от применённого индикатора используется файл Ind_nitr.hex для оригинального или файл Ind_nitr_China.hex для китайского ЖКИ. Подключение аккумулятора для программирования МК не требуется. После программирования МК необходимо установить следующие фьюзы:

CKSEL3=CKSEL2=CKSEL0=0 (Внутр.RC-генератор 2 МГц),

CKOPT=1,

BODEN=SUT1=SUT0=0 (Схема BOD Ures<2,7В),

EESAVE=0 (запрет стирания EEPROM программатором).

Для PonyProg "0" означает, что галочки установлены.

 

           Включение и настройка.

           Первое включение желательно производить, подав напряжение  питания от регулируемого источника со встроенной защитой по току. Нажав на кнопку включения и медленно повышая питающее напряжение от 0 до 4,2 В, необходимо контролировать потребляемый устройством ток, который не должен превышать 15 мА. В противном случае необходимо найти и устранить причину повышенного потребления.

           Также необходимо проконтролировать напряжение +3В на выходе стабилизатора DA1. Если всё в норме, можно подключать аккумулятор и приступать к настройке.

           Если использован китайский дисплей, при первом включении необходимо в первую очередь настроить контрастность ЖКИ. Расположение пунктов меню приведено в таблице 1.

Таблица 1

Измерение

ПРОДУКТ:

Абрикос

Арбуз

Банан

Баклажан

…………..

Хурма

Яблоко

Польз.1 *

Польз.2 *

Польз.3 *

Польз.4 *

Польз.5 *

Польз.6 *

ЗАМЕР

Гистограмма

Очистить статистику

Редактир. пользов. названий

 

 

 

 

 

Настройки

НАСТРОЙКИ:

Т подсв.

Яркость

Таймер

Звук

Контраст

 

10, 15, 20, 30, 45, 60 сек, Выкл.

||||······

1, 2, 3, 5 мин, Выкл.

Вкл. / Выкл.

0…100

КАЛИБРОВКА:

Uакк, В

Rx, Ом

Нормы ПДК

Абрикос  60

Арбуз       60

Банан     200

…………..

Хурма      60

Яблоко     60

Прочее    200


           После нажатия кнопки включения питания раздаётся звуковой сигнал и на экране на 1,5 секунды выводится заставка, показанная на рис.10.

 

Рисунок 10

           Если продолжать удерживать кнопку включения, заставка будет выводиться, пока кнопка не будет отпущена. После этого появится основное меню, показанное на рис.11.

 

Рисунок 11

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

        Перемещение между пунктами основного меню осуществляется кнопками “▲”, “▼”. Вход в пункт меню – кнопкой “►”. На экране выводятся подсказки о возможных вариантах навигации в виде треугольников-указателей.

        Для регулировки контрастности ЖКИ необходимо войти в пункт “Настройки” и выбрать пункт “Контраст”, как показано на рис.12.

 

Рисунок 12

        После нажатия кнопки “►” пустой треугольник-подсказка в конце строки “Контраст” изменится на две вертикальных стрелки, как показано на рис.13.

 

Рисунок 13

          После этого можно изменять контрастность изображения кнопками “▲” и “▼” (только для китайского дисплея).

          Выход из пункта регулировки контрастности – кнопкой “◄”.

          При желании также можно настроить таймер выключения (время до отключения питания после последнего отпускания нажатой кнопки), яркость подсветки и время включенной подсветки (после последнего отпускания нажатой кнопки).

          После этого необходимо провести калибровку измерителей напряжения батареи и проводимости. Для этого в меню “НАСТРОЙКИ”кнопкой “▼” нужно сместить курсор ► в самый низ экрана и удерживать нажатой кнопку не менее 1,5 сек. На экране выведется меню “КАЛИБРОВКА”, как показано на рис.14.

 

Рисунок 14

          После нажатия кнопки “►” и входа в режим калибровки измерителя напряжения аккумулятора, как показано на рис.15, необходимо кнопками “▲” и “▼” выставить такие же показания Uакк, как и напряжение на аккумуляторе, измеряемое цифровым вольтметром.

 

Рисунок 15

        После этого, подключив к щупам устройства резистор с сопротивлением около 1 кОм, необходимо выставить в строке Rx его известное значение. Лучше использовать прецизионный резистор. В нижней сроке меню измеряемое сопротивление автоматически пересчитывается в проводимость Gx.

Выход из меню “КАЛИБРОВКА” осуществляется кнопкой “▲”, а из меню “НАСТРОЙКИ” – кнопкой “◄”.

        На этом настройку индикатора нитратов можно считать законченной.

 

          Проведение замеров.

        Для проведения замера необходимо в основном меню (рис.11) войти в пункт “Измерение”, после чего появится мню выбора продукта, как показано на рис.16.

 

Рисунок 16

          Выбор требуемого продукта производится кнопками “▲” и “▼”, вход в режим замера – кнопкой “►”. На рис.17 показан скриншот дисплея с отсутствующей статистикой замеров.

 

Рисунок 17

 

          Для проведения замера необходимо воткнуть щупы прибора на всю длину в проверяемый продукт и кратковременно нажать кнопку “►”. Изображение на экране во время замера примет вид, показанный на рис.18.

 

Рисунок 18

          После успешного завершения измерения в третьей строке экрана появится пункт “Сохранить”, как показано на рис.19.

 

Рисунок 19

          В противном случае, если измеренная проводимость выходит за допустимые пределы, вместо измеренного значения проводимости выведутся знаки вопроса, а пункт “Сохранить” будет недоступен. Если не отпускать кнопку “►” после запуска процесса измерения, то на экране будет выводиться измеряемая проводимость в реальном времени. После отпускания кнопки “►” показания будут зафиксированы.

          Для сохранения замера необходимо переместить курсор на строку ниже, как показано на рис.20, и нажать на кнопку “►”.

 

Рисунок 20

          На экран выведется сообщение об успешном сохранении замера, как показано на рис.21,

 

Рисунок 21

          После этого обновятся показания максимума и минимума, а счётчик замеров увеличится на единицу, как показано на рис.22.

 

Рисунок 22

          После накопления нескольких результатов измерений после названия продукта будет выведено процентное соотношение измеренной проводимости по отношению к разности (Макс-Мин), как это показано на рис.23.

 

Рисунок 23

            Для просмотра статистики замеров необходимо кнопкой “▼” перейти на страницу статистики, показанную на рис.24.

 

Рисунок 24

          Символ ▲ снизу шкалы показывает текущее положение измеренной проводимости по отношению к минимуму и максимуму для выбранного продукта. Разница между измеренными максимумом и минимумом программно разбивается на 20 равных частей.  Для каждого продукта в EEPROM памяти МК зарезервировано соответственно 20 однобайтных ячеек, в которых хранится статистика замеров, а также 3 двухбайтных ячейки для хранения минимума, максимума проводимости и количества замеров. На каждый продукт приходится 26 байт памяти EEPROM, на 30 продуктов – 780 байт, а с учётом ещё 6-ти пользовательских продуктов с собственными названиями – 984 байта из доступных 1024. В каждой из 20-ти ячеек хранится не величина проводимости, а количество замеров, соответствующее диапазону проводимости для каждой разбитой части. После очередного сохранения замера обновляются соответствующие 3 двухбайтные ячейки, а также производится пересчет 20-ти ячеек массива статистики. Если измеренная величина попадает между уже имеющимися максимумом и минимумом, то просто вычисляется номер изменяемой ячейки и производится её инкремент. Если измеренная проводимость больше максимальной измеренной, то максимуму присваивается текущая измеренная величина и производится перераспределение данных во всех 20-ти ячейках. Аналогичная операция производится, если измеренная проводимость оказывается меньше минимальной измеренной, только в этом случае минимуму присваивается текущая измеренная величина. В случае, если в какой-либо ячейке происходит переполнение вследствие большого числа замеров, то производится деление значений всех ячеек на 2. На общую картину статистики это мало влияет, зато такой приём позволил обойтись лишь внутренней памятью EEPROM МК.

          Для вывода количества сохранённых замеров в каждой из 20-ти частей используется разная высота прямоугольников выводимой на экране гистограммы. Таким образом, наглядно видна статистика всех замеров по данному продукту и по положению маркера текущего замера можно судить о проводимости (количеству нитратов) проверяемого продукта по сравнению с ранее проверенными.

          При необходимости можно очистить статистику замеров для каждого продукта отдельно. Для этого нажатием кнопки “▼” необходимо перейти на следующую страницу, показанную на рис.25.

 

Рисунок 25

            После нажатия кнопки “►” появится диалоговое окно, показанное на  рис.26.

 

Рисунок 26

           Для подтверждения операции очистки необходимо нажать кнопку “▲”, после чего на короткое время выведется подтверждающее сообщение, показанное на рис.27, и на экране появится пункт меню, показанный на рис.25.

 

Рисунок 27          

            Если выбран один из пользовательских продуктов, на странице очистки дополнительно будет выведен пункт редактирования названия продукта, как показано на рис.28.

 

Рисунок 28

           После входа в пункт редактирования названия продукта появится окно, показанное на рис.29.

 

Рисунок 29

           Выбор требуемой позиции производится кнопками “◄” и “►”, изменение символа в выбранной позиции – кнопками “▲” и “▼”.

           Для общей справочной информации по аналогии с “СОЭКСом” в приборе имеется пункт меню “Нормы ПДК”, войдя в который можно посмотреть допустимые стандартом нормы предельной концентрации нитратов в мг/кг, как показано на рис.30.

 

 

Рисунок 30

          Листается список продуктов кнопками “▲” и “▼”.

          Для зарядки аккумулятора прибора необходимо при его включенном состоянии подключить внешний источник питания 5В к USB разъёму X1. В качестве зарядного устройства можно использовать ПК или ноутбук с USB разъёмом. Распайка разъёма стандартная. Сигнальные выводы не использованы. Во время зарядки значок батарейки принимает вид сетевой вилки, как показано на рис.31.


 

Рисунок 31

Если в этом режиме нажать кнопку включения/выключения, экран примет вид, показанный на рис.32.

 

Рисунок 32

          Такой же вид примет экран и после истечения времени выключения по таймеру. Для перевода прибора обратно в рабочий режим достаточно снова нажать кнопку включения/выключения. После завершения зарядки аккумулятора полностью питание прибора будет выключено автоматически.

         Проведенные автором при помощи собранного прибора замеры некоторых продуктов сведены в таблицу 2.


Таблица 2

Продукт

Измеренная проводимость, мкСм

Абрикос

Арбуз

Арбуз домашний

Банан

Груша

Капуста ранняя

Кабачок домашний

Картофель домашний

Клубника

Крыжовник домашний

Морковь ранняя

Морковь поздняя

Огурец

Огурец домашний

Помидор

Помидор домашний

Свекла

Редис

Черешня домашняя

Яблоко

Яблоко домашнее

386,0…840,3

605,3…1416,4

605,3…800,0

347,5…372,3

177,5…352,6

493,6…507,1

617,3…718,9

611,2…874,9

113,7…1314,1

884,2…1078,3

414,6…534,8

357,5…718,3

364,6…2049,5

364,6…450,0

350,2…1094,2

350,2…500,0

381,8…677,5

371,4…2481,2

286,1…470,5

159,4…324,7

159,4…190,0

 

          Как видно из таблицы 2, для некоторых домашних и покупных продуктов разница между минимальной и максимальной проводимостью составляет до 6,7 раз. Абсолютными “рекордсменами” оказались покупные огурцы и редис. От них немного отстают клубника, помидоры и арбузы.

          Литература.

        1) Индикатор нитратов. Е.С.Колесник. Конструктор №1-2001, стр.5, 6.


 


Файлы:
Исходник, прошивка, файл симуляции в Proteus
Наклейка в Splan 7
Чертёж платы в Layout


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

50 0 1
19 1 0