Страница 63 из 125

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

Добавлено: 25 мар 2013, 16:42
Rik
Выходы от датчиков и другого LAN оборудования, при вводе в шкаф решил предварительно подключать вот к таким планкам, сегодня получил, качество хорошее:
Изображение
заказывал вот здесь: http://www.ebay.com/itm/390204401529?ss ... 1497.l2649

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

Добавлено: 25 мар 2013, 18:15
digitalhome1
_sa_ писал(а):Зависит от того какой датчик выберете. Если цифрофой, работающий по 1-wire, то на на одну шину их можно повесить несколько, грубо говоря, разрезал петлю, выдернул оттуда два провода, от к ним припаял датчик, в следующей петле на эти же два провода, еще датчик.

Опять же, в витой паре 8 проводов. Можно на разные провода повесить разные датчики.

Один вопрос - длинна. Думаю, далассовский датчик можно метров на 20 на проводах от контроллера расположить
Я все равно не очень понимаю как витую пару проложить. Нельзя объяснить? Ну т.е. берешь вот так витуху (купил медную сечением 0.5), ее в гофру, около батари петлю вытаскиваешь (? Какой длинны) и дальше что там, розетку ставить надо?
Буду конечно 1-wire использовать

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

Добавлено: 25 мар 2013, 18:47
_sa_
Rik писал(а): дальше что там, розетку ставить надо
Я бы прикинул, хватил ли 8 проводов витой пары под все задачи. Если хватит, то сделал бы петлю с выводом в подрозетник. То есть, заштробил бы ее в стену, в гофре и петельку вывел подрозетнике там, где планируется использовать датчик. Размер петели я бы сделал такой, чтобы можно было поковыряться в проводах. Какие-то разрезать, подпаять провода до самого датчика.

Ну грубо. Подрозетник за батареей, в него розетку для телефонного провода (как она там называется, где не 8 контактов, а 4), например, датчик на кусочек провода и воткнуть в розетку.

Если отнестись к витой паре не как к мифической паре, а как к 8 проводам, которые можно перекусить и спаять, то концепт мира изменится

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

Добавлено: 25 мар 2013, 18:48
_sa_
Внутри этой коробки витая пара припаянная у датчику расстояния ультрасоник. Направление для мысли, так сказать.

Изображение

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

Добавлено: 25 мар 2013, 21:30
digitalhome1
Спасибо за ответы! Обмозгую и представлю вариант

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

Добавлено: 10 апр 2013, 18:03
Vir
Прошил Arduino UNO все замечательно работает, замечательная реализация, сейчас обзавелся Arduino Mega хочется ее заиспользовать на полную, никто не подскажет где копать в коде
1. чтобы увеличить количество обрабатываемых портов штук до 40?
2. на нескольких кнопках реализовать обработку долгого нажатия средствами самого устройства?

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

Добавлено: 11 апр 2013, 02:57
alexsis_76
никто не подскажет где копать в коде
извольте
char *aio[IO_SIZE] = {"C5", "D0", "C4", "D1", "C3", "C2", "D3", "B1", "D7", "D6", "D5", "C0", "D4", "C1"};отредактируйте тот массив в соответствии с вашими запросами
т к наверняка появятся дополнительные порты
вот сдесь
for ( i = 0; i < IO_SIZE; i++ )
{
port_letter = aio[0];
port_num = atoi(&aio[1]);
srv_timeout = 0;
srv_timeout_act = 0;

if (_port_type == 1 )
{
if ( port_letter == 'D' )
{
DDRD |= (1<<port_num);
if (_port_d == 1 )
PORTD|= (1<<port_num);
else
PORTD &= ~(1<<port_num);

// Выключаем ШИМ
if ( port_num == 6 )
TCCR0A &= ~(1 << COM0A1);
else if ( port_num == 5 )
TCCR0A &= ~(1 << COM0B1);
else if ( port_num == 3 )
TCCR2A &= ~(1 << COM2B1);

}
else if ( port_letter == 'C' )
{
DDRC |= (1<<port_num);
if (_port_d == 1 )
PORTC|= (1<<port_num);
else
PORTC &= ~(1<<port_num);
}
else if ( port_letter == 'B' )
{
DDRB |= (1<<port_num);
if (_port_d == 1 )
PORTB|= (1<<port_num);
else
PORTB &= ~(1<<port_num);
}

// Включаем ШИМ
if ( _port_m == 1 )
{
if ( port_letter == 'D' )
{
if ( port_num == 6 )
{
OCR0A = 0;
TCCR0A |= (1 << COM0A1);
// set fast PWM Mode
TCCR0A |= (1 << WGM01) | (1 << WGM00);
TCCR0B |= (1 << CS01);
}

if ( port_num == 5 )
{
OCR0B = 0;
TCCR0A |= (1 << COM0B1);
// set fast PWM Mode
TCCR0A |= (1 << WGM01) | (1 << WGM00);
TCCR0B |= (1 << CS01);
}

if ( port_num == 3 )
{
OCR2B = 0;

TCCR2A |= (1 << COM2B1);
// set fast PWM Mode
TCCR2A |= (1 << WGM21) | (1 << WGM20);
TCCR2B |= (1 << CS21);
}

}
}
}
else
{
if ( port_letter == 'D' )
DDRD &= ~(1<<port_num);
if ( port_letter == 'C' )
DDRC &= ~(1<<port_num);
if ( port_letter == 'B' )
DDRB &= ~(1<<port_num);
}

}
вероятно сдесь
if ( srv_cmd == '1' )
{
if ( port_letter == 'D' )
PORTD|= (1<<port_num);
else if ( port_letter == 'C' )
PORTC|= (1<<port_num);
else if ( port_letter == 'B' )
PORTB|= (1<<port_num);
}
// OFF
else if ( srv_cmd[i] == '0' )
{
if ( port_letter == 'D' )
PORTD &= ~(1<<port_num);
else if ( port_letter == 'C' )
PORTC &= ~(1<<port_num);
else if ( port_letter == 'B' )
PORTB &= ~(1<<port_num);
}
// Toggle
else if ( srv_cmd[i] == '2' )
{
if ( port_letter == 'D' )
PORTD ^= (1<<port_num);
else if ( port_letter == 'C' )
PORTC ^= (1<<port_num);
else if ( port_letter == 'B' )
PORTB ^= (1<<port_num);
}
сдесь
if ( port_letter == 'D' )
{
avr_port = DDRD;
avr_port_port = PORTD;
avr_port_pin = PIND;
}
else if ( port_letter == 'C' )
{
avr_port = DDRC;
avr_port_port = PORTC;
avr_port_pin = PINC;
}
else if ( port_letter == 'B' )
{
avr_port = DDRB;
avr_port_port = PORTB;
avr_port_pin = PINB;
}
может быть еще в паре мест , будете испытывать найдете :D
// Обработка нажатия кнопки.
char my_mask;
char my_mask2;
if (port_letter == 'D')
{
my_mask = get_key_press(1 << port_num);
my_mask2 = get_key_release(1 << port_num);
}
else
{
my_mask = get_key_press2(1 << port_num);
my_mask2 = get_key_release2(1 << port_num);
}
данная прошивка не приспособлена для обработки длительного нажатия
вам необходимо организовать таймер завести его при нажатии кнопки и через требуемый интервал опросить ее снова, если кнопка до сих пор нажата сделать вывод, таймер должен быть организован не с применением задержек типа Delay вот в принципе и все
Удачи

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

Добавлено: 11 апр 2013, 08:23
Vir
alexsis_76 Спасибо будем пробовать!

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

Добавлено: 13 апр 2013, 02:26
asteroid
Всем доброго времени.
Собрал я схему, все прошилось и заработало даже с первого раза.
Неудобство пожалуй только в том, что хочется таки приделать wifi.
Пока получилось разместить плату прямо в wifi роутер, таким образом можно управлять и с планшета.
Может есть у кого мысли, как доработать по spi радиомодуль ?

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

Добавлено: 13 апр 2013, 09:18
nevson
Как защитить входы atmega от помех? Провода от кнопок до мегадевайса 20 м.

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

Добавлено: 13 апр 2013, 11:04
dimonix
nevson писал(а):Как защитить входы atmega от помех? Провода от кнопок до мегадевайса 20 м.
как минимум включить в меге подтягивающие резисторы. в этой теме есть сообщение как это сделать.
другой вариант - припаять эти самые подтягивающие резисторы. 5-10 ком должно быть Ок.
в крайнем случае делать токовую петлю с оптронной развязкой.

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

Добавлено: 13 апр 2013, 11:11
nevson
dimonix писал(а): в крайнем случае делать токовую петлю с оптронной развязкой.
Можно подробнее?

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

Добавлено: 13 апр 2013, 11:15
dimonix
asteroid писал(а):Всем доброго времени.
Собрал я схему, все прошилось и заработало даже с первого раза.
Неудобство пожалуй только в том, что хочется таки приделать wifi.
Пока получилось разместить плату прямо в wifi роутер, таким образом можно управлять и с планшета.
Может есть у кого мысли, как доработать по spi радиомодуль ?
проще и дешевле сделать из роутера мегадевайс. да и возможностей у такого мода будет гораздо больше как в аппаратном плане (1wire, i2c, UART, wifi, ...), так и программном (owfs, ser2net, webmin/luci, php, ...).
видимо пора создавать отдельную тему по этому поводу - что-типа "применение RoC (router on-chip) в домашней автоматизации". цены на подобные модули на основе RoC упали уже ниже 10 баксов ...

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

Добавлено: 13 апр 2013, 11:29
dimonix
nevson писал(а):
dimonix писал(а): в крайнем случае делать токовую петлю с оптронной развязкой.
Можно подробнее?
попробуйте для начала подтягивающие резисторы. мне этого вполне хватило для борьбы с ложными срабатываниями.
готовой схемы токовой петли у меня нет. проще всего спросить здесь, в разделе "картинки" ;)

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

Добавлено: 13 апр 2013, 12:14
alexsis_76
вот токовая петля http://easyelectronics.ru/tokovaya-petlya.html только в цепь правого оптрона со стороны диода ставите кнопку, обычная оптронная развязка
попробуйте для начала подтягивающие резисторы
мысль хорошая
по входам на которые повешены кнопки, такие резисторы включенны в самом контроллере(без них не работает), но их сопротивление велико (порядка сотен килоом)поэтому на длинных линиях помехоустойчивость низкая при утечках на землю или действиях помех на высокоомном резисторе подтяжки происходит большое падение напряжения (закон Ома),он контроллер (тупая железяка, что с него взять)воспринимает эти ложые сигналы как нажатия кнопок , выход припаять внешние резисторы подтяжки на 10ком , (посмотрите на вывод RESET контроллера там сделано именно так)

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

Добавлено: 13 апр 2013, 13:52
asteroid
dimonix писал(а):проще и дешевле сделать из роутера мегадевайс. да и возможностей у такого мода будет гораздо больше как в аппаратном плане (1wire, i2c, UART, wifi, ...), так и программном (owfs, ser2net, webmin/luci, php, ...).
...
Да, возможно и проще. Сейчас цена на роутер и правда обойдется кабы не столько же как и все ИМС для обсуждаемого тут девайса.
Но, как для меня, паять могу. А вот программировать, - только переделать готовую под свои нужды могу.
С нуля написать, не, у меня не выйдет.
По этому я очень даже "ЗА" создание темы переделки роутера под мегадевайс для дома.

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

Добавлено: 16 апр 2013, 23:49
Andrey_B
Добавил в прошивку Мегадевайса поддержку цифрового датчика влажности и температуры DHT11.
megad-dht11.jpg
megad-dht11.jpg (40.89 КБ) 29491 просмотр
На фотографии готовый интерфейсный модуль с отсоединенным от исполнительного модуля шлейфом. Датчик влажности можно подсоединять к любому из 14 доступных портов (но не к доп. АЦП портам ADC6/ADC7, которые появились в 4 релизе!) Ну и (для неподготовленных пользователей) к готовому исполнительному модулю MegaD-7I7O этот датчик цеплять не нужно - ничего не выйдет.
megad-dht11-web.gif
megad-dht11-web.gif (5.1 КБ) 29491 просмотр
Тип порта DSen (что означает Digital Sensor)

Внимание! Прошивка тестовая!
Поддержка DHT22 тоже будет. В коде она уже есть, но во-первых, у меня нет DHT22, чтобы проверить, а во-вторых, надо как-то объединить код, так как DHT22 возвращает float, а DHT11 int, а тупо дублировать на 80% повторяющийся код как-то не хочется. В то же время, к одному Мегадевайсу могут быть подключены и те и другие датчики.

Температуру DHT11 показывает более-менее сносно, а влажность - по-моему врет по-черному. Ну, точнее, датчик вполне сгодится для определения резких скачков влажности, например, в ванной.

http://ab-log.ru/files/File/ip_manager3 ... _beta1.zip
http://ab-log.ru/files/File/ip_manager3 ... a1_hex.zip

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

Добавлено: 17 апр 2013, 12:00
andvas
Andrey_B писал(а):Добавил в прошивку Мегадевайса поддержку цифрового датчика влажности и температуры DHT11.
Вот за это большое спасибо Andrey_B. Давно ждал когда добавите поддержку температуры. У меня правда есть и тот и тот датчик, так что сегодня попробую залить прошивку и протестировать DHT11.

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

Добавлено: 17 апр 2013, 23:45
andvas
andvas писал(а):Вот за это большое спасибо Andrey_B. Давно ждал когда добавите поддержку температуры. У меня правда есть и тот и тот датчик, так что сегодня попробую залить прошивку и протестировать DHT11.
Andrey_B прошил я контроллер готовым hex. И почему то не заработал датчик. Описываю что делал , один датчик DHT11 и одно устройство Mega. У DHT11 1 нога-VCC (слева направо) , 2 нога-data, 4 нога -gnd. Сделал одну из ног в тип DSen. А показатели остались нулевые, попробовал на разных выводах, но результат везде отсутствовал.
И еще заметил в прошивке одну ошибку скорее всего, для меня по крайней мере. В свежем прошитом контроллере все ноги в состоянии NC. Беру любой вывод делаю его OUT. Появляются ссылки на ON, OFF, Type, Default state. Вывод прекрасно отключается и включается. Потом этот вывод делаю в type DSen, данных так и нет с датчика. Потом возвращаю вывод в состояние Out, при этом пропадают ссылки ON, OFF и появляется PWM(0-255). И никаким образом ссылки ON и OFF не появляются, если только не перепрошить atmega.

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

Добавлено: 18 апр 2013, 00:05
Andrey_B
andvas, во-первых, следует проверить корректность подключения датчика (наличие подтягивающего резистора, см Datasheet). Во-вторых, код работы с датчиком сильно чувствителен к величине задержек, от которых зависит корректность работы протокола. Прошивка адаптирована к "фабричной" версии Мегадевайса, когда тактирование (F_CPU) идет от ENC28J60 и МК работает на частоте 12,5Мгц. При любом другом варианте работать не будет и нужно модифицировать прошивку.
Насчет описанной вами ситуации с конфигурацией посмотрю, спасибо.