Измеритель индуктивности своими руками

Измеритель индуктивности своими руками — высокой точности

Измеритель индуктивности своими руками — на портале РадиоЛоцман публиковалась статья [1]с описанием простой конструкции цифрового прибора для измерения индуктивности, в основе которого была плата Arduino Uno. Этот вариант прибора, по отзывам пользователей, хорошо зарекомендовал себя в работе, но для повседневного использования, возможно, вы хотели бы иметь, нечто похожее на мультиметр.

Поэтому было решено разработать новую версию прибора, которая питается от 9-вольтовой батареи и помещена в пластиковый корпус, напечатанный на 3D принтере (Рисунок 1). В статье мы рассмотрим конструкцию автономного измерителя индуктивности. Принцип измерения индуктивности остался прежним. Все проектные файлы доступны для скачивания в конце статьи.

Измеритель индуктивности своими руками-1

Микроконтроллер Microchip PIC16F1936

Прибор выполнен на микроконтроллере(МК) Microchip PIC16F1936. Этот выбор не связан с какими-то особенностями данной модели, просто такие МК остались у автора от прошлых проектов. Измеритель индуктивности своими руками, при его разработке была даже мысль использовать ATmega328 — тот самый МК, который установлен на плате Arduino Uno.

Но для измерения частоты и управления ЖК-индикатором ATmega328 слишком избыточен. Кроме того, он несколько дороже микро-контроллера PIC. Поэтому, несмотря на то, что переход к совершенно другому МК означает написание программного кода с нуля, было принято решение использовать PIC16F1936. Схема измерителя индуктивности показана ниже.

Измеритель индуктивности своими руками-2

Как видите, входная часть прибора (LC-генератор, преобразователь синусоидального сигнала в прямоугольный, делитель частоты), а также схема управления, включая цепь подавления дребезжания контактов кнопки, идентичны версии измерителя на Arduino, поэтому для понимания работы схемы и ее характеристик рекомендуется обратиться к статье [1]. Измеритель индуктивности своими руками, а именно питание, то в схему варианта на МК PIC введен дополнительный регулятор напряжения 5 В серии LM2931-5.0. Сигнал на выходе SLOW_FREG с делителя частоты подается в микроконтроллер (порт RB0).

Жидко-Кристаллический индикатор

Теперь о ЖК-индикаторе. В данном случае применен Midas MCCOG21605B6W-BNMLW — достаточно компактный символьный ЖК-индикатор, синий с белой подсветкой, имеющий две строки по 16 символов. Он управляется по интерфейсу l2C (порты МК RC3, RC4), но еще дополнительно используется входсброса RST (порт RC2). С точки зрения высокоуровневого программирования, программный код очень похож на скетч для версии прибора на Arduino. Но если взглянуть поближе, вы увидите несколько отличий, связанных с изменением аппаратной части:

• Используется совершенно другой МК: PIC16F1936 вместо Atmega328.
• Код написан на Си в компиляторе mikroC для микроконтроллеров PIC компании mikroElektronika, а не в стиле Arduino Си++.
• Дисплей, используемый в этой версии прибора, имеет интерфейс I2C, а не обычный параллельный интерфейс контроллера Hitachi. При написании кода, как и ожидалось, много времени ушло на реализацию управления ЖК индикатором, а точнее, его контроллером. Похоже, что интерфейс I2C реализован в нем как надстройка для основного Hitachi-совместимого контроллера.

Чтобы собрать измеритель индуктивности своими руками, то сама по себе такая концепция была бы неплоха, если бы не одно «но» — техническое описание дисплея. И если бы не предыдущий опыт работы с другими графическими дисплеями Midas, совместимыми с Hitachi, автору пришлось бы отказаться от его использования в устройстве. Вот примеры недостатков технического описания, из-за которых возникли проблемы при написании части кода для управления ЖК-индикатором:

Недостатки технического описания

• В документе нет нумерации страниц. Да, это незначительный недостаток, но вы когда-нибудь видели техническое описание с непронумерованными страницами?
• Имеется вход сброса. Аналогично многим сигналам сброса различных контроллеров, активный уровень сигнала низкий. В техническом описании об этом не сказано ничего.
• Очень подробно рассмотрены некоторые функции контроллера Hitachi, но ни слова о том, что эти функции недоступны через интерфейс I2С.
• Как и всем дисплеями с контроллерами, совместимыми с Hitachi, ЖК-индикатору Midas требуется время на запуск и инициализацию.

В противном случае вы просто не сможете с ним работать. Но прочитать об этом, опять же, вы не сможете. Но, в конце концов, все заработало прекрасно. Для этого измерителя у МК более чем достаточно ОЗУ, Flash-памяти и вычислительной мощности, поэтому не стоит ожидать, что код будет каким-либо образом оптимизирован. Этого просто не нужно. Большую часть математических операций он выполняет с плавающей точкой, что «раздувает» размер скомпилированного кода и очень тормозит его выполнение, но для нашей задачи этого вполне хватает и оставляет неиспользуемым порядка половины доступного объема Flash и ОЗУ.

Измеритель индуктивности своими руками-3

Корпус прибора

Корпус прибора был спроектирован в среде FreeCAD (Рисунок 3). Это, как следует из названия, бесплатный инструмент с открытым кодом, простой и понятный 8 изучении. Двусторонняя печатная плата проектировалась в Eagle под микроконтроллер в корпусе SOIC (Рисунок4).

Измеритель индуктивности своими руками-4

Проектные файлы также доступны для загрузки. Скачать: Проектные файлы