Например TDA7294

Форум РадиоКот • Просмотр темы - Измеритель всего, что попадется под руку (RLC-метр)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб янв 03, 2026 19:44:09

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3443 ]     ... , , , 100, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 03:20:19 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
да, у меня дело всё-таки было не в ОУ, а в конденсаторе на выходе цапа.
И ещё, я использую для защиты цепочку встречно-параллельных диодов,
но это нормально работает только на старой прошивке без балансировки.
В чем идея и как реализована эта самая балансировка? Почему оно не работает с диодами?

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 18:05:47 
Встал на лапы

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Сб фев 20, 2016 17:43:39
Сообщений: 103
Откуда: Нижний Новгород
Рейтинг сообщения: 1
День добрый, подскажите плиз, где можно найти описание по теории вопроса алгоритма измерения примененного в данном девайсе. Или может кто уже описывал да я не нашел?
Смотрю исходники 6.03, но некоторые вопросы остались неразгаданными...
1. Частности непонятно зачем у DAC включен режим генерации треугольника, но затем данные грузятся из буфера dac_buf через DMA?
Код:
                     //DAC1 TRIANGLE WAWE MODE | TRIANGLE Amplitude 15
                    |DAC_CR_WAVE1_1|DAC_CR_MAMP1_1|DAC_CR_MAMP1_0
                    //DAC2 TRIANGLE WAWE MODE | TRIANGLE Amplitude 15
                    |DAC_CR_WAVE2_1|DAC_CR_MAMP2_1|DAC_CR_MAMP2_0

2. Не понял код в прерывании DMA1_Channel4
Код:
    const uint32_t k = (SINE_OFFSET |(SINE_OFFSET<<16)); // Это смещение синуса для DAC? Типа OFFSET*2^16+OFFSET ???

Код:
   while(j-- > 0)   {
        uint32_t sig = ((sine[sptr])>>7)&0xffff; //Делаем из 20 bit sin(theta) 13 bit sin(theta), а может и 12 bit, зависит от макс значения
        *dptr++ = k + sig - (sig<<16);// Похоже на операцию смещения по DC, но что это не понял
        sptr++;
   }

3. В прерывании DMA1_channel1 при вычислении mreal[k] точки берутся для всех частот с смещением +N/4 это и будет + pi/2 для всех частот? там вроде разное количество периодов в буфере для разных частот.
Код:
    {
        int dat = adc_dma[j] - SINE_OFFSET;  //Смещение постоянной составляющей ADC Opa ?
        mreal[k] += ((int)sine[j+N/4]*dat);  //cos(theta) = sin(theta + pi/2), но это вроде справедливо только для 1kHz или для остальных частот это тоже так?
        mimag[k] -= ((int)sine[j]*dat);      //sin(theta)
        j++;
    }

4. Ядро я так понял работает в разгоне до 32MHz, а таймер TIM2 тикает с частотой 500kHz. Но вот зачем у него режим в котором используются три CCR регистра. Вроде достаточно TIM2->CCR1 = 46;
Код:
    TIM2->CCR1 = 46;
    TIM2->CCR2 = 62;
    TIM2->CCR3 = 10;

5. Может кто для себя разбирался и есть исходники с комментами, буду при много благодарен?

Я понимаю... у всего есть тайный смысл, но может кто-то ответит.
Заранее благодарю, Андрей.


Последний раз редактировалось ub3taf Сб фев 20, 2016 18:37:20, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 18:20:42 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 245
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 993
Откуда: Тула
Рейтинг сообщения: 0
slav0n писал(а):
но это нормально работает только на старой прошивке без балансировки.
В чем идея и как реализована эта самая балансировка? Почему оно не работает с диодами?
Балансировка убирает различие между каналами, чтобы не надо было подбирать емкости и резисторы рц цепочек. Не работает может быть потому что диоды ограничивают выходное напряжение на уровне полувольта, а оно в момент балансировки вольта два насколько я помню.

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 18:57:30 
Открыл глаза

Зарегистрирован: Ср янв 07, 2015 11:38:17
Сообщений: 42
Рейтинг сообщения: 0
Добрый вечер!

Neekeetos, скажите, можно ли применить в данную схему дисплей от Nokia 6100?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 19:15:58 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 245
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 993
Откуда: Тула
Рейтинг сообщения: 2
ub3taf писал(а):
где можно найти описание по теории вопроса алгоритма измерения примененного в данном девайсе.
На про радио, тема по рлц3 - http://pro-radio.ru/measure/6903/
ub3taf писал(а):
1. Частности непонятно зачем у DAC включен режим генерации треугольника, но затем данные грузятся из буфера dac_buf через DMA?
Позволяет увеличить разрешение и линейность ацп, цап одновременно выводит и треугольники и синус.
ub3taf писал(а):
2. Не понял код в прерывании DMA1_Channel4
Там два канала цапа же, 16 битов один канал и еще примерно 16 второй.
ub3taf писал(а):
3. В прерывании DMA1_channel1 при вычислении mreal[k] точки берутся для всех частот с смещением +N/4 это и будет + pi/2 для всех частот? там вроде разное количество периодов в буфере для разных частот.
Для всех частот которые используются Н/4 дает сдвиг фазы в четверть периода, а количество периодов меняется. Это для упрощения сделано.
ub3taf писал(а):
4. Ядро я так понял работает в разгоне до 32MHz, а таймер TIM2 тикает с частотой 500kHz. Но вот зачем у него режим в котором используются три CCR регистра. Вроде достаточно TIM2->CCR1 = 46;
Видимо остальные каналы таймера тоже используются
ub3taf писал(а):
Я понимаю... у всего есть тайный смысл, но может кто-то ответит.
Мне тоже интересен данный вопрос, вдруг кто продвинулся в изучении.
anry025 писал(а):
можно ли применить в данную схему дисплей от Nokia 6100?
Нельзя, прошивка не поддерживает.

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 19:48:37 
Открыл глаза

Зарегистрирован: Ср янв 07, 2015 11:38:17
Сообщений: 42
Рейтинг сообщения: 0
Neekeetos писал(а):
anry025 писал(а):
можно ли применить в данную схему дисплей от Nokia 6100?
Нельзя, прошивка не поддерживает.

Прошивка понятно, я имел ввиду железо потянет? :))


Последний раз редактировалось anry025 Вс фев 21, 2016 09:56:18, всего редактировалось 2 раз(а).

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 19:53:36 
Встал на лапы

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Сб фев 20, 2016 17:43:39
Сообщений: 103
Откуда: Нижний Новгород
Рейтинг сообщения: 0
Цитата:
На про радио, тема по рлц3 - http://pro-radio.ru/measure/6903/

Эту нескончаемую тему я видел, но изучить сообщения с 2008 года видимо жизни не хватит :). Какое то в нашей стране странное отношение к коллективной разработке, все в форум, ни каких итого. Понятно что владельцам сайтов выгодно, посещаемость растет, все форума перечитывают, но есть ведь Wiki технологии и много еще чего.
Код:
Позволяет увеличить разрешение и линейность ацп, цап одновременно выводит и треугольники и синус.

Спасибо, буду изучать тему.
Код:
Там два канала цапа же, 16 битов один канал и еще примерно 16 второй.

понятнее не стало.
Код:
Видимо остальные каналы таймера тоже используются

А можно тогда узнать название режима или основную идею.

Спасибо за ответы.
P.S. Почему-то не работает кнопка поднять рейтинг сообщения. Попробовал в двух броузерах....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Сб фев 20, 2016 20:12:08 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 245
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 993
Откуда: Тула
Рейтинг сообщения: 0
anry025 писал(а):
я имел ввиду железо потянуть? :))
Не сталкивался с таким экраном, а так если четырех ножек хватит для его управления то наверно железо потянет.
ub3taf писал(а):
Какое то в нашей стране странное отношение к коллективной разработке, все в форум, ни каких итого.
Ну кто то делает, а кто то обсуждает, это нормально. У меня планов по шагам описывать что делаю обычно нету, поэтому так, только в виде результата. Считаю что кому надо вполне может самостоятельно раскрыть мануал по мк и языку си, разобраться с исходниками, собсно многие так и сделали.
ub3taf писал(а):
понятнее не стало.
Глянул еще раз цитату из кода. Там строчка в которой константа помещается два раза в 32битное слово. В этом сложность? Понять что происходит дублирование?
ub3taf писал(а):
А можно тогда узнать название режима или основную идею.
Основная идея такая что разные каналы используются для синхронизации разных устройств типа ацп, цап и прочего барахла, это в общем очевидно из исходника.

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Вс фев 21, 2016 03:45:28 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
Neekeetos писал(а):
Не работает может быть потому что диоды ограничивают выходное напряжение на уровне полувольта, а оно в момент балансировки вольта два насколько я помню.
на самом деле там амплитуда сигнала 0.8 вольта и я использую 6 диодов

Изображение

интересно узнать смысл происходящего здесь
Код:
   
   mAcc[0].Re = 0;mAcc[0].Im = 0;
   mAcc[1].Re = 0;mAcc[1].Im = 0;
   mAcc[2].Re = 0;mAcc[2].Im = 0;


while(rounds-- >0 )
   {
      runRound();
      mAcc[0].Re += mData[0].Re;
      mAcc[0].Im += mData[0].Im;
      mAcc[1].Re += mData[1].Re;
      mAcc[1].Im += mData[1].Im;
      mAcc[2].Re += mData[2].Re;
      mAcc[2].Im += mData[2].Im;

      runRound();
      mAcc[0].Re -= mData[0].Re;
      mAcc[0].Im -= mData[0].Im;
      mAcc[1].Re -= mData[1].Re;
      mAcc[1].Im -= mData[1].Im;
      mAcc[2].Re -= mData[2].Re;
      mAcc[2].Im -= mData[2].Im;

   }

...

   cplxMul(&mAcc[0], &(corr.Corr0) );
   cplxMul(&mAcc[2], &(corr.Corr2) );


Вложения:
защита.jpg [43 KiB]
Скачиваний: 2624

_________________
ohmycode!
primuss3.com
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Вс фев 21, 2016 18:41:44 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 245
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 993
Откуда: Тула
Рейтинг сообщения: 0
slav0n писал(а):
интересно узнать смысл происходящего здесь
Я не против вопросов по существу, но разжевывать каждую строчку мне бы не хотелось. Для человека знакомого с си что делает код понятно и без комментариев, а для незнакомого - просто не надо лезть в код :) .

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Вс фев 21, 2016 19:11:49 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
си понятен, непонятно накопление аккумулятора

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Вс фев 21, 2016 19:29:42 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 245
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 993
Откуда: Тула
Рейтинг сообщения: 0
slav0n писал(а):
непонятно накопление аккумулятора
Это чтобы убрать синхронные наводки от работы мк, данные собираются через раз со сдвигом 0 и 180 градусов, акумулятор соотв всегда накапливает сигнал но обнуляет помеху.

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 07:01:15 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
увидел фазовращатель?
Код:
if( DMA1->ISR & DMA_ISR_HTIF1 )   {j =0;   }else{j =N/2;}

если написать совсем уж по-сишному
Код:
j = (DMA1->ISR & DMA_ISR_HTIF1) ? 0 : N/2;

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 08:52:15 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 245
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 993
Откуда: Тула
Рейтинг сообщения: 0
slav0n писал(а):
если написать совсем уж по-сишному
Код:
j = (DMA1->ISR & DMA_ISR_HTIF1) ? 0 : N/2;
Это не оно, тут просто двойной буфер дма обрабатывается, а сдвиг фазы происходит при переключении каналов ацп тут
Код:
TIM1_BRK_TIM15_IRQHandler(void)

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 12:18:17 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
Neekeetos писал(а):
а сдвиг фазы происходит при переключении каналов ацп тут

честно говоря не понял как происходит сдвиг фазы.
В обработчике я увидел просто копирование
Код:
mData[0].Re = mreal[0];mData[0].Im = mimag[0];
      mData[1].Re = mreal[1];mData[1].Im = mimag[1];
      mData[2].Re = mreal[2];mData[2].Im = mimag[2];

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 13:50:05 
Держит паяльник хвостом
Аватар пользователя

Карма: 20
Рейтинг сообщений: 245
Зарегистрирован: Пн сен 18, 2006 11:16:05
Сообщений: 993
Откуда: Тула
Рейтинг сообщения: 0
slav0n писал(а):
В обработчике я увидел просто копирование
Да точно там, в остальных 43 строках этого обработчика.

_________________
Информация по RLC mini находится >тут<


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 16:56:06 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 0
Neekeetos писал(а):
43 строках
видимо в двух последних

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 18:19:02 
Встал на лапы

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Сб фев 20, 2016 17:43:39
Сообщений: 103
Откуда: Нижний Новгород
Рейтинг сообщения: 0
Я извинюсь.... , а у меня не находит функцию atan2f() вот в этом rlcmeter_620b11_src.zip архиве при компиляции.... Или есть еще опубликованная версия исходников?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 19:09:02 
Опытный кот
Аватар пользователя

Карма: -14
Рейтинг сообщений: -98
Зарегистрирован: Ср дек 01, 2010 00:38:15
Сообщений: 882
Откуда: Харьков
Рейтинг сообщения: 1
Цитата:
Name: atan2f
Prototype: float atan2f (float y, float x)
Description:
This function computes the arc tangent of y/x, but the signs of both arguments are used to determine the quadrant
of the result, and x is permitted to be zero. The return value is given in radians and is in the range -pi to pi,
inclusive.

If x and y are coordinates of a point in the plane, atan2 returns the signed angle between the line from the origin
to that point and the x-axis. Thus, atan2 is useful for converting Cartesian coordinates to polar coordinates. (To
compute the radial coordinate, use hypot; see Exponents and Logarithms.)

If both x and y are zero, atan2 returns zero.
Header files:
math.h

_________________
ohmycode!
primuss3.com


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Измеритель всего, что попадется под руку (RLC-метр)
СообщениеДобавлено: Пн фев 22, 2016 20:42:05 
Встал на лапы

Карма: 4
Рейтинг сообщений: 37
Зарегистрирован: Сб фев 20, 2016 17:43:39
Сообщений: 103
Откуда: Нижний Новгород
Рейтинг сообщения: 0
Цитата:
Header files:math.h

Спасибо, все нашлось.
Т.к. пересобираю проект под QtCreator and Qbs, то в toolchain случайно поставил компилятор gcc вместо g++ , а там почему-то не оказалось atan2f в math.h


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3443 ]     ... , , , 100, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot], SpiritKing и гости: 36


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y