Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > CyberWrt

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.03.2015, 13:46   #1
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: CyberWrt модуль "Термостат"

Подключил модуль PCF8574, запитал от роутера по 3.3В, sda-scl на 7-29 gpio, резисторы подтягивающие на 0 не выпаивал, на выводах gpio уровень 2.2В( подтягивающие резисторы 4.7к sda-scl к Vcc находяться в самом модуле). На выход повесил твердотельное реле Fotek SSR-25, по схеме как на P0 (фото), резистор не ставил ( ток 6мА при включении).

Просьба:
1. Админы, побавьте плиз пакеты i2c-tools, libi2c в репозитарий CyberWrt (а то приходиться ручками добавлять src/gz cyberwrt_pack http://downloads.openwrt.org/barrier...s/oldpackages/)
2. Сделайте плиз в настройках пункт выбор "инверсия уровня gpio hi <-> lo". Т.к. SSR по приведенной схеме включается при уровне lo (режим termostat), а по алгоритму проги при включении уровень hi. Спасибо

P.S. Добавил фотки, у своего модуля распайку указал
Миниатюры
Нажмите на изображение для увеличения
Название: IMGA0008a.jpg
Просмотров: 380
Размер:	219.4 Кб
ID:	2337   Нажмите на изображение для увеличения
Название: 2015-03-11_131025.jpg
Просмотров: 350
Размер:	43.5 Кб
ID:	2336   Нажмите на изображение для увеличения
Название: 2015-03-11_130534.jpg
Просмотров: 406
Размер:	78.9 Кб
ID:	2335   Нажмите на изображение для увеличения
Название: 2015-03-11_173952.jpg
Просмотров: 345
Размер:	42.7 Кб
ID:	2338  


Последний раз редактировалось sakatgg; 11.03.2015 в 19:39. Причина: Добавил фотки
sakatgg вне форума   Ответить с цитированием
Старый 11.03.2015, 22:45   #2
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
2. Сделайте плиз в настройках пункт выбор "инверсия уровня gpio hi <-> lo". Т.к. SSR по приведенной схеме включается при уровне lo (режим termostat), а по алгоритму проги при включении уровень hi. Спасибо...
У меня этих исходников (что модуль на сайте) уже нету.

Скинь сюда свои два файла init18b20 и ds18b20, они в каталоге /usr/sbin. Только их в архив запихни.
У меня этих исходников (что модуль на сайте) уже нету.

Я исправлю на инверсию уровней выходов. Скину тебе обратно.

Времени заниматься с модулем нету. Во многих файлах править и дописывать надо.
А так просто заменишь два файла и будет активным не hi, a lo.

На месяц раньше эту идею..
melsem вне форума   Ответить с цитированием
Старый 13.03.2015, 22:21   #3
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Подключил модуль PCF8574, запитал от роутера по 3.3В, sda-scl на 7-29 gpio, резисторы подтягивающие на 0 не выпаивал, на выводах gpio уровень 2.2В( подтягивающие резисторы 4.7к sda-scl к Vcc находяться в самом модуле).
Все-таки подсчитал при этих условиях можно 5В подавать питание на PCF8574, на 7-29 gpio уровень становиться 3.1-3.2В, это нормально. Фото здесь
sakatgg вне форума   Ответить с цитированием
Старый 14.03.2015, 05:00   #4
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Все-таки подсчитал при этих условиях можно 5В подавать питание на PCF8574, на 7-29 gpio уровень становиться 3.1-3.2В, это нормально. Фото здесь
А вот что бы не было конфликтов на шие i2c при управлении одной pcf8574 силовыми ключами терморегулятора, и другими чипами:
здесь, пункт 5 вписывать команды для других чипов на i2c.
melsem вне форума   Ответить с цитированием
Старый 14.03.2015, 16:31   #5
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Все-таки подсчитал при этих условиях можно 5В подавать питание на PCF8574, на 7-29 gpio уровень становиться 3.1-3.2В, это нормально. Фото здесь
Да еще один момент надо учитывать - при подключении 2х PCF8574 уровень на gpio увеличиться до (2шт 4.7кОм в паралель), что не есть гут. Надо как то компенсировать или заменить в обоих подвязку sda-scl в 2 раза выше или в одном модуле выпаять

Последний раз редактировалось sakatgg; 14.03.2015 в 17:02.
sakatgg вне форума   Ответить с цитированием
Старый 14.03.2015, 17:09   #6
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Да еще один момент надо учитывать - при подключении 2х PCF8574 уровень на gpio увеличиться до (2шт 4.7кОм в паралель), что не есть гут. Надо как то компенсировать или заменить в обоих подвязку в 2 раза выше или в одном модуле выпаять
(tp-link 3020)
Я никаких подтяжек к +5v у себя не делал. Подключено по i2c на gpio-18 и 20 (это выводы переключателя) четыре штуки PCF8574.
Там уже впаяны резисторы подтяжки к 3v.
И для 8574 достаточно (единицы 2,8v) и проц не угробишь. Кабель витая пара. Длина около 3-метра к троим i2c, а один сантиметров 10 от роутера.

Переключатель только в крайнее положение к LAN разъему. И зафиксировал каплей клея.
melsem вне форума   Ответить с цитированием
Старый 14.03.2015, 20:04   #7
sakatgg
Senior Member
 
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989
sakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nicesakatgg is just really nice
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от melsem Посмотреть сообщение
И для 8574 достаточно (единицы 2,8v) и проц не угробишь.
Это понятно когда питание 3В на 8574. Но 1620 на 3В еле тянет, приходиться на 5В подключать, и через подтяжку пойдет на gpio уже поболее.
Вот еще проблемы какие у меня с подключенным LCD 1620 через 8574:

1. Прописываю ручками в консоле - нормально подрубается:
echo 57 > /sys/class/gpio/export
echo 59 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio57/direction
echo out > /sys/class/gpio/gpio59/direction
insmod hd44780
echo 1 > /sys/class/gpio/gpio59/value

в rc.local вписываю - не подрубается, т.е. по cat /sys/kernel/debug/gpio не появляются пункты "gpio-60 (HD44780_DB4" и т.д.

2. Script text: вписал вывод даты и датчик темпы -> жму RUN -> Save -> 1620 все выводит. При перезагрузке приходиться вводить что в 1 пункте ручками, но на 1620 пусто, не помогает также остановка скрипта и запуск снова - пусто.

Что посоветуете?

Последний раз редактировалось sakatgg; 14.03.2015 в 20:30.
sakatgg вне форума   Ответить с цитированием
Старый 14.03.2015, 21:29   #8
melsem
Moderator
 
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599
melsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud ofmelsem has much to be proud of
По умолчанию Re: CyberWrt модуль "Термостат"

Цитата:
Сообщение от sakatgg Посмотреть сообщение
Это понятно когда питание 3В на 8574. Но 1620 на 3В еле тянет, приходиться на 5В подключать, и через подтяжку пойдет на gpio уже поболее.
Питание подано на pcf8574 5v.
А подтяжка не на 5v а на 3v. Потому и писал что на входе 2.8v достаточно для pcf8574 при 5v питании.


Для запуска написать два одинаковых скрипта и все.
Но с такими именами:
HD44780 закинь в /etc/init.d атрибут 755
S88HD44780 закинь в /etc/rc.d атрибут 777

Код:
#!/bin/sh /etc/rc.common
START=88
start() {

  insmod i2c-dev
  insmod i2c-gpio-custom bus0=0,18,20

  echo pcf8574 0x27 > /sys/bus/i2c/devices/i2c-0/new_device

  echo 57 > /sys/class/gpio/export
  echo 59 > /sys/class/gpio/export
  echo out > /sys/class/gpio/gpio57/direction
  echo out > /sys/class/gpio/gpio59/direction
  insmod hd44780
  echo 1 > /sys/class/gpio/gpio59/value

}
stop() {

  rmmod hd44780

}
Вместо 0,18,20 вписать свои gpio для i2c. А вместо 0x27 адрес pcf8574.
И перезагрузи.

Она будет первой (с адресом 0x27) инициализирована после перезагрузки и gpio будут от 56 до 63.

Что бы другие pcf8574 добавить. Пропиши ниже этой строки:
Код:
echo pcf8574 0x27 > /sys/bus/i2c/devices/i2c-0/new_device
Команды с адресами других расширителей.
Все остальные gpio будут здесь читай.

Последний раз редактировалось melsem; 14.03.2015 в 23:43.
melsem вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 13 (пользователей: 0 , гостей: 13)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 19:31. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика