English | по-русски | 日本語     Печать

Измеритель емкости

(самый простой цифровой измеритель емкости на микроконтроллере AVR)


Обнаружив в интернете статью Digital Capacitance Meter, я захотел собрать этот измеритель. Однако под рукой не оказалось микроконтроллера AT90S2313 и светодиодных индикаторов с общим анодом. Зато были ATMEGA16 в DIP-корпусе и четырехразрядный семисегментный жидкокристаллический индикатор. Выводов микроконтроллера как раз хватало на то, чтобы подключить его к ЖКИ напрямую. Таким образом, измеритель упростился всего до одной микросхемы (на самом деле, есть и вторая - стабилизатор напряжения), одного транзистора, диода, горстки резисторов-конденсаторов, трех разъемов и кнопки.

Прибор получился компактный и удобный в использовании. Теперь у меня нет вопросов о том, как измерить емкость конденсатора. Особенно это важно для SMD-конденсаторов с емкостями в несколько пикофарад (и даже в доли пикофарада), которые я всегда проверяю перед тем, как в паять в какую-нибудь плату. Сейчас выпускается множество настольных и портативных измерителей, производители которых заявляют о нижнем пределе измерений емкости в 0.1 пФ и достаточной точности измерений таких малых емкостей. Однако во многих из них измерения проводятся на довольно низкой частоте (единицы килогерц). Спрашивается, можно ли получить приемлемую точность измерений в таких условиях (даже если параллельно измеряемому подключить конденсатор большей емкости)? Кроме того, в интернете можно найти довольно много клонов схемы RLC-метра на микроконтолллере и операционном усилителе (той самой, что с электромагнитным реле и с одно- или двухстрочным ЖКИ). Однако такими приборами малые емкости померить «по-человечески» не удается. В отличие от многих других, этот измеритель специально спроектирован для измерения малых значений емкости.

Что касается измерения малых индуктивностей (единицы наногенри), то я для этого с успехом использую анализатор RigExpert AA-230, который выпускает наша компания.

Фотография  измерителя емкости:




Параметры измерителя емкости

Диапазон измерения: от 1 пФ до примерно 470 мкФ.
Пределы измерения: автоматическое переключение пределов - 0...56 нФ (нижний предел) и 56 нФ ... 470 мкФ (верхний предел).
Индикация: три значащие цифры (две цифры для емкостей меньших, чем 10 пФ).
Управление: единственная кнопка для установки «нуля» и калибровки.
Калибровка: однократная, при помощи двух образцовых конденсаторов, 100 пФ и 100 нФ.


Схема

Большая часть выводов микроконтроллера подключена к ЖКИ. К некоторым из них также подключен разъем для внутрисхемного программирования микроконтроллера (ByteBlaster). Четыре вывода задействованы в схеме измерения емкости, включая входы компаратора AIN0 и AIN1, выход управления пределами измерения (при помощи транзистора) и выход выбора порогового напряжения. К единственному оставшемуся выводу микроконтроллера подключена кнопка.

Стабилизатор напряжения +5 В собран по традиционной схеме.

Индикатор - семисегментный, на 4 знака, с прямым подключением сегментов (т.е. не-мультиплексный). К сожалению, на ЖКИ не было маркировки. Такую же цоколевку и размеры (51x23 мм) имеют индикаторы многих фирм, например, AND и Varitronix.

Схема приведена ниже (на схеме не показан диод для защиты от «переполюсовки», через него рекомендуется подключить разъем питания):


(нажмите, чтобы увеличить)


Программа микроконтроллера

Поскольку ATMEGA16 - из серии «MEGA», а не из серии «tiny», особого смысла писать ассемблерную программу нет смысла. На языке Си удается сделать ее гораздо быстрей и проще, а приличный объем flash-памяти микроконтроллера позволяет пользоваться встроенной библиотекой функций с плавающей точкой при расчете емкости.

Микроконтроллер проводит измерение емкости за два шага. В первую очередь, определяется время заряда конденсатора через резистор сопротивлением 3.3 МОм (нижний предел). Если необходимое напряжение не достигнуто в течение 0.15 секунд (что соответствует емкости около 56 пФ), заряд конденсатора повторяется через резистор 3.3 кОм (верхний предел измерения).

При этом микроконтроллер сперва разряжает конденсатор через резистор сопротивлением 100 Ом, а затем заряжает его до напряжения 0.17 В. Только после этого замеряется время заряда до напряжения 2.5 В (половина напряжения питания). После этого, цикл измерения повторяется.

При выводе результата  на выводы ЖКИ подается напряжение переменной полярности (относительно его общего провода) с частотой около 78 Гц. Достаточно высокая частота полностью устраняет мерцание индикатора.

Использовался компилятор WinAVR (AVR-GCC) и программатор AVRISP mkII. Микроконтроллер можно запрограммировать и при помощи AVReAl, но придется подобрать параметры командной строки.


Конструкция

Измеритель собран на отрезке макетной платы. Как микроконтроллер, так и ЖКИ имеют 40-выводный корпус с шагом выводов 2.54 мм и разным расстоянием между рядами. Благодаря этому можно установить их друг под другом:




При этом уменьшается размер платы и упрощается монтаж, поскольку большинство выводов соединено между собой короткими проводниками. Для того, чтобы появилась возможность использовать для этого провод без изоляции, контактные площадки между рядами выводов можно удалить:




На той же стороне платы, что и микроконтроллер и ЖКИ, размещены транзистор, разъем программирования и разъем питания. Здесь же находится разъем для подключения измеряемой емкости (отрезок панельки для микросхем) и контакты для подключения емкостей в SMD-корпусе (выполнены из изогнутых отрезков провода без изоляции). Чем меньше длина соединительных проводов в цепях измерения, тем выше стабильность показаний, особенно, для емкостей в единицы пикофарад. По этой же причине все резисторы и конденсаторы - в SMD-исполнении.

Кварцевый резонатор, микросхема стабилизатора, диод и резисторы-конденсаторы установлены на стороне монтажа:



При помощи четырех стоек плата закреплена на основании, снабженном резиновыми ножками.


Работа с измерителем емкости

Для того, чтобы определить емкость неизвестного конденсатора, нужно просто подключить его к измерителю. Предел измерений будет выбран автоматически, отображая «p» - пикофарады, «n» - нанофарады и «μ» - микрофарады. Также, будет меняться положение десятичной точки. При подключении слишком большой емкости на ЖКИ будет выведено «999μ».

Нижний и верхний пределы измерения переключаются при значении емкости около 56 нФ. При подключении такой емкости возможны незначительные скачки показаний, поскольку два разных предела измерений калибруются при помощи разных образцовых конденсаторов.


Калибровка и установка «нуля»

Если при включении питания держать кнопку нажатой, измеритель перейдет в режим калибровки. При этом на ЖКИ загорится надпись «CAL». Затем, отобразится значение «100p». При этом нужно подключить к измерителю емкость 100 пФ и нажать кнопку. Далее появится значение «100n» - нужно подключить конденсатор емкостью 100 нФ и еще раз нажать кнопку. После этого измеритель перейдет в обычный режим.

Установка «нуля» происходит при нажатии кнопки в режиме измерения (на ЖКИ отобразится значение «000»). Она необходима для того, чтобы скомпенсировать емкость монтажа (несколько пикофарад).


Файлы

Схема
Программа


Денис Нечитайлов, UU9JDR
05.02.2008


P.S. от 7.11.2009:

Ссылки по теме:
Цифровой измеритель ёмкости - японская статья, переведенная на русский язык
Цифровой измеритель ёмкости elm-chan`а - обсуждение схемы
Измеритель ёмкости - конструкция на PIC-контроллере
Измеритель емкости и частотомер на AVR микроконтроллере


P.S. от 18.11.2009:

Меня не раз спрашивали, как переделеть этот измеритель для подключения к светодиодным индикаторам. Отвечаю: Светодиодные индикаторы, как и ЖКИ с контроллером (а также черно-белые ЖКИ от всяческих телефонов) не обеспечивают того качества «картинки», которое меня устроило бы. Поэтому предлагаю не мучаться, а сходить на ближайший радиобазар или в ближайшую фирму, торгующую электронными компонентами, и купить такой же индикатор, какой я поставил в свой измеритель.


P.S. от 29.03.2010:

Ссылки по теме:
Измеритель емкости конденсаторов от 1пФ до 470 мкФ - статья на сайте Easy Electronics с печатной платой и расстановкой фьюзов для программатора AVRDUDE (игнорируем замечание узколобых юзеров о якобы невозможности компенсации емкости разъема а также очередное предложение поставить другой индикатор).
На этой же странице - схема измерителя емкости с увеличенным пределом измерений, программа. Другой ЖКИ.



Комментарии посетителей

Комментариев: 47. Страница 1 из 1. Добавить новый.

Ваге Альфредович Арак   Армения

Добавлено: 01:12, 19.11.2012

Имею цифровой прибор для измерения емкости, достаточно добротной, диапазоном измерении от долей пикофарада до милифарадов. Встала задача измерения индуктивности. Подумал, что последовательно с конденсатором подключая индуктивность, показание прибора должно меняться. Так и случилось. Как из этой разницы показании рассчитать идуктивность?

ivandevel   Ekaterinburg

Добавлено: 16:45, 23.09.2011

Здравствуйте! Можно ли в схеме применить стабилизированное питание 3.3В? Нужно ли для этого менять какие-либо номиналы?

Комментарий администратора: Попробуйте - может быть, получится.



Женя   Шатура

Добавлено: 12:09, 29.03.2011

Ребят подскажите пожалуйста чайнику, как в схеме работает транзистор, и для чего нужны резисторы R2,3,5. Заранее спасибо.

Женя   Шатура

Добавлено: 12:09, 29.03.2011

Ребят подскажите пожалуйста чайнику, как в схеме работает транзистор, и для чего нужны резисторы R2,3,5. Заранее спасибо.

Жека   Москва

Добавлено: 09:58, 21.03.2011

И почему у него 3 ноги?

Комментарий администратора: Средняя нога - корпус.



Жека   Москва

Добавлено: 05:03, 21.03.2011

Вопрос такой: можно ли кварц 10 МГц заменить на другой номинал (ну нету ровно 10)? В прошивке что-нибудь надо править?

Комментарий администратора: Можно - заменяйте. В прошивке ничего менять не надо.



andrej   latvija

Добавлено: 14:14, 23.04.2010

собрал данный девайс и столкнулся с такой бедой. не горят сегменты g3,f3,a3,b3. короче-половина цифры. прошивал несколько раз. пробовал сегменты к другим выходам--горят нормально. как будто нет выхода с меги. что бы это могло быть??? мегу другую тоже пробовал.результат тотже. может с прошивкой что? подскажите чайнику,что дальше делать?

Комментарий администратора: Проверьте фьюзы - возможно, они запрограммированы так, что используются какой-то другой функцией микроконтроллера.



PRC   Moscow

Добавлено: 06:39, 2.04.2010

Печатная плата под оригинальную версию. Все на сайте Easy Electronics

DEST   Беларусь

Добавлено: 02:47, 30.03.2010

Не игнорируем сообщение о установке другого индикатора. Увеличен диапазон измерений до 9999 мкф.
статья на сайте Easy Electronics

AVR   

Добавлено: 08:55, 29.03.2010

А какие еще транзисторы можно поставить? КТ361 подойдет?

Комментарий администратора: Должен подойти.



Максим   шахты

Добавлено: 09:59, 11.02.2010

Да должно, но увы, сам уже голову сломал.

Максим   шахты

Добавлено: 09:29, 11.02.2010

Проверил, так и есть, как писал выше

Комментарий администратора: Если и в программе и в схеме все в порядке - значит, должно работать. :-)



Максим   шахты

Добавлено: 09:21, 11.02.2010

контроллер рабочий из часиков вытащил, часы работали нормально, может конфигурация, у меня получилось так: SPIEN, CKOPT, EESAVE, BOOTSZ0, BOOTSZ1, SUT0 так ли это?

Комментарий администратора: Проверьте по даташиту на контроллер. Значения fuse bits должно быть C1EF, extended fuse - 03 .



Максим   Шахты

Добавлено: 03:04, 8.02.2010

Проверено неоднократно и контроллер перешивал и транзюк менял, ничего не изменилось.

Комментарий администратора: Может быть, процессор с дефектом?



максим   шахты

Добавлено: 23:21, 6.02.2010

проверено, ошибок нет

Комментарий администратора: Все просто: нужно проверить еще раз...



максим   Шахты

Добавлено: 10:25, 6.02.2010

Скажите пожалуйста в чем проблема, собрал измеритель, вроде работает, но только на малом пределе, т.е от 1 до 100пф, если ставлю 100n-470мк, то повышается потребление тока измерителем, от источника питания 100мла и на индикаторе 0000 "тускло" еле просвечиваются нолики.

Комментарий администратора: Очевидно, что ошибка в монтаже. А где же еще?



Дмитрий   Беларусь

Добавлено: 23:23, 1.02.2010

С согласия автора я переделал проект. На данном этапе сделано индикаторы 7-ми сегментные, предел увеличен в большую сторону приблизительно до 9000 мкф.

Максим   Шахты

Добавлено: 10:43, 1.02.2010

Скажите пожалуйста, как считать нумерацию разрядов, т.е если смотреть на индикатор с лицевой стороны, 1-слева или 1-справа

Комментарий администратора: Насколько я помню, первый - слева.



Иван   Украина

Добавлено: 12:16, 7.01.2010

Игорь Москва, подскажите марку используемого ЖКИ .

Максим   Шахты

Добавлено: 06:49, 28.12.2009

Конечно сложно, когда в програмировании МК, полный ноль

Комментарий администратора: Придется пересилить себя и почитать, все-таки, описание микроконтроллера.



Алексей aka CoolBassNik   Днепропетровск

Добавлено: 05:53, 27.12.2009

Респект автору. Наверное мы просто сошлись мыслями.. Авторская статья измерителя емкости 1пФ...2000мкФ и частотомера 10Гц..8000КГц на сайте mukpocxem .net .ru

Комментарий администратора: ОК, исправил ссылку.



Максим   Шахты

Добавлено: 17:51, 26.12.2009

Нет, так не пойдет, например SUTO-0,
CKSEL1-1, SUT1-0 и так далее, это для примера

Комментарий администратора: Смотрите описание микроконтроллера - там подробно описано, каким битам соответствуют определенные фьюзы. Разве это так сложно?



Игорь   Москва

Добавлено: 11:03, 20.12.2009

Прибор работает отлично! Не помешало бы добавить и измерение индуктивностей!

Комментарий администратора: Спасибо, Игорь! У Вас есть идея, как переделать этот прибор в измеритель индуктивностей? Пишите, добавим.



Максим   шахты

Добавлено: 05:24, 20.12.2009

Так чем их посмотреть, непонятки

Комментарий администратора: Текстовым редактором в файле p.bat.



максим   шахты

Добавлено: 23:20, 18.12.2009

Мужики, скиньте пожалуйста фото для лошади, конфигурацию фузов для этой схемки

Комментарий администратора: Про фото для лошади ничего не знаем, а остальное есть внутри прилагаемых файлов.



Игорь   Москва

Добавлено: 15:05, 19.11.2009

Чего то не меряет.Калибрую,нажимаю сброс,цыферки бегут и не останавливаются.

Комментарий администратора: Игорь, пока могу только предложить перепроверить монтаж...



Игорь   Москва

Добавлено: 09:37, 16.11.2009

Чего то я диод не вижу в упор!Хотя вначале написано что он там есть!

Комментарий администратора: Игорь, Вы глазастый! :-) Действительно, диод на схеме не нарисован (а на плате есть). Через диод подается питание - защита от переполюсовки.



Иван   Украина

Добавлено: 14:55, 6.11.2009

С контактами разобрался.Подскажите плиз, RST висит в воздухе.На питание подать? Напрямую,без резистора?Заранее спс.

Комментарий администратора: Иван, можно никуда не подключать.



Иван   Украина

Добавлено: 12:59, 2.11.2009

Спасибо.А почему контактов 4 и как ими пользовать?

Комментарий администратора: Соединить по два параллельно.



Иван   Украина

Добавлено: 07:23, 1.11.2009

Подскажите начинающему.Что за черный разъем на 4 контакта ниже ЖКИ и транзистора слева на фото с готовым изделием ?

Комментарий администратора: Это разъем для подключения измеряемого конденсатора.



Alewka   

Добавлено: 15:02, 29.04.2009

Если кому интересно - могу выложить фотку готового девайса с динамич. индикацией, все на SMD, транзистор заменил обычным ключем 2A, все было на односторонке без перемычек, сейчас одна добавилась изза ошибки с портами РА-РВ)

Комментарий администратора: Конечно же, интересно! :-)



Alewka   

Добавлено: 14:59, 29.04.2009

готово ) за 10 минут переделал схему и прошивку - меряет! первый проект на авр - завершен ) спасибо автору за схему :) Осталось откалибровать, под рукой нет 100р и 100н :) сейчас на 100мф показывает 400 :)

Alewka   

Добавлено: 14:32, 29.04.2009

Ай-яй-яй :) как эт я недосмотрел что это компаратор ) только начал с авр работать, вот и решил что удобнее заменить порт вывода на PB2 ) видимо проблема решится как всетаки поставлю на место )
Схема подключения очень проста - используется 8 портов А на шину + 4 порта С на управление. (что-то похожее на это radiokot(.)ru/start/mcu_fpga/avr/15/) Если интересно могу выложить переделанную схему под динамику. Доработаю только компаратор :)

Alewka   Odessa

Добавлено: 01:08, 28.04.2009

Здравствуйте! помогите пожалуста с программой. Переделал железо на 7 сегментный мультиплексный индикатор, изменил подпрограмму вывода на динамическую индикацию, и конструктивно было более удобно заменить порты PB2 -> PA3. Изменил в программе все обращения clrbit, setbit pb2 на pa3, Измеритель запускается, пишет 999U и нивкакую не хочет измерять емкости. Подскажите как можно отладить железо и софт? тестер показывает что на выводах напряжение появляется (около 1.2в). Подозреваю надо переделать таймеры, но не понимаю пока еще в программировании АВР, раньше работал на асме под х86. Спасибо!

Комментарий администратора: PB2 - один из портов компаратора (второй вход - PB3). Как бы ни было неудобно конструктивно, использовать его придется. Отлаживайте железо и софт последовательно: сперва индикацию, затем математику, в последнюю очередь - сам алгоритм измерения. Все получится! Интересно было бы посмотреть на Вашу схему подключения мультиплексного ЖКИ. Денис.



Олександр   Ужгород

Добавлено: 04:56, 25.04.2009

Доброго Дня!Поможіть розібратися з програмою!(як вона функціонує?(алгоритм))Я початківець.Дякую!

Комментарий администратора: Александр, смотрите ссылку на японский сайт в начале страницы. Там очень подробно расписан алгоритм работы.



Alewka   Odessa

Добавлено: 00:04, 15.04.2009

Привет!
Ребята никто не поделится усовершенствованной схемой с увелич. диапазоном либо подключением к LCD? Только начинаю осваивать технику, необходим измеритель емкости :)

Юрий   Одесса, Украина

Добавлено: 06:44, 19.02.2009

Спасибо за статью и за исходники. Попробую повторить. 73!

Сергей   Сочи

Добавлено: 14:54, 14.02.2009

Доброго времени суток!
Я пока слабоват в области микроконтроллеров...
СПЕЦИАЛИСТЫ!! Подскажите пожалуйста, как изменить программу для данного устройства под микроконтроллер ATMEGA 8535?
ps. Кто перешёл на светодиодныхе семисигментные индикаторы, подскажите каким образом это реализовать?
Заранее спасибо!

Комментарий администратора: Сергей, при переходе на другой микроконтроллер неплохо бы сперва убедиться, что у него присутствует все необходимое для данной задачи "железо". После этого можно просто поменять тип микроконтроллера в файле makefile. Перейти на светодиодный индикатор можно, вернувшись к оригинальной схеме (см. ссылку в начале статьи) - но ЖКИ выигрывает как по простоте монтажа, так и по качеству "картинки".



Tester500   Rus

Добавлено: 11:43, 27.01.2009

Все, нужда в ИЖЦ отпала. У нас ИЖЦ стоит 50р (1,5$), а ЖКИ с контроллером от сотика Ericsson T28 40р (1,2$). Нужно только пяток проводов приклеить к стеклу токопроводным клеем. Проект сократится до 90s2313. А за 135р (4$) можно взять цветной дисплей от Nokia 3510I .

Комментарий администратора: Собственно, нужды никакой и не было. Просто хотелось получить качественное и приятное для глаза изображение - а графические ЖКИ от телефонов этим явно не отличаются.



Tester500   Rus

Добавлено: 10:16, 26.01.2009

Раньше смотрел схемы драйверов ЖКИ, там столько всяких хитростей - и частота сотни килогерц, и смена полярности, и ограничение тока. У меня есть несколько 89C51, попробую адаптировать проект для них.

Tester500   Rus

Добавлено: 02:22, 26.01.2009

LCD подключен напрямую, раньше думал, что это трудно. Можно поподробней об этом?

Комментарий администратора: Все как раз просто - подключаем ЖКИ напрямую к выводам процессора и зажигаем нужный сегмент. Несколько десятков раз в секунду меняем полярность. И все.



Дмитрий   Витебск

Добавлено: 23:10, 11.01.2009

Вопрос к автору. Денис вы не против если я буду дорабатывать ваш проект, и выложу его в свободном доступе? На данном этапе уже сделан перевод на 7-ми сегментные светодиодные индикаторы. Сейчас пытаюсь увеличить диапазон измерения в большую сторону.

Комментарий администратора: Дмитрий, пожалуйста, дорабатывайте. Хотя, по-моему, светодиодные индикаторы - это шаг назад... Денис.



Николай   Санкт-Петербург

Добавлено: 13:30, 24.11.2008

вопрос к тем кто использовал схему, или к тому кто её проектировал: подскажите ,пожалуйста, какой номинал у R7- на схеме опечатка

Комментарий администратора: Николай! Сопротивление этого резистора - 100 Ом. Смотрите оригинальную схему на японском сайте - ссылка в начале статьи.



Денис   

Добавлено: 10:22, 15.03.2008

Фьюзы: после -f и -E идут числа. Если перевести их в двоичный вид, то получится побитовое представление фьюзов. Смотрите описание ATMEGA.

Дмитрий   Беларусь

Добавлено: 08:56, 15.03.2008

Фьюзы посмотрел, ничего не понял, я к сожалению слабоват в этом деле. Если не затруднит поконкретнее. А насчёт ног я уже переделал на динамическую индикацию с 7-ми сегментными индикаторами, вот думаю добавить ещё 1.

Денис   

Добавлено: 15:46, 14.03.2008

Дмитрий, смотрите параметры -f и -E в файле p.bat. Это шестнадцатеричные значение фьюзов и extended фьюзов. На счет увеличения диапазона я, к сожалению, не думал. Можно поставить еще один транзистор с резистором 330 Ом вместо R9 - но не хватает ног процессора. Видимо, ридется упрощать символы "u", "n" и "p".

Дмитрий   Беларусь

Добавлено: 14:44, 14.03.2008

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




 
Поделитесь этой страницей: