И снова проблема с датчиком освещения
- Войдите на сайт для отправки комментариев
Вс, 05/06/2016 - 13:14
Я уже не знаю что с ним делать. То он зависает то теперь Arduino не видит его на i2c шине. Речь идет про цифровой датчик освещения BH1750.
Сейчас на шине 3 ведомых устройства, - часы DS3231, датчик атмосферного давления BMP085 и BH1750.
Подтягиваю SDA и SCL к 3.3v резистором номиналом 1кОм (следую рекомендациям http://student-proger.ru/2014/08/vliyanie-nominala-podtyagivayushhih-rezistorov-na-signal-shiny-i2c/)
i2c сканер мне пишет:
Scanning...
I2C device found at address 0x57 !
I2C device found at address 0x68 !
I2C device found at address 0x77 !
done
Из них 0x57 - память DS3231; 0x68 - сами часы DS3231; 0x77 - BMP085.
Датчика освещения в этом списке нету.
Убираю резисторы, получаю:
Scanning...
I2C device found at address 0x23 !
I2C device found at address 0x24 !
I2C device found at address 0x57 !
I2C device found at address 0x68 !
I2C device found at address 0x77 !
done
0x23 - это как раз датчик освещения. Кто такой 0x24, - понятия не имею?
Что я делаю не так? Почему с резисторами датчик освещения не находится?
P/S/ использую DUE от внешнего источника питания, все датчики питаются от 3.3v
Насколько я помню дэйташит, минимальный номинал резистора составляет 1.8к. Правда, при 5-вольтовом питании.
Проблема в том, что если Вы используете не "голые" датчики, а датчики, смонтированные на платах с обвязкой, производители сами впаивают эти резисторы в каждое устройство. В результате параллельного включения сопротивление оказывается недопустимо низким.
Ну а чем можно объяснить не очевидное повидение? Ардуина видит датчики через раз. Сейчас картина такая - что с резисторами что без них, сканер не видит датчики, ни один :((
Вы задаете вопросы, не предоставив необходимой информации.
Никто не гарантирует, что, предоставив ее, Вы получите решение. Но без информации угадать можно только случайно.
Опубликуйте хотя бы схему и скетч.
Вот скетч, стандартный
и плата, собрана она у меня только на запаяной макетке, но принцеп подключения тот же
Zhyravlev_AS, прочитайте 2-й абзац ответа №1.
Прочитал уже давно, но что вы этим хотите сказать? 1. Убрать те резисторы что я поставил? 2. Выпяивать те что есть уже на датчиках?
Просто пытаюсь понять природу проблемы, почему ардуино через раз определяет датчики... и ни как не могу найти зависимость.
Теперь прочитайте 1-й абзац ответа №3.
В модули наверняка впаяны резисторы, их номинал Вы не считаете нужным никому сообщать. Ну не хотите давать информацию - разбирайтесь сами.
andriano, меня глупца сразу нужно прямо спрашивать какие исходные данные нужны)) а то долго тупить буду))
Сфоткать свои датчики не получилось, но в интернете нашел такие же картинки. Разница только в номинале резисторов.
И так первый BH1750. Если я правильно понял то его линия подтянута резисторами 103, номинал который онлайн калькулятор мне сказал аж 10 кОм!!!
Следующий BMP180. Линии которого так же подтянуты через 10 кОм. Как в этих случаях работает транзистор к сожалению не знаю :((
И часы DS3231. Номиналы резисторов такие же как и на фото. Только не понятно, подтянута ли здесь линия или нет. С обратной стороны они идут под батарейкой и там ничего не видно.
andriano, пожалуйста подскажи как быть? Я предполагаю что стоит выпаять эти транзисторы и подтянуть линию транзисторами 1 кОм?
Не знаю, покажется ли мой опыт интересным, но я с модулей сенсоров поснимал подтяжки вместе со стабилизаторами. У меня МК на три вольта и в стабилизаторах нет нужды.
Подтяжка осуществляется резисторами (по одному на линиях SDA и SCL) номинала 10 килоом только на плате МК.
У этих преобразователей (662К) ток потребления и падения очень маленькие, можно было и оставить)
Не знаю, покажется ли мой опыт интересным, но я с модулей сенсоров поснимал подтяжки вместе со стабилизаторами. У меня МК на три вольта и в стабилизаторах нет нужды
А до этого какие проблемы были?
Насчет "маленького" -- это еще, как посмотреть. По даташиту собственное потребление у них 1-3мка. В конструкции беспроводного сенсора у меня три датчика (BMP180, SI7021 и BH1750) с такими регуляторами на борту. Зачем мне еще 3-9мка постоянного потребления, если без них все устройство (датчики, МК, радиомодуль) в режиме сна потребляет 4-5мка ?
Для устройств с автономным питанием лишнее энергопотребление крайне не желательно. Даже микроамперное. Проблемы набортные регуляторы датчиков начинают создавать в случае, когда емкость источника питания небольшая, а желаемые сроки автономной работы, наоборот. Простейший расчет показывает, что до трети емкости батарейки может уходить на "кормление" этих стабилизаторов, которые, к тому же, в схеме не выполняют никакой полезной работы. Оставлять их на месте в этом случае было бы крайне неосмотрительно.
a5021, дык у меня проблема-то не в энергопотреблении в автономном режиме)) как вариант конечно я могу выпилить и стабилизаторы. Меня больше интересует вопрос: как правильно сделать что бы бы МК адекватно видел все устройства на I2C. Убрать все подтягивающие резисторы с датчиков и оставить только одни? И еще, в доках пишут, но у Due одна шина TWI уже подтянута а другая нет, вопрос - какая из них подтянута а какая нет?)) Что-то у меня не получилось найти по разводки платы. Может кто-то ткнуть носом?)
А нет, кажется нашел) Если правильно понял по разводки то это порты 20 и 21, подтянуты 1.5кОм к 3.3 вольтам?
Резисторы по 1.5к и так выбраны там, похоже, по минимуму для подтяжки. Если им в параллель еще встают резисторы с I2C устройств, то общее сопротивление снижается настолько, что "перетянуть" их и прижать потенциал на линии к земле маломощным датчикам может оказаться затруднительно. Я бы начал с того, что поснимал все подтягивающие резисторы на датчиках, оставив подтяжку только на ардуине.