Например TDA7294

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





Текущее время: Ср май 07, 2025 23:24:24

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


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



Начать новую тему Ответить на тему  [ Сообщений: 104 ]  1, , , , ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 12:37:52 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
Продолжаем разрабатывать Умный Дом.
Хотя Умный Дом звучит слишком громко)) Скорее простая автоматизация - управление выключателями и розетками по Интернету))
Сценарии и т.д. - это отдельная тема))
Есть W5500 (подключён к провайдеру) + AVR (управление выключателями и розетками + датчики всякие).
Думаю сделать управление всеми выключателями и розетками по витухе. Да, придётся штробить стены)) Зато надёжно.
Думаю поставить в каждый выключатель и розетку отдельный AVR.
:roll:
Вопрос:
А какой протокол использовать для связи AVR (в каждом выключателе и розетки) и главного AVR ?
У кого есть опыт разработки таких устройств ?
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 12:49:39 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2516
Рейтинг сообщения: 0
Лучше поставить не авр, а STM32F0x2 (если у вас пара десятков завалялась, купленных еще по 70 рублей на али; сейчас они огого сколько стоят) и связь сделать по нормальному CAN'у.
Если же так хочется аврки, то можно на крайняк RS-485 замутить, но уж здесь придется самому решать проблему мультимастера (либо ограничиться одним-единственным мастером).
Собственно протокол - любой, какой самому в голову придет. Для CAN можно в первом байте команду передавать, а в остальных семи — параметры. Для 485 лучше всего делать текстовый протокол, чтобы удобно было во время отладки просто подключиться терминалом и вводить данные вручную (и просматривать ответы), скажем "socket r1 off\n" → "OK\n", "socket r1 state\n" → "off\n".

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 13:42:38 
Друг Кота
Аватар пользователя

Карма: 94
Рейтинг сообщений: 1463
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14968
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Может будет интересно:
https://z-uno.z-wave.me
тоже вроде под "умный дом" делалось....
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 13:48:10 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Не понял - зачем управлять розетками? Если есть такая нужда, то ставится пускатель в щиток и оттуда всё выключается.


Вернуться наверх
 
Открыт интернет-магазин MEAN WELL.Market – весь ассортимент MEAN WELL, выгодные цены

Открыта удобная площадка с выгодными ценами, поставляющая весь ассортимент продукции, производимой компанией MEAN WELL – от завоевавших популярность и известных на рынке изделий до новинок. MEAN WELL.Market предоставляет гарантийную и сервисную поддержку, удобный подбор продукции, оперативную доставку по России. На сайте интернет-магазина посетители смогут найти обзоры, интересные статьи о применении, максимальный объем технических сведений.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 14:52:21 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
Пока что просто мысли в слух...
:roll:
parovoZZ писал(а):
Не понял - зачем управлять розетками? Если есть такая нужда, то ставится пускатель в щиток и оттуда всё выключается.

Забыл добавить... Там есть есть бойлеры с таймерами и датчиками... кофеварки... телевизоры... и прочая техника.
Ими с пускателя управлять не получится))
BOB51 писал(а):
Может будет интересно:

869.0 МГц (Россия)
Скорость передачи: 42 кбит/с, 100 кбит/с и 9.6 кбит/с.
Предельная мощность передачи 1 мВт.

Неее... не хочу беспроводное. Хочу проводное. Причин масса.
-надёжней.
-низкое потребление.
-все устройства в доме хочу питать от одного блока питания/аккумулятора по витухе типа PoE.
-...
:roll:
Eddy_Em писал(а):
Лучше поставить не авр, а STM32F0x2 (если у вас пара десятков завалялась, купленных еще по 70 рублей на али; сейчас они огого сколько стоят)

Не понял... Чем лучше ?
AVR сейчас стартуют от 70 рублей за штуку на али.
Главное что у меня для них всё есть))

Собственно весь вопрос в том как подключить 20 штук AVR к одному AVR.
:roll:
Казалось бы нет ничего проще ! А нет ! Не всё так просто))
:tea:

Добавлено after 13 minutes 31 second:
Переформулируем вопрос.))
Есть куча устройств в доме (от выключателей и розеток до умных телевизоров и стиральных машин).
Вопрос:
Как их всех связать вместе по витухе ? Какой лучше использовать интерфейс и протокол ?
:roll:
Eddy_Em писал(а):
CAN... RS-485...

На словах всё просто. В реальности всё сложней.))

Надо:
-надёжность (гарантированная доставка пакетов).
-низкое потребление.
-скорость высокая не нужна.
:roll:

Добавлено after 16 minutes 20 seconds:
Eddy_Em писал(а):
лучше всего делать текстовый протокол, чтобы удобно было во время отладки просто подключиться терминалом и вводить данные вручную (и просматривать ответы), скажем "socket r1 off\n" → "OK\n", "socket r1 state\n" → "off\n".

Чем лучше ?
Сейчас у меня простая передача пакетов ФИКСИРОВАННОЙ ДЛИНЫ между МК по принципу чтение/модификация/запись.
С пакетами фиксированной длины проще работать.
Пакеты фиксированной длины имеют фиксированное время передачи. Для пакетов фиксированной длины нужен фиксированный размер буфера. Пакеты фиксированной длины проще обрабатывать (код программы практически на всех устройствах одинаковый).
И т.д. и т.п.

Осталось только придумать как подключить 20 штук AVR к одному AVR. Чтоб онит обменивались пакетами между собой. Вот собственно и вся задача))
:roll:


Вернуться наверх
 
LED-драйверы MOSO - надежные решения для индустриальных приложений

Продукция MOSO предназначена в основном для индустриальных приложений, использует инновационные решения на основе более 200 собственных патентов для силовой электроники и соответствует международным стандартам. LED-драйверы MOSO применяются в системах наружного освещения разных отраслей, включая промышленность, сельское хозяйство, транспорт и железную дорогу. В ряде серий реализована возможность дистанционного контроля и программирования работы по заданному сценарию. Разберем решения MOSO подробнее>>
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 15:08:30 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Цитата:
все устройства в доме хочу питать от одного блока питания/аккумулятора по витухе типа PoE.

удивительное рядом. Стоит некий модуль в розетке, рядом с которым леппездричества, что через край. Мы же тянем витуху с POE.

Цитата:
Неее... не хочу беспроводное.

Зато можно всё сделать буквально за неделю. И оно будет работать.

Стиралкой, кофеваркой, телевизором зачем управлять удалённо?


Вернуться наверх
 
Распродажа паяльного оборудования ATTEN!
Паяльные станции, паяльники и аксессуары по самой выгодной цене.

По промокоду radiokot скидка 10%
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 15:44:06 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18378
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
roman.com писал(а):
Надо:
-надёжность (гарантированная доставка пакетов).
-низкое потребление.
-скорость высокая не нужна.
1. классический USART даже без драйвера, т.е. TTL-уровни
2. RS-485 - тот же USART, но с физическим драйвером
3. CAN

вариант 1 - самый дешевый, потребление целиком определяется МК, все ведомые МК соединяются параллельно по линиям RX-TX, а потом эта шина подключается к RX-TX ведущего, который всем колхозом и рулит. CRC в пакете даст гарантию доставки данных.

вариант 2 - подороже, посложнее, но по сути то же самое. от 1-го отличается тем, что более помехозащищен на физическом уровне. по экономичности почти такой же, т.к. драйвер в режиме "сна" ничего не потребляет практически

вариант 3 - самый дорогой и сложный, зато самый надежный. для простых протоколов вообще ничего не надо городить, достаточно сообщений CAN, но для обмена информацией поболее 8-и байт придется городить протокол посложнее... есть AVR со встроенным контроллером CAN, есть внешние (через SPI) контроллеры...

я недавно делал по 1-ому варианту устройство, протокол текстовый, скорость обмена 57600 бит/сек. все как часы работало, но расстояния были сантиметровые :) для квартиры скорость придется понижать, думаю, при 9600 бит/сек можно все реализовать

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 17:20:25 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
parovoZZ писал(а):
удивительное рядом. Стоит некий модуль в розетке, рядом с которым леппездричества, что через край. Мы же тянем витуху с POE.

Хочу Умный Дом с постоянным доступом ко всем устройствам, в любое вмеря суток... 24/7/365 ...))
леппездричество бывают в Доме отключают)) POE не отключается НИКОГДА ! Потому что PoE будет работать от аккумулятора. Например автомобильного))
parovoZZ писал(а):
Зато можно всё сделать буквально за неделю.

Мне не надо за неделю)) Можно и за год.
Буду делать дома ремонт - буду закладывать витуху - буду добавлять устройства по мере необходимости. Пока все устройства в доме не будут подключены к серверу с Интернетом.
:tea:
parovoZZ писал(а):
Стиралкой, кофеваркой, телевизором зачем управлять удалённо?

Возвращаясь домой, хочу что бы меня уже ждал дома горячий кофе))
Стиралка мне должна сообщить когда закончит стирать... ))
И т.д. и т.п.
:tea:


Добавлено after 2 minutes 26 seconds:
1. классический USART даже без драйвера, т.е. TTL-уровни
2. RS-485 - тот же USART, но с физическим драйвером
3. CAN

Надо подумать... Всё разобрать подробней...

Добавлено after 18 minutes 46 seconds:
Подумали))
ARV писал(а):
2. RS-485 - тот же USART, но с физическим драйвером
3. CAN

Для RS-485 и CAN нужно дополнительное устройство (драйвер).
А зачем нам лепить отдельный драйвер, если сами по себе AVR достаточно умные устройства и могут подключаться к друг другу НАПРЯМУЮ.
Осталось придумать как))
:roll:

Добавлено after 7 minutes 13 seconds:
Надо придумать топологию.
вариант 1 - самый дешевый, потребление целиком определяется МК, все ведомые МК соединяются параллельно по линиям RX-TX, а потом эта шина подключается к RX-TX ведущего, который всем колхозом и рулит. CRC в пакете даст гарантию доставки данных.

В AVR есть USART.
Это типа топология "общая шина" с одним ведущим.
Вложение:
общая шина.jpg [80.08 KiB]
Скачиваний: 167

Ну допустим.
А как будет происходить обмен пакетами ? Это надо вводить общую синхронизацию... А то будут всякие коллизии...
:roll:
вариант 2 - подороже, посложнее, но по сути то же самое. от 1-го отличается тем, что более помехозащищен на физическом уровне. по экономичности почти такой же, т.к. драйвер в режиме "сна" ничего не потребляет практически

Что за вариант ?
вариант 3 - самый дорогой и сложный, зато самый надежный. для простых протоколов вообще ничего не надо городить, достаточно сообщений CAN, но для обмена информацией поболее 8-и байт придется городить протокол посложнее... есть AVR со встроенным контроллером CAN, есть внешние (через SPI) контроллеры...

В AVR нет CAN.
Лепить внешний модуль не хочется...
я недавно делал по 1-ому варианту устройство, протокол текстовый, скорость обмена 57600 бит/сек. все как часы работало, но расстояния были сантиметровые :) для квартиры скорость придется понижать, думаю, при 9600 бит/сек можно все реализовать

А как происходит обмен пакетами без коллизий ?
:roll:

Добавлено after 4 minutes 49 seconds:
Ещё думал использовать топология "кольцо".
Вложение:
кольцо.jpg [61.87 KiB]
Скачиваний: 169

Все AVR подключить последовательно и гонять пакеты по кругу))
Ведущий и все ведомые МК соединяются последовательно по линиям RX-TX. В этом случае нет коллизий.

Синхронизация. Тут два варианта:
1-Ведущий всем колхозом рулит.
2-Все равноправные участники обмена. Никто никем не рулит))
:roll:
Сделать не проблема. Проблема в другом.))
1-Меньше надёжность. Если один AVR сдох - вся сеть легла))
2-Не гарантированная доставка пакетов (возможна потеря пакетов). Для гарантированной доставки нужна буферизация пакетов. А то вдруг все AVR одновременно захотят передавать пакеты))
:roll:
Всё таки лучше топология "звезда"
Вложение:
звезда.jpg [72.87 KiB]
Скачиваний: 176

20 штук AVR и один AVR главный (он же ведущий ? Или все равноправны ?).
:roll:
Есть ещё варианты...
Вложение:
пассивная звезда.jpg [72.36 KiB]
Скачиваний: 151

Вложение:
смешанная.jpg [57.86 KiB]
Скачиваний: 156

Но это уже перебор))
Думаю остановимся на "звезда"
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 18:00:51 
Собутыльник Кота
Аватар пользователя

Карма: -12
Рейтинг сообщений: -25
Зарегистрирован: Пт июл 12, 2019 22:52:01
Сообщений: 2516
Рейтинг сообщения: 0
Цитата:
Не понял... Чем лучше ?
AVR сейчас стартуют от 70 рублей за штуку на али.

Ну вот, а я три десятка STM32F072CBT6 брал в среднем по 75р за штучку (статистику нарушил последний десяток, который я в этом январе купил аж по 85р за штучку). К нему прицепляется 10-рублевый CAN-конвертер — вуаля!!!
Я в ЖЖшке писал про конвертер CAN-USB, у него (с учетом заказа плат в Китае) себестоимость вышла в 300р С ГАЛЬВАНОРАЗВЯЗКОЙ!

_________________
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 18:48:31 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
Eddy_Em писал(а):
прицепляется 10-рублевый CAN-конвертер — вуаля!!!

Что вуаля ? Как его цеплять к AVR ?
Вложение:
CAN.jpg [119.87 KiB]
Скачиваний: 173

И кто будет писать протокол управления шиной ? Кто будет бороться с коллизиями ? И т.д.

Добавлено after 2 minutes 49 seconds:
Да не буду я покапать специально STM и к нему прицеплять CAN-конвертер...
Есть 20 AVR которые надо подключить к одному AVR напрямую. Вот и вся задача))
Нафиг мне для этого отдельно покупать STM и CAN ?))
:tea:

Добавлено after 29 minutes 29 seconds:
Короче...
Есть AVR (мастер, и к нему уже подключен Ethernet).
Осталось придумать как подключить к одному AVR (мастер) ещё 20 штук AVR (слейв).
Вложение:
схема.jpg [60.59 KiB]
Скачиваний: 160

:tea:
USART в AVR только один (в больших AVR два). Этого явно мало))
Значит надо или использовать мультиплексор или писать свой протокол.
:roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 19:02:27 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 98
Рейтинг сообщений: 2116
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18378
Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
roman.com писал(а):
Кто будет бороться с коллизиями ?
CAN решает вопрос с коллизиями на уровне физического доступа аппаратно, вам не нужно будет вообще об этом думать.
roman.com писал(а):
А как будет происходить обмен пакетами ? Это надо вводить общую синхронизацию... А то будут всякие коллизии...
физическая среда у вас шина, а логическая - звезда: есть мастер, который посылает пакет одному из ведомых и от него же ожидает ответ. сами ведомые никогда не передают ничего, пока мастер не попросит - откуда коллизиям взяться?!
roman.com писал(а):
В AVR нет CAN.
AT90CAN32/64/128 - как это нет?! лично работал с ними!
roman.com писал(а):
Ещё думал использовать топология "кольцо".
в сети, где есть главный узел, это не нужно. кольцо - слишком сложно работает, забодаетесь протокол писать
roman.com писал(а):
USART в AVR только один (в больших AVR два). Этого явно мало
смотря для чего. для простой сети достаточно одного. но и мультиплексировать не сложно. хотя проще взять МК посолиднее с двумя USARTами, если нужно, конечно...

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

Мой уютный бложик... заходите!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 20:33:08 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
ARV писал(а):
физическая среда у вас шина, а логическая - звезда: есть мастер, который посылает пакет одному из ведомых и от него же ожидает ответ. сами ведомые никогда не передают ничего, пока мастер не попросит - откуда коллизиям взяться?!

Ниоткуда))
Вложение:
схема_1.jpg [34.8 KiB]
Скачиваний: 148

ARV писал(а):
AT90CAN32/64/128 - как это нет?! лично работал с ними!

Не работал с такими...
ARV писал(а):
кольцо - слишком сложно работает, забодаетесь протокол писать

:roll:
Фиг его знает)) В теории вроде всё просто... Больше смущает низкая надёжность.
Ну и фиг с этим кольцом))
ARV писал(а):
мультиплексировать не сложно

Мультиплексировать не сложно. достаточно найти мультиплексор)) Или использовать в качестве мультиплексора тот же AVR ))

Проблема в другом: в режиме мультиплексирования и в режиме физическая среда общей шины мастер по любому должен постоянно опрашивать все слейвы...
То что мастер будет постоянно слать пакеты опроса - не самое страшное)) Счётчика трафика в локалке нет)) :)))
Важнее другое - задержки - мастер должен опросить 20 слейвов прежде чем произойдёт событие...
А при включении например выключателей света задержки мягко говоря немного раздражают)) И чем больше задержки тем больше это раздражает)) :?
roman.com писал(а):
-скорость высокая не нужна.

Ошибка. Имелось ввиду другое))
-передавать большой объём данных не нужно. А скорость передачи пакетов нужна !
Свет в Умном Доме должен включаться/выключаться с минимальными задержками (на сколько это возможно).
:)

Добавлено after 16 minutes 6 seconds:
Ещё...
У всех схем где мастер постоянно опрашивает слейвы есть ещё один ЖИРНЫЙ минус - мастер и все слейвы не могут уйти в глубокий сон. Мастер должен непрерывно опрашивать все слейвы, а все слейвы должны непрерывно слушать мастера.
В итоге про SLEEP можно забыть)) А значит и про низкое энергопотребление всей системы тоже ))
:?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 21:52:33 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
очередная утопическая тема о высоком превртилачсь в холивар AVR vs STM32


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 21:57:43 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
С STM32 я не работал... Их практически не знаю.
Зато я хорошо знаю AVR. ))
Никакая не утопическая)) Тема в стадии активного тестирования на макетках. ))
:tea:
Далее...
Для экономного режима все слейвы должны находится в режиме глубокого сна и просыпаться только по событию - нажатию кнопки выключателя (если слейв в выключателе) или приёму пакета от мастера.
:roll:
Осталось решить вопрос с синхронизацией мастера и слейвов.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 22:08:35 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Цитата:
в режиме глубокого сна

Цитата:
и просыпаться

Цитата:
или приёму пакета от мастера.

в лоб это невозможно. через костыль если только.

А зачем им глубокий сон? Для сидящих на розетке хватит и IDLE.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Ср июн 02, 2021 22:52:49 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
parovoZZ писал(а):
в лоб это невозможно. через костыль если только.

Ну значит будем делать через костыль))
parovoZZ писал(а):
А зачем им глубокий сон? Для сидящих на розетке хватит и IDLE.

Какой розетке ? Все AVR питаются от аккумулятора.

SLEEP.
Для начала выбираем режим сна для AVR. Практически у всех AVR режимы сна одинаковые))

Для тестов берём к примеру популярную ATmega8 и тестер. Измеряем потребляемый ток.

Вот что получилось для ATmega8:

0-Активный режим - 3,3V, RC=8 MHz, 6mA.
1-Режим холостого хода (Idle) - 3,3V, RC=8 MHz, 3mA.
2-Режим снижения шумов АЦП (ADC Noise Reduction) - 3,3V, RC=8 MHz, 2mA.
3-Режим выключения (Powerdown) - 3,3V, RC=8 MHz, ~ 0,5 мкA.
4-В экономичном режиме (Power-save) - 3,3V, RC=8 MHz, ~ 0,5 мкA.
5-В дежурном режиме (Standby) - только для кварца (у нас нет кварца).

Для 20 штук AVR:
0-Активный режим 6mA x 20 штук = 120 mA. Это явно дофига ! Аккумулятора надолго не хватит. Даже автомобильного))
1-Режим холостого хода (Idle) 3mA x 20 штук = 60 mA. Экономия не большая)) Всего в два раза)) Аккумулятора надолго не хватит.))
3-Режим выключения (Powerdown) ~ 0,5 мкA x 20 штук = ~ 10 мкA. Нормально))

Пробуждение AVR по приёму пакета по USART возможен только в Режим холостого хода (Idle).
Но у Режим холостого хода (Idle) слишком большой потребляемый ток: 20 штук = 60 mA.

Вывод:
Да и хрен с этим USART )) :)) Будем делать на костылях))
Будем использовать Режим выключения (Powerdown): 20 штук = ~ 10 мкA.
Нормально))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Чт июн 03, 2021 00:18:10 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 41
Рейтинг сообщений: 1217
Зарегистрирован: Ср фев 23, 2011 12:12:31
Сообщений: 2395
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
0-Активный режим 6mA x 20 штук = 120 mA. Это явно дофига ! Аккумулятора надолго не хватит. Даже автомобильного))

120мА при 3,3В = 0,396Вт. Пусть КПД ДЦ-ДЦ 80% = 0,495Вт. Значит от 12В аккумулятора будет сосать 41мА... Авто аккумулятора хватит на пару месяцев...
КАН совсем конечно не для умного дома... Тем более нужно чтобы любой мог стать мастером + большая длина сети (помехи, наводки) + относительно быстрое реагирование. Тут только костыли. Хотя вариантов хватает.

_________________
Глупый не задает вопросы. Глупый и так все знает.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Чт июн 03, 2021 03:31:06 
Друг Кота

Карма: 2
Рейтинг сообщений: 57
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8012
Откуда: .ru
Рейтинг сообщения: 0
AndTer писал(а):
41мА... Авто аккумулятора хватит на пару месяцев...

Авто аккумулятор слишком жирно будет)) Хватит и простого Li-Ion.

Протокол.
Будем подключать 20 штук AVR по самодельному протоколу))
Возьмём самый простой протокол - с частотным кодированием.
Вложение:
модем.jpg [132.25 KiB]
Скачиваний: 162

Который использовал ещё мой дедушка во времена своей юности)) :)))
Вложение:
телефонный модем.jpg [57.64 KiB]
Скачиваний: 154

К слову... его можно использовать даже для связи по рации))
Вложение:
по рации.jpg [80.57 KiB]
Скачиваний: 151


Добавлено after 15 minutes 54 seconds:
Принцип работы простой:
TX - используем задержки или любой таймер. Переводим биты в импульсы разной частоты.
RX - используем прерывания INT0 по изменению уровня и любой таймер который считает время между изменениями уровня и переводит частоту импульсов обратно в биты.
Всё)) Больше нам ничего не нужно))
Закидываем в протеус...
Вложение:
частотное кодирование.jpg [148.99 KiB]
Скачиваний: 190

Всё работает.
Скорость самодельного протокола (при RC = 8 MHz) получилась не менее 20 кБит/с. Пойдёт))
Хотя можно и больше... просто AVR не успевает обрабатывать импульсы более высокой частоты (при RC = 8 MHz).
Для сравнения скорость USART (при RC = 8 MHz) максимум 56 кБит/с. Что не намного больше)) Хотя в реальности получается меньше.. учитывая стартовые и стоповые биты USART.
В нашем самодельном протоколе нет ни стартовых, ни стоповых бит. Пакет передаётся целиком (как в Ethernet).
У нас даже преамбулы нет. Она нам не нужна))
Вложение:
самодельный протокол.jpg [147.36 KiB]
Скачиваний: 146

Пакетики между AVR побежали))
Вложение:
синхронизация.jpg [140.5 KiB]
Скачиваний: 148

:tea:

Добавлено after 32 minutes 32 seconds:
Теперь самое интересное - режим SLEEP.
Переводим слейв в Режим выключения (Powerdown) и пробуждения по получению пакета от мастера.
Вложение:
время пробуждения.jpg [147.76 KiB]
Скачиваний: 155

Работает. ))
AVR переходит в активный режим (ток потребления 6 mA) только на время приёма и отправки пакета/ всё остальное время AVR спит (ток потребления ~0,5 мкA).
У нас получился самый экономичный слейв ))
:))
Что интересно время пробуждения AVR из Режим выключения (Powerdown) в активный режим составляет менее нескольких микросекунд. Можно измерить точно, только придётся писать прошивку на Ассемблере... а это долго))
Хотя в даташите сказано, что для пробуждения AVR из Режим выключения (Powerdown) требуется ещё не менее 4 миллисекунды (время на запуск RC генератора). В реальности же RC генератору не требуется время вообще)) Или требуется очень мало времени (несколько микросекунд)... Короче я так и не понял сколько точно RC генератору требуется времени... :dont_know:

И так мы подключили один AVR по самодельному протоколу на скорости 20 кбит/c.
Вложение:
0_мастер_1_слейв.jpg [43.9 KiB]
Скачиваний: 144

:tea:
Теперь задачка посложней...
Надо подключить 20 штук AVR !!!
Вложение:
0_мастер_20_слейв.jpg [60.59 KiB]
Скачиваний: 146

:o
))
А я предупреждал... что задачка будет не простая))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Чт июн 03, 2021 04:50:01 
Друг Кота
Аватар пользователя

Карма: 51
Рейтинг сообщений: 2108
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6992
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 2
Получил миской по аватаре (2)
у тебя 8 жил... сделай усарт и линию побудки

_________________
Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Протокол для Умного Дома
СообщениеДобавлено: Чт июн 03, 2021 10:02:13 
Мудрый кот

Карма: 11
Рейтинг сообщений: 114
Зарегистрирован: Пт июн 01, 2018 07:28:45
Сообщений: 1759
Рейтинг сообщения: 0
Цитата:
Все AVR питаются от аккумулятора.

Будет шина RS-485? А для неё буферный усилитель без вариантов. А жрёт он наравне с МК. Его тоже в сон? А как тогда пробуждаться? Тут верно скзали - CAN шина. Года как раз хватит, чтобы освоить МК с CAN шиной на борту.

Добавлено after 1 minute 33 seconds:
Цитата:
Возьмём самый простой протокол - с частотным кодированием.

В ADSL модеме вовсе не частотное кодирование.


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

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


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 239


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

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


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