Обсуждаем контроллеры компании Atmel.
Ответить

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Чт окт 12, 2023 14:56:41

Vovik-78 писал(а):Но ведь я считываю и сигналы и паузы по продолжительности.

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

Vovik-78 писал(а):И потом не деколирую а выдаю копии.

Попробуйте записать более длинный отрезок.

Запишите и сравните несколько нажатий той же самой кнопки.
Долгое удержание кнопки тоже имеет свои особенности.
https://slydiman.me/scr/rcexplorer.htm

https://slydiman.me/scr/index.htm

Имеется такой файлик по кодировкам.
IR kodirowka.pdf
(217.48 KiB) Скачиваний: 12

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Чт окт 12, 2023 19:36:12

В общем дела такие.
Дублирование пульта телека работает в железе.
А вот от родного пульта кондера не получается. Что то считывает, но Дублирование не срабатывает.
Записываю сигнал эмулятора пульта с телефона - все дублируется с контроллера. Не могу пока понять в чем проблема.
Может есть у кого то идеи?

ошибка в программе...

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Чт окт 12, 2023 23:35:09

Заметил в протеусе, что при частоте контроллера 1мГц входной сигнал частой 4 кГц и скважностью 70 уже не воспринимается правильно, сигнал и пропуск вместо 70/30 записываются пополам. Поднял частоту до 8 мГц, входной сигнал 9кГц и скважностью 80/20 и 90/10 пишется корректно. Но это не помогло. Пульт от кондиционера так и не читается нормально. Увеличивал и длинну массива сигналов с 200 символов до 400. Тоже не помогло. Эмуляция с телефона так же работает, от телика тоже работает.
Пока не понимаю в чем беда. Попробую еще прерывание по переполнению увеличить, которое отвечает за отслеживание окончания пакета приема сигналов. Может где то в импульсах пауза большая и происходит сброс при переполнении. По тому, что записывается только 3 последовательности все время. Но еще и подвисает иногда, приходится сбрасывать ресетом камень. На других пультах ничего не виснет.
Еще мысль, что несущая у пульта сильно отличается от частоты приемника. Приемник на 38кГц.
Нужно, похоже, собирать преобразователь сигнала и выводить на компьютер.

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Чт окт 12, 2023 23:51:54

Есть такая штука, называется ЛА. Плату на CY7C68013A можно купить за бешенные 400 рублей и припаять на нее несколько проводников.

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Пт окт 13, 2023 10:04:47

Есть такая штука, называется ЛА. Плату на CY7C68013A можно купить за бешенные 400 рублей и припаять на нее несколько проводников.

А можно чуть подробнее?

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Пт окт 13, 2023 10:28:34

roman.com писал(а):Попробую еще прерывание по переполнению увеличить, которое отвечает за отслеживание окончания пакета приема сигналов.

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

имхо вы просто отсекаете часть посылки или не не хватает скорости обработки.

Покажите принятую последовательность.

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Пт окт 13, 2023 14:00:01

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

Добавлено after 2 hours 56 minutes 25 seconds:
Re: Нужна помощь с заданием несущей IR светодиода для ИК пульта
Ну, короче победил я его. Увеличил Массив до 400 символов. Изначально не работало по тому что инкремент массива был 8 бит. Переваливало за 255 и все глючело, перезаписывались начальные значения стартовых временных интервалов.
но блин, как же много он шлет информации лишней.
При воспроизведении сплит срабатывает быстро, а там еще какие то данные идут. То ли он дублирует несколько раз что то.
Но пока оставим так.
Нужно будет на других сплитах попробовать.

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

Но везде только библиотеки под Ардуино.
Может кто то видел где то под AVP на Си?

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Пт окт 13, 2023 16:19:02

Vovik-78 писал(а):Увеличил Массив до 400 символов. Изначально не работало по тому что инкремент массива был 8 бит. Переваливало за 255 и все глючело

я сразу сказал...
roman.com писал(а):ошибка в программе...

:tea:
у меня массив 512 байт...
Код:
unsigned char TX_int[]={
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //32

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //64

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //96

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //128

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //160

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //192

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //224

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //256

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //288

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //320

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //352

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //384

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //416

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //448
 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //480
 
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00  //512
};     

и переменная счётчика прерывания типа int (0...65536)
и все данные выводятся на комп...
и кроме самих данных на комп выводится количество общее прерываний...
и т.д.))
ИК_1.jpg
(173.98 KiB) Скачиваний: 11

поэтому у меня нет проблем со считыванием... любых пультов... от чего угодно))
:tea:

в телика всё просто - каждой кнопке присвоен свой номер
всего в телике может быть до 256 кнопок (0...255).

кондиционер (в отличии от телика) передаёт длинные пакеты...
потому что (как пишут в справочнике) для нормально работы кондиционера нужно передавать все данные за один раз))

пример:

Описание протокола пульта кондиционера Electrolux

0,1 байты 0x83 0x06 Видимо адрес
2 байт 0b00000000 Режим работы
7 бит=1, если нажата кнопка «swing»
6 5 4 биты в режиме осушения отвечают за «мощность» 110= -7...-2, 101= -1, 000=0, 001=1, 010=2..7
3 бит=1 в режиме «sleep» (одновременно вентилятор устанавливается на минимум)
2 бит установлен, если нажата кнопка включения
1 и 0 биты отвечают режим вентилятора — 00 автоматический, 10 максимальная скорость, 01 средняя скорость, 11 малая скорость.
3 байт 0b11000010 Режим работы и температура. В этом примере охлаждение до 30 градусов
Старшие 4 бита содержат заданную температуру по формуле 18+число записанное тут, например 0b1100=12 прибавляем 18 получается 30
Младшие 4 бита отвечают за режим работы 0010 охлаждение, 0000 нагрев, 0011 осушение, 0001 режим «smart»
4 байт 0b00000000 неизвестный байт
5 байт 0b10010000 Режим супер охлаждения
В режиме супер охлаждения вентилятор на максимум, температура +18 и дополнительно старшие 4 бита 1001 в остальных режиме там нули.
Первые 6 байт закончены далее следует стартовая последовательность 8мс в высоком состоянии +0,5мс в низком состоянии и вторая часть посылки 8 байт.
0 байт 0b10000110 Текущее время (часы), в этом примере 6 часов.
7 бит всегда установлен.
5 бит=1 выключить дисплей на внутреннем блоке.
1 байт 0b00000010 текущее время (минуты) в этом примере 02 минуты
7 бит установлен когда включен таймер выключения.
2 байт 0b00010111 Время автоотключения (часы), тут 23 часа.
3 байт 0b10111010 Время автовыключения ( минуты) тут 58
7 бит установлен, когда включен таймер автовключения.
4 байт 0b00001100 Время автовключения (часы) тут 12 часов
5 байт 0b10000010 Время автоовключения (минуты) тут 2 минуты
7 бит всегда установлен
6 байт 0b00011111 Текущая температура измеренная пультом, тут 31.
7 байт CRC.

и т.д. ))
:tea:

Добавлено after 21 minute 25 seconds:
Re: Нужна помощь с заданием несущей IR светодиода для ИК пульта
Vovik-78 писал(а):Теперь осталось разобраться с передачей данных через радиомодуль между думя камнями. предполагается использовать RFM69HW (в оригинальном устройстве стоит такой).

Но везде только библиотеки под Ардуино.
Может кто то видел где то под AVP на Си?

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

подключаем RFM69HW по SPI к любому МК...
Screenshot_3.jpg
(42.48 KiB) Скачиваний: 13

распиновка расписана подробно в даташите))
Screenshot_1.jpg
(62.69 KiB) Скачиваний: 15

и передаём пакеты... по радио))
Screenshot_2.jpg
(29.93 KiB) Скачиваний: 15

предварительно настроив сам модуль... см. даташит.))

делов то))
:tea:

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Пт окт 13, 2023 19:02:51

не понял...
передачей данных через радиомодуль между думя камнями ? для чего ?
в оригинальном устройстве стоит такой ? в каком устройстве ?
:dont_know:


Писал в постах ранее:
"Приемник и передатчики будут разными устройствами.
вообще задумка такая:
Мне нужно устройство типа блока ротации кондиционеров. оно состоит из одного главного/управляющего устройства и нескольких ведомых (типа БУУР / БИС), связываются по радиоканалу. Но функционал нужен чуть другой.
Если БУУР / БИС рассчитан на поддержание температуры в серверной и ротации кондиционеров, то мне нужно устройство, которое будет включать некоторое количество мощных кондиционеров последовательно с небольшой задержкой для исключения перегрузок по сети.
Пусковые токи у сплитов большие, и при одновременном их включении все вырубает.
Вот я и хочу их включать последовательно с задержкой 5-15 секунд с контролем запуска компрессора.


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

Описание протокола пульта кондиционера Electrolux


Вот у меня как раз электролюкс. Мало того, сейчас почти все бренды без собственных заводов, а Electrolux один из них, делают кондиционеры на разных заводах в зависимости от ценовой политики, модели, партии и т.д. Electrolux - в основном это завод GREE. Но иногда проскакивают отдельные модели с Медеи. И тогда протоколы уже бут разные.
Но все равно, большое спасибо за вашу отзывчивость.

делов то))

Это да. Но для меня это все не просто, т.к. я совсем начинающий писатель кодов и программирования контроллеров)))

Вот учусь, попутно пытаясь сделать нужные для себя устройства.

Re: Нужна помощь с заданием несущей IR светодиода для ИК пул

Сб окт 14, 2023 00:13:37

типа БУУР / БИС

никада не работал с кондеями)) серверные у меня были маленькие... по одному кондею... на каждом объекте))
:tea:
БУУР / БИС...
:roll:
Screenshot_1.jpg
(53.69 KiB) Скачиваний: 21

Screenshot_2.jpg
(49.43 KiB) Скачиваний: 17

Screenshot_3.jpg
(29.03 KiB) Скачиваний: 20

Screenshot_4.jpg
(46.2 KiB) Скачиваний: 18

Screenshot_5.jpg
(36.56 KiB) Скачиваний: 16

базовый блок с программой... куча исполнительных блоков связаны с базовым по радио... удалённое управление кондеями по интернету через обычный браузер... и т.д.

всё с вами ясно)) теперь хоть буду знать как это работает))
:tea:

такую фигню можно сделать самому... не вижу проблем))
:tea:

хотя... если б я делал для себя... я бы сделал всё по проводам... с одним блоком... и обязательно с управлением по интернету... так надежней чем по всяким радио)) там помех много...
но это я))
:tea:
Ответить