|
11.03.2015, 13:46 | #1 |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989 |
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. Добавил фотки, у своего модуля распайку указал Последний раз редактировалось sakatgg; 11.03.2015 в 19:39. Причина: Добавил фотки |
11.03.2015, 22:45 | #2 | |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: CyberWrt модуль "Термостат"
Цитата:
Скинь сюда свои два файла init18b20 и ds18b20, они в каталоге /usr/sbin. Только их в архив запихни. У меня этих исходников (что модуль на сайте) уже нету. Я исправлю на инверсию уровней выходов. Скину тебе обратно. Времени заниматься с модулем нету. Во многих файлах править и дописывать надо. А так просто заменишь два файла и будет активным не hi, a lo. На месяц раньше эту идею.. |
|
13.03.2015, 22:21 | #3 | |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989 |
Re: CyberWrt модуль "Термостат"
Цитата:
|
|
14.03.2015, 05:00 | #4 | |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: CyberWrt модуль "Термостат"
Цитата:
здесь, пункт 5 вписывать команды для других чипов на i2c. |
|
14.03.2015, 16:31 | #5 | |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989 |
Re: CyberWrt модуль "Термостат"
Цитата:
Последний раз редактировалось sakatgg; 14.03.2015 в 17:02. |
|
14.03.2015, 17:09 | #6 | |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: CyberWrt модуль "Термостат"
Цитата:
Я никаких подтяжек к +5v у себя не делал. Подключено по i2c на gpio-18 и 20 (это выводы переключателя) четыре штуки PCF8574. Там уже впаяны резисторы подтяжки к 3v. И для 8574 достаточно (единицы 2,8v) и проц не угробишь. Кабель витая пара. Длина около 3-метра к троим i2c, а один сантиметров 10 от роутера. Переключатель только в крайнее положение к LAN разъему. И зафиксировал каплей клея. |
|
14.03.2015, 20:04 | #7 |
Senior Member
Регистрация: 15.07.2014
Сообщений: 939
Вес репутации: 989 |
Re: CyberWrt модуль "Термостат"
Это понятно когда питание 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. |
14.03.2015, 21:29 | #8 | |
Moderator
Регистрация: 19.10.2013
Сообщений: 479
Вес репутации: 599 |
Re: CyberWrt модуль "Термостат"
Цитата:
А подтяжка не на 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 } И перезагрузи. Она будет первой (с адресом 0x27) инициализирована после перезагрузки и gpio будут от 56 до 63. Что бы другие pcf8574 добавить. Пропиши ниже этой строки: Код:
echo pcf8574 0x27 > /sys/bus/i2c/devices/i2c-0/new_device Все остальные gpio будут здесь читай. Последний раз редактировалось melsem; 14.03.2015 в 23:43. |
|
Здесь присутствуют: 13 (пользователей: 0 , гостей: 13) | |
|
|