Страница 1 из 1

Внешний EEPROM

Добавлено: 05.04.2017{, 00:43}
Marcony_V
Уважаемые знатоки, возможен ли вариант подключения одной внешней EEPROM для нескольких Ардуин плат при выполнении одинаковых  задач?

Внешний EEPROM

Добавлено: 05.04.2017{, 16:37}
Boroda
Будут глюки. Шина I2C позволяет одновременную передачу данных от нескольких устройств, всмысле, что КЗ не будет, но при этом на шине будет каша. Лучше одной Ардуиной взять эти данные и раскидать на остальные каким-либо другим способом. А что такое за монструозное у Вас устройство, что там несколько Ардуин используется? Может эту проблему обойти как-то можно?

Внешний EEPROM

Добавлено: 05.04.2017{, 17:16}
Boroda
Например, одна Ардуина главная, у нее есть Выход, который проходит по "управляющим входам" других Ардуин. Главная все время держит этот выход в единице. Выдает  короткий нулевой импульс (100мс) на этом выходе и сама читает EEPROM. У остальных Ардуин на "управляющем входе" стоит такая схема (плата обязательно с условием):
СпойлерПоказать
Таймеры TON у каждой ведомой ардуины настроены на 100мс, 200мс, 300мс и т.д. По сработке таймера каждая Ардуина читает из памяти данные. Получится с помощью управляющего сигнала и разных таймеров последовательное обращение Ардуин к памяти. Медленно, костыльно и зависит от ведущего, но должно работать.

Добавлено (05.04.2017, 17:16)
---------------------------------------------
Можно сделать пару коробочек на СИ. Через все Ардуины идет один провод, подтянутый резистором к +5v.
Блок1: любая Ардуинка захотела прочитать EEPROM, посмотрела на шину, подождала 2мс, посмотрела на шину еще раз, шина в единице - можно читать. Притягивает шину к земле.

Далее идут стандартные блоки чтения памяти.

Блок2: после чтения памяти отпустит шину.

Время 2мс лучше сделать разным 1,2,3,4,5..мс у каждой Ардуины.

Внешний EEPROM

Добавлено: 05.04.2017{, 19:57}
Marcony_V
 Boroda, Это 3-х фазный термовакуумный пресс 2.7х1.2 метра на ИК лампах. Мощность нагревания регулируется шестью симисторами через опторазвязку по два на каждую фазу. Управляется всё это компом через LPT порт. Температура в разных зонах пресса отличается. Поэтому хотелось бы отказаться от компьютера и разделить управление между 3-мя Ардуинками с бесконтактными инфракрасными датчиками MLX90614. Датчик такой можно подключить только один к одной Ардуине. Используя четыре общие кнопки (Меню и уставка) для 3-х с одинаковым скетчем плат с Вашим блоком ПИД регулятора (за что Вам огромное человеческое Спасибо!!!) планирую выровнять температуру в 3-х зонах пресса. Хотелось бы задействовать общий EEPROM на случай отключения электричества.

Внешний EEPROM

Добавлено: 06.04.2017{, 04:31}
Naladchik
Marcony_V писал(а):....Датчик такой можно подключить только один к одной Ардуине.
А если попробовать вариант с коммутацией питания?
Т.е. сигналы SDA, SCL у всех общие, а вот питание датчиков посадить на дискретные выходы ардуинки (не смотрел, но по моему ток питания у него небольшой и должно хватить).
Подали на выход 1 единичку, подождали, считали датчик, убрали; подали на выход 2 единичку, подождали, считали, убрали.

Внешний EEPROM

Добавлено: 06.04.2017{, 08:14}
Boroda
Уж лучше CD4052A и 6 резисторов подтяжки, а то кто знает как эти датчики к такому питанию относятся.

Внешний EEPROM

Добавлено: 06.04.2017{, 08:49}
Леша
А вместо ламп нельзя поставить ТЭНы? Тогда регуляторы с алгоритмом Брезенхема + оптопара MOC3061 на симисторы и все потянет один контроллер (регулятор с пропуском периодов сети, лампочки будут неприятно моргать, хотя если не смотреть на них работать будет ) Алгоритм хорош тем, что практически не кушает ресурсы контроллера... Сорри, про термодатчики не дочитал. Попробовать использовать кольцо.

Внешний EEPROM

Добавлено: 06.04.2017{, 09:30}
Boroda
Marcony_V, а вообще одна Ардуина Master Modbus, остальные Slave. К мастеру цепляется экран, кнопки, память и он раскидывает уставки и параметры на подчиненные Ардуинки. Слейвы вообще ничего не сохраняют и не запоминают, все паметры берутся с мастера.

Внешний EEPROM

Добавлено: 06.04.2017{, 10:10}
Marcony_V
Boroda, Подключал две Ардуины в кольцо с датчиками DS18b20 на стенде (те датчики пока в пути), всё работает не плохо, но пугает количество переменных в кольце - памяти на грани. С Madbus пока не пробовал, а наверное стоит. Буду изучать матчасть. Спасибо за идею.
Леша,  там весь смысл в ИК лампах, тепло аккумулируется на поверхности пленки. Так намного экономичнее.

Внешний EEPROM

Добавлено: 06.04.2017{, 10:37}
Boroda
Marcony_V писал(а):но пугает количество переменных в кольце
Ну так для ПИД много не надо... десяток переменных на каждый слейв кидать. Да и текущую мощность и температуру забирать.