EMONBP-01 Project

What are you developing?
Post Reply
Posts: 16
Joined: Mon Oct 16, 2017 1:13 am

EMONBP-01 Project

Post by staticmem » Tue Dec 26, 2017 4:20 am

The EMONBP-01 project is an energy monitor project using existing Arduino libraries. It essentially does the same as an emonTX hardware but has some extra features and some differences.

It provides the following:

1. Mains voltage input sense socket (240/10 VAC).
2. 4 x Current transformer (CT) input sockets (for SCT-013-000).
3. WiFi connectivity using an ESP8266-07 module (with EmonESP).
4. Micro SD card for logging.
5. An adjustable Meter pulse LED sense input circuitry using an LM358.
6. A Meter pulse LED activity LED socket (To replace covered Meter LED).
7. 1 x internal NTC temperature sensor.
8. 1 x external NTC temperature sensor socket.
9. Bluepill (BP) module using the STM32F103C8T6 Micro-controller.
10. A Super capacitor backup option for the RTC built in the BP.
11. Expansion sockets option for spare I/O access.
12. Buck regulator module set to 5 volts.
13. A LM1117-3V3 voltage regulator to power all circuitry including the BP but excluding the LED pulse circuitry.
14. ESD protection on the Mains and CT sense inputs using 0805 SMD capacitors or ESD protection diodes or both.
15. A SIL socket to allow connecting a USB-Serial TTL module for direct BP serial.
16. Sense input reference voltage uses an LM358 dual op-amp as buffers to provide a low impedance reference. 1 for Mains, 1 for CT sense inputs.

The main board is standard 2 layer PCB design. A Modular approach is used to reduce the overall cost and making it easier to construct. For ease of construction most components are TH (including Burden resistors) but some SMD components have been used.

It's been designed to fit Case: 100X68x50 - eBay No. 181903351311

The BP serial communicates to the ESP8266 module using the TX2/RX2 HW serial port and another BP Serial port (TX3/RX3) is also connected to the ESP8266 I/O on GPIO0, GPIO2 pins for SW serial or other I/O uses. The BP TX1/RX1 serial is taken to a 6 pin SIL socket to provide communications to a USB-Serial TTL module. The BP's TX3 pin in conjunction with BP's control of the ESP8266's reset pin may also be used to place the ESP8266 into Flash mode. By using some firmware in the BP the ESP8266 can then be accessed using serial relay between TRX1 and TRX2.

The BP's USB will not be used for serial by the application firmware and connecting a USB cable while the BP is in circuit would enable the BP's RT9193-33 regulator which would mean it and the LM1117-3V3 would both be trying to supply 3v3 so should be avoided.

The charge current into the 1 Farad Super capacitor is limited with a resistor and a Schottky diode is used to stop draining of the capacitor when no power is applied. There is a 2 pin jumper next to the capacitor. This may be used to clear the RTC instead of removing the BP module. The Super capacitor may not even be required if the ESP8266 is able to access a Time server on boot up and have the BP wait for that to be established. A smaller value capacitor would probably suffice. A 1 Farad capacitor can retain the RTC for at least a month in my experience on I2C RTC ICs.

The meter activity sensor and LED and associated circuitry is powered from the 5 volt rail. The output is used to generate interrupts on a BP input pin where the main application software can be used to determine power usage from the grid.

To stop warming of the NTCs they are are enabled via an 2N7000 Small signal MOSFET under BP control when a reading is required.

All hardware has been tested using firmware in the BP module. The Burden resistors have not been calculated so not installed yet.

All inputs on the BP have used 5 volt tolerant pins where needed.

The Expansion port was a last minute addition to provide an easy connection to some free BP I/O to possibly be used for Water heater smart control to power from Solar or for other purposes.

Assembled unit:

Unit without the modules plugged in:

Post Reply