PZEM-004T adalah perangkat untuk mengukur parameter elektrikal, meliputi tegangan, daya, energi dan arus. Tersedia 2 macam versi, ada yang 10 ampere dan 100 ampere.
Foto versi 100 A
Versi 100 ampere menggunakan trafo arus untuk menurunkan arus dari 100A ke nilai yang lebih kecil.
PZEM-004T-V3-100A tampak bawah
PZEM-004T-V3-100A tampak atas
Foto versi 10 A
Verso 10 A tidak memerlukan trafo arus
tampak atas
tampak bawah
Skema rangkaian modul
Website resmi produk ini tidak mencantumkan rangkaian di dalamnya. Ada yang melakukan reverse engineering untuk membuat skema rangkaiannya. Berikut ini rangkaian versi original:
Komponen utama pengukur parameter elektrikal adalah chip V9881D buatan Vango Technologies Inc..
User Manual
Manual tersedia dalam bentuk hardcopy dalam kemasan pembelian, dan tersedia juga dalam bentuk softcopy di situs produsennya.
Berikut ini user manual hasil scan dari manual hardcopy
Apa yang terjadi jika suatu perangkat diberi daya dengan adaptor yang tegangannya lebih besar dari yang diperlukan?
Setiap perangkat memiliki batas maksimum tegangan catu daya. Jika tegangan dari adaptor lebih besar dari batas maksimum, maka perangkat elektronik bisa rusak.
Jadi gunakanlah adaptor yang tegangannya sesuai dengan yang seharusnya.
Apa yang terjadi jika suatu perangkat diberi daya dengan adaptor yang tegangannya kurang dari yang diperlukan?
Setiap perangkat memiliki batas minimum tegangan catu daya. Jika tegangan dari adaptor kurang, maka perangkat tidak akan bekerja normal. Beberapa kemungkinan yang dapat terjadi:
Perangkat tidak menyala sama sekali karena tegangan tidak cukup
Perangkat dapat menyala dengan baik dan lancar, karena sebenarnya dapat berfungsi dengan tegangan di bawah yang disebutkan.
Perangkat dapat menyala di awal, namun ketika melakukan komputasi / proses yang banyak, maka perangkat tidak berfungsi normal. Jika perangkat berbasis komputer seperti smartphone, console dan sebagainya , bisa jadi restart sendiri.
Jadi gunakanlah adaptor yang tegangannya sesuai dengan yang seharusnya.
Apa yang terjadi kalau kita menggunakan adaptor / power supply yang ampernya lebih kecil dari yang diperlukan suatu perangkat? Hal ini sering terjadi misalnya ketika adaptor aslinya rusak.
Adaptor dirancang berfungsi sampai arus amper tertentu. Jika arus melebihi batas, maka dapat terjadi satu atau beberapa hal sebagai berikut
Tegangan adaptor akan turun dari yang seharusnya, sehingga perangkat tidak berfungsi normal.
Panas di adaptor akan melebihi batas, sehingga adaptor cepat rusak
Pada adaptor yang bagus dengan pembatas arus , maka adaptor otomatis mati sendiri kalau arus melebihi batas.
Transistor daya di dalam adaptor rusak, terutama pada adaptor tanpa pembatas arus
Jadi adaptor bisa rusak, atau alat tidak berfungsi normal. Untuk amannya, gunakan adaptor yang ampernya sesuai.
RISC-V adalah prosesor yang desainnya dibuat open source. Prosesor ini mulai diperkenalkan tahun 2010. Karena masih baru, belum banyak modul mikroprosesor berbasis RISC-V ini.
Berikut ini daftar modul sistem mikroprosesor dengan prosesor berbasis RISC-V
Perbedaan ESP32 dan ESP8266 adalah sebagai berikut
Parameter
ESP32
ESP8266
Prosesor / CPU
Xtensa :LX6 dual core / single core
Xtensa L:106 single core
clock processor
160 MHz
80 MHz
Memori Flash
ada versi dengan built in flash
tidak ada built in flash
Memori SRAM
Memori EEPROM
di flash memory
Wifi
HT40
HT20
Bluetooth
tidak ada
Bluetooth 4.2 dan BLE
SPI
4
2
I2C
2
1
I2S
2
2
UART
2
2
ADC
12 bit
10 bit
CAN
ada
tidak ada
Built in sensor
hall sensor, temperature sensor
tidak ada
ESP8266 NodeMCU (kiri), ESP32 DevkitC (tengah), ESP32 Lolin32 Lite (kanan)
Penjelasan Ringkas ESP32
ESP 32 adalah mikrokontroler yang memiliki banyak fitur pada prosesornya, dan dilengkapi dengan konektivitas Wi-Fi dan Bluetooth terintegrasi untuk berbagai macam aplikasi.
ESP32 mampu berfungsi dengan andal di lingkungan industri, dengan suhu pengoperasian mulai dari –40°C hingga +125°C. ESP32 dapat secara dinamis menghilangkan ketidaksempurnaan sirkuit eksternal dan beradaptasi dengan perubahan kondisi eksternal dengan dukungan rangkaian kalibrasi di dalamnya. Rangkaian kalibrasi ini memungkinkan WiFi pada ESP32 berfungsi tanpa perlu kalibrasi ekstra.
ESP32 dirancang untuk perangkat bergerak (mobile), perangkat elektronik yang dapat dikenakan (wearable electronics), dan aplikasi IoT. Konsumsi daya ESP32 dapat dibuat sangat rendah dengan kombinasi beberapa macam perangkat lunak khusus. ESP32 juga mencakup fitur-fitur canggih, seperti ‘clock gating‘ untuk mereduksi konsumsi daya, berbagai mode daya, dan penskalaan daya secara dinamis.
ESP32 dibuat sangat terintegrasi dengan sakelar pemilih antena di dalamnya, RF balun, power amplifier untuk radio, amplifier penerima radio dengan kebisingan rendah (low noise), filter, dan modul manajemen daya. ESP32 menambahkan fungsionalitas dan keserbagunaan yang banyak aplikasi dengan hanya memerlukan ruang kecil di PCB (Printed Circuit Board)
ESP32 dapat berfungsi sebagai sistem mandiri yang lengkap atau sebagai perangkat pembantu ke mikrokontroler lain, mengurangi overhead tumpukan komunikasi pada prosesor aplikasi utama. ESP32 dapat berinteraksi dengan sistem lain untuk menyediakan fungsionalitas Wi-Fi dan Bluetooth melalui antarmuka SPI/SDIO atau I2C/UART.
Modul ESP32 tersedia dalam berbagai versi, di antaranya adalah Lolin32 Lite dan DevkitC serta clone nya.
Penjelasan Ringkas ESP8266
ESP8266 adalah prosesor yang dibuat oleh Espressif. ESP8266 adalah pendahulu dari ESP32.
Berikut ini contoh kode UDP server dengan bahasa Python. Kode ini dapat dijalankan di Windows, Linux dan Raspberry Pi
import socket
# bind all IP
HOST = '0.0.0.0'
# Listen on Port
PORT = 44444
#Size of receive buffer
BUFFER_SIZE = 1024
# Create a TCP/IP socket
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# Bind the socket to the host and port
s.bind((HOST, PORT))
while True:
# Receive BUFFER_SIZE bytes data
# data is a list with 2 elements
# first is data
#second is client address
data = s.recvfrom(BUFFER_SIZE)
if data:
#print received data
print('Client to Server: ' , data)
# Convert to upper case and send back to Client
s.sendto(data[0].upper(), data[1])
# Close connection
s.close()
Berikut ini contoh pembuatan aplikasi UDP client di ESP32 dengan compiler Arduino
#include <WiFi.h>
#include <WiFiUdp.h>
/* WiFi network name and password */
const char * ssid = "dd-wrt";
const char * pwd = "0000000000";
// IP address to send UDP data to.
// it can be ip address of the server or
// a network broadcast address
// here is broadcast address
const char * udpAddress = "192.168.1.100";
const int udpPort = 44444;
//create UDP instance
WiFiUDP udp;
void setup(){
Serial.begin(115200);
//Connect to the WiFi network
WiFi.begin(ssid, pwd);
Serial.println("");
// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop(){
//data will be sent to server
uint8_t buffer[50] = "hello world";
//This initializes udp and transfer buffer
udp.beginPacket(udpAddress, udpPort);
udp.write(buffer, 11);
udp.endPacket();
memset(buffer, 0, 50);
//processing incoming packet, must be called before reading the buffer
udp.parsePacket();
//receive response from server, it will be HELLO WORLD
if(udp.read(buffer, 50) > 0){
Serial.print("Server to client: ");
Serial.println((char *)buffer);
}
//Wait for 1 second
delay(1000);
}