Уважаемые все! Активность и дружелюбность данного форума не устает меня удивлять. Спасибо за очередную порцию информации, обязательно изучу на досуге. Действительно, в планах не было использовать тяжелую артиллерию типа специальных устройств
.
@BOB51, так и есть, пользуюсь OneWire и DallasTemperature. И да, не хочется залезать на низкий уровень управления шиной.
Разобрался с проблемой - по крайней мере на пока.
По ходу был найден очень интересный
документ, описывающий рекомендации производителя по построению больших сетей 1-wire с учетом разных топологий. Возможно, кому-то пригодится.
Итак:На линии висело 6 датчиков (каждый на ~0,5м хвосте):
- 2 рядом с МК,
- 3 подключены к одной точке на ~3 метре. Три хвоста от датчиков соединяются между собой спайкой и потом все одним коротким 3-5см хвостом подключаются к шине
- и еще один на самом конце еще метрах в 4-5.
Проблема была в этих трех - они наводили глюки на всю систему. Если оставить любые 2, то они просто показывали некорректную температуру. Втроем вешают все. На столе этот краб из 3х, подключенный к кабелю длиной 2 метра работает нормально. Что в принципе согласуется с идеей о том, что топология типа звезда не поддерживается, а если вешаете датчики в одной точке, то подключайте их кабелем разной длины.
Пока оставил один из трех - система работает уже 4 дня с 4мя датчиками. Ничего не зависает, форточка открывается и закрывается как надо автоматически и в ручном режиме, добавил вентилятор - его долго уговаривать не пришлось, готовлю к установке клапан наполнения бочки - код уже работает, контроллер бодро "наполняет" бочку пощелкивая пока пустой релюшкой, скоро доедут клапаны для полива грядок
Глюков пока хватает - сейчас например файлы с логами, которые пишутся на SDCard, периодически корраптятся, но это уже не схемотехника, а программный код, с которым борюсь в меру сил. Остальные два датчика поставлю в других разных местах.