Умный дом: растём
Да настроек много, но они все необходимы.
В вашем примере кстати всё очень прозрачно: инициализация - 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, спасибо всё стало более понятно.
Ещё вот какие вопросы:
Что такое "Set FIFO interrupt level" в "FIFO and Reset Mode Command"?
И в каком даташите есть описание битов статуса? Я нашёл только две доки на модуль эту и эту, в последней только упоминается что существует такая команда "чтение статуса". Но нет описания.
Ещё вот какие вопросы:
Если на nIRQ появляется 0 сразу после синхрокода, то как мы будем считывать данные, если они ещё не пришли? То есть, нужно ещё подождать пока наполнится буфер?при приёме заданного количества битов после синхрокода выставляется ноль на ножке nIRQ --> считываем данные из приёмника
Что такое "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 КБ) 379 скачиваний
- Реклама
Отбой с моей стороны.
Все наладилось. Как всегда сам виноват - RFM12B подключена к PORTA, так же использую АЦП, так вот в настройках АЦП запретил цифровые выходы буферов порта, поэтому мой программный SPI вообще не работал. А RFMшка даже без настроек по приему 8 бит выставляла 0 на nIRQ. Такая интересная штука получилась.
Пока не попробовал считать из статуса напрямую FFIT, ничего и не мог понять.
Разрешил цифровые выходы буферов порта А - все сразу заработало.
Разрешил цифровые выходы буферов порта А - все сразу заработало.
Re: Умный дом: растём
Вопрос всеже ближе сюда. Народ подскажите, чем и как компилировать приложенные С коды, это примеры работы RFM01 и RFM02 скачаные с дойчен сайта.
- Вложения
-
- rfm01 and rfm02.rar
- (3.94 КБ) 403 скачивания
- 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? ... &start=200 там правда ещё старый пульт, он тоже сгодится, но на меге8 я уже более продвинутый сделал.
меньше слов - больше дела
Re: Умный дом: растём
да если можно выложите проектик со схемкой где светодиод подтверждает что данные дошли . Хорошая у вас тема
Re: Умный дом: растём
Как и обещал, пульт ДУ на меге8 + реле.
- Вложения
-
- photo.rar
- фотка
- (28.49 КБ) 582 скачивания
-
- 03.rar
- схемы и ПП
- (41.94 КБ) 518 скачиваний
-
- 02.rar
- прошивки и исходники
- (20.62 КБ) 458 скачиваний
-
- 01.rar
- Readme
- (48.2 КБ) 478 скачиваний
меньше слов - больше дела


