
1. Introduction
Actually, there is nothing much to say. It is a low-tech product, an RGB controller based on ESP32, and can only drive two 5V WS2812 light strips. It has relatively rough current sampling and voltage sampling and OLED to display power. The ADC has no filtering algorithm at all. I just want to measure the power roughly without exceeding it (ESP32's much-criticized nonlinear ADC error is really large).
I used ESP32 but I had no motivation to write it, whether it was embedded in a web page or the Internet of Things hanging mqtt. Afterwards, I thought it would be better to use a few dollars of STM32 or 51...
For the lighting effect, I just need to copy the Arduino libraries (fastled, Adafruit_NeoPixel) and modify the code.
2. Circuit scheme
Main control: ESP32+ classic automatic download circuit, micro-usb data input, typec-6p power input (afterwards, I felt that typec-16p was not that difficult to solder with a soldering iron)
Current sampling: INA199A1DCKR low-end sampling, sampling resistance 0.05Ω (the schematic diagram is 0.01Ω, just change the code to calculate the multiple there)
Voltage sampling: simple two-resistance voltage division, not even a small capacitor in parallel with the signal source
Power supply scheme: 5V input, several AMS1117 provide various 3.3V
3. Description
1. The WS2812 light strip is 5V, and the voltage must be supplemented if there are more lamp beads. Generally, the voltage must be supplemented if there are more than 120
lamp beads. 2. The power of the lamp beads is actually smaller than the nominal value. I used a power meter to measure the power of the whole board with a total of 120 lamp beads in two light strips, and the current was only more than 5W, and the current was about 1A (the brightness was set to 4/5 of the maximum).
3. Bring an acrylic board for simple protection.
4. It is not realistic to put light strips everywhere in the house. The most practical scenario is to put them behind the computer
.
