Умный дом: растём
Да настроек много, но они все необходимы.
В вашем примере кстати всё очень прозрачно: инициализация - RF12_INIT(включаем модуль (передатчик или приёмник, синтезатор, осциллятор и т.д.), задаём ему несущую частоту, полосу, задаём скорость обмена по радиоканалу, синхрокод...)
передача: посылаются несколько байт 0xAA, для синхронизации, потом синхрокод 0x2DD4, после чего идут данные.
приём: например при инициализации задали что работаем через FIFO, при приёме заданного количества битов после синхрокода выставляется ноль на ножке nIRQ --> считываем данные из приёмника, послав последовательность 0xB000, при этом вернётся 0xXXDD, DD - данные. Можно не ждать ноля на ножке nIRQ, а считывать статус посылая на модуль пакет 0x0000, в статусе вообще много полезной информации (см. даташит), в том числе там же есть бит переполнения FIFO буфера (сбрасывается сразу после чтения статуса). Т.о. можно считывать данные после выставления этого бита.
В вашем примере кстати всё очень прозрачно: инициализация - RF12_INIT(включаем модуль (передатчик или приёмник, синтезатор, осциллятор и т.д.), задаём ему несущую частоту, полосу, задаём скорость обмена по радиоканалу, синхрокод...)
передача: посылаются несколько байт 0xAA, для синхронизации, потом синхрокод 0x2DD4, после чего идут данные.
приём: например при инициализации задали что работаем через FIFO, при приёме заданного количества битов после синхрокода выставляется ноль на ножке nIRQ --> считываем данные из приёмника, послав последовательность 0xB000, при этом вернётся 0xXXDD, DD - данные. Можно не ждать ноля на ножке nIRQ, а считывать статус посылая на модуль пакет 0x0000, в статусе вообще много полезной информации (см. даташит), в том числе там же есть бит переполнения FIFO буфера (сбрасывается сразу после чтения статуса). Т.о. можно считывать данные после выставления этого бита.
меньше слов - больше дела
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Stepan, спасибо всё стало более понятно.
Ещё вот какие вопросы:
Если на nIRQ появляется 0 сразу после синхрокода, то как мы будем считывать данные, если они ещё не пришли? То есть, нужно ещё подождать пока наполнится буфер?
Что такое "Set FIFO interrupt level" в "FIFO and Reset Mode Command"?
И в каком даташите есть описание битов статуса? Я нашёл только две доки на модуль эту и эту, в последней только упоминается что существует такая команда "чтение статуса". Но нет описания.
Ещё вот какие вопросы:
при приёме заданного количества битов после синхрокода выставляется ноль на ножке nIRQ --> считываем данные из приёмника
Если на nIRQ появляется 0 сразу после синхрокода, то как мы будем считывать данные, если они ещё не пришли? То есть, нужно ещё подождать пока наполнится буфер?
Что такое "Set FIFO interrupt level" в "FIFO and Reset Mode Command"?
И в каком даташите есть описание битов статуса? Я нашёл только две доки на модуль эту и эту, в последней только упоминается что существует такая команда "чтение статуса". Но нет описания.
Нет, nIRQ выставляется в ноль при приеме определённого количества битов пришедших после синхорокода, FIFO interrupt level это по-моему и есть это количество битов (по умолчанию = 8 ).
Даташит: http://www.hoperf.com/upfile/RF12.pdf
Даташит: http://www.hoperf.com/upfile/RF12.pdf
меньше слов - больше дела
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Передаю RFM02(rev3)+ATMEGA48, принимаю RFM12B(rev4)+ATMEGA644. Один вроде бы нормально передает пакет из 8 байт, второй как бы принимает эти 8 байт, но принимаются нули. Вроде бы и все настройки правильные (по крайней мере взял из рабочего примера Stepana).
Коды выкладываю, может одним глазком на досуге глянете?
Спасибо!
Коды выкладываю, может одним глазком на досуге глянете?
Спасибо!
- Вложения
-
- ra4fcr.rar
- (4.63 КБ) 377 скачиваний
Отбой с моей стороны.
Все наладилось. Как всегда сам виноват - RFM12B подключена к PORTA, так же использую АЦП, так вот в настройках АЦП запретил цифровые выходы буферов порта, поэтому мой программный SPI вообще не работал. А RFMшка даже без настроек по приему 8 бит выставляла 0 на nIRQ. Такая интересная штука получилась.
Пока не попробовал считать из статуса напрямую FFIT, ничего и не мог понять.
Разрешил цифровые выходы буферов порта А - все сразу заработало.
Разрешил цифровые выходы буферов порта А - все сразу заработало.
Re: Умный дом: растём
Вопрос всеже ближе сюда. Народ подскажите, чем и как компилировать приложенные С коды, это примеры работы RFM01 и RFM02 скачаные с дойчен сайта.
- Вложения
-
- rfm01 and rfm02.rar
- (3.94 КБ) 401 скачивание
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Re: Умный дом: растём
AVR Studio 4 - GCC
Re: Умный дом: растём
Здравствуйте.
Может быть невнимательно смотрел тему, но нигде не нашел длины провода-антены. Я так понимаю, её длина зависит от частоты передатчика?
Может быть невнимательно смотрел тему, но нигде не нашел длины провода-антены. Я так понимаю, её длина зависит от частоты передатчика?
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Re: Умный дом: растём
Длина антенны должна быть равна четверти длины волны. Так, например, для 434МГц антенна должна быть около 17 см.
Re: Умный дом: растём
Пробую подключить модуль RF02, на основе вашего исходника TermoOut сделал
программу две кнопки включают нагрузку. Собрал на одной плате, работает от БП,
от 3-х батареек (4,5В) не работает
Решил собрать ещё один, собрал, не работает вообще, переставляю модули, и контроллеры не работает. У меня атини в корпусе DIP может фьюзы другие для него хотя
по частоте то же самое, если по питанию BOD. Посмотрел вашу печатку в протеусе и схему, разводка не совпадает, 16 ножка атини висит в воздухе 17,18,19-? по схеме
не так.6-я ножка модуля RF02 с 20 выводом атинт? Только питание и 1 ножка RF (DATA)
и 9 вывод атини по схеме и печатке совпадает. Я правильно понял, что 1,4,5 ножку
атини можно оставить в воздухе.
Плата уличного термометра выложена неверная, схема приведёная в статье правильная (хотя и при вёрстке перемещена почему-то в раздел Внешний терморегулятор).
Ножку reset подтягивать считаю не обязательным, согласно даташиту она внутри подтянута к VCC резистором 30-60кОм.
XTAL ножки также оставляю свободно висящими, так как используется внутренний генератор.
Незнаю почему у вас работает от блока и не работает от батареек, у меня схема ул. т-тра работает пока батарейки не сядут до 2,9 вольта. Попробуйте после подачи питания вручную временно закоротить reset на землю, мне иногда помогало...
Кстати недавние исследования выявили что в устройствах со спящим режимом лучше не включать BOD - он существенно повышает энергопотребление (о чем и говорится в даташите если приглядеться, с BOD tiny2313 потребляет 20 мкА а без него 0,5 мкА). BOD я включал только для защиты EEPROM от записи при пониженном напряжении питания. В уличном термодатчике EEPROM не используется поэтому BOD я не включаю (ставлю BODLEVEL = 111).
меньше слов - больше дела
Re: Умный дом: растём
Давно наблюдаю за этим проектом, и честно говоря, меня несколько удивляет критика отдельных товарищей в сторону Автора. Критика, которая, на мой взгляд, выглядит неуместно, а по большому счету, нагло. Критика на предмет того что схема не доработана, прошивка кривая и т.д. Я понимаю, многим, особенно начинающим постигать азы радиоэлектроники, хочется найти, абсолютно, законченный проект. Единственное что сделать, это заказать детали, платы, и, немного попаяв, получить готовое оборудование, которое останется только прошить, не вложив в реализацию, ни сколько, собственного интеллекта, участия и времени. Причем оборудование не простое. Вспомним поговорку про бесплатный сыр. Автор выложил плоды своего ИНТЕЛЕКТУАЛЬНОГО труда, в абсолютно открытых исходниках. Это дорогого стоит. Единственное что остается, это заточить систему под свои нужды и потребности. Грош цена тому радиоэлектронщику, который не знает Закон Ома, не желает учиться, и не способен вычислить схематические баги. Грош цена тому программеру, который не изучает документацию, и единственное на что способен, это написать HELLO WORLD на basic без приставки .net.
От себя и от тех людей, которые без критики, но с редкими вопросами к Автору, скажу – СПАСИБО. Stepan - Ты молодец. Ты многим дал толчок для движения, развития, в области радиоэлектроники. Тема автоматизации всегда была очень интересной. Ну а тема автоматизации дома…
От себя и от тех людей, которые без критики, но с редкими вопросами к Автору, скажу – СПАСИБО. Stepan - Ты молодец. Ты многим дал толчок для движения, развития, в области радиоэлектроники. Тема автоматизации всегда была очень интересной. Ну а тема автоматизации дома…
Re: Умный дом: растём
Целиком и полностью осгласен.СПАСИБО .
Профан Ной собрал ковчег, инженер собрал "Титаник"
Re: Умный дом: растём
а нельзя в пульт д.у прикрутить светодиод который будет показывать включилась нагрузка или выключилась по радиоканалу я в програмировании не силён но хочу попробовать собрать ваш проект только мне бы чтоб видеть отработку включения или отключения нагрузки заранее спасибо
Re: Умный дом: растём
mr_screw, ankar, спасибо! Очень приятно слышать что проект выполняет поставленную перед ним задачу - приносит пользу
.
to vvvvvvvv, а что конкретно вы собираетесь повторить? просто без нормальных знаний ассемблера я повторять весь проект не рекомендую, так что думаю, вы хотите собрать пульт и розетки без настройки с ЦП, т.е. с готовыми EEPROM прошивками (где-то в этой ветке выкладывал такие). Вообще, я уже достаточно далеко ушёл от этого проекта и переписывать эти прошивки не хочу, поэтому могу предложить также выложить схему с прошивкам и EEPROM для нового пульта и розетки (пульт сделан на меге8 всё остальное в схемотехнике без изменений). В ближайшем будущем добавлю туда и мигание светодиодом при подтверждении что пакет дошёл до цели. Новую редакцию проекта я уже выкладывал в другой ветке, а здесь где-то ссылка была.
П.С.: Под нормальными знаниями ассеблера понимается умение прочитать программу, понять и вставить, где нужно, процедурку дрыганья ножкой.
to vvvvvvvv, а что конкретно вы собираетесь повторить? просто без нормальных знаний ассемблера я повторять весь проект не рекомендую, так что думаю, вы хотите собрать пульт и розетки без настройки с ЦП, т.е. с готовыми EEPROM прошивками (где-то в этой ветке выкладывал такие). Вообще, я уже достаточно далеко ушёл от этого проекта и переписывать эти прошивки не хочу, поэтому могу предложить также выложить схему с прошивкам и EEPROM для нового пульта и розетки (пульт сделан на меге8 всё остальное в схемотехнике без изменений). В ближайшем будущем добавлю туда и мигание светодиодом при подтверждении что пакет дошёл до цели. Новую редакцию проекта я уже выкладывал в другой ветке, а здесь где-то ссылка была.
П.С.: Под нормальными знаниями ассеблера понимается умение прочитать программу, понять и вставить, где нужно, процедурку дрыганья ножкой.
меньше слов - больше дела
Re: Умный дом: растём
На данном этапе собран пульт и внешний. С ассембдером ,благодаря Вашим комментам, потихоньку разбираюсь. Просто я его изучал для Z80.20 лет тому назад. А вот ссылку на другую ветку шось не бачил. Если можно повтори.
Профан Ной собрал ковчег, инженер собрал "Титаник"
Re: Умный дом: растём
Вот на этой странице посмотри http://radiokot.ru/forum/viewtopic.php?t=16048&start=200 там правда ещё старый пульт, он тоже сгодится, но на меге8 я уже более продвинутый сделал.
меньше слов - больше дела
Re: Умный дом: растём
да если можно выложите проектик со схемкой где светодиод подтверждает что данные дошли . Хорошая у вас тема
Re: Умный дом: растём
Как и обещал, пульт ДУ на меге8 + реле.
- Вложения
-
- photo.rar
- фотка
- (28.49 КБ) 582 скачивания
-
- 03.rar
- схемы и ПП
- (41.94 КБ) 518 скачиваний
-
- 02.rar
- прошивки и исходники
- (20.62 КБ) 456 скачиваний
-
- 01.rar
- Readme
- (48.2 КБ) 477 скачиваний
меньше слов - больше дела