Гражданская радиосвязь в России (CB, LPD, PMR) Вход     Регистрация

18+ Данный раздел сайта запрещён для просмотра детьми!  

Данный раздел запрещён для просмотра детьми

Материалы данного раздела могут содержать информацию, запрещенную для детей, согласно нормам установленным Федеральным законом "О защите детей от информации, причиняющей вред их здоровью и развитию".
Гражданская радиосвязь / Всё на форуме / Вопросы и ответы - конструирование электроники
Доплеровский датчик движения - схемы, конструкции, как сделать своими руками
kreker из Нижневартовск - Ханты-Мансийский ао
kreker из Нижневартовск - Ханты-Мансийский ао
  @Сергей, Я боюсь вас запутать ещё больше. Сам не слишком сведущь, а ещё совету давать буду. Давайте дождёмся ответа 250.
В теме на электрониксе всплывают спорные моменты, надо чтобы 250 глянул.
 
Записано: 497 дн 17 час 18 мин 7 сек назад (07.06.2016, 18:47:04)

 
Сергей без регистрации
  @kreker
Я попробовал алгоритм, ссылку на который, давали вы (там где исходный код). Без движений выдает число близкое к нулю, при движении цифра начинает расти в зависимости от расстояния и скорости. Теперь осталось разобраться, что это за число на выходе.
 
Записано: 497 дн 16 час 36 мин 2 сек назад (07.06.2016, 19:29:09)

250 из Новосибирск - Новосибирская обл
250 из Новосибирск - Новосибирская обл
  > Ваш пример, на который была ссылка выдает странные значения с минусом и да на выходе алгоритма всё время истина
Если речь о примере с страницы http://electronics-and-mechanics.azm.su/page57.h­tml то это кусок анализатора из прошивки эхо-репитера, там в InSample[n] лежат значения которые были набраны из АЦП и сохранены.
Анализ ведётся по 100 значениям, это видно из определения цикла "n<100".
Но этот кусок не к этой задаче, в реальности этот кусок выявляет частоту 1750Гц при частоте дискретизации ~16000Гц.
Возможно! на некоторых компиляторах в этом куске кода нужно прописать:
TMPVAR_v0 = ((float)InSample[n] + constantaA * TMPVAR_v1 - TMPVAR_v2);
добавить "(float)" перед InSample[n], что бы компилятор понял, что мы хотим однобайтовую signed суммировать с float, то есть пояснить компилятору как типы данные приводить.

А вообще, для Герцеля не нужно держать 100 значений или все значения за секунду или за минуту и даже 2 значения из АЦП не надо держать, только 3 переменные и одна, текущая выборка. Собственно в этом и есть его плюс.
То есть пример нужно переписывать так, что бы это была функция, которая будет в глобальных переменных (для микроконтроллера уместный стиль, что бы стек не гонять туда-сюда) держать 3 значения, на входе принимать (или получать) текущее значение из АЦП, а вот каждые, например 100 или 50 вызовов этой функции будет производиться анализ этих 3 переменных.

То есть всё приобретёт вид примерно такой:
float constantaA = 2 * cos(PI * 2 * (нужная частота / частота дискретизации));
float TMPVAR_v0=0;
float TMPVAR_v1=0;
float TMPVAR_v2=0;
unsigned char tik_counter=0;

void OneSampleCalc(float InfoSample){ // обсчёт текущего семпла
TMPVAR_v0 = (InfoSample + constantaA * TMPVAR_v1 - TMPVAR_v2);
TMPVAR_v2=TMPVAR_v1;
TMPVAR_v1=TMPVAR_v0;
}

bool ChkExistFrq(void){ // анализирует что насобирала предыдущая фкнкция
float resultat;
resultat = (TMPVAR_v1*TMPVAR_v1 + TMPVAR_v2*TMPVAR_v2 - constantaA * TMPVAR_v1 * TMPVAR_v2);
if (resultat > NEED_LEVEL){return true;}
return false;
}

void OnTimerClick(){ // вызывается таймером NNN раз в секунду
if (tik_counter <125){
OneSampleCalc(__GetADC()); // получим значчение из ADC и отдадим на обсчёт
tik_counter++;
}else{
if(ChkExistFrq()){__Action();} // было сделано 125 тиков с обсчётом, проанализируем и наверно выполним некие действия
tik_counter=0;
}
}

> Получается, таймер переполняется каждые 8 millisec? 1000 / 125 = 8 millisec
Получается 8 милисекунд, но не так как Вы написали, потому что если 1000 это частота в Гц (тиков в секунду), то 8 милисекунд не получается никак, потому как герцы в секунды, будет так:
1 / (1000 / 125) = 0.125 сек

Забирать данные с АЦП нужно с частотой не менее 2f верхней частоты которую хотим контролировать (теорема Котельникова).
Следовательно если нужно контролировать частоты с датчика соответствующие движениям человека (скорости этих движений), которые лежат в диапазоне 2-10Гц и сигнал помехи 50Гц, то минимальную частоту дискретизации (частоту выборок с АЦП в секунду) нужно выбирать не менее 100Гц, я в опытах выбирал частоту 125Гц, эта частота формировалась таймером таким образом:
8000000/256/250
где:
8000000 тактовая контроллера
256 железный делитель таймера
250 число на котором происходит переполнение
то есть таймер переполнялся каждые 1/125 = 0.008 секунды или 8 милисекунд.

> Тема на electronix.. Там файлы.
Там какие то странные файлы. Картинки. С датчика картинки точно поступать не могут. Вот бы wav куски получить, было бы понятнее.
Но в целом там народ верно мог сказать: что Ваша звуковая карта не пропускает низкие частоты.

А ещё "доставил", человек с ником "_pv" вот этой фразой:
> ну и искать 14Гц с датчика движения, не многовато ли? алкоголиков с похмелья по дрожжанию рук выделять из сигнала? да и то там не выше пары Гц будет.
Видно, что человек не понимает как работает в принципе доплеровский датчик движения.

Тоже интересна и верна мысль от человека с ником "alexeyv":
> Следовательно на 48кГц, чтобы различить 5 и 8 Гц необходимое количество выборок ~24кило.
По сути надо было бы ему Вам порекомендовать сделать даунсэмплинг с частоты дискретизации 48кГц до скажем 1кГц и уже от них брать 400 выборок.

ВАЖНО!
Тут вообще интереснее с этми 48кГц:
он не совсем корректно помнит суть дела, а суть дела в том, что при 48кГц и 400 выборках записывается всего 1/120 секунды = 48000/400 и как найти в 1/120 секунды частоты, один период колебания которых 1/14 секунды, то есть в 400 выборках на частоте 48кГц содержится не более 0.12 колебания.

---
Вот чувствую себя тем самым уродом, которые не могли мне написать нормальный пример и нормально объяснить, как вращать 3D кубик натянув на его стороны фотку, в далёком 1990 году. Давали куски кода, но они не работали, а они говорили, что просто код выдран из проекта и там он работал, может что и надо попатчить, но там всё очевидно и разобраться раз плюнуть. Правда это был исходник на ассемблере и было его не 2-3 килобайта, а около 100кб, да ещё и разбросанных по 5 файлам.
 
Записано: 495 дн 12 час 55 мин 31 сек назад (09.06.2016, 23:09:40)

kreker из Нижневартовск - Ханты-Мансийский ао
kreker из Нижневартовск - Ханты-Мансийский ао
  >Там какие то странные файлы. Картинки.
Почему странные? о_О
Вот прямая ссылка на архив, которая была в первом посте той темы.
 
Записано: 495 дн 8 час 43 мин 7 сек назад (10.06.2016, 03:22:04)

250 из Новосибирск - Новосибирская обл
250 из Новосибирск - Новосибирская обл
  kreker, скачал, посмотрел.
Все частоты на своих местах, только что бы их хорошо разглядеть нужно дацнсамплинг сделать хотя бы до частоты дискретизации 500 Гц, а то на такой дикой частоте дискретизации для таких сигналов просто всё в кучку, в начале сжато.
Вот что даёт быстрое преобразовпние фурье блэкмен-харрис 65536 точек (записи сделан даунсамплинге до 500 Гц), можете в эксель загнать и график расчертить встроенными средствами экселя:
Скачать файл: Резульат анализа записи "Движение вблизи датчика.wav"
Уровни там в децибеллах, думаю знаете, что это за единицы, так что пики по уровню там на шкале частот достаточно хорошо выражены (конечно их попортили шумы усилителя и искажения связанные с зашкалом по уровню (что даёт гармоники), но для детектирования вполне).

Единственное что могу сказать: датчик у Вас получился глухой (слепой) - нужное подчеркнуть. У меня такой размах колебаний, как у Вас на расстоянии "перед датчиком" соответствует расстоянию до датчика метра три, соответственно размах как у Вас "на расстоянии метр" у меня на расстоянии метров 7. У меня на расстоянии метра на осциллографе отчётливо видно колебание, если я только указательным пальцем шевелю.
Думаю у Вас операционный усилитель не обеспечивает усиления или сам генератор не в режиме (мал h21э транзистора на частоте на которой работает датчик, мала площадь резонатора-антенны или мала добротность резонатора). Хотя на 5 вольт, вроде вполне вменяемый размах колебаний.
Впрочем мы опять отходим от алгоритма и возвращаемся в начало диалога.
Приложены файлы: f27721-0.txt
 
Записано: 491 дн 12 час 15 мин 23 сек назад (13.06.2016, 23:49:48)

 
Сергей без регистрации
  250

Спасибо за подробные разъяснения. Теперь у меня считает, как и должно.
 
Записано: 489 дн 1 час 38 мин 47 сек назад (16.06.2016, 10:26:24)

kreker из Нижневартовск - Ханты-Мансийский ао
kreker из Нижневартовск - Ханты-Мансийский ао
  Сергей, можете скинуть свою печатку и схему?
 
Записано: 479 дн 23 час 19 мин 59 сек назад (25.06.2016, 12:45:12)

 
Сергей без регистрации
  @kreker

У меня датчик заводской HB100, а схема из рекомендуемых производителем в прилож. файле.
Так же рекомендую посмотреть по датчику http://www.limpkin.fr/index.php?post/2013/08/09/­Making-the-electronics-for-a-%247-USD-doppler-mo­tion-sensor#main­
Купить HB100 можно на Aliexpress.
Приложены файлы: f27796-0.pdf
 
Записано: 479 дн 12 час 47 мин 38 сек назад (25.06.2016, 23:17:33)

 
МишаПати без регистрации
  Добрый всем день!

Подскажите, можно ли промоделировать подобную схему допплеровского датчика движений в MicroCAP ? И чем в таком случае заменить резонатор и окружающую его дорожку W1 и W2 ?


Или к сожалению так нельзя? =(
Приложены файлы: f27825-0.gif
 
Записано: 476 дн 20 час 24 мин 3 сек назад (28.06.2016, 15:41:08)

250 из Новосибирск - Новосибирская обл
250 из Новосибирск - Новосибирская обл
  МишаПати, ответил личным сообщением в ответ на Ваше сообщение.
Кратко изложу суть здесь (вдруг у кого ещё с подобный вопрос будет):

Чем заменить антенну.
Очень интересный вопрос, потому что заменять нужно не антенну а систему:
"передающая антенна -> пространство -> отражающие и поглощающие поверхности -> приёмная антенна"
Если "пространство" заменяется аттенюатором (делителем уровня сигнала) действующим согласно приближенной формуле:
ослабление_в_Дб = 32.6+20 * log10(расстояние_в_км) + 20 * log10(частота_в_мгц)
То отражающие поверхности это по сути сами передатчики, точнее пассивные ретрансляторы, которые возбуждаются передающей антенной и сами излучают сигнал.
Наверно ближайший аналог всей этой системы (указанной выше) будет такой:
"аттенюатор -> линия задержки -> аттенюатор"
Для движущихся объектов линия задержки будет менять своё время задержки в некоторых пределах (некая дельта).
Первоначальное время задержки выбирается как:
расстояние_между_объектом_и_датчиком * 2 / скорость_света = время_в_секундах

Применительно к схеме, антенна ещё и является резонатором, простейший аналог - LC контур, правда, в данном устройстве параметры L (индуктивность) и C (ёмкость) распределённые.
Для моделирования именно той схемы, что у Вас нарисована это будет несколько муторно вводить, тут проще схему перерисовать на её аналог, но более понятный:

только выше L2C2 по схеме ещё впилить резистор на 1кОм и будет прям аналог-аналог.

Посмотрите, а нужно ли оно действительно Вам, в смысле такая детальность модели. Может всё свести к более простой модели:
Генератор1 (моделирует излучаемый сигнал)
Генератор2 (моделирует отраженный от объекта сигнал)
сигналы с генераторов поступают на
Смеситель
далее
Фильтр Низких Частот, простейшая интегрирующая RC цепь с частотой среза 100Гц
далее
Усилитель Низких Частот.
 
Записано: 476 дн 3 час 15 мин 36 сек назад (29.06.2016, 08:49:35)

 
Алексейдоом без регистрации
  Вот, разобрал SQ0324-0015 (ДДМ-01), Датчик движения микроволновый 5,8ГГц из ЧипДипа https://www.chipdip.ru/product/sq0324-0015.

Внутри использован допплеровский модуль PD-V1 http://pdlux.gmc.globalmarket.com/products/detai­ls/high-frequency-microwave-sensor-module-pd-v1-­8449518.html .

Излучатель модуля не полосковый, а штырь высотой 15мм, размер ПП 34*34мм, треть модуля под металлической крышечкой занимает НЧ-предусилитель. В крышечке над ВЧ-частью какой-то электропроводный чёрный поролон (с графитом?), ткнул его тестером - порядка 2-8кОм (чтобы волнам мягче было? или поглощает чего?). Модуль питается от 5в, но я запитал от 2,8в, потребление 9,5ма, сократился радиус действия.
Плата самого датчика
. Ещё фотки Скачать файл: f28774-9.jpg Скачать файл: f28774-10.jpg Скачать файл: f28774-11.jpg Скачать файл: f28774-12.jpg , если что нужно, пишите на alexeidoom@mail.ru .
 
Записано: 248 дн 0 час 5 мин 10 сек назад (12.02.2017, 12:00:01)

 
анон без регистрации
  https://www.youtube.com/watch?v=0QNiZfSsPc0
 
Записано: 179 дн 4 час 56 мин 54 сек назад (22.04.2017, 07:08:17)

 
анон без регистрации
  @Сергей,
А как вы обработали сигнал датчика?
АЦП \ Таймер с защёлками?
Опишите, пожалуйста.
 
Записано: 175 дн 1 час 1 мин 45 сек назад (26.04.2017, 11:03:26)

 
Сергей без регистрации
  АЦП и алгоритм Герцеля. По сути все алгоритмы взяты из этой темы.
Также экспериментировал с компаратором, но там сложнее с помехами бороться.
 
Записано: 174 дн 13 час 7 мин 27 сек назад (26.04.2017, 22:57:44)

 
анон без регистрации
  @Сергей,
>АЦП и алгоритм Герцеля.
Код и настройки получения сэмплов можете можете скинуть?
 
Записано: 174 дн 5 час 33 мин 11 сек назад (27.04.2017, 06:32:00)

 
анон без регистрации
  @Сергей,
Неужто жалко?
 
Записано: 169 дн 3 час 40 мин 9 сек назад (02.05.2017, 08:25:02)

 
Сергей без регистрации
  >Неужто жалко?

У меня коммерческий продукт.
Здесь всё расписано, а вообще спросите автора темы.
 
Записано: 160 дн 22 час 39 мин 28 сек назад (10.05.2017, 13:25:43)

 
анон без регистрации
  @Сергей,
>У меня коммерческий продукт.
Удачи с миллионными продажами.
Приложены файлы: f29032-0.jpg
 
Записано: 159 дн 8 час 32 мин 13 сек назад (12.05.2017, 03:32:58)

 
Сергей без регистрации
  @анон,
>>Удачи с миллионными продажами.

Мне и сотни хватит.
А вы сами бы написали, а не клянчили готовые исходники.
Приложены файлы: f29033-0.jpg
 
Записано: 158 дн 23 час 50 мин 34 сек назад (12.05.2017, 12:14:37)

 
анон без регистрации
  @Сергей,
Ну, начнём стого, что просил я кусок кода, отвечающий за выявление частоты. А не "готовые исходники" всего вашего сверхсекретного коммерческого проекта.
Ну и к слову, писали вы этот кусочек тоже не сами.

Ну а закончим тем, что вы - мудак.
Вот, кажись, и разобрались что к чему.

Ещё раз спасибо.
 
Записано: 156 дн 23 час 13 мин 40 сек назад (14.05.2017, 12:51:31)

    Страницы в теме:
 1   2   3   4   5 


 
Ник:

Пароль к нику:

Число изображённое крупным шрифтом:


Написать комментарий:
[B] [I] [S] [WWW] [YouTube]

Бросить друзьям ссылку на тему:
Если это интересная тема, дайте людям на неё ссылку:
http://27kb.ru/zou.php?f=901&message=8522


О сайте
Правила сайта
  Обратная связь Рекламодателям
  Сотрудничество   Яндекс.Метрика