MAX485 + wemos не работают

flat
Offline
Зарегистрирован: 05.02.2015

Цель. С телефона управлять PTZ камерой. 

Wemos(esp8266) + MAX485 подключено как тут - https://3d-diy.ru/wiki/arduino-moduli/interfeys-ttl-rs485/

В качестве приемника преобразователь USB->232->485 - https://www.ebayshopkorea.com/main/view?itemID=223123399463

как с кабелем usb->232 так и напрямую в ком порт компьютера. 

На компе геркулес. слушаю порт. Тишина. На преобразователе иногда загорается лампочка RXD. 

Провода местами менял.  Подскажите что я делаю не так? 

 

Код


// подключение библиотеки

#include <SoftwareSerial.h>

// создание экземпляра

// на RX-3, TX-2

SoftwareSerial RS485Serial(D3, D2);

// пин подключения выводов RE и DE

// конвертирующего модуля (выбор передача/получение)

const int PIN_DIR = 8;

unsigned long millis1, millis2;

// получаемые данные

String inputData0 = "";

// признак конца передачи

boolean dataComplete0 = false;




void setup() {

  pinMode(PIN_DIR, OUTPUT);

  // в режим приемника

  digitalWrite(PIN_DIR, LOW);

  // запуск последовательного порта

  Serial.begin(9600);

  // запуск SoftwareSerial

  RS485Serial.begin(9600);

}


void loop() {



  dataRS485Event0();

  if (dataComplete0) {

    Serial.print(0);

    if (inputData0.charAt(0) == '1' ) {

      // в режим передачи данных

      digitalWrite(PIN_DIR, HIGH);

      delay(10);

      RS485Serial.print("OK");

      delay(10);

      // в режим получения данных

      digitalWrite(PIN_DIR, LOW);

    }


    inputData0 = "";

    dataComplete0 = false;

  }

}




// получение данных

void dataRS485Event0() {

  if (RS485Serial.available() > 0) {

    // получить байт

    char c = (char)RS485Serial.read();

    // добавить в строку

    inputData0 += c;

    // конец передачи
    Serial.println(inputData0);

    if (c == '*') {

      dataComplete0 = true;

    }

  }

}

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Китайские модули 485 очень капризные. Защиты нет. Выгорают на раз два. Измеряйте напряжение и ток на линиях, при выдаче логических 0 и 1. Если есть осциллограф - смотрите им. И не забывайте, что MAX485 - пятивольтовый корпус.

flat
Offline
Зарегистрирован: 05.02.2015

И не забывайте, что MAX485 - пятивольтовый корпус.

??? питаю 5 вольтами.
Насчет сгоревших .. хм возможно. завтра еще пару возьму.

DetSimen
DetSimen аватар
Онлайн
Зарегистрирован: 25.01.2017

да. у мня на даче модули MAX485 стояли для связи дом/баня.  За лето менял по 4-7 штук.  Потом надоело, взял радиоудлиннитель Serial-а JDY-40 и избавился от проводов и головной боли.  

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

flat пишет:
На компе геркулес. слушаю порт. Тишина. На преобразователе иногда загорается лампочка RXD.

Для управления приемом/передачей на 485-х драйверах используется DE/RE в скетче вы этим управляете, если с проводами не напутали должно работать.
А на ПК управление как организовано? Кто управляет?

DetSimen пишет:
да. у мня на даче модули MAX485 стояли для связи дом/баня.  За лето менял по 4-7 штук.

Жесть... Мож драйверы не той системы.
Собираем показания с приборов учета, на линии до сотни устройств. Не горят пока, я щщаслив :)

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

flat пишет:

И не забывайте, что MAX485 - пятивольтовый корпус.

??? питаю 5 вольтами. Насчет сгоревших .. хм возможно. завтра еще пару возьму.

??? А управляете ?

Wemos(esp8266)  - 3.3 вольта

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Алексей. пишет:

Жесть... Мож драйверы не той системы.
Собираем показания с приборов учета, на линии до сотни устройств. Не горят пока, я щщаслив :)

Сколько говорите у вас на линии китайских модулей ? Один ? Или вы их сами в каждый прибор втыкаете :) ?

Алексей.
Алексей. аватар
Offline
Зарегистрирован: 02.02.2018

Жилой дом на подъезд до сотни эл.счетчиков, что в приборах учета производитель устанавливает не знаю, на контроллере ADM2582EBRWZ + защитные диоды на линию.

flat
Offline
Зарегистрирован: 05.02.2015

хм... управление да... 3.3 вольта... буду думать... поставлю наверно конвертер уровней. Пойдет такой вот  - https://eseal.ru/index.php/katalog/arduino-2/moduli/48-ostalnoe/178-dvunapravlennyj-4-kanalnyj-konverter-urovnej-5v-3-3v

flat
Offline
Зарегистрирован: 05.02.2015

С пк через геркулес команды отправляю ... работают.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Алексей. пишет:

Жилой дом на подъезд до сотни эл.счетчиков, что в приборах учета производитель устанавливает не знаю, на контроллере ADM2582EBRWZ + защитные диоды на линию.

Гы, так это нормально, ни в какое сравнение не идет с тем что у ТС https://umnyjdomik.ru/wp-content/uploads/foto-UART-TTL-RS-485-na-MAX485.jpg 

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

flat пишет:

С пк через геркулес команды отправляю ... работают.

Вы еще не забывайте, что у ESP выходы разные и хитрые. Где то пуллап нужен, где то пуллдаун, где то ничего, а где то и то и другое.

flat
Offline
Зарегистрирован: 05.02.2015

с этим у меня вообще жопа ) как понять где что нужно ? как я понимаю у меня 2 выхода и один вход (rx,tx, de и re , обьединены) на входы pullup на выходы pulldown надо ? 

 

у вемоса почти на всех портах есть... только включить надо вроде

andycat
andycat аватар
Offline
Зарегистрирован: 07.09.2017

flat пишет:

как понять где что нужно ? 

частенько к сожалению только тестером, померить что на входе/выходе, т.е. методом научного тыка :(

в даташите вроде все есть, но мне вот как то не помогало.....