- The MCP3909 should always operate in pulse output mode by default. So the LEDs should toggle when the IC detects power
- According to the data sheet (figure 1-1) Fout1/Fout0 create low-pulses and are active high, while HFout creates high-pulses
- that's why the D2 and D3 are always on (Fout creates 275ms low-pulses, HFout creates 90ms high-pulses)
- a 200 _micro_ohm current sense resistor is rather low for a 5A load. This results in a voltage drop of only 0.8mV. But the full scale voltage on the current channel is 440mV (see page 3) with a gain of 1
Lets calculate:
- on the current channel, you get 1/500th of the full scale
- on the voltage channel, you get 1/2 of the full scale
- so the detected power is 1/1000 of the full scale
- for Fout the frequency is, depending on the multiplier configuration, between 0.37 and 2.96 Hz for full power (when you are using a 3.58Mhz crystal as the data sheets suggests)
- D2 and D3 toggle with 1/1000th of that - no wonder they are on always
- HFout pulses, on full scale, with 27.1 or 47.42 Hz (depending on the configuration)
- so with 1/1000th of that, you will get on small high-pulse every 25 of 50 seconds
So you should use a larger current sense resistor. For a load of 4A, about 100 _milli_ohm would be OK, then would be near full scale on the current channel.
Regarding the 0.5V you measure for the voltage reference: is this with the MCU attached? It should be 2.4V - maybe you have a short (or an unclean solder joint) there?
Given that you can accept the error induced by not measuring the voltage, it may be that you are looking for a reasonable estimation, rather than actual usage.
In 3 phase systems, the power is supposed to be drawn in a balanced manner. Putting more load on one or another phase than the others results in system inefficiencies.
So a well designed piece of equipment, or plant, will generally be drawing the same power from each phase. As such you can simply measure one phase, and multiply it by three to obtain an estimated power usage.
If you know your device will be used in situations where the three phase usage is unbalanced, then a simple method would be to use the one ADC, but add an analog switch such as the 4052 CMOS multiplexor to switch the current transformers into the ADC:
You'll need to keep the resistors on the current transformers, and only switch the ADC input to each one, never leave the current transformers "open" which attached to the AC lines. It'll require 2 I/O from your existing board, but rather than a complex communication protocol and additional code for another microcontroller, it should be pretty simple to control and use.
This will allow you to take sequential readings of the current transformers, so you won't get simultaneous instantaneous data, but you can certainly find average power usage over all three phases several times a second. With careful timing you can read each one at its positive and negative peak in order, and get nearly as accurate results as if you had three ADCs reading more frequently.
Beyond that, your solution of an offboard "expansion" device that employs another microcontroller to do the job would certainly work well. I'm not sure it would be much more expensive than the switched chip above either (the cost difference between the MCU and the cmos chip would be swamped by the labor and PCB costs), but it would involve more development time than the simple multiplexed solution.
Best Answer
Once you make an energy meter, it won't directly give you the accurate reading of 3200 impulses per kWh. You need to calibrate each energy meter circuits individually against a standard meter.
For your chip (M90E26), it requires writing to some calibration registers. Check section 3 of your document.
If this calibration process looks too complicated to you, you can go for simpler chips where calibration requires shorting of binary ladder resistors on the voltage sampling channel. Example of such an IC - BL0921.