RLC-MINI-SBL
На данный момент проверена и готова версия на STM32F072CB и индикаторе ILI9163 1,44", ядро MCU работает на 56 MHz.
Параметры на глазок
Позволяет измерять:
резисторы в диапазоне от 0,010 Ом до 500 кОм
конденсаторы 1pF – 10000uF
индуктивности 10nH – 10H
Тангенс угла потерь и добротность
Другие параметры:
Потребление с индикатором ILI9163 и MCP6022 - 30mA
Потребление с индикатором ILI9163 и MCP6002 - 25mA
Описание
На www.radiokot.ru описана конструкция RLC измерителя, который в сочетании с простотой конструкции позволяет измерить значения RLC с достаточной для радиолюбителей точностью.
В данном измерителе применен весьма необычный для RLC способ измерения, в нем нет схемы измерения тока через DUT (device under test) и дифференциального усилителя. Вместо этого в трех точках измеряется напряжение синхронно с измерительным сигналом, а затем делается ДПФ по всем отсчетам для получения комплексных напряжений в точках измерения. На основе этих амплитуд вычисляются значения тока через DUT и напряжение на DUT. Такой способ обработки позволил очень сильно упростить конструкцию. На данный момент используется только один микроконтроллер и три операционных усилителя, не считая стабилизатора и микросхемы заряда аккумулятора.
Т.к. автор neekeetos@yahoo.com опубликовал исходники, то появилась возможность ознакомиться и узнать как вообще делаются такие проекты и сделать еще одну версию этого девайса.
Переделки:
Моя версия не отличается оригинальностью, схема практически без изменений. Изменения коснулись:
1. Для выходов DAC вместо RC цепочки и повторителя на операционном усилителе как фильтр первого порядка, выходной каскад переделан в активный фильтр второго порядка с частотой среза в районе 100 kHz, что позволило для выходной частоты 97k, значительно подавить алиас 403 kHz до -38dB (до переделки было -26dB). Это должно повысить точность измерений по крайней мере на частоте 97kHz, время покажет.
2. Вместо индикатора от телефона NOKIA 1110 96*64pix и ему подобных, применен цветной индикатор ILI9163 128*128pix 1.44". Данный индикатор не надо припаивать на шлейф, он уже установлен на плату переходник, что значительно упрощает монтаж. Также данный индикатор является цветным, что в дальнейшем позволит сделать несколько стилей для отображаемой информации. Еще для индикаторов от NOKIA возникают проблемы с тем что они все разные, есть с перевернутым изображением, есть с отзеркаленым, разная распиновка шлейфа. Драйвер дисплея ILI9163, немного переделан и теперь он позволяет вращать изображение с шагом 90 градусов в любую сторону.
3. Т.к. в базовой версии индикатор был подключен без использования аппаратного SPI, то пришлось поменять порты подключения к МК и соответственно плату. Но и базовая конфигурация от NEEKEETOS поддерживается, правда не проверена, т.к. это другая плата.
4. Значительно переделана структура проекта в плане исходных кодов прошивки. Исходники реструктуризованы таким образом, что на данный момент можно добавлять новые MCU и индикаторы при этом основной код останется без изменений. Под каждый набор железа надо просто сделать компиляцию проекта с необходимой вам конфигурацией .
- В проекте делана поддержка MCU:
- STM32F072
- STM32F100 (был в базовой версии NEEKEETOS), мной на данный момент еще не проверен, после реструктуризации кода. Когда приедут платы, то обязательно проверю.
- В проекте сделана поддержка индикаторов:
- NOKIA 1110 (в базовой версии NEEKEETOS), программный SPI
- Nokia 1202 (в базовой версии NEEKEETOS), программный SPI
- TFT 128*128pix 1.44", аппаратный SPI, ILI9163
- OLED 0.96 128*64 spi, SSD1306, аппаратный SPI (данный индикатор оказался очень мелким и от него пришлось отказаться, но его можно использовать если у Вас орлиное зрение).
Я поддерживаю пока STM32F072 и индикатор ILI9163 1.44". В структуре проекта сделана поддержка других конфигураций, как отмечалось выше. Не проверенные конфигурации отмечены ниже и вы можете самостоятельно произвести доработку и проверку кода сравнивая с моей реализацией.
* CONF_NEEKEETOS = STM32F100 & LCD N1110 1202 (не проверена)
* CONF_SBL1 = STM32F072 & LCD ILI9163
* CONF_SBL2 = STM32F100 & LCD ILI9163 (не проверена)
* CONF_SBL3 = STM32F072 & LCD SSD1306_096 SPI 4-wire
* CONF_SBL4 = STM32F100 & LCD SSD1306_096 SPI 4-wire (не проверена)
5. Переделана схема питания устройства. В частности убран режим работы MCU в режиме низкого потребления, теперь питание отключается полностью. Т.к. все настройки хранятся во FLASH, то и нет необходимости постоянно иметь устройство включенным. Немного не обратил внимание откуда брать питание в режиме программирования, поэтому в момент программирования MCU необходимо нажать на кнопку PWR и удерживать ее в нажатом состоянии до окончания записи прошивки.
6. Параллельно входным щупам подключена микросхема SRV-05-4 (USBLC6-4SC6) для защиты от статического напряжения, она применяется для защиты шины USB (ее можно не ставить если нет в наличии).
7. Изменено назначение и названия отдельных кнопок.
10. Использование контроллера STM32F072 позволяет заливать прошивку через USB не используя ни каких дополнительных средств.
8. Как оказалось у индикатора ILI9163 128*128pix 1.44", есть еще один плюс. На обратной стороне индикатора стоит тот самый стабилизатор на 3.0V sot23 ( XC6206P302MR маркировка 65z5), который можно выпаять и поставить на основную плату устройства. На индикаторе надо после демонтажа запаять перемычку JP1 (а лучше ферритовую бусину). Естественно индикатор теперь может работать только от 3.0V, а не как ранее с большими напряжениями. Ну а перемычку надо все равно ставить, т.к. мы на индикатор подаем 3.0v.
Схема
Платы
Плата приехали из Китая, уже найдена ошибка :), неправильно подключил один вывод USART на разъем.
В принципе плат у китайцев заказано, аж целых 20 комплектов. На одной панели 10см х 10см два комплекта, две платы и четыре щупа. Заказывалось все на панели 10 на 10, т.к. иначе не помещались щупы. Панель не разрезалась, ибо это приводило к значительному удорожанию, плату придется допилить напильником по контуру самостоятельно :)
Фото
Инструкция пользователя
2. Калибровку и работу пока можно почитать вот тут, правда назначение кнопок у меня немного другое, но оно описано пунктом выше.
Конструкция
1. Плата сделана под корпус G1906.
2. Индикатор ILI9163 в корпус помещается по высоте с большим трудом:
Необходимо сделать два боковых выпила, для того что бы он поместился между стойками корпуса;
По высоте индикатор помещается если сделать два углубления в плате индикатора (под разъемом USB и под кварцевым резонатором).
Я поставил низкопрофильный разъем, но он имеет другой шаг, что привело к необходимости разделить все пины разъема на отдельные и впаять их по одному. Также после впаивания разъем все равно пришлось уменьшить шлифмашинкой (dremel) до минимальной высоты - 3mm. Что бы не иметь проблем с разъемом, индикатор лучше всего после проверки запаять в плату, но при этом правда устройство становится не ремонтопригодным.
Предостережение по индикатору - не протирайте места пайки возле индикатора или сам индикатор ни какими средствами, т.к. жидкость по неосторожности может попасть в подсветку индикатора и он выходит из строя.
Как я уже писал, надо выпаять стабилизатор из платы индикатора, а вместо перемычки JP1 впаять индуктивность 10-50 uH (какую найдете), а можно и просто перемычку.
3. На плате одна ошибка - Неправильно подключен один вывод USART на разъем, но если вами используется STM32F072, то девайс можно программировать через USB.
4. Из за очень маленькой высоты пришлось три конденсатора в районе кварцевого резонатора припаять с обратной стороны, т.к. в библиотеке компонентов у резонатора был маленький контур шелкографии, то конденсаторы оказались под резонатором и не хватало высоты для индикатора.
5. Операционные усилители у меня стоят MCP6022, но можно ставить MCP6002 у них меньше нагрузочная способность, но и меньше потребление, по параметрам последние чуть хуже.
6. Транзисторы можно ставить любые соответствующего типа, проводимости и габаритов.
P.S. На данный момент могу констатировать что индикатор от Nokia 1110 1210, больше подходит для данного девайса, т.к. меньше ток потребления при выключенной подсветке и он может работать без подсветки и при сильном освещении.
Login: guest
Password: empty
Проект (29_RLC-MINI-SBL) собран в QtCreator с использованием QBS, BareMetal, gcc-gnu-eabi-5.2-2015q4.
Исходники опубликованы с домашнего хранилища, так что могут быть недоступны в момент смены IP на непродолжительное время. Что бы не шастали роботы, то доступ сделан по паролю.
Для тех кто хочет скачать исходники, справа от папок есть кнопка download.
В принципе есть доступ и по svn:// , но я его не настраивал для публичного доступа.
Использованные драйвера ILI9163 and SSD1306 лежат рядом отдельным проектом (24_LCD_GFX_ILI9163_TEST), при сборке надо указать путь к данным драйверам в файле qbs.
Любой желающий может собрать прошивку для индикатора SSD1306, в ней правда есть недоделки, не очень хорошо выглядит меню и не доделан значок заряда аккумулятора.
Проект платы сделан в программе DesignSpark
Настройка
Настройку можно почитать вот тут,
Прошивки
1. Версия 7.06r08
Форум
1. Обсуждение данного варианта RLC на форуме сайта radiokot.
Ссылки
1. Страница автора первоначальной версии устройства Личная страница Neekeetos.
2. Материалы, исходники, фото по RLC-MINI на авторском yandex disk Neekeetos.
3. Обсуждение конструкции RLC MINI Neekeetos на форуме radiokot.
4. Частичное обсуждение конструкции на сайте pro-radio. Первоначально в ветке обсуждалась другая конструкция, но в этой ветке есть инфа по алгоритму работы приборчика.
5. Инфа по конструкции на форуме forum.cxem.net
Итоги
На данный момент от данного устройства было уже выжато все что можно и Никитой и мной, получено море информации и наработок, но полноценным измерителем RLC я бы его не назвал, хотя большую часть измерений в домашних поделках он покрывает.
Данный проект прошу рассматривать как учебный и не возлагать огромных надежд.