Linux+USBAsp+Arduino+Arduino+Arduino по I2C

kanakhin
Offline
Зарегистрирован: 10.11.2015

Доброго времени суток!

Вопрос такой. Есть сервак с линуксом, есть прошитая i2c tiny usb и 3 штerb ардуин - 2 freeduino (duemilanove) и одна uno v3. Вопрос в том, как правильно с технической стороны подавать питание на эти 3 платы и как правильно подключить все к шине I2C. Сейчас беру питание с компьютерного БП, беру 12В, подаю на разъем питания на 2 платах, а на третью подаю землю и 5В на землю и пин Vin. Пины А4 со всех плат подключаю к SDA на переходнике usb-i2c, пины А5 со всех плат подключаю к пину SCL на переходнике. GND переходника подключал к GND одной из плат - работало. Но в какой-то момент после перезагрузки той платы, с которой бралась земля - переходник пеерстал определяться на сервере, к которому был подключен. Потом сделал по-другому - подключаю +3В с одной из ардуин к переходнику на пин VTG - тоже работает.

Так как правильно соединить между собой все?

Radjah
Offline
Зарегистрирован: 06.08.2014

У тебя тут какое-то очень сильное колдунство.

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

Radjah пишет:

У тебя тут какое-то очень сильное колдунство.

у него линукс - этим объясняется стремление к извращениям.

kanakhin
Offline
Зарегистрирован: 10.11.2015

у меня просто непонимание физики работы шины I2C скорее всего

я правильно понимаю, что если 2 платы ардуино питаются от одного источника тока, то земля у этих плат будет общей? или нет?

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

kanakhin пишет:

у меня просто непонимание физики работы шины I2C скорее всего

я правильно понимаю, что если 2 платы ардуино питаются от одного источника тока, то земля у этих плат будет общей? или нет?

это не непонимание физики шины - это скуренный в средней школе учебник физики.

выхода два:

1. в школу.

2. копать ямы.

kanakhin
Offline
Зарегистрирован: 10.11.2015

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

kanakhin
Offline
Зарегистрирован: 10.11.2015

да я как-то потерял интерес к этому разговору... понятно, что ничего дельного тут все равно никто не знает, сплошное бла-бла-бла. за сим откланиваюсь. поищу лучше другой форум с адекватными людьми...

Radjah
Offline
Зарегистрирован: 06.08.2014

Ну да, тут мозгами думать требуют, а "Ищу исполнителя" - это другой раздел.

kanakhin
Offline
Зарегистрирован: 10.11.2015

Radjah пишет:

Ну да, тут мозгами думать требуют, а "Ищу исполнителя" - это другой раздел.

а мне не нужен исполнитель, я сам себе исполнитель.  чтобы уж все было понятно - тут все есть: http://pikabu.ru/story/moy_poloumnyiy_dom_novyie_gorizontyi_3766531

и если мне что-то непонятно - я задаю вопрос тем, кто разбирается. а на этом форуме умеют похоже только бла-бла...

 

Клапауций 911
Offline
Зарегистрирован: 18.10.2015

kanakhin пишет:

и если мне что-то непонятно - я задаю вопрос тем, кто разбирается. а на этом форуме умеют похоже только бла-бла...

я разбираюсь - я тебя отсылаю изучать физику уровня средней школы.

иначе, ты будешь не готов.

kanakhin
Offline
Зарегистрирован: 10.11.2015

а ты попробуй

Maverik
Offline
Зарегистрирован: 12.09.2012

вот "физика" протокола

kanakhin пишет:

Передача/Прием сигналов осуществляется прижиманием линии в 0, в единичку устанавливается сама, за счет подтягивающих резисторов. Их ставить обязательно всегда! Стандарт! Резисторы на 10к оптимальны. Чем больше резистор, тем дольше линия восстанавливается в единицу 

отсюда выводы:

1) два провода i2c передают только данные, формированием земли и питалова не занимаются,  они уже должны быть - общие для всех устройств. т.е. вне зависимости от энергопотребления устройства, его i2c-часть должна иметь общий со всеми другими i2c-устройствами постоянный "логический" уровень +5 В.  Дёргать саму линию питания нельзя, нужно дергать именно линию данных.

2) единица в протоколе - это подтяжка к питанию, через резистор 10 Килоом (по стандарту)

3) ноль в протоколе - это прижимание линии данных к общей земле.  

4) какой из выводов устройства SDA а какой SCL обычно подписано, все SDA подключаются к одной линии протокола, все SCL - к другой .   SCL задаёт такты,  SDA - передаёт, собственно, данные.

вот самая наглядная схема, хотя, повторяю, резисторы в стандарте 10 килоом, а не 15. 

здесь хорошо видно, что земля и VCC обязательно ОБЩИЕ

 

вот и всё.

 

 

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Собственно, в схеме резисторы 1.5К, а не 15.

Что, кстати, насколько мне известно, находится вне рекомендованного диапазона 1.8-47К.

PS. kanakhin, не обижайтесь, но, судя по тому, как Вы задаете вопросы, в действительно основательно подзабыли курс физики.