Как перепаять не программируемый пульт 433mhz
Перейти к содержимому

Как перепаять не программируемый пульт 433mhz

  • автор:

Обучаемый 433МГц пультик для клонирования статичного кода.


Эта статья является небольшим логическим продолжением статьи «Кодграббер статичного кода».
На пробу были приобретены «обучаемые брелки для копирования», чтобы посмотреть как это сделано.
Стоимость примерно 120 и 140 рублей за штуку.
Заявлено, что эти брелки позволяют записать посылку из существующего устройства и воспроизвести по нажатию кнопки. Ограничены протоколом посылок SC2262 и подобных.
Далее мы посмотрим что у них там внутри и попробуем настроить под себя.

Первым сюрпризом было то, что в одном из брелков используется элемент А27, который тоньше А23. Пришлось дозаказывать ещё и батарейки.

Пробуем обучить.
Перед обучением стираем все запомненные ранее коды, для этого одновременно нажимаем две верхние кнопки и удерживаем какое-то время.
Светодиод загорится, потом заморгает.

Для обучения нажимаем и удерживаем обучаемую кнопку. Вплотную подносим копируемого и включаем на передачу.
Светодиод заморгает, значит сигнал пойман и записан.
После этого обученная кнопка при нажатии и удержании будет выдавать в эфир запомненный код.
Перезаписать отдельную кнопку нельзя. Сначала стираем всё, затем программируем каждую кнопку.

Всё работает как и описано, но возникают трудности с копированием слабых сигналов.
Чувствительность приёмника в копировщике «никакая», подносить приходится антенна к антенне.
К тому же, хочется записывать коды просто «из головы», не копировать, а самостоятельно составлять и воспроизводить.


Немного реверс-инжиниринга.
Внутри пультика видим различную мелкую рассыпуху, четырнадцатиногую микросхему без маркировки и EEPROM с I2C интерфейсом AT24C02.
Вполне очевидно, что все данные хранятся внутри внешней EEPROM, осталось только понять что и как там хранится.
Впоследствии оказалось, что при внешней схожести микросхем основного контроллера в брелках, они всё-таки разные. Используют разные адреса, по разному запоминают данные.

Начнём с брелка с антеннкой.
Подключаем логический анализатор «USBEE» к пинам SDA и SCL микросхемы EEPROM.
Стираем, обучаем, воспроизводим и при этом смотрим, какие адреса и данные EEPROM используются.

В процессе выяснилась непонятная особенность работы логического анализатора.
Это недорогая китайская поделка на CY7C68013, которая может притворяться и USBEE и Logic-U.
Оказалось Logic-U почему-то не распознаёт часть посылки.
На картинках видно, что не рашифровывается считываемый байт.

Logic-U
Logic-U не может декодировать байт

USBEE
USBEE удачно справляется с декодированием
Разбираться я не стал, воспользовался USBEE софтом, хотя Logic-U удобнее.

После некоторых экспериментов с клонированием различных пультиков получаем:
базовый адрес в EEPROM для каждой кнопки:
Верхняя правая: 0x06
Нижняя правая: 0x10
Верхняя левая: 0x1A
Нижняя левая: 0x24

данные для каждой из четырёх кнопок
base_addr+0x00 — признак что кнопка запрограммирована (0 — запрограммирована)
base_addr+0x01 — записывается 0, при чтении не используется
base_addr+0x02 — тайминг 1t, ориентировочно 340 ед/мс (для расчёта значения необходимо время 1t в мс умножить на 340)
base_addr+0x03 — младшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x04 — средние 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x05 — старшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x06 — записывается 0, чтается при воспроизведении
base_addr+0x07 — записывается 0x18, может быть количество байт в посылке
base_addr+0x08 — тайминг 1t, дублируется base_addr+0x02

Формируем свою посылку.
Теперь попробуем заставить брелок воспроизводить любой код в формате SC2262 и подобных.
Например, для управления радиоуправляемой розеткой из статьи на хабре "«Заводим» радиоуправляемые розетки без пульта".

Переключателем розетка может быть настроена на один из восьми каналов.
Запрограммируем наш пультик так, чтобы управлять на четвёртом и пятом каналах.

4 канал, код включения «000100001000»
в формате HS2272
«0» — соответствует «короткий + короткий импульс»
«1» — соответствует «длинный + длинный импульс»
«F» — соответствует «короткий + длинный импульс»
тайминги SC2272

в формате обучаемого брелка каждый импульс кодируется одним битом
0 — короткий импульс
1 — длинный имульс

значит «000100001000» преобразуется в 000000110000000011000000 = 0x0300C0 (в память оно ляжет младшим байтом вперёд).

Аналогично:
4 канал, код выключения «000100000000» преобразуется в 0x030000
5 канал, код включения «011000001000» преобразуется в 0x3С00С0
5 канал, код выключения «011000000000» преобразуется в 0x3С0000

Настройка таймингов.
Вскроем наш приёмник сигналов, и посмотрим какой резистор Rosc установлен у микросхемы HS2272.
По цветовой маркировке получается 390К, тестер показывает 394К.
По графику из pdf пытаемся прикинуть частоту OSC, но в разных pdf по разному рисуют графики зависимости.
Поэтому, напрямую осциллографом смотрим частоту на OSC2 ножке микросхемы.
У меня получилась частота около 70 КГц.
В pdf написано что при приёме в импульс должно помещаться от 2,5 до 8 клоков OSC.
Расчётное значение 1t получается 0,114 мс, но с таким таймингом приёма нет.
На практике получилось, что работает с таймингами 1t = 0,150-0,350 мс. Всё что быстрее или медленнее не принимается.

Почему так — не понимаю, если больше поэкспериментировать с разными приёмниками, то может чего и прояснилось бы.

Выберем значение «с потолка» 0,25 мс * 340 = 85 (0x55).

Запрограммируем любым доступным I2C программатором (CH341 например), подключившись к SDA, SCL, GND, VCC ножкам EEPROM.

левая верхняя кнопка — включение канала 4
с адреса 0x1A запишем данные 0x00 0x00 0x55 0xC0 0x00 0x03 0x00 0x18 0x55
левая нижняя кнопка — выключение канала 4
с адреса 0x24 запишем данные 0x00 0x00 0x55 0x00 0x00 0x03 0x00 0x18 0x55
правая верхняя кнопка — включение канала 5
с адреса 0x06 запишем данные 0x00 0x00 0x55 0xC0 0x00 0x3C 0x00 0x18 0x55
правая нижняя кнопка — выключение канала 5
с адреса 0x10 запишем данные 0x00 0x00 0x55 0x00 0x00 0x3C 0x00 0x18 0x55

Перед заливкой данных через программатор, необходимо нажать и удерживать любую кнопку на пультике, иначе линии SDA и SCL притянуты к земле.

Проверяем, работает.
Дополнительно можно защитить от стирания, подняв 7 ножку EEPROM и посадив её на 8 ногу.

Второй брелок, без антенны с А27 батарейкой имеет другую «карту памяти».
Базовый адрес:
Нижняя правая: 0x0A
Нижняя левая: 0x14
Верхняя правая: 0x1E
Верхняя левая: 0x28

Данные:
base_addr+0x00 — признак что кнопка запрограммирована (см. примечание *)
base_addr+0x01 — младшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x02 — средние 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x03 — старшие 8 бит кода (0 — короткий импульс, 1 — длинный имульс)
base_addr+0x04 — тайминг 1t

*примечание — если у предыдущего брелка признак запрограммированности кнопки — значение 0 по соответствующему адресу (остальные значения воспринимаются как «кнопка не запрограммирована»), то здесь для каждой кнопки индивидуальные значения.
При стирании:
по адресу 0x0A пишется значение 0x30,
по адресу 0x14 пишется 0x3A,
по адресу 0x1E пишется 0x44,
по адресу 0x28 пишется 0x4E.
При запоминании:
по адресу 0x0A пишется значение 0x0A,
по адресу 0x14 пишется 0x14,
по адресу 0x1E пишется 0x1E,
по адресу 0x28 пишется 0x28.

Кроме того, при стирании по адресу 0x6E пишется 0x6E, при запоминании любой кнопки туда пишется 0x00.

Дополнительную сложность представляет то, что контроллер после окончания обмена с EEPROM не освобождает линию SCL, и мне не удалось записать EEPROM программатором не выпаивая микросхему.

Тайминги у контроллеров также отличаются. В первом брелке мы записывали 0x55, во втором оно сохраняется как 0x43.

P.S.
Хорошо бы сравнить дальнобойность этих брелков с какими-нибудь другими, необучаемыми.
Да и живучесть батарейки также может отличаться, потребление в режиме сна разное.
Но, мне кажется, что эти параметры будут примерно одинаковые.

Схему срисовывать не стал.
Вот фотографии с двух сторон, все дорожки навиду.

Как перепаять не программируемый пульт 433mhz

С Новым 2013 годом, уважаемые коты.

Решил создать новую тему именно в этом разделе, т.к. буду говорить о теории. Если чего не так, то прошу модераторов сильно не наказывать.

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

Менять ни тюнер ни, тем более, телевизор ему не хочется. Поэтому у меня возникла идея, которая состоит в следующем.
В одном из девайсов (скорее всего это будет тюнер) меняем TSOP (ИК приемник) на другой. Суть замены — изменить несущую частоту ИК канала. Например, в тюнере использован TSOP на частоту 36 кГц. Ставим на его место TSOP с частотой 40 кГц. В пульте меняем кварц с 455 кГц на (40*455)/36=505,5 кГц. Или вместо "родного" пульта тюнера используем универсальный.
И вуаля — все работает, не мешая друг дружке.

Универсальный брелок SK-4D (шлагбаум, ворота). Программирование.

Всем добрый день!
Интересная тема. Я себе сделал на днях. Доволен. Рекомендую каждому, у кого есть такая необходимость.

Идея проста. Если у кого то есть несколько пультов от домашних ворот, шлагбаумов, рольставней и тд — собрать все в один универсальный пульт.

Универсальный пульт — дубликатор DUBLICATOR SK4 предназначен для радиоуправления воротами, шлагбаумами или другими радиоуправляемыми устройствами с фиксированным кодом или простым динамическим (пульт Doorhan), работающим на частоте 433,92 мГц. Пульт предназначен для создания дубликата от оригинального.

Пульт состоит из приёмника 433,92 МГц, управляющего микроконтроллера, микросхемы памяти и передатчика 433,92 МГц. В момент программирования (записи), сигнал, принятый от оригинального пульта анализируется и запоминается в микросхему памяти. Затем при
нажатии на кнопку воспроизводится передатчиком пульта. На один пульт DUBLICATOR можно записать сигналы 4-х пультов разных производителей. На каждую кнопку можно записать сигнал длительностью до 3 секунд.

Заводом изготовителем в пульт записаны тестовые сигналы. Для того чтобы занести в память пульта коды вашего оригинального брелка (или нескольких) необходимо проделать следующие операции:
Внимание! Для защиты от случайного программирования, время между операциями должно занимать не более 5 секунд, иначе пульт выйдет из режима программирования, с сохранением ранее записанного кода.

1. Нажмите одновременно и удерживайте кнопки 2 и 4 на пульте DUBLICATOR, пока не начнёт медленно мигать индикатор — один раз в секунду (удерживать необходимо около 3 сек.
Во время удержания светодиод не должен светиться, если индикатор светится, значит, кнопки были нажаты не синхронно – повторите нажатие на кнопки синхронно).
2. Нажмите кнопку на пульте DUBLICATOR на которую вы хотите записать сигнал, индикатор должен мигать быстро.
3. Поднесите оригинальный пульт вплотную к задней части пульта DUBLICATOR (Рисунок 1).
Нажмите нужную кнопку на оригинальном пульте и удерживайте, индикатор на DUBLICATOR будет светиться постоянно – запись сигнала началась.

Удерживайте кнопку на оригинальном пульте, пока индикатор на пульте DUBLICATOR не погаснет.

Особенность программирования пульта Doorhan

— Поднесите оригинальный пульт вплотную, к задней части пульта DUBLICATOR.
Нажмите нужную кнопку на оригинальном пульте на пол секунды (не более), затем сразу второй раз примерно на 1 сек., после того как индикатор на DUBLICATOR погаснет можно пользоваться или программировать другую. (При управлении автоматикой Doorhan, кнопку на дубликаторе нужно будет удерживать около 1 секунды).
Сигнал записан, пульт готов к работе. Записанный сигнал хранится в энергонезависимой памяти не менее 10 лет (не стирается при смене батареи).
Для того чтобы записать сигнал на другие кнопки, проделайте пункты 1…3. Число программирования – не ограничено.

Рабочая частота: 433,92 МГц (стабилизирована ПАВ резонатором)
Дальность действия: 30…100 м
Дальность действия зависит от условий приёма (электромагнитных помех и прямой видимости антенны)
Элемент питания: 3V CR2032 — 1 шт.
Время работы от одной батареи CR2032: 6…24 мес.
Длительность работы зависит от качества батареи и интенсивности использования пульта.
Длительность записываемой информации для одной кнопки: от 2 до 3 секунд (в зависимости от модели оригинального пульта)
Время выборки сигнала: 20 мкС (частота дискретизации 50 кГц)
Габаритные размеры: 55х43х16 мм

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *