Обсуждаем приемники, передатчики, радиомикрофоны, жучки, генераторы, ВЧ-усилители, антенны и прочее радиохозяйство
Ответить

вопрос по модулю YDK 30

Сб апр 01, 2017 12:19:06

Есть модуль от радио люстры на частоту 433 Мгц. А так же есть брелок от автомобиля на ту же частоту. Записываю сигнал с приемника в компьютер. Но очень много помех. А сигнал по уровню такой же как и помехи. Вопрос простой. Как выделить полезный сигнал из шумов

вот приемник
СпойлерИзображение

вот схема приемника
СпойлерИзображение

так выглядит сигнал с брелка
СпойлерИзображение

мне нужно его выделить и обработать, и записать в МК
Вложения
сигнал.png
(101.04 KiB) Скачиваний: 1221

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 12:39:46

Мои предположения это поставить фильтр нижних частот и компаратор на ОУ. Ну а вообще не знаю. Судя по схеме с приемника сигнал идет сразу в дешифратор. Получается он идет с помехами. Но как же он тогда из помех выделяет полезный сигнал

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 12:51:32

ЛМ358 и есть компаратор

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 13:56:36

однозначно. но почему такие сильнейшие помехи

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 14:24:44

Не оттуда снимаеш сигнал

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 14:39:13

да неужели. хочешь сказать надо между + и data снимать?

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 15:36:47

Для начала не забывайте кидать сразу схему своего девайса..))
https://yandex.ru/images/search?img_url ... rpt=simage
Обычный приёмник на сверхрегенераторе... Ничего особенного))
mixon46 писал(а):Записываю сигнал с приемника в компьютер. Но очень много помех. А сигнал по уровню такой же как и помехи. Вопрос простой. Как выделить полезный сигнал из шумов

Вот тут мы это делали первым способом )) - viewtopic.php?f=28&t=108688&start=700
Вот тут мы это делали вторым и третим способом )) - viewtopic.php?f=28&t=139596
...

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 15:48:41

ну нет я то понимаю для чего компаратор. Напряжение питания данного приемника 5 вольт. я же подключил от 4 вольт. Соответственно могу предположить что на делителе не 2.5 вольт а меньше. из за этого проходят шумы возможно. нужно пробовать. но это всего догадки

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 16:06:48

mixon46 писал(а):ну нет я то понимаю для чего компаратор

В современных схемах компараторы не ставят...)) вместо компараторов ставят АЦП..))
mixon46 писал(а):Напряжение питания данного приемника 5 вольт. я же подключил от 4 вольт. Соответственно могу предположить что на делителе не 2.5 вольт а меньше

а зачем гадать, если на компьютере есть осциллограф.. причём откалиброванный (!), который достаточно точно показывает напряжение сигнала. ))

Так в чём проблема? Для нормальной работы МК.. шумы не мешают)) Я бы только добавил простой ФНЧ, для облегчения работы МК: просто
ФНЧ с частотой среза выше частоты сигнала, чтобы уменьшить высокочастотные шумы... Да просто тупо кондёт в приёмнике поставить большей ёмкости да и всё)) И можно смело подавать сигнал на вход МК вместе с шумами)) А дальше.. всё сделает программа обработки сигнала..))

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 16:18:26

Снимать с минус-дата. Питать от 5в.

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 17:07:55

mixon46 писал(а):Судя по схеме с приемника сигнал идет сразу в дешифратор.

Да.
mixon46 писал(а):Получается он идет с помехами.

Да.
mixon46 писал(а):Но как же он тогда из помех выделяет полезный сигнал

Очень просто. Открываем даташит любого радиомодуля... дешифратора.. и читаем... ))

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 17:46:58

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

СпойлерИзображение
Вложения
сигнал 2.png
(34.64 KiB) Скачиваний: 913
Последний раз редактировалось aen Сб апр 01, 2017 17:54:27, всего редактировалось 1 раз.
Причина: Исправил. Нарушение Правил форума п. 2.6

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 19:02:48

mixon46 писал(а):только вот нужно сделать так что бы этот код можно было записать в МК.

Вариантов миллион)) Самый простой вариант такой:

1- Отключаем приёмник. Подключаем МК напрямую к пульту (к кодеру в пульте). Нажимаем кнопочки на пульте и записываем все команды всех кнопочек пульта (кодера в пульте) в память МК.
Можно записать (автоматически) в EEPROM память МК. Можно записать (вручную) во Flash память МК. По желанию..))
mixon46 писал(а):а потом отправить.

2- Подключаем приёмник. Отправляем команды.
mixon46 писал(а):вообщем как я понимаю делать прерывание по входящему сигналу.

3- В МК можно сделать прерывание по входящему сигналу с приёмника. МК принимает сигнал с приёмника и сравнивает с ранее записанным в EEPROM память МК или во Flash память МК. Если сигналы совпадают, то МК выполняет команды (включает/выключает нагрузку ... и т.д.).
mixon46 писал(а):сигнал с помехами. МК будет на них реагировать и запишет полную хрень. и что самое главное эти шумы размахом как полезный сигнал

4- И не важно какого размаха эти помехи... )) Потому, что МК принимает сигнал с приёмника и сравнивает с ранее записанным. Если сигналы не совпадают, то будет просто ошибка передачи. Вот и всё))

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 20:02:08

Как не важно какого размаха. А как же он запишет и сравнит коды. Я немного не понимаю. Я себе представляю это как мк реагирует на импульс с приемника. Идет прерывание и мк записывает побитово сигнал с приемника. А как же он будет ссравнивать если не бутет прерывания и записи посылаемого кода. Не догоняю

Re: вопрос по модулю YDK 30

Сб апр 01, 2017 20:57:32

mixon46 писал(а):А как же он запишет и сравнит коды. Я немного не понимаю. Я себе представляю это как мк реагирует на импульс с приемника. Идет прерывание и мк записывает побитово сигнал с приемника. А как же он будет ссравнивать если не бутет прерывания и записи посылаемого кода.

Никто импульсы с радиоприёмника через прерывание не записывает...)) Потому что импульсы с шумами... Существует много способов записи импульсов с радиоприёмника. Например как работает простой UART в МК ? https://ru.wikipedia.org/wiki/Универсал ... передатчик

В даташите любого МК подробно всё написано..))

Стартовый бит всегда логический 0, поэтому приёмник UART ждёт перепада из 1 в 0 и отсчитывает от него временной промежуток в половину длительности бита (середина передачи стартового бита). Если в этот момент на входе всё ещё 0, то запускается процесс приёма минимальной посылки. Для этого приёмник отсчитывает 9 битовых длительностей подряд (для 8-битных данных) и в каждый момент фиксирует состояние входа. Первые 8 значений являются принятыми данными, последнее значение проверочное (стоп-бит). Значение стоп-бита всегда 1, если реально принятое значение иное, UART фиксирует ошибку.

Важный момент: UART в каждый момент фиксирует состояние входа, а не ждёт прихода импульса, по прерыванию...))

Ни один заводской декодер не использует прерывание для записи импульсов с приёмника. Все заводские декодеры фиксирует состояние входа.

Re: вопрос по модулю YDK 30

Вс апр 02, 2017 10:39:04

ладненько.

тогда вопрос. На какую скорость нужно настраивать UART 9600 или больше? и запись будет производиться после первого старт бита? а что если брелок первые 8 бит не несет никакой полезной информации. или записать его полностью какой он есть?

интересно такой момент

Re: вопрос по модулю YDK 30

Вс апр 02, 2017 15:21:11

да причём тут UART... UART- это просто пример как работают заводские схемы. Уже много раз обсуждали...

Посмотри например даташит заводского декодера http://archive.espec.ws/files/TX-2B%20R ... RX-2BS.pdf
Вот схема заводского декодера от простой радиоуправляемой игрушки.
9.jpg
(131.7 KiB) Скачиваний: 582

В схеме заводского декодера есть тактовый генератор с частотой 128KHz (Fosc=128KHz). На вход декодера подаём импульсы (вместе с шумами).
Декодер проверяет состояние входа 128.000 раз в секунду.. и переводит входные импульсы в биты... 1010101....

Затем сверяет биты с ранее записанными в памяти. Если код 1010101.... совпадает, то декодер выполняет команду..
Проверку делаем "на лету".
10.jpg
(168.57 KiB) Скачиваний: 572

Вся "фишка" в том, что декодер не ждёт прихода импульса с приёмника (по прерыванию), а проверяет состояние входа непрерывно, по тактовуму генератору (или таймеру).

Декодер непрерывно проверяет состояние входа, переводит входной сигнал в биты и сравнивает с битами, ранее записанными в память.
сигнал 2.png
(7.41 KiB) Скачиваний: 573

Если на входе декодера просто ШУМ, то на выходе мы получаем случайный набор битов- 1010011011100 ... Естественно биты не совпадают с ранее записанными и декодер ничего не делает (т.е. ШУМ приёмника декодер просто игнорирует).

Если на входе появляется сигнал, то на выходе декодера мы получаем определённый набор битов- 1111111000000111111...
Биты совпадают с ранее записанными в память декодера и декодер выполняет соответствующую команду.

Это кратко)) Чтобы внести ясность... как это всё работает... ))

А вот даташит МК (блок UART).
5.jpg
(138.81 KiB) Скачиваний: 690

Видноб что UART работает по такому же принципу - есть тактовый генератор. Логика UART проверяет каждый входящий импульс 16 раз
и переводит входной сигнал в биты. Затем проверяет биты на наличие ошибок и т.д.

Короче.. все декодеры работают одинаково...))

Вот тебе ещё статейка... http://radiokot.ru/circuit/digital/game/65/ простейшее радиоуправление. Там вместо тактового генератора использовали обычный таймер. Принцип тот же - проверяем каждый бит по таймеру и сравниваем с ранее записанными.

И т.д. и т.п. )) Прерывания никто не использует))

Re: вопрос по модулю YDK 30

Вс апр 02, 2017 17:54:38

я это понимаю все примерно как работает. на вход UART поступают сигналы и они последовательно записываются в регистр через определенное время. биты регистра сдвигаются и записывается следующий бит. в этом сложности понимания вроде как и нету. но предложите мне алгоритм что бы можно было записать (переловить) еще не известный мне сигнал и записать его. памяти в мк конечно не много. предположительно создать массив и в него записать с регистра UART байты. потом в обратном порядке их передать так сказать. но нужно знать длительности этих импульсов как я понимаю что бы потом правильно их записать

нужно как бы знать и начало посылки и конец. высчитать из какого количества байт посылка. какие быты стоповые а какие информационные. наверно проще выловить сигнал и записать его через аудиокарту а потом изучить и написать в МК массив и воспроизвести его промодулировав передатчиком на 433 мгц

Re: вопрос по модулю YDK 30

Вс апр 02, 2017 21:59:24

mixon46 писал(а):предложите мне алгоритм что бы можно было записать (переловить) еще не известный мне сигнал и записать его.

Выше предложил..))Подключить МК напрямую (без шумов) к кодеру пульта и записать код в память МК.
mixon46 писал(а):памяти в мк конечно не много.

в дешёвом МК более 8 килобайт)) На пару десятков кодов хватит))
mixon46 писал(а):нужно знать длительности этих импульсов как я понимаю что бы потом правильно их записать

Для начала запиши импульсы нормально... без шумов, чтоб было нормально видно...
mixon46 писал(а):нужно как бы знать и начало посылки и конец. высчитать из какого количества байт посылка. какие быты стоповые а какие информационные.

Вот я к примеру записал код автосигнализации на обычный приёмник - сверхрегенератор 433 мгц. Чётко видно из чего состоит код автосигнализации... ))
7_1.jpg
(198.19 KiB) Скачиваний: 339

Чётко видно, что пока нажата кнопка на пульте, пульт непрерывно передаёт код. Кодировка - обычный манчестер. В этом коде не тстартовых и стоповых битов (как и во многих других кодах). Стартовые и стоповые биты есть наверное только в UART...))) В заводских радиомодулях нет стартовых и стоповых бит. Вместо них есть адрес и данные.
На фото видно, что все пакеты автосигнализации начинаются с адреса - широкие импульсы, с маленькой паузой. Дальше идёт дата - в автосигнализации обычный манчестер. Все пакеты постоянной длины. Поэтому стоповые биты не нужны))
Принцип работы декодера простой (такой же как в обычном радиомодуле):
1- декодер ищет адрес.
2- обноружив адрес, декодер переходит к записи данных.
3- далее проверка данных на наличие ошибок и т.д.

А теперь, для сравнения, ещё раз откроем даташит декодера простой радиоуправляемой игрушки...)) И что мы видим в даташите?
1.jpg
(146.17 KiB) Скачиваний: 272

тоже самое)) Импульсы адрес - длинные импульсы в начале каждого пакета. Заполнение 75%.
Импульсы Data постоянной длительности. Только в радиоуправляемой игрушки не манчестер, а простой число-импульсный код. Вот и вся разница)) Оказывается, радиоуправляемые игрушки используют похожую кодировку как у автосигнализаций..))
Короче.. китайцам лень выпускать отдельно кодеры/декодеры для игрушек и для автосигнала... и они лепят всё на одних мирухах)) с небольшимим переделками...
:)))

Можешь изучить свой код)) Врятли он сильно будет отличаться от стандартных "китайских" кодов..))

А вот ещё один код от автосигналок... записанный на нормальный цифровой осциллограф. Чуть другой.
6.jpg
(105.68 KiB) Скачиваний: 296

Тут кодировка похоже по длительности импульсов.. Не знаю.. подробно не разбирал))

И т.д и т.п.)))

Re: вопрос по модулю YDK 30

Вс апр 02, 2017 22:14:20

ну понял понял. надо пробовать что то делать :) спасибо за подробное разъяснения :beer:
Ответить