Peacefair PZI-M-004T, модуль измерения мощности — неудача

Приехал модуль для измерения потребляемой мощности. И к сожалению оказался неработоспособным.

Модуль поставляется с катушкой для измерения тока. Документация очень скудная — просто список команд, которые надо отправлять по  развязанному оптоинтерфейсу (на имс — PC817 Shart), чтобы получить данные замеров

e-meter-peacefair--001 Вот большим желтым конденсатором находиться чип, маркировка стерта. Смысл этого действия не понятен.e-meter-peacefair--002 Подключаю к 220Вольтам, как и написано, катушку тоже подключаю.e-meter-peacefair--003

Никакой индикации работоспособности модуля — не предусмотрено.

А вот результат и сама тестовая программа. Включено через USB/UART переходник.e-meter-peacefair--004 Сама программа — просто посылаю строку символов. e-meter-peacefair--005 А вот как в системе определился переходник USB/UARTe-meter-peacefair--006Подключение устройства к проводнику — строго соответствует контактам.
e-meter-peacefair--007

В итоге не заработало. Делайте выводы сами.

Попытка 2

Дополнительно проверил питание (7805) — со стороны устройства есть 5 вольт, со стороны «развязанной» части порта — также все есть, 5 вольт как и положено.

Попробовал передать команду с задержкой, с концом строки, проверил параметры порта — чтоб соответствовали скорости 9600 с 8-мью битами, это скрин некоей китайской программы там видно параметры порта слева

params1

Вот параметры моего порта

params2

То есть все совпадает. Дальше не проверял, пока начал процесс возврата денег с продавца этой штуки и написал разработчикам, у них тоже лавка на алиэкспрессе.

А вот маркировка процессора, уничтоженная:

peacefair_no_imc

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Peacefair PZI-M-004T, модуль измерения мощности — неудача: 6 комментариев

  1. Уведомление: Тестирование стабильности работы ENC28J60 c Ардуино Нано (Atmega 328p) в различных условиях | Хроники фрилансера

  2. You need to set the module address first

    send
    0xB4 0xC0 0xA8 0x01 0x01 0x00 0x1E
    the address is now 0xC0 0xA8 0x01 0x01 0x00

    to read the voltage send
    0xB0 0xC0 0xA8 0x01 0x01 0x00 0x1A

    Micro is SD3004 http://www.sdicmicro.com/DataSheet/SD3004%20datasheet%20v0.2c.pdf

    example c#

    static SerialPort p { get; set; }

    static void Main(string[] args)
    {
    p = new SerialPort(«COM4″)
    {
    BaudRate = 9600,
    DataBits = 8,
    Parity = Parity.None,
    StopBits = StopBits.One
    };

    for (;;)
    {
    p.Open();

    Console.WriteLine($»Voltage: {command(new byte[] {0xB0, 0xC0, 0xA8, 0x01, 0x02, 0x00, 0x1B})} V»);
    Console.WriteLine($»Current: {command(new byte[] {0xB1, 0xC0, 0xA8, 0x01, 0x02, 0x00, 0x1C})} A»);
    Console.WriteLine($»Active power: {command(new byte[] {0xB2, 0xC0, 0xA8, 0x01, 0x02, 0x00, 0x1D})} w»);
    Console.WriteLine($»Energy total: {command(new byte[] {0xB3, 0xC0, 0xA8, 0x01, 0x02, 0x00, 0x1E})} wh»);

    p.Close();

    Console.ReadKey();
    }

    }

    static string command(byte[] data)
    {
    p.Write(data, 0, data.Length);
    byte[] temp = new byte[7];
    Thread.Sleep(100);
    p.Read(temp, 0, 7);
    return $»{(temp[1] << 8) + temp[2]}.{temp[3]}";
    }

    • Thanks a lot!!! I will check this for sure. 7 bytes, not 6. Hm. Peacefair make trouble deleting label at IC. I was able to find it myself and not make them 2 times — 11 usd’s.

      Will redo this to check with php. Thank you.

  3. помучился тоже пару часов.
    Китайская прога что-то хочет получить в виде пароля для логина Super — там VB — но нет желания ее ломать.
    Команды да, 7 байт.
    Из инструкции, команда на получение напряжения — не работает.
    Я выставил (мистический)»адрес» в 0 — теперь ок. Ну и команды проще отправлять:
    B4 00 00 00 00 00 B4 — адрес
    B0 00 00 00 00 00 B0 — узнать напряжение

    И команды чаще 1 раза в секунду лучше не посылать — зависает через время.
    Китайские программисты — самые лучше программисты в мире!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *