Внешний EEPROM

Использование внешней и внутренней EEPROM, а так-же SD card
Ответить
Marcony_V
Рядовой
Сообщения: 41
Зарегистрирован: 04.02.2017{, 17:02}
Репутация: 2

Внешний EEPROM

#1

Сообщение Marcony_V » 05.04.2017{, 00:43}

Уважаемые знатоки, возможен ли вариант подключения одной внешней EEPROM для нескольких Ардуин плат при выполнении одинаковых  задач?

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Внешний EEPROM

#2

Сообщение Boroda » 05.04.2017{, 16:37}

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Внешний EEPROM

#3

Сообщение Boroda » 05.04.2017{, 17:16}

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

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

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

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

Время 2мс лучше сделать разным 1,2,3,4,5..мс у каждой Ардуины.
Вложения
4449787.png
Последний раз редактировалось Boroda 05.04.2017{, 17:05}, всего редактировалось 1 раз.

Marcony_V
Рядовой
Сообщения: 41
Зарегистрирован: 04.02.2017{, 17:02}
Репутация: 2

Внешний EEPROM

#4

Сообщение Marcony_V » 05.04.2017{, 19:57}

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

Naladchik
Капитан
Сообщения: 822
Зарегистрирован: 04.10.2015{, 19:10}
Репутация: 151
Откуда: Новосибирск
Имя: Павел

Внешний EEPROM

#5

Сообщение Naladchik » 06.04.2017{, 04:31}

Marcony_V писал(а):....Датчик такой можно подключить только один к одной Ардуине.
А если попробовать вариант с коммутацией питания?
Т.е. сигналы SDA, SCL у всех общие, а вот питание датчиков посадить на дискретные выходы ардуинки (не смотрел, но по моему ток питания у него небольшой и должно хватить).
Подали на выход 1 единичку, подождали, считали датчик, убрали; подали на выход 2 единичку, подождали, считали, убрали.
Win10-64. FLProg Portable.
Изображение

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Внешний EEPROM

#6

Сообщение Boroda » 06.04.2017{, 08:14}

Уж лучше CD4052A и 6 резисторов подтяжки, а то кто знает как эти датчики к такому питанию относятся.

Леша
Рядовой
Сообщения: 22
Зарегистрирован: 20.02.2016{, 16:41}
Репутация: 1

Внешний EEPROM

#7

Сообщение Леша » 06.04.2017{, 08:49}

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Внешний EEPROM

#8

Сообщение Boroda » 06.04.2017{, 09:30}

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

Marcony_V
Рядовой
Сообщения: 41
Зарегистрирован: 04.02.2017{, 17:02}
Репутация: 2

Внешний EEPROM

#9

Сообщение Marcony_V » 06.04.2017{, 10:10}

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

Аватара пользователя
Boroda
Капитан
Сообщения: 836
Зарегистрирован: 01.05.2016{, 01:04}
Репутация: 38
Откуда: Коломна
Имя: Станислав
Контактная информация:

Внешний EEPROM

#10

Сообщение Boroda » 06.04.2017{, 10:37}

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

Ответить

Вернуться в «Устройства памяти»