Редактирование сообщений RS485 «на лету» между зарядным устройством электромобиля и счетчиком электроэнергии

power rs485 charging

Я пытаюсь подключить зарядное устройство для интеллектуального электромобиля Feyree с динамической балансировкой нагрузки к интеллектуальному счетчику DTSU666 через RS485.

Динамическая балансировка нагрузки — это функция зарядного устройства электромобиля, которая позволяет динамически изменять выходную мощность зарядного устройства в зависимости от показаний счетчика электроэнергии (домашнего потребления), чтобы ограничить общее потребление установленным током.

Единственная проблема заключается в том, что диапазон выбираемого тока на зарядном устройстве электромобиля составляет 20–100 А. Я хочу использовать эту установку с солнечными панелями, чтобы она могла ограничивать ток зарядки в зависимости от солнечной энергии таким образом, чтобы общая выходная мощность моего дома (по двунаправленному счетчику энергии) была сбалансирована до 0 А (энергия не извлекается из сети и не поступает в сеть, вся избыточная энергия поступает на зарядное устройство электромобиля).

Это означает, что мне нужно будет установить ток DLB на зарядном устройстве на 0 А, чтобы он мог хорошо сбалансироваться, но, как я уже сказал, диапазон настройки составляет от 20 А до 100 А.

Какой самый простой способ добавить постоянное значение в сообщение RS485 на лету? Могу ли я поместить MKR 485 Shield между зарядным устройством и счетчиком и закодировать его так, чтобы он просто добавлял 20 А к показаниям счетчика? Тогда я бы установил предельный ток на зарядном устройстве электромобиля на 20 А, и он мог бы сбалансироваться и работать так, как я задумал?

, 👍1

Обсуждение

Это больше касается электрической стороны вопроса, чем Arduino., @Rohit Gupta

Мы не можем придумать для вас дизайн HW/SW. Если у вас уже есть дизайн HW или код, и у вас есть определенная проблема, то мы могли бы помочь с этим. Пожалуйста, [редактируйте] и обновите свой вопрос, если это возможно., @Greenonline

FWIW, какой точный номер модели Feyree? Я нашел руководства пользователя для [F-MBM22](https://manuals.plus/m/1533ae5a63dfe125f8a1c38a7db5bca5efc67d765c535b6e7396c9155567e57c_optim.pdf) и [EV Charging station](https://www.victronenergy.com/upload/documents/EV_Charging_Station/114524-EV_Charging_Station-pdf-en.pdf), но ни у одного из них *кажется* нет RS-485. Я вижу, что есть *как минимум* еще пара моделей (модель 11 кВ/16 А/трехфазная, модель 7,6 кВт/11 кВт/22 кВт и еще одна модель 7,6 кВт), но не могу найти PDF-файлы для них., @Greenonline

https://www.feyree.com/s/product-detail?productId=23010223118846420 Это как раз то зарядное устройство, о котором идет речь., @Martin


1 ответ


0

Похоже, вы хотите провести, по сути, атаку «человек посередине».

Однако, чтобы сделать это, вам наверняка понадобятся два устройства MAX3157 (и, следовательно, два щита MKR 485)? Один общается с зарядным устройством, а другой — со счетчиком, причем Arduino «вводит» сообщение «20A» в сообщения от счетчика к зарядному устройству. Да, это звучит возможно.

Однако, если вы попытаетесь использовать два щита MKR 485 (предполагая, что они могут быть объединены), вы быстро обнаружите, что оба щита используют D6 и D7 для TX и RX — вы не можете настроить это с помощью перемычек или из программного обеспечения. Так что возникнет конфликт — вы не сможете обращаться к щитам независимо. Поэтому проект с использованием MKR 485 не представляется возможным. Вам нужно придумать что-то другое.

Возможно, вы могли бы разработать собственную печатную плату или макетную плату, используя две микросхемы MAX 3157 (а не шилды MKR 485), которые вы можете включать и адресовать независимо, используя дополнительные цифровые контакты для адресации. В качестве альтернативы используйте один шилд в сочетании с дополнительной собственной схемой для другого MAX 3157.

,

Я ожидаю, что устройства RS485 будут использовать определенные протоколы связи, которые часто имеют некоторую функцию адресации. Поэтому одной шины достаточно, если зарядное устройство EV и счетчик энергии настроены на разные адреса. Arduino будет играть роль зарядного устройства EV для счетчика энергии, и наоборот. Атака MITM тогда работает на уровне протокола, а не на электрическом уровне., @the busybee

Это действительно полезно. Я знаю, что измеритель мощности адресуемый, не уверен насчет зарядного устройства. Так что по сути мне нужно использовать MAX 3157 для считывания необходимых регистров из измерителя мощности и сохранения их в памяти Arduino как плавающее значение (добавляя тем временем 20 А). Затем зарядное устройство должно связаться с Arduino (через другой MAX 3157 или с помощью адресации) и запросить эти регистры, думая, что оно общается с измерителем мощности, верно?, @Martin

Протоколы на основе RS-485 обычно являются одномастерными: мастер запрашивает ведомое устройство, а ведомое устройство отвечает только тогда, когда оно было адресовано. Если вы добавите Arduino, который может вести себя как мастер, то вы рискуете столкнуться с коллизиями на шине. Обнаружение и смягчение коллизий _можно_ реализовать, но я сомневаюсь, что зарядное устройство это делает., @Edgar Bonet

@EdgarBonet Я поправился относительно одного автобуса. Спасибо!, @the busybee

@thebusybee: Если зарядное устройство отправляет свои запросы в предсказуемое время, возможно, Arduino сможет отправлять свои собственные запросы между запросами от зарядного устройства, и ваша схема все равно сможет работать., @Edgar Bonet