РадиоКот :: RLC STM32F100C4
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Измерительная техника >

Теги статьи: Измеритель RLCДобавить тег

RLC STM32F100C4

Автор: Олег Гализин
Опубликовано 15.11.2013
Создано при помощи КотоРед.
Участник Конкурса "Поздравь Кота по-человечески 2013!"

В приборе использованы дешевые и достаточно распространенные компоненты (stm32f100c4, mcp602). Применен специальный алгоритм улучшения разрешающей способности прибора с увеличением времени измерения не только в пределах одного отображения, но и нескольких (постоянное накопление). Обнаружение смены измеряемого элемента. Измерение на одном из 17 диапазонов с шагом 3.3 раза. Автоматический и ручной выбор диапазона измерения. Параллельная и последовательная схема замещения, 50кГц максимальная частота измерения. Load-open-short, open-short калибровка прибора. Отображение информации на монохромном графическом LCD nokia1202 с подсветкой. Работа от 3 батарей или аккумуляторов AAA или внешнего источника 5 вольт.  3 кнопки управления. Низкое потребление. Высокая разрешающая способность. Исходники. Автоматический выбор источника питания (батарейное или внешнее через USB разъем). Формирователь удвоенного отрицательного напряжения на дешевых ключах.

Параметры

Питание - 3 AAA элемента или аккумулятора или 5 вольт внешнее.

Потребление - 18 миллиампер.

Точность — менее 2 % в диапазоне от 0.2 Ом до 2 мегаом.

Разрешающая способность — примерно 100 мкОм, 0.1 пФ, 10нГн.

Частоты измерения - 100, 1к, 10к, 50к Гц

Амплитуда измерительного сигнала – 0,3В.

 

Вдохновителем этой работы явился, конечно же, измеритель RLC Олега и Павла  (https://pro-radio.ru/measure/4319/) и  его же великолепный RLC-2 (https://pro-radio.ru/measure/6873/). Что хотелось бы добавить – это батарейное питание, уменьшение потребления и габаритов, а также избавление от дорогого и дефицитного фильтра на переключаемых конденсаторах. Этого удалось добиться применением контроллера stm32 с встроенным 12 разрядным ЦАП и АЦП. Благодаря наличию ЦАП появилась возможность формировать десятки и сотни отсчетов измерительного сигнала на период. Это позволило отказаться от фильтра на переключаемых конденсаторах и применить фильтр на ОУ. Быстрый АЦП позволил также иметь десятки или сотни измеренных значений тока или напряжения на периоде. Кроме того что АЦП спрятался внутри контроллера, это позволило также отказаться от аппаратного выделения измеренного комплексного сигнала, а сделать это программно. Ну и конечно же это стало возможным благодаря относительно быстроve 32 разрядному ядру cortex-m3.

Также ограничивающим фактором для меня был бюджет, поэтому применены дешевые компоненты стоимостью рублей 300-500.

 Принцип действия

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

Схема

 Прибор условно  можно разделить на 2 части: цифровую и аналоговую. Точно также они разделены на 2 платы в корпусе.

Цифровая часть включает в себя источники питания, контроллер и дисплей:

 

 

Рассмотрим ее работу более подробно. Транзистор VT4, диоды VD3 VD4, резистор R7 отвечают за автоматический выбор источника питания с разъема USB или от батарей. Если на USB разъеме отсутствует напряжение, то затвор транзистора VT4 подтянут к земле и транзистор открыт, пропуская через себя ток батареи. Если подключили внешнее питание, превышающее питание батареи, через usb разъем, то на затворе относительно истока через диод VD3 будет подано напряжение около 0, и транзистор закроется. Потребление энергии от батареи прекратиться. Схема будет питаться от USB разъема через диод VD4.

На транзисторах VT1, VT2 собран узел включения питания. После подачи питания затвор VT1 через резистор R4 подтянут к истоку, транзистор закрыт, питание отключено. При нажатии кнопки S1 затвор подтягивается к земле, транзистор открывается и в схему поступает питание. Как только контроллер начнет выполнять программу, он установит высокий уровень в цепи PWR_ON, транзистор VT2 откроется и будет удерживать затвор VT1 у земли до тех пор, пока контроллер не установит низкий уровень PWR_ON, выключив тем самым питание. Резистор R6 ограничивает ток в базу транзистора, R5 — удерживает транзистор VT2 выключенным до инициализации контроллера, а также после его выключения. После включения питания диод VD1 не оказывает влияния на дальнейшую работу схемы. S1 продолжает функционировать как обычная кнопка, передавая при нажатии низкий уровень в контроллер через VD2. Кнопки S1-S3 запитаны через внутренние резисторы подтяжки контроллера.

Стабилизатор на DA1 генерирует постоянное напряжение 3.3 вольта (задается R1, R2). Непосредственно с него питается аналоговая часть схемы и контроллера. Цифровая часть питается через дроссель L1 для уменьшения влияния помех цифровой части на аналоговую.

Основой схемы является контроллер stm32f100c4. Он тактируется кварцевым резонатором на 12 МГц.  Для отображения информации используется графический монохромный дисплей LCD1 от телефона nokia 1202.

Схема на мультиплексоре-демультиплексоре DD1 выполняет роль преобразователя напряжения 3.3 вольта в -6.6. На DD1 с контроллера подаются сигналы таким образом, что бы по очереди последовательно включались ключи B0-B B1-B B2-B B3-B и, соответвенно, A0-A A1-A A2-A A3-A. В первом такте конденсатор C9 подключается одним выводом к питанию через B0-B, вторым к земле через A0-A. Происходит заряд конденсатора до напряжения питания. В следующем такте через ключи B1-B, A1-A конденсатор C9 подключается к конденсатору C10, передавая ему накопленный заряд. Нижний вывод C10 получает отрицательный потенциал относительно земли. В следующем такте снова происходит заряд C9 аналогично первому такту. В последнем такте конденсатор C9 подключается между нижними выводами C11 и C10, заряжая C11 еще более отрицательным напряжением чем на C10. Через некоторое время конденсатор C10 будет иметь потенциал -3.3 вольта, а C11 - -6.6 вольта. Этот источник не годится для питания операционных усилителей с потреблением в несколько миллиампер, но отлично подходит для питания ключей, потребляющих сотню микроампер. Кроме дешевизны данный источник имеет еще одно преимущество – когерентное с измерительным сигналом управление ключами, что в свою очередь минимизирует наводки.

Микроконтроллер одним из каналов ЦАП формирует сигнал синусоидальной формы частотой 100, 1000, 10000 или 50000 Гц. Для формирования 50кГц сигнала используется 11 отчетов ЦАП, для 10кГц — 55 отсчетов, для 1кГц — 160 отсчетов, а для 100 Гц — 1600. Точные значения частот: 100Гц, 1кГц, 9,917кГц, 49,587кГц.

Кроме того контроллер формирует аналоговые сигналы смещения, цифровые управляющие сигналы ключей, принимает и обрабатывает сигналы с аналоговой части.

 

 

Аналоговая часть состоит из выходного фильтра-усилителя мощности, преобразователя ток-напряжение, инструментального усилителя с регулируемым коэффициентом усиления, формирователя опорного напряжения и оконечного усилителя с регулируемым коэффициентом усиления.

Синусоидальный сигнал поступает через конденсатор С20 на фильтр низких частот и усилитель мощности, собранный на DA4.1, DA2.1. Фильтр 4 порядка имеет частоту среза около 100кГц. Цепочка R39,R34,R33 служит для уменьшения амплитуды сигнала до 0.3 вольт. Второе назначение этой цепочки — установка уровня постоянного выходного напряжения. Резистор R46 служит для введения дополнительного регулируемого смещения примерно +-3мВ выхода усилителя мощности по постоянному току. Это требуется для оперативной подстройки смещения, а также для исключения подстроечных резисторов из схемы. На резистор R46 подается отфильтрованное ШИМ напряжение, сформированное таймером контроллера.

Через ограничительный резистор R9 переменное напряжение амплитудой 0.3 вольта подается на разъем, к которому подключаются измерительные щупы. Подключение осуществляется по 4 проводной схеме. Для измерения этот сигнал возвращается в схему через 4 вывод разъема.

На микросхеме DA2.2 собран преобразователь тока в напряжение. Коэффициент преобразования задается резисторами R3-R6, подключаемыми с помощью мультиплексора DD3. Применение преобразователя вместо обычных резисторов позволяет уменьшить синфазную составляющую измерительного сигнала как напряжения так и тока, что уменьшает требования к инструментальному усилителю.

На DA1.1, DA1.2, DA3.1 собран инструментальный усилитель. Один из входов инструментального усилителя постоянно подключен к одному из выводов измеряемого элемента. Второй вход коммутируется DD1 для измерения падения напряжения на измеряемом элементе или тока через него. Коэффициент усиления инструментального усилителя задается резисторами R16, R17, R18, R19, R20, R26,  R27, R28, R30. Коэффициент усиления переключается ключами DD2, DD4 и может быть 1, 10 или 100. Через резистор R22 оперативно регулируется напряжение смещения инструментального усилителя. Это напряжение подается с ЦАП контроллера. Резистор R23 служит для исключения нарушения симметрии инструментального усилителя цепью регулировки смещения.

DA4.2 формирует опорное напряжение инструментального усилителя и преобразователя ток-напряжение.

С инструментального усилителя измеренный сигнал напряжения или тока через ФНЧ С17, R37 подается на дополнительный усилитель на DA3.2 с коэффициентом усиления 4 или 12. Нужно обратить внимание, что на измерительном элементе поддерживается смещение около 1.5 вольта, а не половина напряжения питания. Это необходимо для исключения выхода сигнала за пределы допустимых значений синфазного сигнала операционных усилителей. DA3.2 приводит постоянную составляющую к половине питания для эффективного использования ЦАП.

Через R32 на АЦП может также подаваться сигнал с выхода инструментального усилителя без исключения постоянной составляющей. Этот сигнал служит для оценки правильности настройки смещения инструментального усилителя и входного усилителя, а также для их корректировки посредством регулировки напряжения ШИМ или ЦАП.

Через дополнительный фильтр R42 С21 сигнал тока или напряжения подается на 12 разрядный АЦП контроллера для измерения и последующей математической обработки.

 

Математическая обработка.

 

Измерение контроллером осуществляется через 1 отчет ЦАП для частот 10 и 50 кГц, и каждый отсчет для 100Гц и 1кГц. Для обмена с ЦАП и АЦП используется ПДП (DMA). Для когерентной генерации и измерения используется запуск одного таймера другим.

После измерения каждый отсчет сигнала умножается микроконтроллером на значения синуса и косинуса и аккумулируется в течение 0.1 секунды в переменных мнимого и действительного значения измеряемой величины. Как только набирается 3 измеренных значений напряжения и 3 измеренных значения тока производится расчет измеренного значения сопротивления. Дополнительно требуется 0.2 секунды на ожидание стабилизации сигнала после переключения измерения с напряжения на ток и обратно. Таким образом за 0,8  секунды происходит один расчет и отображение измеряемой величины.

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

Диапазон выбирается исходя из измерения амплитуды напряжения, поступающего на АЦП. Если наблюдается перегрузка или недогрузка АЦП то току или напряжению происходит соответствующая смена диапазона. Каждый из диапазонов предполагает определенный коэффициент усиления инструментального и оконечного усилителей и преобразователя ток-напряжения. При больших импедансах требуется большое усиление тока и малое напряжения, при малых – большое усиление напряжения и малое усиление тока. Таким образом, образуется 17 диапазонов с изменением измеряемого импеданса при переходе к соседнему диапазону примерно в 3.3 раза.

После расчета измеренные значения выводятся на графический монохромный дисплей от телефона nokia 1202 с использованием USART в 9 битном режиме (https://we.easyelectronics.ru/OlegG/ispolzovanie-usart-stm32-dlya-upravleniya-lcd-nokia-1202.html). Исследование этой возможности было выполнено специально для использования в этом приборе.

Детали и настройка

Конструкция состоит из 2 плат, скрепленных между собой с помощью штырьков из панельки под микросхемы. По ним же идут сигналы с платы на плату. Верхняя плата - цифровая, нижняя - аналоговая. Обе двусторонние, сделаны с помощью ЛУТ.

Все резисторы и конденсаторы (за исключением электролитических) применены в корпусе 0805. Для обеспечения высокой разрешающей способности  прибора требуется подбор некоторых резисторов в пары. Прежде всего это относится к резисторам делителя, вырабатывающим напряжение смещения усилителя мощности и инструментального усилителя. Это R21-R33, R13-R34, R14-R39 соответственно. Также необходим подбор в пары резисторов инструментального усилителя R16-R18, R19-R20, R26-R27, R22-R23, R28-R30.  Значения этих резисторов должны быть подобраны как можно ближе, в тоже время не требуется точного подбора величин этих резисторов, требуется только равенство сопротивлений соответствующей пары. Если есть возможность, то лучше эти резисторы выбирать из однопроцентных или с лучшей точностью. Однако подойдут и стандартные пятипроцентные, как в авторском варианте. Также крайне желательно использовать точные резисторы в качестве R3-R6. R43-R44 также можно использовать повышенной точности.

Стабилизатор можно использовать любой lowdrop на 3.3 вольта. Желательно экономичный. Экономичность должна сохраняться и при падении напряжения ниже 3.3 вольт. Работоспособность сохраняется при разряде батарей до примерно 3 вольт питания, перестает только работать подсветка. Контроллер может быть заменен на любой stm32f100 в 48 выводном корпусе. С изменением схемы-прошивки может быть применен stm32f100 в другом корпусе или stm32f103 начиная с буквы C. Замена на  контроллер с большим флешем является весьма желательной для дальнейшего развития проекта.

Желательной является также замена операционных усилителей на менее шумящие и возможно более быстрые с полевыми транзисторами на входе. Причем менять необходимо все ОУ. В этом случае увеличится диапазон измеряемых значений, уменьшится время установления измеряемой величины. Возможной заменой является AD8646, AD8606, AD8602, однако они обладают повышенным энергопотреблением. По возможности следует ставить одиночный ОУ на преобразователь ток-напряжение и генератор опоры. Все эти замены ухудшат, прежде всего, бюджет.  Не следует применять ОУ без защитных диодов на входе (великолепный во всех других отношениях MCP6022).

 

Сначала устанавливаются все цепи питания и проверяется, что напряжение питания составляет 3.3 вольта. После этого впаиваются все остальные компоненты. Следует проверить что бы смещение между выходом усилителя мощности (R9) и входом преобразователя ток-напряжение (R1) составляло не более 1.5 милливольта. Если это не так, производится подбор R21 или R15. Подбор осуществляется напаиваванием сверху одного из них дополнительного резистора номиналом от сотен килоом до нескольких мегаом. После измерения разницы номинал дополнительного резистора может быть рассчитан более точно. После этого в контроллер может быть залита тестовая прошивка для проверки возможности установки смещений, коэффициентов усиления, и  возможности измерения комплексных значений тока и напряжения.

 

Калибровка выполняется по 17 резисторам различного номинала в соответствии с количеством диапазонов. Для калибровки потребуется резисторы 0805 номиналами 0.3, 1, 3.3, 10, 33, 100, 330 Ом, 1, 3.3, 10, 33, 100, 330 кОм, 1, 5.1, 20 и 40 МОм. Первый резистор был составлен из 3 параллельно соединенных 1 омных + 3.3 Ом. Последние — последовательное соединение 10 омных резисторов. Резисторы номинала 33 могут быть заменены номиналом 47. Все резисторы должны быть измерены с максимально возможной точностью. Измеренные значения резисторов записываются в файл zstd.h или вносятся в прошивку как 2 байтные целые начиная с адреса 0x3800 (кратные 1 калибровочные значения записаны как число вблизи 10000, кратные 3.3 — как число вблизи 3300). После изменения (и возможно компиляции) прошивка может быть залита в контроллер. В авторском варианте диапазон 17 оказался неработоспособным. Шумы ОУ перегружают ЦАП.

Для начала измерений требуются выполнить open-load-short калибровку. Калибровка выполняется с замкнутыми зажимами на 0-5 диапазоне, с разомкнутыми зажимами на 6-16 диапазоне, и на каждом диапазоне калибровка с нагрузочным резистором. Калибровка проводится на каждой из 4 частот. На каждом диапазоне-частоте производят сначала сброс средней кнопкой. Запись производится верхней кнопкой тогда, когда устроит точность калибровки. После проведения калибровки необходимо выключить питание. При следующем включении прибор готов к измерениям. Для проведения повторной калибровки или в случае, если калибровка не была закончена, следует перепрограммировать кристалл заново.

 

 

Нереализованные возможности

На схеме осталось несколько неиспользованных элементов. Предполагалось, что через R11, R12 будет измеряться напряжение питания. Также будет измеряться напряжение на внутреннем генераторе опорного напряжения контроллера и результат будет выводиться и использоваться например для отключения прибора при разряженных батареях. Однако это оказалось невозможно из-за особенностей реализации источника опорного напряжения. Дело в том, что для его измерения требуется выборка не менее 17 микросекунд. Измерения же сигнала имеют гораздо меньшую величину времени выборки. В результате, что бы измерить напряжения питания требуется остановка измерения синусоидального сигнала. Можно было бы это делать в интервалах переключения с измерения тока на напряжение и наоборот, но это привело бы к рассинхронизации генерации и измерения сигнала. Правильно было бы установить внешний ИОН например на TLV431. Также неиспользованными оказались сигналы probe1 и probe2. Предполагалось, что можно будет сохранить в памяти настройки 4 различных щупов, а эти сигналы будут определять, какой из щупов подключен в настоящий момент. К сожалению из-за недостатка флеша этому не суждено было сбыться. Кстати недостаток флеша явился второй причиной отказа от измерения питания.

Фотографии и видео.


Измерение 0.22Ом

Измерение 100мкГн

Последовательно 100мкГн и 0.22Ом

1.9 мкГн

Старый 1000мкФ

1мГн

470мкФ

 

Видео


Файлы:
Перевод статьи о open-short-load калибровке
Печатная плата
Исходники


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

30 0 0

Эти статьи вам тоже могут пригодиться: