Умный дом: растём

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Аватара пользователя
nsl2004
Мучитель микросхем
Сообщения: 402
Зарегистрирован: Пт май 29, 2009 10:14:29

Сообщение nsl2004 »

2__Alexander
Попутного ветра Вам Александр и удачи. 8)
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Сообщение Vitalik_Nic »

1. Показания реальных часов считываются один раз при запуске программы. Если при запуске программы у вас выводятся все нулевые цифры то связи по usart между МК и ft232 у вас нету. При первом запуске должны вывестись 01.01.00 00:00:80, ну а после синхронизации с компом нормальные часы.

У меня при первом запуске были одни нули, значить подтягивающие резисторы на portD 0,1,2,3 соответствует на ft232 TXD,RXD,CTS,RTS. CTS должен быть притянут к лог 0, как писал раньше
буду пробовать.

ЗЫ: непонял что вы имели ввиду под повторным обновлением.

Когда запускаем программку выбираем пункт 6 обновляется время, потом через несколько минут делаем синхронизацию времени комп и ЦП, программка зависает(курсор переходит на вторую строчку и все!)

2. Двоеточие на ЖКИ - нормально, так как перед презентацией статьи отлаживал выполнение сценариев то вся отладка с ЖКИ сосредоточена именно там, остальное - удалено Smile

Ага понятно на ЦП жк нужен для отладки, значит будет там стоять.

3. Насчет внешнего термодатчика: старые прога и прошивка ЦП не используют температуру внешнего термодатчика, косяк. Написал новые, прилагаю.

Хм а я уже начал грешить на RFM02 или RFM12 что они не работают почему то не как не получается добавить новое устройство
Как проверит прием передатчики если между ними связь?
маленькое уточнение у меня модули только RFM12B и RFM02B они полностью совместимы с RFM12 RFM02 отличаются только напряжениями питания, или чемто все таки отличаются?

Попробую новою версию отпишусь

4. Выкладываю программу для отладки.
C помощью нее и проверю работу ЦП и Температурного Датчика

5. Не нравится мне что у вас программа через раз запускается. У вас какой проц в компе?

У меня проц Athlon 64 Processor 3800

При не подключенном ЦП прошка вообще не запускается, таки должно быть?
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Мощный проц, я с такими и незнаю где попробовать то :). В общем так как паузы у меня в программе в машинных циклах с этим может быть завязано. Попробуй этот вариант.
Тестовая прога почти не зависит от частоты проца. Пошли с её помощью 0x02,0x11,0x12 (запрос реального времени) или 0x02,0x11,0x19 (запрос уличной тмпературы). Следи чтобы у ft232 оба светодиода моргнули.
При неподключенном ft232 программа сразу завершает работу, так и должно быть.
Уличный термодатчик не устанавливается в систему как устройство, он после прошивки сразу начинает генерить температуру 1 раз в 8 сек. Поэтому если у тебя в программе появится цифра температуры - RFM'ки заработали. (Температура, как и часы реального времени, считывается только один раз, при запуске программы).
RFM12B не пробовал, но думаю, что не должны принципиально отличаться от обычных. Но если питание на ЦП у тебя 3 В возможно что часы реального времени не считаются, у меня такое было (при считывании были все FF'ки).
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Сообщение Vitalik_Nic »

Походу у меня нет связи между ft232 и Atm32, подтягивающие резисторы я поставил между землей и 14 15 16 17 ножках Atm32 результат пока нет, моргает один светодиод который сидит на 11 ножке
ft232, второй светодиод когда обращается программа не моргает

Может платка не так разведена?
Брал твою и добавил стабилизатор на 3.3V и плюс припаял резисторы на 1кОм подтягивающие
Вложения
.ZIP
Платка ЦП для модуля RFM12B
(11.35 КБ) 387 скачиваний
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Выкладываю полный комплект для проверки связи по ft232bm. Прога для компа старая, выкладывал уже. Посылает пакет из transmit.xex. Atmega32 принимает пакет и посылает его обратно. Подтягивающие резисторы не надо, используются внутренние в меге. Проверь также кварцы: ft232bm - 6 МГц, atmega32 - 16 МГц.
Вложения
ft232probe.rar
(7.69 КБ) 411 скачиваний
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Сообщение Vitalik_Nic »

Все теперь работает, всего то заменил ft232 на новую, не знаю в чем проблемам была, но скорее всего бракованная.

Если я что то неправильно понял по прав меня

Программка ft232probe.exe генерируют файл Receive.xex в которой находится вот это

09 01 26 21 12 00 06 09 09 10 82 судя по мануалу (протокол.doc)
09 это длина пакета 9 байт (сюда не входит чек сумма)
01 ответа
26 21 12 00 06 09 09 10 ds1307 отвечает сколько времени
82 сумма байтов в пакете

Так теперь послал запрос на списка зарегистрированных устройств
в WINHEX ввел 02 11 14 получил ответ 02 02 00 02 где
02 длина пакет в 2 байта
02 ответ
00 пишет что у меня нет зарегистрированных устройств
02 сумма байтов переданных от ЦП

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

Какая команда для вывода на ЖК дисплей ЦП чего нибудь?

На счет термодатчика Attiny2313 на какой частоте он должен работать, вообще какие фьюзы должны быть включены?

Насчет платки для Термодаттчика который на улице платка с ошибкой питание на мк нету подается, выкладываю поправленную для RFM02B + стабилизатор га 3,3V

Кроме автора наверное ни кто еще не пробовал собирать?
Вложения
_TermoOut.LYT1.zip
Исправлена платка для термодатчика
(5.87 КБ) 393 скачивания
Receive.zip
Ответ на запрос времени
(133 байт) 413 скачиваний
Receive.zip
ответ на запрос зарегистрированных устройств
(126 байт) 396 скачиваний
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Ааа, косяки полезли :). Да перерисовывал с другого редактора дорожку забыл. Фьюзы в уличном термодатчике: Int. RC Osc. 8MHz ; Divide clocke by 8 internally. Т.е. просто затактирован от внутреннего 1 МГц.
По поводу подключения модуля термодатчика, можешь подключить всю схему от 3 В, даже без стабилизатора, например, от литиевой батарейки (как в пульте ДУ).
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Пакеты данных ты правильно расшифровал.
Команд для вывода на ЖКИ чего либо произвольного с компа нету, не требовалось. В исходнике можешь посмотреть там при выполнении сценария будет выводиться его содержание на экранчик. Вот эту команду "rcall LCD_Txt" можно ставить почти в любое место исходника, она выводит содержание r16 на ЖКИ.
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Сообщение Vitalik_Nic »

Стабилизатор поставил так как буду подавать питание до 4.5V а радио модуль работает до 3.8V (обычные 3 аккумулятора + небольшая подзарядка от солнечной панельки "4.5V при прямом солнечном свете")

С теориею я немного разобрал как управлять всем этим.
Попробую написать сам простенькую программку для считывания времени температуры и вывод все это на экран компьютера с графическим интерфейсом (писать буду на Visual Basic, это то что я хоть немного знаю).

А как поведет себя ЦП если термодатчиков будет 2?
Как первый и второй датчик будет распознавать ЦП, если им не присваивается ID и они работают только на передачу?
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Больше одного уличного термодатчика не предполагалось, именно поэтому насчёт него сильно себя не утруждал, у меня уже был этот модуль с прошлых разработок. Этих модулей нельзя делать больше одного - ЦП их не различит.
Если надо больше - есть модуль обычного термодатчика на rfm12 (в статье - "внешний терморегулятор"), но он не запрограммирован на переход в спящий режим, можно взять этот модуль, добавить к нему кнопку, при нажатии на которую настраивать ID и т.д., а при отпускании термодатчик переходил бы в экономичный режим работы.
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Сообщение Vitalik_Nic »

Так и не получилось соединить ЦП с уличный термодатчиком в тестовой программке ft232probePC.exe получаю ответ времени, а температуры нет.
(запрос выглядел так 02 11 19)
может все таки есть еще где-то ошибка в плате УТД (уличный термодатчик)? прошивка для Attiny2313 из ServicePack TermoOut.hex
Или он не работает с ЦП, а только с пульт управления с экранчиком ?

Может я чего напортачил ?

Внешний терморегулятор в статье "Умный дом: растем." указан УТД вместо описанного и выложена схема УТД, собрать и проверит не имеет возможности из за отсутствия схемы.

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

Выложил фото чего сделано пока на сегодня.
Вложения
DSC00432.JPG
Фото УТД
(68.35 КБ) 745 скачиваний
DSC00433.JPG
Фото УТД
(60.42 КБ) 649 скачиваний
DSC00434.JPG
Фото ЦП для тестов
(78.65 КБ) 681 скачивание
DSC00436.JPG
Фото ЦП
(76.03 КБ) 727 скачиваний
DSC00437.JPG
Фото 2-х ЦП
(79.83 КБ) 815 скачиваний
Аватара пользователя
Chip115
Сверлит текстолит когтями
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск
Контактная информация:

Сообщение Chip115 »

Я тут пошарил по сети... может прикошатить сюда вот это
http://www.compel.ru/catalog/wireless/zigbee
http://www.compel.ru/catalog/wireless/zigbee/jn5121_mo
http://www.compel.ru/catalog/wireless/zigbee/jennic
Соединить все модули через ZigBee
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Извиняюсь за плату внешнего терморегулятора, выкладываю. ПП использовал эту: tn2313_RFM12.
Фотку платы УТД посмотрел - вроде всё правильно, если пропаяно :).
ЦП с прошивкой из SP2 работает с уличной температурой.
Поправил прошивку для ЦП - теперь он при получении пакета из rfm12 выводит на ЖКИ верные ли это данные (совпали ли чек суммы) и во второй строке выводит первые 8 байт буфера, в который сохраняется пакет данных. При подключении питания как бы принимается пакет неверных данных, Error RF data ... - можно сбросить ЦП вручную, соеденить резет на землю, а можно не обращать внимание. Главное чтобы потом появился верный пакет.
Вложения
smartHeart3.rar
отладочная прошивка для ЦП
(10.2 КБ) 438 скачиваний
Termo1.gif
терморегулятор
(12.02 КБ) 730 скачиваний
Последний раз редактировалось Stepan Вс сен 13, 2009 15:13:19, всего редактировалось 2 раза.
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Ещё у тебя МК запитан от 5 В, а RFM12 от 3,3 В на ЦП, МК конечно должен всё правильно воспринимать, но вдруг несогласование уровней... Можешь попробовать запитать схему так: ft232 от USB - 5 В, а всё остальное от 3,3 В, при этом ЖКИ работать не будет, из часов реального времени будут считываться всё FF'ками, но ft232 МК и rfm12 должны работать, т.о. температура считываться будет. Я так присоединил - температура считалась.

По поводу ZigBee - смотрел на стадии выбора элементной базы в этом направлении, но модули были труднодоступней, гораздо дороже и 2,4 ГГц плохо проходят через препятствия. Приделать конечно можно, но нужно ли? какие преимущества?
Vitalik_Nic
Открыл глаза
Сообщения: 50
Зарегистрирован: Чт май 28, 2009 22:58:52
Откуда: Украина

Сообщение Vitalik_Nic »

Stepan писал(а):Ещё у тебя МК запитан от 5 В, а RFM12 от 3,3 В на ЦП, МК конечно должен всё правильно воспринимать, но вдруг несогласование уровней... Можешь попробовать запитать схему так: ft232 от USB - 5 В, а всё остальное от 3,3 В, при этом ЖКИ работать не будет, из часов реального времени будут считываться всё FF'ками, но ft232 МК и rfm12 должны работать, т.о. температура считываться будет. Я так присоединил - температура считалась.


Продел я как описано, мк не запускается тупо молчит, а как же тогда FT232 5V и 3V c МК?
Поспрашивал я у знающих, что все таки не согласования уровней между 3,3V и 5V, и есть два пути решения:
1 Заменить RFM12B (3.3V) на RFM12 (5V)
2 Поставить между RFM12B и МК например SN74LVC1T45 (двух направленный преобразователь уровней)

1 вариант для меня самый простой но их нету ни где, раньше они были на Космодроме.
2 нужно переделывать схему подключения.

Подскажите где можно приобрести RFM12?
хочется безболезненно заменить без переделки

Что то я застрял на одном месте и дальше ну ни как не хочет двигаться этот проект :o
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

Вообще говоря, по даташиту, мега с 5тивольтовым питанием считает за лог. единицу 3В и выше (>0.6VCC) , на всех входах кроме reset и XTAL.
Я на днях SD флешку присоединял к меге32 - флешка запитывалась от 3,3В. Присоединил так: с выходов меги понизил напругу с помощью резистивного делителя до лог.1 = 3,3В, а на вход меги посылал напрямую с флешки. Всё работало нормально...
Новую прошивку для ЦП пробовал загружать? на ЖКИ хоть что-нибудь меняется? Если не меняется - значит RF пакеты не приходят, может проблема в модуле уличного термодатчика?
Попробуй собрать RemoteControl на печатке tn2313_RFM12.LYT и загрузить тестовую прошивку. При нажатии на кнопку присоединёную на portD,0 идёт пакет, его должен показать ЦП на ЖКИ. Если деталей хватит на два модуля то можно собрать ещё и RfSocket с тестовой прошивкой на той же ПП tn2313_RFM12.LYT, запитать от обычного блока питания (3,3 В) а вместо реле поставить светодиод с резистором. С тестовыми прошивками RemoteControl должен управлять RfSocket.

Там где я покупал (терраэлектроника) тоже остались только rfm12b...

Насчёт того что застрял я бы не огорчался, сколько раз я застревал! Проект не самый простой, отлаживать надо.
nec-dnk
Родился
Сообщения: 3
Зарегистрирован: Чт апр 30, 2009 18:08:58

помогите с радиоканалом rfm02 -> rfm01

Сообщение nec-dnk »

собрал на модулях rfm02 и rfm01 радиоканал.
но при передаче только 4 байта передаются корректно, дальше идет каша, в этой каше видится закономерность, биты сдвигаются влево, и не
всегда одинаково.

вот что посылаю:

Код: Выделить всё

0-FF-0-FF-0-FF-0-FF-0-FF-0-FF-0-FF-0-FF-0-FF-0-FF-0-FF-0-FF

(тире только как разделитель при выводе в терминал).

при приему считываю только первые 15 байт (поэтому последний всегда ноль), затем сбрасываю FIFO буффер.

Вот, что выводится в терминал на принимающем устройстве:

Код: Выделить всё

0-FF-0-FF-0-FF-1-FC-F-C0-FF-3-F8-1F-80-0-clearing FIFO buffer
0-FF-0-FF-0-FF-1-FC-F-C0-FF-3-F8-1F-80-0-clearing FIFO buffer
0-FF-0-FF-0-FF-1-FC-F-C0-FF-3-F8-1F-80-0-clearing FIFO buffer
0-FF-0-FF-0-FF-1-FC-F-C0-FF-3-F0-1F-80-0-clearing FIFO buffer
0-FF-0-FF-0-FF-1-F8-F-C0-FF-3-F0-1F-80-0-clearing FIFO buffer
0-FF-0-FF-0-FF-1-F8-F-C0-FF-3-F0-1F-80-0-clearing FIFO buffer
FF-0-FF-0-FF-0-FF-1-FC-F-C0-FF-3-F8-1F-0-clearing FIFO buffer
FF-0-FF-0-FF-0-FF-1-FC-F-C0-FF-3-F8-1F-0-clearing FIFO buffer
FF-0-FF-0-FF-0-FF-1-FC-F-C0-FF-3-F8-1F-0-clearing FIFO buffer


я так понимаю что дело в рассогласовании скоростей rx/tx
но как настроить скорость передачи никак не могу разобраться.
но может и в чем-то другом дело, а я не могу понять в чем...

конфигурация передатчика:

Код: Выделить всё

  WriteCMD(0xCC00);
  WriteCMD(0x8B61);
  WriteCMD(0xA640);
  WriteCMD(0xD040);
  WriteCMD(0xC823);
  WriteCMD(0xC220);
  WriteCMD(0xC001);


конфигурация приемника:

Код: Выделить всё

  WriteCMD(0x0000);
  WriteCMD(0x898A);
  WriteCMD(0xA640);
  WriteCMD(0xC847);
  WriteCMD(0xC601);
  WriteCMD(0xC42A);
  WriteCMD(0xC080);
  WriteCMD(0xCE88);
  WriteCMD(0xCE8B);
  WriteCMD(0xC081);


Помогите пожалуйста разобраться :( уже третью ночь не могу спать толком :( уж ооочень хочется сделать все до путя...
sasha231280
Родился
Сообщения: 10
Зарегистрирован: Пт ноя 06, 2009 19:46:00
Откуда: г.Новочебоксарск

Сообщение sasha231280 »

Посмотрел проекты (Умный дом: первые шаги и Умный дом: растем), очень заинтересовало. После размышления возник вопрос. А нельзя в целях экономичности и простоты совместить Пульт управления с ЖКИ экраном+Центральный процессор?
Вот что нашел в инете http://active-house.ru/sistema-umnyi-dom/
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

nec-dnk, попробуй сначала вот это сделать:
http://www.hoperf.com/upfile/RF02_code.pdf
http://www.hoperf.com/upfile/RF01_code.pdf

также стоит немного изменить алгоритм, я на rfm12 делаю так:
по приходу 0 на nIRQ начинаю принимать пакет данных, но считываю каждый байт не как в примере (см. выше) по приходу 0 на nIRQ, а по выставлению 1 в бите FIFO IT в регистре статуса RF модуля, регистр статуса - см. даташит на модуль http://www.hoperf.com/rf_fsk/rf01.htm

удачи :).
Stepan
Встал на лапы
Сообщения: 126
Зарегистрирован: Пн мар 16, 2009 07:37:42
Откуда: Новосибирск

Сообщение Stepan »

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

А насчет объединения пульта и ЦП - нет ничего невозможного, есть только маловероятное )), просто предполагалось что пультов будет несколько и в целях той же экономии было решено делать ЦП отдельно. Пульты посылают в ЦП команды выполнения сценариев, а это проще реализовать именно с одним ЦП. Ну и предполагается что компьютер чуть ли не всегда будет подключен к умному дому.
Ответить

Вернуться в «Статьи»