Умный Дом по Ethernet

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
alexsis_76
Сообщения: 1074
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 30 май 2012, 09:26

и не нашел обработку внешнего прерывания. Я плохо искал?
и не найдете ;) ее там нет
вместо нее применена с ледующая конструкция
// check if a packet has been received and buffered
//if( !(enc28j60Read(EIR) & EIR_PKTIF) )
// The above does not work. See Rev. B4 Silicon Errata point 6.
if( enc28j60Read(EPKTCNT) ==0 ){
return(0);
}

PervakovDanil
Сообщения: 103
Зарегистрирован: 16 фев 2012, 18:23
Откуда: АР Крым, г.Бахчисарай

Re: Умный Дом по Ethernet

Сообщение PervakovDanil » 30 май 2012, 09:58

Ага :!:
значит есть еще одна свободная нога МК.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"

alexsis_76
Сообщения: 1074
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 30 май 2012, 09:59

значит есть еще одна свободная нога МК
ага

admiral
Сообщения: 35
Зарегистрирован: 15 ноя 2011, 17:27

Re: Умный Дом по Ethernet

Сообщение admiral » 30 май 2012, 11:25

Andrey_B писал(а): Сегодня подключил датчик освещенности кабелем FTP (экранированная витая пара, 24AWG). Использовались только 3 провода из 8. Не свитые.
Длина кабеля 21,5 метра
Датчик прекрасно работает. Ставил на кабель пылесос мощностью 1200Вт. Каких-либо сбоев не заметил.
Спасибо.
Еще одно уточнение - обязательно ли экранирование?

Andrey_B
Администратор
Сообщения: 4124
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 30 май 2012, 11:39

admiral писал(а):Еще одно уточнение - обязательно ли экранирование?
Я думаю будет работать и без экранирования. Надо всего-лишь попробовать.
Разница в цене UTP и FTP не велика. На 30 метрах не разоритесь.

PervakovDanil
Сообщения: 103
Зарегистрирован: 16 фев 2012, 18:23
Откуда: АР Крым, г.Бахчисарай

Re: Умный Дом по Ethernet

Сообщение PervakovDanil » 31 май 2012, 13:17

Сначала бегло "пробежал" по ветке, а сейчас перечитываю её с начала. Пока остановился на 4 странице.

В статье есть строка:
Если сработал вход "0", сообщить устройству в ответ "6:2"
Если повторяю чужой вопрос на который уже есть ответ, то приношу извинения. Нужно еще осилить больше 30-ти страниц. Я не ленюсь читать. Просто очень тяжело фильтровать полезную информацию.

Итак.
Можно поподробнее, желательно на уровне цифровой логики: что значит сработал вход?
1. это переход от лог.0 к 1.
2. от 0 к 1 и от 1 к 0 т.е. короткий импульс.
3. Как будет вести себя устройство при "залипании" кнопки или по другому, что можно подключить ко входу кроме кнопки без фиксации ? Датчик движения (присутствия), датчик откр.двери (окна), любой другой датчик с нормально замкнутым (разомкнутым) контактом ?

4. в схеме ENC-шка подключена к выводам аппаратного SPI при этом имеются таки строки:

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

#define ENC28J60_CONTROL_CS PORTB2
#define ENC28J60_CONTROL_SO PORTB4
#define ENC28J60_CONTROL_SI PORTB3
#define ENC28J60_CONTROL_SCK PORTB5
что смахивает на програмный SPI так выходит ноги можно переопределить для удобства трассировки платы?

Данил.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"

Andrey_B
Администратор
Сообщения: 4124
Зарегистрирован: 18 мар 2011, 12:06

Re: Умный Дом по Ethernet

Сообщение Andrey_B » 31 май 2012, 22:36

PervakovDanil, "сработал вход", значит устройство зафиксировало, например, нажатие выключателя. "Отжатие" выключателя устройство пока никак не обрабатывает, так как тут есть огромное количество вариантов и логику работы еще стоит продумать. "Дребезг", который непременно возникает во всех без исключения механических контактах, обрабатывается программно. Дребезг - это микро и миллисекунды. Если вы вручную попытаетесь очень быстро нажимать на кнопку, то все ваши нажатия будут зафиксированы.
С точки зрения интерфейсного модуля, неважно, что обеспечило изменения состояния. То есть это может быть выключатель, датчик движения и все что угодно. И уже задача обвязки (исполнительного модуля) правильно передать основному устройству тот или иной сигнал от датчика.

alexsis_76
Сообщения: 1074
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 01 июн 2012, 02:37

что смахивает на програмный SPI так выходит ноги можно переопределить для удобства трассировки платы?
это директивы препоцессора они
"говорят" "Если встретишь строку #define ENC28J60_CONTROL_CS то считай ее
PORTB2 " а ниже
ENC28J60_CONTROL_DDR |= 1<<ENC28J60_CONTROL_CS;
CSPASSIVE; // ss=0
//
ENC28J60_CONTROL_DDR |= 1<<ENC28J60_CONTROL_SI | 1<<ENC28J60_CONTROL_SCK; // mosi, sck output
ENC28J60_CONTROL_DDR|= 1<<ENC28J60_CONTROL_SO; // MISO is input
//
ENC28J60_CONTROL_PORT|= 1<<ENC28J60_CONTROL_SI; // MOSI low
ENC28J60_CONTROL_PORT|= 1<<ENC28J60_CONTROL_SCK; // SCK low
согласитесь оперировать человеческими названиями намного проще чем абстрактным ни к чему не привязанным PORTB так что цепляйте как указано, а SPIвсе же аппаратный

PervakovDanil
Сообщения: 103
Зарегистрирован: 16 фев 2012, 18:23
Откуда: АР Крым, г.Бахчисарай

Re: Умный Дом по Ethernet

Сообщение PervakovDanil » 01 июн 2012, 11:08

Андрей и alexsis_76 спасибо.

alexsis_76, я так понимаю на радиокоте Вы тоже обитаете. И там есть ветка об ENC-шке в которой вы активно принимали участие.

Си я знаю есть несколько удачных проектов на AVR-ках. Устройства на МК я уже скрещивал с компом, но это были USART и USB, а вот Ethernet это впервые.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"

admiral
Сообщения: 35
Зарегистрирован: 15 ноя 2011, 17:27

Re: Умный Дом по Ethernet

Сообщение admiral » 01 июн 2012, 11:32

alexsis_76 писал(а):
CSPASSIVE; // ss=0
//
ENC28J60_CONTROL_DDR |= 1<<ENC28J60_CONTROL_SI | 1<<ENC28J60_CONTROL_SCK; // mosi, sck output
ENC28J60_CONTROL_DDR|= 1<<ENC28J60_CONTROL_SO; // MISO is input
//
ENC28J60_CONTROL_PORT|= 1<<ENC28J60_CONTROL_SI; // MOSI low
ENC28J60_CONTROL_PORT|= 1<<ENC28J60_CONTROL_SCK; // SCK low
Может я задам глупый вопрос, но что-то я тут не соображу.
Из комментариев mosi и sck - output. В DDR мы ставим 1-ки. Тут все правильно.
А MISO должен быть input и в DDR должен быть 0. А ставится почему-то 1.
Так же и в двух нижних строчках написано, что MOSI и SCK low - а в порт загоняются 1-ки.

alexsis_76
Сообщения: 1074
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 01 июн 2012, 14:34

я так понимаю на радиокоте Вы тоже обитаете
да

ipf
Сообщения: 95
Зарегистрирован: 26 сен 2011, 00:28

Re: Умный Дом по Ethernet

Сообщение ipf » 01 июн 2012, 20:33

Подскажите пожалуйста, может кто делал мегадевайс на SMD. дайте разводку.... спасибо

kab1561
Сообщения: 8
Зарегистрирован: 14 июн 2011, 21:41

Re: Умный Дом по Ethernet

Сообщение kab1561 » 01 июн 2012, 22:49

ipf писал(а):Подскажите пожалуйста, может кто делал мегадевайс на SMD.
Мой один из вариантов исполнения - где почти все в SMD.
Вложения
KABx715-11.rar
(63.56 КБ) 1489 скачиваний

PervakovDanil
Сообщения: 103
Зарегистрирован: 16 фев 2012, 18:23
Откуда: АР Крым, г.Бахчисарай

Re: Умный Дом по Ethernet

Сообщение PervakovDanil » 10 июн 2012, 01:10

Сегодня пришла из Китая посылка с Ethernet модулем для Arduino.

Не вытерпел и собрал на контактной макетке часть схемы. Из имеющегося в DIP корпусах была только 168-я мега. Запитал ее от 5 вольт, а модуль от 78L33.

Залил соответствующую прошивку. Подключил сетевой провод и набрал в строке браузера 192.168.0.14/sec и увидел на экране картинку аналогичную скриншотам из статьи. Ногами МК не дергал, но это на данном этапе лишнее. В EEPROM настройки успешно сохранились. Можно переходить к следующему этапу.

Все работает. Хотя я другого и не ждал.

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

И еще одно Спасибо автору за проделанную работу.

P.S.
т.к. в Украине Mega328 в DIP корпусе дефицит дальнейшее макетирование будет на Mega32. Ну и упаковка всего этого добра в корпус на DIN рейку.

P.P.S.
а ENC-шка кушает 120мА. Мда. Не дурно.
Первое, что привлекает в программировании, объяснить просто: ты говоришь компьютеру что то сделать, и он это делает. Безошибочно. Всегда. Без возражений.
---------------------
Линус Торвальдс. "Just for fun. Рассказ нечаянного революционера"

alexsis_76
Сообщения: 1074
Зарегистрирован: 26 авг 2011, 05:09
Откуда: Забайкальский край п Оловянная

Re: Умный Дом по Ethernet

Сообщение alexsis_76 » 10 июн 2012, 07:35

а ENC-шка кушает 120мА. Мда. Не дурно
А Вы как хотели столько потребляет передатчик микросхемы

dimonix
Сообщения: 366
Зарегистрирован: 19 фев 2012, 22:01
Откуда: Сколково

Re: Умный Дом по Ethernet

Сообщение dimonix » 11 июн 2012, 18:42

Для в меру ленивых (типа меня), кто не хочет заниматься изготовлением печатной платы и тем более паять :-)

Как сделать мегадевайс из ардуино+ENC28J60
Цена вопроса с доставкой (ebay.com): arduino 2009 (duemilanove) $17, модуль ENC28J60 $5,4.

подключение:

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

ENC28J60	ардуино
=======================
VCC		3V3
GND		GND
INT		2 (PD2)
CS		 10 (PB2)
SI		 11 (PB3)
SO		 12 (PB4)
SCK		13 (PB5)
clkout не используется, т.к. в ардуино есть свой кварц. схема ардуино здесь.
соединения выполняются проводочками-джамперами от какого-нибудь старого компутера.
atmega328 программируется через существующий на плате ардуино разъем ICSP. чип стирается и в него заливается
эта прошивка. для использования тактирования от кварца на плате ардуино нужно прошить фьюзы - low_fuse:0x7f, high_fuse:0xdf, extended:0xff.

соответствие портов на web-морде мегадевайса и на плате ардуино:

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

web-морда            ардуино
===========================
                  разъем J1 ("digital")
P1                      0 (PD0)
P3                      1 (PD1)
P6                      3 (PD3)
P12                     4 (PD4)
P10                     5 (PD5)
P9                      6 (PD6)
P8                      7 (PD7)
                   разъем J2 ("analog in")
P11                     1 (PC0)
P13                     2 (PC1)
P5                      3 (PC2)
P4                      4 (PC3)
P2                      5 (PC4)
P0                      6 (PC5)
                  разъем J3 ("digital")
P7                      9 (PB1)
ну вроде все ... подаем на разъем pwrin питание. желательно до 9 вольт - а то сильно греется 5-вольтовый стабилизатор.
на плате ардуино загорается зеленый светодиод pwr, на сетевом модуле - красный. также на плате ардуино тускло горит красный светодиод "L". он вспыхивает на полную мощность во время обмена по сети. на сетевом разъеме постоянно горит зеленый светодиод, а желтый моргает. web-морда доступна по адресу http://192.168.0.14/sec.

теперь по-серьезному. описанный выше вариант годится только "на попробовать". для промышленной эксплуатации категорически не рекомендуется. проблема в питании +3.3 вольта для ENC28J60. оно берется со встроенного в FT232RL/USB преобразователя на плате ардуино, у которого максимальный выходной ток составляет всего 50 мА. ENC28J60 потребляет в районе 120 мА, максимум до 250 мА. перегрев чипа FT232RL практически гарантирован (правда до этого дело не доходило).
т.е. нужен еще один стабилизатор на 3.3 вольта, который некуда прилепить. я решил проблему просто - удалил с платы ардуино все "лишние" детали: F1, R8-R11, C11, C13, IC5 и ключ T1. желательно использовать фен, чтобы не повредить плату. на место этого ключа очень хорошо встает 3.3в стабилизатор в корпусе SOT-223. у меня такого не было, и я выпаял стабилизатор в корпусе TO-252 из платы управления какого-то старого жесткого диска. пришлось добавить перемычку 4-6-7 на месте IC5 для подключения земли к стабилизатору и припаять провод +3.3в. получился мегадевайс и в придачу преобразователь USB-serial(TTL). результат трудов на фото.

Изображение

barmaley
Сообщения: 1
Зарегистрирован: 29 май 2011, 16:44

Re: Умный Дом по Ethernet

Сообщение barmaley » 11 июн 2012, 22:13

Товарищи! чем питаете девайс от обычного стабилизатора на 5 V (интересует только МК)? как мега ведет себя в цепях с индуктивной нагрузкой?

vtec
Сообщения: 458
Зарегистрирован: 19 сен 2011, 09:28

Re: Умный Дом по Ethernet

Сообщение vtec » 12 июн 2012, 08:10

dimonix писал(а):atmega328 программируется через существующий на плате ардуино разъем ICSP. чип стирается и в него заливается
эта прошивка. для использования тактирования от кварца на плате ардуино нужно прошить фьюзы - low_fuse:0x7f, high_fuse:0xdf, extended:0xff.
Так можно вот на этом этапе подробнее, чем и как? А то я голову сломал уже, не получается у меня. Имеется arduino uno и enc модуль. Правда фьюзы не шил и прошивал через встроенный программатор arduino!

dimonix
Сообщения: 366
Зарегистрирован: 19 фев 2012, 22:01
Откуда: Сколково

Re: Умный Дом по Ethernet

Сообщение dimonix » 12 июн 2012, 10:44

vtec писал(а): Так можно вот на этом этапе подробнее, чем и как? А то я голову сломал уже, не получается у меня. Имеется arduino uno и enc модуль. Правда фьюзы не шил и прошивал через встроенный программатор arduino!
ну даже не знаю с чего начать, вариантов просто море, на любые деньги и на любой вкус ;) может с этого ?
программатор "пять проводков" замечательно работает с бесплатным софтом из пакета codevisionavr.

anapogo
Сообщения: 80
Зарегистрирован: 18 окт 2011, 18:05
Откуда: Житомир

Re: Умный Дом по Ethernet

Сообщение anapogo » 12 июн 2012, 15:24

kab1561 писал(а):
ipf писал(а):Подскажите пожалуйста, может кто делал мегадевайс на SMD.
Мой один из вариантов исполнения - где почти все в SMD.
Классная плата.
А что у Вас за трансформатор ?

Ответить