Anern AN-SCI-EVO-6200 не розумію як під'єднати батарею Dyness B4850

Та вже пробував, рік вже пробую час від часу
Вже сумніваюсь що в інверторі взагалі порт працює
у мене при виборі LIL випадає помилка "61". в інструкції про неї не сказано. відповідно переходжу в режим USE і помилка сама пропадає
 
Всім привіт! Вдалось поєднати інвертор anern та батарею dyness b4850. Якщо маєте бажання замовити готовий модуль, пишіть в телеграм або в особисті
 
Останнє редагування:
Останнє редагування:
Що
Що за модуль і чи підійде для сватання анерн із Dyness DL 5.0c?
В модулі ардуіно, що змінює пакети таким чином щоб інвертор розумів батарею і навпаки. Щодо вашої батареї не тестував, але можемо домовитись, відправлю на тест, напишіть в телеграм
 
oolshv підтвердив, що не бот. І дійсно має що запропонувати. Проект комерційний - так що навряд можна буде зробити самому. Але хто бажає - можна звертатися. Єдине - я попросив знижку для учасників форуму.)))
Ну і відео з роботою приладу - було би бажано.
Ну і якщо ви вже маєте комерційну пропозицію - раджу залишити контакт в звичайному вигляді (телефон/пошта і зрозумілий нік). Це як додатковий захист від шахраїв.
 
Крім того - в кого є бажання - тут ми поміркуємо з адміністрацією - зробити окремо теми з комерційними пропозиціями. Де виробники ( ))) можуть пропонувати свої вироби і бути готовими відповідати на питання. Бо в наших темах тут в основному йде обговорення самостійного виготовлення.
 

Вкладення

  • IMG_5408.jpeg
    IMG_5408.jpeg
    3,6 Mб · Перегляди: 20
Останнє редагування:
Скільки коштує такий модуль і як з Вами зв'язатись?
Собі вартісьть самого комплектуючих 420гр скеч на ардуінку простий можна згенерувати в чат GPT з читать пакети теж можна простою arduino
 
Собі вартісьть самого комплектуючих 420гр скеч на ардуінку простий можна згенерувати в чат GPT з читать пакети теж можна простою arduino
// Псевдокод для розуміння процесу
void loop() {
// 1. Запит до батареї Dunes
byte request[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x0A, 0xC5, 0xCD};
RS485_Battery.write(request, 8);

// 2. Отримання відповіді та розрахунок SOC
if (RS485_Battery.available()) {
byte data = RS485_Battery.read();
// Обробка байтів...
int soc = data[13]; // Приклад зміщення
}

// 3. Відправка "підробки" під Pylontech в інвертор Anern
sendToInverter(soc, voltage, current);

delay(1000); // Опитування раз на секунду
}
 
// Псевдокод для розуміння процесу
void loop() {
// 1. Запит до батареї Dunes
byte request[] = {0x01, 0x03, 0x00, 0x00, 0x00, 0x0A, 0xC5, 0xCD};
RS485_Battery.write(request, 8);

// 2. Отримання відповіді та розрахунок SOC
if (RS485_Battery.available()) {
byte data = RS485_Battery.read();
// Обробка байтів...
int soc = data[13]; // Приклад зміщення
}

// 3. Відправка "підробки" під Pylontech в інвертор Anern
sendToInverter(soc, voltage, current);

delay(1000); // Опитування раз на секунду
}
Читать пакети данних dunes b4850
include <SoftwareSerial.h>

#define RE_DE_PIN 3

// Створюємо віртуальний серійний порт
SoftwareSerial rs485(10, 11); // RX, TX

// Приклад команди для запиту інформації (залежить від прошивки BMS)
// Це стандартна команда для багатьох китайських BMS
byte requestCommand[] = {0x7E, 0x32, 0x30, 0x30, 0x31, 0x34, 0x36, 0x34, 0x32, 0x45, 0x30, 0x30, 0x32, 0x30, 0x32, 0x46, 0x44, 0x33, 0x33, 0x0D};

void setup() {
Serial.begin(9600);
rs485.begin(9600); // Базова швидкість для RS485 BMS

pinMode(RE_DE_PIN, OUTPUT);
digitalWrite(RE_DE_PIN, LOW); // Режим прийому

Serial.println("Запуск моніторингу Dunes B4850...");
}

void loop() {
// Перемикаємося на передачу
digitalWrite(RE_DE_PIN, HIGH);
delay(10);

rs485.write(requestCommand, sizeof(requestCommand));
rs485.flush();

// Перемикаємося на прийом
digitalWrite(RE_DE_PIN, LOW);

delay(500); // Чекаємо на відповідь

while (rs485.available()) {
char c = rs485.read();
Serial.print(c); // Виводимо сирі дані в консоль
}

Serial.println();
delay(5000); // Опитування кожні 5 секунд
}
 
Назад
Угорі