Например TDA7294

Форум РадиоКот • Просмотр темы - Как повторить последовательность импульсов?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср апр 01, 2026 00:51:47

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


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



Начать новую тему Ответить на тему  [ Сообщений: 72 ]  1, , ,  
Автор Сообщение
 Заголовок сообщения: Как повторить последовательность импульсов?
СообщениеДобавлено: Ср янв 28, 2026 20:54:30 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
Уважаемы знатоки, образовалась проблема которая, с одной стороны- простая, а с другой- где-то даже непонятная! Я опишу, ситуацию! Есть два устройства- сигнальное, и исполнительное. Связаны они- по синезубу. Работает все это так: в сигнальном есть инфракрасный излучатель и ИК- приемник. Когда к нему подносят что-либо, ИК- сигнал отражается от этого "чего-либо" и попадает на ИК- приемник, который выдает посделовательность импульсов которые, в свою очередь, передаются по синезубу на исполнительне устройство и оно- запускает чего-то там. При убирании этого "чего-либо", импульсы пропадают и испольнителбное- возвращается в исходное.
Последовательность передаваемых импульсов мне удалось снять. В связи с чем вопрос: как можно, средствами МК повторить данную последовательность?


Вложения:
photo_2026-01-29_09-17-35.jpg [244.11 KiB]
Скачиваний: 489


Последний раз редактировалось Dmitrudo Чт янв 29, 2026 09:18:46, всего редактировалось 1 раз.
Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Ср янв 28, 2026 21:17:15 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 577
Откуда: Маленький СССР посреди шариатской республики
Рейтинг сообщения: 0
Да элементарно: настроить таймер с DMA. Период импульсов одинаковый, меняется лишь заполнение → в регистр CCRx по DMA передаем очередное значение. И будет щщассье.
Я так и всякими "адресуемыми светодиодами" управлял, и 1-wire…

_________________
Windows must die!


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Ср янв 28, 2026 22:59:04 
Друг Кота
Аватар пользователя

Карма: 62
Рейтинг сообщений: 889
Зарегистрирован: Вт апр 24, 2007 07:45:40
Сообщений: 6306
Откуда: Minsk
Рейтинг сообщения: 0
Да чего уж проще - поскольку частота низкая, в районе звуковой - записать на магнитофон (или в файл) - затем воспроизводить.
Если последовательность всегда одна и та же - сдвиговый регистр + ПЗУ. Если даже и не одна, а конечное их число - то же самое с выборкой номера последовательности. И никаких тебе DMA и MK
Взлом домофона? :shock: :)

_________________
Изображение


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 00:13:46 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
Да чего уж проще - поскольку частота низкая, в районе звуковой - записать на магнитофон (или в файл) - затем воспроизводить.
Если последовательность всегда одна и та же - сдвиговый регистр + ПЗУ. Если даже и не одна, а конечное их число - то же самое с выборкой номера последовательности. И никаких тебе DMA и MK
Взлом домофона? :shock: :)


Нет, не домофона. Раскажу если- весь форум долго ржать будет!
Приблуда домашнего использования. Китайская. Работает- как я описывал выше- при приближении к сигнальному устройству по блютуз отпраляется команда на открытие. Я хочу, чтобы срабатывало не только при приближении к датчику, а через определенные промежутки времени, допустим- каждый час.
Грубо говоря, МК каждый час должен генерировать такую же последовательность импульсов- чтобы сработало исполнительное устройство.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 00:54:07 
Друг Кота
Аватар пользователя

Карма: 59
Рейтинг сообщений: 2255
Зарегистрирован: Чт янв 26, 2012 16:44:29
Сообщений: 20066
Откуда: Таксимо
Рейтинг сообщения: 0
Есть такая штука цифровой магнитоыон isd первые буквы только помню. На али одно времч много продавсли платы готовые с микроыоном и динамиком и конструкторы и готовые уже

_________________
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 01:48:41 
Друг Кота

Карма: 1
Рейтинг сообщений: 91
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 9106
Откуда: .ru
Рейтинг сообщения: 0
вопрос: как можно, средствами МК повторить данную последовательность?

очень просто)) с помощью обычного копировальщика пультов...

Изображение

-берём любой МК.
-нажимаем на кнопочку "записать код".
-передаём код... МК измеряем длительность импульсов и сохраняет в своей памяти.

-потом нажимаем на кнопочку "воспроизвести код".
-МК берёт из своей памяти длительность импульсов и воспроизводит код.

Всё))
:tea:


Вложения:
Screenshot_1.jpg [52.21 KiB]
Скачиваний: 275
Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 08:41:16 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 577
Откуда: Маленький СССР посреди шариатской республики
Рейтинг сообщения: 0
roman.com писал(а):
очень просто

roman.com писал(а):
берём любой МК

Угу. Берем любой МК, а потом в течение месяца пишем функционал "копировальщика" ☺

_________________
Windows must die!


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 08:50:25 
Друг Кота
Аватар пользователя

Карма: 197
Рейтинг сообщений: 8655
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Сообщений: 43703
Откуда: Нерезиновая
Рейтинг сообщения: 0
linux_rulezz писал(а):
Берем любой МК, а потом в течение месяца пишем функционал "копировальщика"

А зачем? Если нужно повторить именно вот эту последовательность:
СпойлерИзображение

то это, если я правильно понял, 0101101101010110101
Непонятна длительность одного импульса, и, если нужно точно повторить завершающий импульс, то делаете, например, три "такта"-
00011100011111100011111100011100011100011111100011101
Просто жестко записываете эту последовательность в .. Ну, думаю, Тини13 хватит

зы.. Если это ИК светодиод, то "единичка" это светодиод светится или нет? Или вы брали сигнал с выхода TSOP-а?


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 09:17:13 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3852
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25661
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Инвертировать ее сначала надо. И потом уточнить - это стековая запись или как ?


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 09:52:08 
Открыл глаза

Зарегистрирован: Пт апр 18, 2025 17:13:54
Сообщений: 44
Рейтинг сообщения: 0
linux_rulezz писал(а):
Берем любой МК, а потом в течение месяца пишем функционал "копировальщика"

А зачем? Если нужно повторить именно вот эту последовательность:
СпойлерИзображение

то это, если я правильно понял, 0101101101010110101
Непонятна длительность одного импульса, и, если нужно точно повторить завершающий импульс, то делаете, например, три "такта"-
00011100011111100011111100011100011100011111100011101
Просто жестко записываете эту последовательность в .. Ну, думаю, Тини13 хватит

зы.. Если это ИК светодиод, то "единичка" это светодиод светится или нет? Или вы брали сигнал с выхода TSOP-а?


Извиняюсь, это я тупанул картинку неполную выложил и там длительность непонятна. Заменил картинку.
Длина пачки- прим. 9 мс. Да, это выход ТСОПа. Получается, единичка- это светодиод потухший, нолик- светится. Тогда последовательность будет
все как у вас и написано, только инвертировано?

В схеме каждую секунду проскакивает "лог 0" синхроимпульс длит 9 мс, когда нет отраженного от Ик-светодиода света- импульсы без "наполнения", когда появляется "отраженка" то внутри синхроимпульса на выходе ТСОП и появляется данная последовательность импульсов- как на фото.
То есть, как я понимаю, записать на Тини 13 последовательность- это пол дела, надо еще синхронизировать их...

Задача чем дальше тем кудрявей...


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 09:57:03 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 447
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3669
Откуда: Севастополь
Рейтинг сообщения: 0
Подобную же задачу (только для пультов сигналок авто) делал в 1996 году на платке от АОНа с Z80 на борту.
Никаких МК с DMA тогда еще не было. Да и юзеров линукса было полторы штуки.
Поэтому сейчас, чтобы не улезать в дебри, проще всего это сделать (как уже сказали) на любом МК, обычным ногодрыгом.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 10:17:39 
Друг Кота
Аватар пользователя

Карма: 32
Рейтинг сообщений: 976
Зарегистрирован: Пт сен 10, 2021 15:19:36
Сообщений: 6615
Откуда: Протвино
Рейтинг сообщения: 0
думаю, Тини13 хватит

ее функционала хватит чтоб и одновременно 6 подобных асинхронных сигнала генерить ;)

а эта задача - элементарнейшая,
1 таймер настраиваем на 500uS
в его прерывании:
сбрасываем С-флаг
делаем 16битный сдвиг регистра через С
С флаг копируем в gpio порт (выход).
тогда 0- будет пассивный уровень, 1- активный. (чтоб проинвертировать надо устанавливать С в 1 а не в 0)

перед этим загружаем в нужный регистр 16бит слово (последовательность 1-битных сэмплв сигнала)

и делаем это каждый раз когда хотим послать команду.

если не хватило 16 бит для записи сэмплов (здесь похоже 18 если не ошибся) то загружаем и крутим 2 регистра или чуть усложняем алгоритм обработчика перрываний чтоб он не тик-семплы загонял сразу а биты кода (пропускал 1 доп тик на очередную выдвинутую 1 и не пропускал на очередной 0 при формировании импульса, это добавит 2 условных оператора и 2 бита для хранения флагов - состояний)

все! это 10..20 avr инструкций не считая алгоритма выбора момента отсылки команды !


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 10:50:51 
Друг Кота
Аватар пользователя

Карма: 59
Рейтинг сообщений: 2255
Зарегистрирован: Чт янв 26, 2012 16:44:29
Сообщений: 20066
Откуда: Таксимо
Рейтинг сообщения: 0
Там еще же частота модуляции нужна

_________________
Мои поставщики запчастей с отличной репутацией
texnomag.ru
radioremont.com
pl-1.org
4ip.info
elitan.ru


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 11:11:20 
Друг Кота

Карма: 1
Рейтинг сообщений: 91
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 9106
Откуда: .ru
Рейтинг сообщения: 0
linux_rulezz писал(а):
Угу. Берем любой МК, а потом в течение месяца пишем функционал "копировальщика"

думаю можно быстрей))
:tea:
abc писал(а):
Подобную же задачу (только для пультов сигналок авто) делал в 1996 году на платке от АОНа с Z80 на борту.

точно ! возьмём процессор с компа))
правда не ясно где в наше время найти Z80... но это мелочи))
:tea:
AlexS4 писал(а):
а эта задача - элементарнейшая

ничего не ясно...
:dont_know:
vlasovzloy писал(а):
Там еще же частота модуляции нужна

не нужна.
:tea:


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 11:15:28 
Вымогатель припоя
Аватар пользователя

Карма: 2
Рейтинг сообщений: 24
Зарегистрирован: Пн сен 15, 2025 08:43:23
Сообщений: 577
Откуда: Маленький СССР посреди шариатской республики
Рейтинг сообщения: 0
Ногодрыг - это фу. Аппаратно же можно сделать на 35-рублевом STM32F103C6T6. Подготавливаем массив и скармливаем его DMA, а дальше уже "оно само" таймер пинает, устанавливая новые значения в регистр ARR (как я смотрю, здесь меняется не скважность, а длительность "единичного" импульса, длительность "нуля" всегда одинаковая, т.е. в регистре CCRx будет постоянное значение).
А по прерыванию окончания передачи DMA отключаем таймер.

_________________
Windows must die!


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 11:17:23 
Друг Кота

Карма: 1
Рейтинг сообщений: 91
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 9106
Откуда: .ru
Рейтинг сообщения: 0
вот сигнал...

Изображение

можно использовать Тини 13...
только там памяти мало... и таймер 8 битный...
можно конечно использовать Тини 13... но так себе.
:?

Изображение


Вложения:
даташит.jpg [88.13 KiB]
Скачиваний: 207
Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 11:41:44 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3852
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25661
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
А простые решения через delay ныне уже не котируются ?


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 12:07:27 
Мудрый кот

Карма: 20
Рейтинг сообщений: 521
Зарегистрирован: Чт авг 10, 2017 20:57:51
Сообщений: 1753
Рейтинг сообщения: 0
Грубо измерил длительности на осциллограмме (часть)
Изображение

Просто для сведение.

PS: "Мерил" в пикселях. :))) :cry: :facepalm:


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 12:23:00 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3852
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25661
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Судя по этой расшифровке, осциллограф был мегагц этак до 2 ? А код пересылаться AES 256 ?

А может быть, все же все гораздо проще ?


Вернуться наверх
 
 Заголовок сообщения: Re: Как повторить последовательность импульсов?
СообщениеДобавлено: Чт янв 29, 2026 15:42:59 
Друг Кота

Карма: 67
Рейтинг сообщений: 1038
Зарегистрирован: Пт мар 07, 2008 06:54:43
Сообщений: 4433
Откуда: Ижевск
Рейтинг сообщения: 0
можно использовать Тини 13...
только там памяти мало... и таймер 8 битный...
можно конечно использовать Тини 13... но так себе.
Ваш картинка показывает, что tiny13 вполне хватит. Как вариант, разбиваете ее на фрагменты по 50мкс. Получится 9000мкс/50=180. Загружаете FLASH фрагментами типа
TB_FRAME:
.DB 0xFF,0xFE,0xFE,0xFE,,0xFF......0xFE,0xFE,0xFE,0xFF ;младший бит содержит последовательность
TB_FRAME_END:
Таймер настраиваете на работу в режим CTC.
Fo=1200000
OC0A=50*Fo/1000000-1
Устанавливаете ZH:ZL на TB_FRAME*2
В нужный момент запускаете таймер, по прерыванию которого считываете текущий фрагмент и выводите на вывод. Сравниваете ZH:ZL с TB_FRAME_END*2, если достигли в начало, иначе повтор.


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

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


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

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


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