Недавно я завершил небольшой Arduino проект. Это шилд для Arduino Uno, который позволяет измерять индуктивность. Данная функциональность часто отсутствует в стандартных, недорогих мультиметрах. Конечно, есть специализированные измерители LCR, которые позволяют измерять индуктивность, но они, как правило, не измеряют напряжение или ток. Поэтому я решил самостоятельно изготовить измеритель индуктивности.
Принципиальная схема измерителя индуктивности:
На шилде установлена индуктивность величиной 1мкГн, которая подсоединена последовательно к измеряемой катушке. Она служит для двух целей: генератор может резонировать, когда вы закоротите измерительные щупы. Затем, когда вы нажмете кнопку на шилде, программа будет использовать текущее измерение в качестве нового значения калибровки. Индуктивность также устанавливает верхний предел для резонансной частоты. Это гарантирует, что программа остальной схемы сможет поддерживать работу генератора.
Как видно по схеме, генератор использует два конденсатора, емкостью 1нФ, соединенных последовательно. Вместе с индуктивностью 1мкГн, они ограничивают частоту до величины примерно 7.1МГц. На практике, генерируется частота величиной около 5.4МГц, когда измерительные щупы закорочены.
Выход генератора, за которым следует компаратор, превращает синусоидальный сигнал генератора в прямоугольный сигнал. Я использовал недорогой, но быстрый компаратор MCP6561R компании Microchip. Он имеет максимальную задержку прохождения сигнала величиной 80нс, что позволяет обеспечить максимальную частоту.
Однако, естественно, частота 5.4МГц слишком высокая, чтобы поддерживаться Arduino. Arduino работает на частоте 16МГц и нуждается в нескольких дюжинах инструкций для обработки каждого импульса от шилда. Мое решение было таким – добавить 8-битный двоичный счетчик 74HC590, который делит частоту на 256. Его использование позволяет обеспечить теоретическую максимальную частоту 7.2МГц / 256 = 27.7кГц. А это уже то значение, с которым легко может справиться Arduino.
По очевидным причинам, на шилд также установлен дисплей. Есть еще и нажимная кнопка, дребезг контактов которой устраняется аппаратно с помощью низкочастотного RC-фильтра, а также буфера с триггером Шмидта. Кнопка используется для обнуления измерителя, т.е. текущее измерение используется как новое нулевое смещение.
Все сопутствующие файлы можно загрузить по ссылке. Сюда входит исходный код для Arduino (также называемый скетч), а также файлы Eagle и PDF-файлы компоновки и схемы.