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

Дизайн народного RLC-метра (RLC-3)

1 96 174

johnU
меряю так протеус осциллограф ..частота тактовая 16МГц..
F1=0x0000ffff;
F2=0x0000010 ;
F3=0xf0f0f0f0;

PORTD.6 =1; (0.125us)
F3=F1+F2; // 2.3-0.125 US
PORTD.6=0 ; (0.125us)

PORTD.6 =1; (0.125us)
F3=F1*F2; // 5.5-0.125 US
PORTD.6=0 ; (0.125us)

напишите что нужно между PORTD.6 =1;и PORTD.6=0 ;замеряем

я так понял уперлись в скорость вычисления частных сумм ?
что мешает сделать так (измерительная частота 1000Гц)
взяли отсчёт напряжения за время 0
посчитали частные суммы
взяли напряжения за время 1.05 миллисек
посчитали частные суммы
взяли напряжения за время 1.1 миллисек
посчитали частные суммы
взяли напряжения за время 1.15 миллисек
посчитали частные суммы
и т д за 10миллисекунд посчитаем период напряжения

http://s003.radikal.ru/i204/1004/20/0918297a2b83.jpg
клок ацп 250000 мега 16Мгц
"измерение "на частоте 18900 Гц
резистором подстройка нулевой фазы при КЗ (компенсация вроеменных задержек ацп-цап)

 

12val12: напишите что нужно между PORTD.6 =1;и PORTD.6=0 ;замеряем
unsigned long long int F1=0xff;
unsigned long long int F2=0xff;
F2+=F1;
как то так
12val12: я так понял уперлись в скорость вычисления частных сумм ?
Да
Необходимо пересчитать отсчет за время пока получим следующий
необходимо 2 32битных умножения и 2 64битных сложения
тогда число периодов измерения можно взять 200-300
остальное время уйдет на окончательный расчет и вывод результатов

 

float F4=0xabcdabcd;
float F5=0xabcdabcd;
float F6=0xabcdabcd;

PORTD.6 =1;
F4=F5*F6; --13.5 мксек
PORTD.6=0 ;
PORTD.6=0 ;
PORTD.6 =1;
F5=F4+F6; 7.1мксек
PORTD.6=0 ;
..64бит целого в кодевижине вроде нет (float 1.175e-38 -:- 3.402 e38).
зря вы уперлись в эти суммы
допустим вычисления вместе с ацп занимают 800мксек ( в сумме два канала)
Вы добиваете это время до 1050 миллисекунд и работайте с генератором 1000
при этом будете имееть 20 точек на период а фазовые соотношения будут как для 1000ГЦ
я же показал на примере 18900Гц
вобщем забудьте про 1000ГЦ
100ГЦ вообще неинтересно кому нужно мерять индуктивности 10Гн и емкость 1000UF ? (мне без разнийы 900 или 1100мкф а вот ESR вч прибор тоже покажет точно (при низкоомном шунте)
если это все формировать от одного кварца то все будет окможно и нужно больше ..
где то так

на рисунке измерительная частота 10000Гц
период взятия выборок 1010 мксек
время выборки 7мксек (кау у атмеги при клоке АЦП 250кГц).выборки берутся последовательно напряжение и сразу ток.

 

12val12: ..64бит целого в кодевижине вроде нет (float 1.175e-38 -:- 3.402 e38).
Жаль
12val12: допустим вычисления вместе с ацп занимают 800мксек ( в сумме два канала)
один отсчет 40мксек
два канала 80мксек
20 точек 1600мксек
плюс преобразование во флоат ,генерация синуса получение отсчетов
не попадаем

 

johnU
какие к черту 20 точек ?
у нас целая миллисекунда на вычисление частной суммы !!
ладно на пальцах
допустим частота генератора 1000Гц
первая точка за время 0
вторая точка за время 50микросекунд
третья точка 100микросекунд
четвёртая точка 150микросекунд

но мы всех обхитрили и взяли вторую точку в момент 1050 микросекунд
третью точку вместо времени 100микросекунд взяли за время 2100 микросекунд
чётвёртую 2100+1050=3150

во время дырок считайте что хотите главное выдерживать точно период 1050мкс

 

12val12: какие к черту 20 точек ?
у нас целая миллисекунда на вычисление частной суммы !!

я уже запутался
12val12: при этом будете имееть 20 точек на период

 

именно так
один период будет обработан за 20миллисекунд.
принципы тут
http://ru.wikipedia.org/wiki/%D0%90%D0%BB%D0%B8%D0%B0%D1%81%D0%B8%D0%BD%D0%B3

http://www.daqarta.com/dw_0haa.htm

 

Причем здесь алиасинг ?
Наверное мы про разное говорим.
Насколько я понял идею прибора
Нам необходимо примерно за 1сек произвести измерения на частоте 1кгц
Если мы успеваем обработать отсчет за время когда будет готов новый то
при 20 отсчетах за период у нас получится по 10 000 отсчетов для тока и напряжения
Реально меньше так как часть времени придется отдать на окончательный расчет и вывод на экран

 

цель растянуть вычисления
конечно и результат будет пропорционально позже но он ,будет уже проверил
мне нужен товарищ GO
он поймет //
вопрос для всех сколько займет времени на меге вычисление частной суммы для напряжения и тока?
я так понял это так
Uc =Uc+U_adс*K_cos[i]
Us =Us+U_adс*K_sin[i]
Ic =Ic+ I_adc*_cos[i]
Is =Is+ I_adc*K_sin[i]

ну и for (i=0 ;i>19;i++) { K_cos[i]=cos(W*I/20)shift left-<16 ; K_sin[i]=sin(W*I/20) shift left-<16 }

вот моделирование ..фильтрацию убрал все равно считает -фурье твою мать

 

GO ищите в соседней ветке, здесь он не бывает.

Ваша идея понятна, я сам так намеревался делать для 100 кГц синуса, но времени на выборки уходит вагон и маленькая тележка. Ответ чуть ниже