Це 1/3-х фазний лічильник електрики - ватметр/смарт-розетка http://www.bg-etech.de/Bedienungsanleitungen.html
Питання по схемі підключення, L це лінія ( фаза ), N це земля. а яка буде повна схема підключення, що для цього треба ? ТАм є вхід і вихід. Можна хоч на прикладі підключення лампочки пояснити
схеми підключення вами вже приведені вище, навантаження підключається між виходом цього лічильника і N. Тобто сам лічильник включається в розрив фази. Умовно так:
Документацiя: http://bg-etech.de/download/manual/SDM630ModbusEN.pdf
Адреса регистрiв: http://bg-etech.de/download/manual/SDM630Register.pdf
Приклади читання по Modbus на Python
в задачі є SDM630-Modbus та підключити його для ардуіно
...
USB to rs-485
8-11 - рахункові імпульсні виходи
12-13 - рахункові імпульсні виходи
9-10 - диференційний двопровідний RS-485 (A/B)
USB хост
Оскільки Буратiно не містить USB хоста і конвертор на ній (FTDI/CP2102/PL2303/CH340G) сам є підлеглим пристроєм (USB slave), то підключити USB конвертор ви до нього не зможете. ДАНИЙ USB/RS-485 перетворювач ви зможете підключити до комп'ютера/ноутбука/малинки (тобто до пристрою з HOST-контролером). Для підключення до - Буратiно вам потрібен RS-485/TTL UART перетворювач, а простіше - мікросхема типу ADM485/ADM3485/ST485 і т.п.
Обв'язка
Обв'язка для мелкосхеми ADM3485 практично ніяка http://www.analog.com/media/en/technica … _3491.pdf, досить термінального резистора по входу A-B та 2-3 пін на землю посадити для конфігурації на прийом:
При довжині лінії зв'язку RS-485 більше 10 м, рекомендую використовувати гальванічну розв'язку інтерфейсу RS-485. Це можна реалізувати як окремими оптронами, так і використовувати ІМС конвертора RS-485/UART TTL з вбудованою гальванічною розв'язкою, наприклад - ADM2582E (в ній навіть DC-DC вже вбудований і ланцюги ESD захисту від статики до 15 кВ) http://www.analog.com/media/en/technica … _2587E.pdf
Готовий конвертор RS-485/UART TTL (без розв'язки)
...або просто купити готовий на тому ж алi https://ru.aliexpress.com/item/10pcs-3- … 02050.html
Вихід TTL-UART конвертора підключаєте до будь-якого дискретного I/O Буратiно і використовуєте SoftWareUART (UNO містить лише один апаратний UART, та вже задіяний під UART TTL/USB конвертор на платi модуля для завантаження скетчів і обміну з ПК):
▼Прихований текст
#include <SoftwareSerial.h>
// блютуз HC-05
//int ledPin11 = 11; // TX1
//int ledPin12 = 12; // RX1
SoftwareSerial mySerial(11, 12); // RX1, TX1
String inString;
void setup() {
// задействуем Serial-Software на 11-12 pin
// для платы Arduino-Nano Atmega328p один Serial: RX(0)/TX(1)
Serial.begin(9600);
Serial.flush();
mySerial.begin(9600);
mySerial.flush();
inString = "";
// гасим светодиод состояния
digitalWrite(led, LOW);
}
void command() {
// разбор данных вида H2...H13, L2...L13: H - включен, L - выключен
if (inString[0] == 'H') {
switch (inString[1])
{
}
}
if (inString[0] == 'L') {
switch (inString[1])
{
}
}
inString = "";
}
void loop() {
// работа с портом загрузки для тестов
while (Serial.available()) {
char inChar = Serial.read(); // читаем побайтно
Serial.write(inChar); // эхо
aread();
Serial.write(outputValue);
if (inChar!= 13) {
inString += inChar; // формируем строку
sound(inChar);
}
if (inChar == 13) {
command();
Serial.flush();
}
}
// работа с прозрачным UART over BlueTooth HC-05
// через программный UART
while (mySerial.available()) {
char inChar = mySerial.read(); // читаем побайтно
mySerial.write(inChar); // эхо
aread();
mySerial.write(outputValue);
if (inChar!= 13) {
inString += inChar; // формируем строку
sound(inChar);
}
if (inChar == 13) {
command();
mySerial.flush();
}
}
}
Ресурси по тематиці
p.s.: раз забезпечена робота по UART, залишається обернути його в Modbus. Під Буратіно є готові - Modbus-Master-Slave-for-Arduino https://github.com/smarmengol/Modbus-Ma … r/examples (вам потрібен - master). Однак рекомендую потренуватися зi USB/RS-485 конвертором на ПК та любим термiналом Modbus - http://raxp2.blogspot.com/2015/03/modbus.html. Коли запрацює вiдповiдь на ПК, тодi писати скетч для Буратiно.