??? 02/25/05 10:57 Read: times |
#88437 - RMS Measurements Responding to: ???'s previous message |
Ali Malihi said:
Hi dear friends,
I am currently working on a project for measurement and monitoring of quantities of electric power system. I am seeking for the best methods to calculate the following from the samples stored in RAM. Your recommendations will help me to choose the right way. Thanks in advance Quantities: Phase voltage L-N: U1, U2, U3, (TRUE RMS) Line voltage: U12, U23, U31, (TRUE RMS) Currents: I1, I2, I3, In, (TRUE RMS) Active Power: P1, P2, P3, Ptotal Reactive Power: Q1, Q2, Q3, Qtotal Apparent Power: S1, S2, S3, Stotal Power Factor (COSč): PF1, PF2, PF3, THD: THD (I1, I2, I3, U1, U2, U3, U12, U23, U31) Frequency The device is equipped with: - 80C552 @ 11.0592MHz - A 128x64 pixel gLCD with T6963c controller -Max691+ battery backup -OKI 6242 RTC -64k RAM AC voltages and currents (from C.T) are scaled to vary from 0 to 5.12v with +2.56v offset (5mV step). Sampling rate is 64 per AC power line period (20ms). They are sampled and stored in RAM and displayed for now. You do not specify the time between readings, so I assume that 1 reading every couple of seconds will suffice. One approach is to have a sample and hold circuit for each variable you want to measure. This will reduce your errors due to skewing. You could then capture 1 complete cycle of all your signals, saving them in memory as an array, sampling fast enough to accommodate any high frequency components in your waveform. Any distortion in your signals will probably be due to 3rd and 5th harmonics. Having captured 1 complete cycle your processor can now analyse the readinds and calculate the True RMS values. The time required to carry out these calculations will determine the rate at which you can scan all your signals. You can perhaps reduce the calculation time by capturing and analysing only 1/2 of the waveform if you are confident that your signals are symmetrical, and I can't see why they would not be. You have so many calculations to do that you may need to use a 51 variant with more 'grunt' that the standard 51. Perhaps the easiest way to calculate your variables is to use the standard formulae and use a cross-compiler with a floating point library. Personally I would use Pascal and not even dream of doing it in assembly. Good Luck Regards, Tony Gelonese |
Topic | Author | Date |
3 phase AC power line measuring center | 01/01/70 00:00 | |
Required precision | 01/01/70 00:00 | |
Manufacturer's App. Notes | 01/01/70 00:00 | |
RMS Measurements | 01/01/70 00:00 | |
Ready-made | 01/01/70 00:00 | |
vaporware? | 01/01/70 00:00 | |
just go down that page | 01/01/70 00:00 | |
See ! | 01/01/70 00:00 | |
Rich info | 01/01/70 00:00 | |
Error depends on phase angle![]() | 01/01/70 00:00 |