Трёхфазный энергомонитор
И это правильное решение!
В понедельник поеду, затарюсь преобразователями...Phazz писал(а): ↑04.03.2020{, 12:53}bonyfacci,
подключать примерно так, но только без usb преобразователя и один контроллер с 3 PZEMСпойлерПоказатьtest789.jpgЕсть такой http://download.flprog.ru/additionalFil ... tings.zipAlias писал(а): ↑04.03.2020{, 12:17}
Насколько я понял, Автор предлагает использовать несколько Pzem через один Uart на одном шлейфе через RS485. В штатных блоках есть поле выбора адреса конкретного датчика. Нужно только прописать его уникальный через утилиту типа https://1msmart.com/pzem004chaddr.html или нечто подобное. Еще не изучал, так что не прокомментирую. Если Автора и просить, то инструмент для смены и проверки номера ))
Вам такие не подойдут - у них есть пин вкл передачи, а на модуле его нету.bonyfacci писал(а): ↑05.03.2020{, 09:19}В понедельник поеду, затарюсь преобразователями...
https://smdx.ru/rs-485-ttl
Для начала, нужно Ваш проект...
Могу.
Для меня это пока страшно и непонятно.
1шт в наличии.
RX моргает правильно. Делал тоже и на двух контроллерах 3 PZEM... Но с моими наводками, или что там мешаем им работать вместе - ничего нормального не получается.
В справке по программе на странице PZEM (https://flprog.ru/bez-rubriki/helppage/ ... =PZEM-004T) есть ссылка на приложение с помощью которого можно сконфигурировать PZEM (с компа через переходник USB->UART) ссылка на программу - http://download.flprog.ru/additionalFil ... ttings.zipAlias писал(а): ↑23.04.2020{, 17:37}Итак, сначала вывод: три модуля работать на одном порту могут. Мало того - почти безо всякого шаманства.
Для этого нужно всего несколько шагов для каждого из модулей:
1. создать любой проектик, например, как из вложения, у меня была под руками Uno;
2. нажать на кнопку "Компилировать проект", откроется окно ide, все в окне удалить, вставить следующий код и указать в нем новый адрес подключенного в данный момент устройства:3. загрузить в Ардуино, указанный адрес присвоится модулю.СпойлерПоказать#include <PZEM004Tv30.h>
PZEM004Tv30 pzem(2, 3); // у меня модули временно подключены на софтпорт
void setup() {
}
void loop() {
pzem.setAddress(0x03); // выбрать желаемый номер устройства, в данном случае это 3
Serial.print("Current address:");
Serial.println(pzem.getAddress());
Serial.println();
delay(1000);
}
Можно было повыкидывать из лишнее, но я вставил, как было, источник здесь: https://github.com/mandulaj/PZEM-004T-v ... ngeAddress
Повторить для всех оставшихся модулей.
Все.
На скриншоте - работа трех pzem параллельно на одном порту. Чтобы продемонстрировать, что это реально разные модули, поочередно отрывал трансформаторы тока от каждого из них, что видно на мониторе порта в параметрах тока и мощности.Не знаю, что тут еще добавить. Разве что о необходимости выпаять лишние R4 после программирования адресации, на фото это видно и обсуждалось выше по теме.СпойлерПоказать3_pzem.png
20200423_171629.jpg
20200423_171734.jpg