Свежие обсуждения
Измерения

Измеритель RLC-2

1 849 1127

По поводу внешнего запуска ICL7135, я посмотрел даташит, есть у него вход внешнего запуска Run/HOLD(Pin 25)

 

Жалко ногу МК тратить на это дело. Как бы исхитриться без этого? Хотя, есть ещё ноги задействованные для программирования, возможно, их тоже можно будет пустить в дело.

 

А зачем привлекать МК для этого?

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

Отсюда следует интересный вывод...

Нужно компаратором нуля получить короткий положительный импульс перехода сетевого напряжения через ноль и подать его на этот вход.
Всё.
Любой цикл измерения будет привязан к нулю сети и синхронизирован с частотой сети.

МК будет периодически считывать данные с АЦП и обрабатывать их согласно заложенной программе.

Не нужно ни каких ни синтезаторов, ни синхронизаторов...

P.S.

При тактовой частоте 500 КГц цикл измерения длиться 80.004 мс. А период сети 20 мс.
Так как импульсы запуска в середине цикла игнорируются, то следующий запуск возможен только спустя 4 периода сети. Каждый 5-й период сетевой частоты будет запускать цикл измерения. Одно измерение каждые 0.1 секунды или 10 измерений в секунду.

 
DWD: МК будет периодически считывать данные с АЦП и обрабатывать их согласно заложенной программе.

Нет, так не будет работать. Выходом АЦП является не какой либо регистр с сохраненными данными а время. Поэтому, МК должен знать когда начинается измерение, это как минимум.

 

Микроконтроллер узнает, когда надо считать результат (тактовые импульсы) - когда сигнал Busy АЦП находится в „1”. Цитата из файла RLC2.pdf :

Цифровой код преобразования АЦП равен количеству импульсов AdcClk минус 10001 за время, пока сигнал Busy АЦП находится в „1”. Эта особенность используется ввода в МК результатов преобразования АЦП. СигналBusy подается на вывод RC1, который настроен как вход модуля сравнения и захвата МК(CPP). С его помощью запоминается значениеTMR1 при положительном фронте сигналаBusy, а потом при отрицательном. Вычитая эти два значения, получаем искомый результат работы АЦП.

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

 
FR1: Выходом АЦП является не какой либо регистр с сохраненными данными а время.

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

Другое дело, что для такого алгоритма, возможно, потребуется корректировка прошивки МК.

 
DWD: В доке сказано, что именно запоминает.

В RLC-2 реализован другой принцип. Используется всего два вывода АЦП.

И потребуется не только корректировка прошивки, а замена МК

 

В каком-то расходомере менял АЦП, показался очень удобным. Четырёхканальный (мультиплексор),16-битный ,с I2C шиной, не то 8, не то 10 выводов, не помню точно. У МК есть аппаратный I2C? Если такой АЦП применить?

 
АК: Микроконтроллер узнает, когда надо считать результат (тактовые импульсы) - когда сигнал Busy АЦП находится в „1”. Цитата из файла RLC2.pdf :

Не считывает МК никакие импульсы! Он измеряет длительность периода сигнала Busy. И к моменту, когда сигнал busy в "1" МК должен быть уже готов к измерению.

 

Да я вроде правильно понимаю, время счета задает положительный уровень на выводе Busy АЦП (время интегрирования + время деинтегрирования), а тактовые импульсы считаются в микроконтроллере. Потом из насчитанного вычитается 10001 , остается подсчет за время деинтегрирования - результат измерения.

Вчера дописал в задания по доработке прошивки v2.0 еще одно, (9-е) 4.09.2019 . Здесь коротко: не нравится мне что D со значениями больше 100 выводится с пятью значащими цифрами (проверить можно, измеряя проволочные и не проволочные резисторы). При этом Q со значениями больше 100 (проверяем на пленочных конденсаторах) выводится более компактно: от 100 до 999 без чисел после запятой, например: 250Q, 530Q, а свыше 1000 с двумя значащими цифрами, например 1,6kQ; 3,8kQ; 25kQ.

Так бы сделать и для D.