В свободное время, от основной работы и перестройки своего частного дома, пытаюсь оснастить жильё своей системой Умный Дом. На электронику, к сожалению, время получается уделять по остаточному принципу. Продвигаюсь медленно. Но продвигаюсь.
В 2014 году купил на AliExpress, для экспериментов, модуль RS485 на MAX485. Только этой зимой выбрал время опробовать и понял, что сглупил, ранее взяв только одну плату. По быстрому купил ещё одну платку в России. Тогда, в 2014г., эти китайские модули массово выпускались на платах красного цвета, сейчас все синенькие. Разницы нет, микросхема одна и та же. Проэкспериментировал на макете, ориентируясь на уроки по FlProg. Всё с ходу получилось. Больше читать и разбираться не стал - не о чем (как я тогда думал). На мастер Arduino Mega, через красный модуль RS485 на MAX485, получаю данные со слэйва Arduino Uno, подключенного, соответственно, через синенький модуль на том же MAX485.
Решил, что поймал Бога за бороду. Всю территорию теперь модбасом обвяжу. При наладке однажды поменял местами старый красный модуль RS485 с новым синим – и вышла осечка. Данные передать не получилось, видимо в макете где-то неконтакт. Было уже поздно, разбираться не стал. На следующий день заказал на AliExpress дюжину этих модулей :
- HTB10iayJpXXXXXyXFXXq6xXFXXXE.jpg (24.84 КБ) 1916 просмотров
Весной получил их и начал монтаж по дому. У красненького модуля чуть другие установочные размеры, отложил его в сторону. Всё собрал на новых синих.
А сигналы-то не передаются!
Может расстояния?
Так они маленькие, не более десятка метров между блоками. Вернулся к макету. Ничего не работает! Вспомнил про казус с переменами местами красного модуля и синего. Достал отложенный красный модуль и тщательно всё восстановил.
Работает!
Но только тогда, когда старый красный модуль в комплекте с мастером, а любой синий в комплекте со слэйвом. Причём можно несколько слэйвов синих вешать. Модбас-мастер все их видит, со всех получает данные. Но стоит убрать красный модуль, заменив синим всё глохнет.
В чём их разница? По габаритам старый красный миллиметра на полтора короче и уже нового синего. Не на том расстоянии и чуть не так расположены разъёмные штекеры:
Схемы идентичны. Почти.
У красного светодиод D1 и резистор R8 поменяны местами:
И нумерация резисторов в обвязке чуть другая. Но это всё не принципиально.
Ёмкость С1 у нового 10 мкф, у старого около 50 мкф. Добавил на синий танталовую ёмкость. Ничего не улучшилось.
Сами микросхемы пронумерованы почти одинаково, кроме даты изготовления:
Старая, на красной плате - MAX485 ESA +1302 (после плюса, видимо 2013 г., 2-й месяц). Новая, на синей плате - MAX485 ESA +18DN (видимо 2018г., и сокращение месяца). Иных различий, кроме новой партии микросхем – не обнаруживается.
Что-то нахимичили китайские товарищи. «А ведь раньше-то по 3 рубля были, и хорошие». А сегодня дороже и не пашут. Увы.
«Когда долго не получается – читай инструкцию». Прочёл, пробежался, наконец, по форуму, про RS485. Выяснил, что оказывается нужно было брать эти модули, на микросхемах SP3485E и XY-017:
- HTB1rt28PQPoK1RjSZKbq6x1IXXaQ.jpg (47.15 КБ) 1916 просмотров
Заказал на AliExpress эти. Получил, опробовал – на макете что-то идёт туго.
Всё собрал на том же макете, где только что работала красная и синяя пара MAX485. Новый модуль на мастере честно мигает своим светодиодом TXD. На слэйве синхронно мигает RXD. Но обратной передачи со слэйва на мастер нет.
Контакты на модулях GND, RXD, TXD и VCC соединил согласно обозначений.
На обоих ардуинах выводы которые ранее управляли DE и RE пока висят в воздухе. Нужно ли их как то сносить в FlProg, и как это сделать пока не разобрался.
Сигнальные контакты «A» и «B» с одного модуля соединил с такими же у другого. Третий контакт рядом с клеммами «A» и «B» соединил с GND своего модуля. Питание на макете у всех ардуин и модулей RS485 общее.
Комплект со старым (красным) модулем на MAX485 и более новым (синим) на MAX485, как ни странно, успешно работает. Но мне нужно ещё добавить мастера (для экспериментов).
Моя прошивка для слэйва и мастера ниже. Возможно прошивка на мастер и слэйв из разных экспериментов. Но главное пара красного и синего, на MAX485 - всё переваривает, и передаёт и простые сообщения и посложнее, даже с несколькими слэйвами. Пара новых одинаковых, собранных на SP3485E и XY-017, пока не дружат друг с другом.
Нужна подсказка по более новым модулям RS485, на двух микросхемах SP3485E и XY-017. Кто в теме, подскажите, пожалуйста, в какую сторону двигаться.