Здравствуйте, уважаемое сообщество! Позвольте отвлечь от высокого и предложить Вам нижеследующее.
"CLR2313" - измеритель параметров ёмкостей, индуктивностей и сопротивлений на ATtiny2313(AT90S2313).
Измерение параметров пассивных компонентов - часто встречающаяся в любительской практике задача. При разработке конструкции преследовалась цель создания прибора по своим параметрам не уступающего аналогичным любительским конструкциям.
Конечно, аналогичные любительские разработки существуют и среди них есть весьма и весьма серьезные. Но, как правило, они довольно сложны для повторения, требуют дорогостоящих компонентов и кропотливой настройки. Хотелось создать максимально бюджетный прибор с применением широко распространенных деталей и, что самое главное, без применения опорных элементов, максимально близких к кратным единицам измерения.
В основу работы схемы заложен "генераторный" метод измерения. В качестве генератора используется триггер Шмитта, позволяющий обеспечить работоспособность прибора во всем диапазоне измерений.
Из схемы, представленной на Рис.1, видно, что для измерения C и LR используются отдельные генераторы, коммутируемые контроллером в зависимости от требуемого режима работы. Выходы генераторов через сборку поступают на вход ICP контроллера ATtiny2313(AT90S2313), тактируемого от кварцевого резонатора.
Параметры прибора
Диапазоны измерения
C 0.0 pF ... >9999 чF
L 0.0 чH ... ~9999 мH
R 0.0 Ом ... >9999 кОм
разбиты на автоматически выбираемые диапазоны с индикацией размерности в виде указателей на индикаторе TIC8148(TIC55).
Питание-аккумулятор (батарейка) 3.6В со стабилизатором 3В. Ток потребления в рабочем режиме < 4,5мА, в дежурном режиме < 2мкА.
Время измерения примерно ~0.3 сек для всех диапазонов, кроме старшего.
Переключение каналов измерения осуществляется кнопкой "РЕЖИМ".
Компенсация паразитных параметров входных щупов осуществляется кнопкой ">0<". Также эта кнопка участвует при калибровке схемы для определения нулевой точки шкалы.
Включение/выключение осуществляется кнопкой "ON/OFF".
Выражение для расчета параметров емкостей и сопротивлений
Cx=Co*(nx*No/no*Nx)-Co= Co*[(nx*No/no*Nx)-1] Rx=Ro*(nx*No/no*Nx)-Ro= Ro*[(nx*No/no*Nx)-1]
Выражение для расчета параметров индуктивностей
Lx=Lo*(nx*No/no*Nx)^2-Lo=Lo*[(nx*No/no*Nx)^2-1]
Во всех выражениях принято
Cx(Lx,Rx)- значение измеряемого параметра
Co(Lo,Ro)- значение опорного элемента при измерении
No-целое число периодов генерации с подключенными опорными элементами за время измерения
Nx-целое число периодов генерации с подключенным измеряемым компонентом за время измерения
no-целое число периодов Fo за время прохождения No
Nx-целое число периодов Fo за время прохождения Nx
Fo-частота тактирования контроллера.
Калибровка прибора ничем не отличается от типовой. Сначала находится нулевая точка, а затем находится масштабный множитель, который будет определять наклон шкалы.
На рис.2 сделана попытка показать, как это делается. При первоначальном включении схемы показания будут довольно не предсказуемы, что отражено линиями желтого и синего цветов. Линия красного цвета показывает правильную шкалу прибора. Если теперь нажать кнопку ">0<" линии желтого и синего цветов переместятся таким образом, что будут проходить через начало координат. Физически это будет означать, что если к входам канала "С" ничего не подключено или входы "L"("R") замкнуты накоротко, на индикаторе будет "0.0". Если теперь подключить принятый за эталон элемент и считать показания, то можно определить отклонение наклона шкалы от требуемого и скорректировать его. К сожалению, последнюю процедуру в этой схеме придется сделать вручную, т.к. свободной памяти программ не осталось, а переходить на более "толстый" контроллер не хотелось.
Процедуру калибровки лучше показать на конкретном примере.
Допустим, имеется эталонный конденсатор емкостью 669pF
-после программирования контроллера (FLASH, EEPROM, FUSE-бит) и отключения программатора, чтобы не было дополнительных нагрузок, дать поработать схеме минут 10. В это время можно проверить реакцию на органы управления и индикацию
-кнопкой "РЕЖИМ" выбираем канал "С"
-убеждаемся, что к входным гнездам канала "С" ничего не подключено
-нажимаем кнопку ">0<". После появления индикации "0.0", кнопку отпускаем
-к входным гнездам канала "С" подключаем эталонный конденсатор
-показания записываем. В моем случае было "531.0"
-находим поправочный коэффициент 669:531=1,2598870056497175141242937853107
-открываем "исходник" и видим, что в EEPROM по метке COEFF_Co записано 000102FA==66'298
-умножаем 66'298*1,2598870056497175141242937853107=83'528==0001 4648
-подключаем программатор, считываем EEPROM
-полученное, при нажатии кнопки ">0<", значение E_CONST_C переносим в "исходник". Также переносим полученное значение COEFF_Co=0001 4648
-компилируем "исходник"
-записываем полученные значения .hex и .eep в контроллер
-проверяем.
Калибровка каналов L и R проводится аналогично, но перед нажатием кнопки ">0<" для получения значения нулевой точки входные гнезда должны быть замкнуты.
Наверняка, придется повторить эту процедуру для получения более точного результата.
Элементы
Опорная индуктивность намотана на ферритовом кольце от старой "материнки" проводом 0,2 плотно виток к витку. Затем промазана клеем БФ2 и просушена.
Какая при этом получилась индуктивность не важно. Важна только стабильность. Кстати, это относится ко всем опорным элементам схемы, поэтому в качестве их применены C1,C2 К31-10, R1,R2 C2-29.
Допускаемые замены
кварцевый резонатор 6...10МГц
опорные конденсаторы стеклянные, стеклоэмалевые, слюдяные в диапазоне 5'000...10'000pF
опорные резисторы С2-14, С2-29 в диапазоне 1...3кОм.
На схеме сделана попытка отобразить конструктивные особенности, а именно
-раздельные цепи питания с целью исключить прохождение токов контроллера, индикатора и органов управления через цепи измерительных генераторов
-для повышения стабильности частоты генерации корпус кварцевого резонатора соединен с 10 лапой контроллера, а "типовые", в таких схемах, конденсаторы отсутствуют.
Также, сделана попытка уйти от всяких дополнительных разъёмов, шлейфов. Вся конструкция собрана на общей печатной плате. Правда, без слёз на неё не взглянешь. Это мой первый опыт использования ЛУТ.
Программа.
Написана на ассемблере AVR STUDIO 3.21. Для отладки "подставлялся" AT90S2313, а проверка в "железе" осуществлялась на ATtiny2313. Таким образом схема должна работать и с AT90S2313.
Представленная в архиве картинка состояния FUSE-бит должна помочь правильно установить их для нормальной работы схемы.
Недостатком программы является необходимость (банально не хватает памяти программ) ручной перезаписи EEPROM при калибровке схемы и, как следствие, при переводе контроллера на тактирование от кварцевого резонатора, исключается применение простейших программаторов.
Файлы:
Печатная плата в формате SL 5.0.
Прошивка МК с исходником.
Вопросы, как обычно, складываем тут.