Зависание при использовании HTU21 и дисплея 16*2
Не, не вижу.
Темы эти я читал. Спасибо за ответ.kulibinsvv писал(а): ↑24.03.2018{, 10:22}Как минимум нужно было воспользоваться поиском по форуму. Аналогичную проблему здесь разбирали неоднократно.
Для примера:
Виснет ардкинка
Сторожевой таймер ( WDT )
Данная защита предназначена для защиты от программных зависаний.
Только плату ардуино, HTU-21, дисплей 16*8, ds18B20, два электромагнитных реле через ключи и твердотельное реле на нагрев все от одного БП. Силовая цепь мотор- редуктора переворота лотков запитанна от компьютерного БП. Схему нарисую и выложу позже.kulibinsvv писал(а): ↑24.03.2018{, 15:07}БП питает всё устройство или только плату Ардуино?
А ещё лучше если вы выложите полную схему устройства.
КОНЕЧНО! От таких "миганий" нередко даже промышленные ПЛК виснут.slon-genia писал(а): ↑24.03.2018{, 14:31}Я живу в селе. У нас проблемы с электричеством. Мигает свет часто, ВЛ-0,4кв линия слабая. Может ли быть из за этого?
Запитал от АКБ. Посмотрю что будет)))kipiaxxx писал(а): ↑24.03.2018{, 16:14}КОНЕЧНО! От таких "миганий" нередко даже промышленные ПЛК виснут.slon-genia писал(а): ↑24.03.2018{, 14:31}Я живу в селе. У нас проблемы с электричеством. Мигает свет часто, ВЛ-0,4кв линия слабая. Может ли быть из за этого?
"Семь бед - один ресет", аппаратный сторожевой таймер - наше всё.
Извиняюсь, что не отписывался. Выбросил свой БП, и подключил всю электронику к автомобильному акамулятору. Глюков стало в разы меньше, (был только один с 24.03.2018. Дисплей не светился, ардуина не подавала признаков жизни, далее RESET и заработало.). Теперь копаю в сторону i2c шины. У меня на ней сидит дисплей, часы, датчик температуры. Датчик температуры в экране, к нему нету притензий, а вот часы и дисплей соеденены проводками длинной по 10 см примерно. Думаю, что с этим чтото связанно. Что посоветуете? Как правильно соеденить модули с ардуино воизбежании наводок на шину i2c.
По уму шина i2c должна идти либо плоским шлейфом, где сигналы идут разделенные землей. Либо витой парой, где каждый сигнал свит с землей. Во втором случае, на обеих концах шлейфа, на шину питания нужно вешать небольшой кондер-электролит.slon-genia писал(а): ↑26.03.2018{, 07:52}Что посоветуете? Как правильно соеденить модули с ардуино воизбежании наводок на шину i2c.
Если запитываете от авто, то нужно по питанию сначала диод, со стороны сети авто, потом кондер. А лучше кондер-дроссель-кондер. Сеть авто не сглаженная, там просадки по напряжению шикарные. Поэтому в момент просадки, любое авто оборудование будет пытаться отсосать от вашей ардуины тока. Вот потому и нуна диёд!slon-genia писал(а): ↑26.03.2018{, 07:52}Выбросил свой БП, и подключил всю электронику к автомобильному акамулятору. Глюков стало в разы меньше
Имеется в виду аккумулятор, а не бортовая сеть автомобиля. Читайте внимательней.Rishelie писал(а): ↑26.03.2018{, 11:52}Если запитываете от авто,
Вам всё верно сказали Rishelie и pan.Rishelie писал(а): ↑26.03.2018{, 09:31}Что посоветуете? Как правильно соеденить модули с ардуино воизбежании наводок на шину i2c.
Прежде чем выбрать направления копания обращайте внимание на предупреждения компилятора
на мой взгляд, не совсем. О каких наводках может идти речь на шине I2C, если по стандарту сигнальные линии подтянуты резисторами к + питания, которые и формируют высокий уровень при отпускании линии МКонтроллером(clk, data -> INPUT) ? Низкий уровень формируется переключением выводов МК (clk, data ->OUTPUT с состояниями регистров в LOW). Это какой должна быть "наводка", что-бы на 10-ти сантиметровом соединении вызвать сбой на короткозамкнутых на землю линиях? Скорее всего причину следует искать в нарушении протокола i2c- пропуске ответа АСК ведомого устройства (если он вообще был сформирован) и ожидании мастера (МК) этого ответа. Или другими словами зависание- это ожидание ответа в безконечном цикле while. Подавляющее большинство "ардуинологов" игнорируют вообще сигналы контроля ошибок(судя по библиотекам), заменяя биты ACK и NACK дополнительным 9-м битом (ногодрыганьем) или не предусматривают выход из цикла при отсутствии ответа, или ещё хуже регистрами порта переводят сигнальные линии CLK(SCL), SDA(DIO) в состояние HIGH - проверяйте библиотеки, если нету I2C логгера.slon-genia писал(а): ↑26.03.2018{, 07:52}Как правильно соеденить модули с ардуино воизбежании наводок на шину i2c
Посмотрите пожалуйста подробности.
Что-то я не заметил "предмета" после Вашего сообщения и похоже арбитраж Ваш преждевременный. Есть возражения,- опровергайте, давайте вместе искать истину, а не демонстрировать экстрасенсорные способности в плане кто и что читал. Я искренне рад за Вас, я же учусь и буду Вам признателен за указание по какой из моих ссылок или рисунке присутствует ложь.
Смею предложить Вам дочитать 13-е сообщение до конца.