MAX485 + wemos не работают
- Войдите на сайт для отправки комментариев
Чт, 16/05/2019 - 10:42
Цель. С телефона управлять 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;
}
}
}
Китайские модули 485 очень капризные. Защиты нет. Выгорают на раз два. Измеряйте напряжение и ток на линиях, при выдаче логических 0 и 1. Если есть осциллограф - смотрите им. И не забывайте, что MAX485 - пятивольтовый корпус.
И не забывайте, что MAX485 - пятивольтовый корпус.
??? питаю 5 вольтами.
Насчет сгоревших .. хм возможно. завтра еще пару возьму.
да. у мня на даче модули MAX485 стояли для связи дом/баня. За лето менял по 4-7 штук. Потом надоело, взял радиоудлиннитель Serial-а JDY-40 и избавился от проводов и головной боли.
Для управления приемом/передачей на 485-х драйверах используется DE/RE в скетче вы этим управляете, если с проводами не напутали должно работать.
А на ПК управление как организовано? Кто управляет?
Жесть... Мож драйверы не той системы.
Собираем показания с приборов учета, на линии до сотни устройств. Не горят пока, я щщаслив :)
И не забывайте, что MAX485 - пятивольтовый корпус.
??? питаю 5 вольтами. Насчет сгоревших .. хм возможно. завтра еще пару возьму.
??? А управляете ?
Wemos(esp8266) - 3.3 вольта
Жесть... Мож драйверы не той системы.
Собираем показания с приборов учета, на линии до сотни устройств. Не горят пока, я щщаслив :)
Сколько говорите у вас на линии китайских модулей ? Один ? Или вы их сами в каждый прибор втыкаете :) ?
Жилой дом на подъезд до сотни эл.счетчиков, что в приборах учета производитель устанавливает не знаю, на контроллере ADM2582EBRWZ + защитные диоды на линию.
хм... управление да... 3.3 вольта... буду думать... поставлю наверно конвертер уровней. Пойдет такой вот - https://eseal.ru/index.php/katalog/arduino-2/moduli/48-ostalnoe/178-dvunapravlennyj-4-kanalnyj-konverter-urovnej-5v-3-3v
С пк через геркулес команды отправляю ... работают.
Жилой дом на подъезд до сотни эл.счетчиков, что в приборах учета производитель устанавливает не знаю, на контроллере ADM2582EBRWZ + защитные диоды на линию.
Гы, так это нормально, ни в какое сравнение не идет с тем что у ТС https://umnyjdomik.ru/wp-content/uploads/foto-UART-TTL-RS-485-na-MAX485.jpg
С пк через геркулес команды отправляю ... работают.
Вы еще не забывайте, что у ESP выходы разные и хитрые. Где то пуллап нужен, где то пуллдаун, где то ничего, а где то и то и другое.
с этим у меня вообще жопа ) как понять где что нужно ? как я понимаю у меня 2 выхода и один вход (rx,tx, de и re , обьединены) на входы pullup на выходы pulldown надо ?
у вемоса почти на всех портах есть... только включить надо вроде
как понять где что нужно ?
частенько к сожалению только тестером, померить что на входе/выходе, т.е. методом научного тыка :(
в даташите вроде все есть, но мне вот как то не помогало.....